@salutejs/plasma-new-hope 0.338.0-canary.2281.18461219317.0 → 0.338.0-canary.2281.18462149998.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/cjs/components/Popover/Popover.js +3 -3
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/components/_Resizable/Resizable.js +5 -5
- package/cjs/components/_Resizable/Resizable.js.map +1 -1
- package/emotion/cjs/components/Popover/Popover.js +3 -3
- package/emotion/cjs/components/_Resizable/Resizable.js +5 -5
- package/emotion/es/components/Popover/Popover.js +3 -3
- package/emotion/es/components/_Resizable/Resizable.js +5 -5
- package/es/components/Popover/Popover.js +3 -3
- package/es/components/Popover/Popover.js.map +1 -1
- package/es/components/_Resizable/Resizable.js +5 -5
- package/es/components/_Resizable/Resizable.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Popover/Popover.js +3 -3
- package/styled-components/cjs/components/_Resizable/Resizable.js +5 -5
- package/styled-components/es/components/Popover/Popover.js +3 -3
- package/styled-components/es/components/_Resizable/Resizable.js +5 -5
- package/types/components/Popover/Popover.types.d.ts +1 -1
- package/types/components/Popover/Popover.types.d.ts.map +1 -1
- package/types/components/_Resizable/Resizable.types.d.ts +1 -1
- package/types/components/_Resizable/Resizable.types.d.ts.map +1 -1
|
@@ -20,7 +20,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
20
20
|
|
|
21
21
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
22
22
|
|
|
23
|
-
var _excluded = ["target", "children", "animated", "isOpen", "opened", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "resizable", "view", "onToggle", "onResizeStart", "
|
|
23
|
+
var _excluded = ["target", "children", "animated", "isOpen", "opened", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "resizable", "view", "onToggle", "onResizeStart", "onResizeEnd", "closeOnOverlayClick"];
|
|
24
24
|
var ESCAPE_KEYCODE = 27;
|
|
25
25
|
var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
26
26
|
|
|
@@ -59,7 +59,7 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
59
59
|
view = _ref.view,
|
|
60
60
|
onToggle = _ref.onToggle,
|
|
61
61
|
onResizeStart = _ref.onResizeStart,
|
|
62
|
-
|
|
62
|
+
onResizeEnd = _ref.onResizeEnd,
|
|
63
63
|
closeOnOverlayClick = _ref.closeOnOverlayClick,
|
|
64
64
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
65
65
|
var innerIsOpen = Boolean(isOpen || opened);
|
|
@@ -267,7 +267,7 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
267
267
|
}, attributes.arrow)), /*#__PURE__*/React__default.default.createElement(Resizable.Resizable, {
|
|
268
268
|
resizable: resizable,
|
|
269
269
|
onResizeStart: onResizeStart,
|
|
270
|
-
|
|
270
|
+
onResizeEnd: onResizeEnd
|
|
271
271
|
}, children))))));
|
|
272
272
|
});
|
|
273
273
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef, isValidElement } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { useFocusTrap } from '../../hooks';\nimport { cx, safeUseId } from '../../utils';\nimport { Portal } from '../Portal';\nimport { Resizable } from '../_Resizable';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\nimport { usePopoverOffset } from './hooks/usePopoverOffset';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n animated,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n resizable,\n view,\n onToggle,\n onResizeStart,\n onResizeStop,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n const targetRef = useRef<HTMLDivElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n const uuid = safeUseId();\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n const [shouldRender, setShouldRender] = useState(innerIsOpen);\n\n const portalContainer =\n (typeof target === 'object' && target !== null && 'current' in target && target.current) || undefined;\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const openClass = innerIsOpen && shouldRender ? classes.open : undefined;\n const animatedClass = animated ? classes.animate : undefined;\n\n const offsetInner = usePopoverOffset({\n handleRef: targetRef,\n placement: placement as string,\n offsetOuter: offset,\n });\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offsetInner[0], offsetInner[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (typeof frame === 'string' && frame) {\n portal = document.getElementById(frame);\n }\n\n if (!usePortal && isValidElement(target)) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n const portalId = `${POPOVER_PORTAL_ID}-${uuid}`;\n\n portal = document.createElement('div');\n portal.setAttribute('id', portalId);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n const handleTransitionEnd = () => {\n if (!innerIsOpen) {\n setShouldRender(false);\n }\n };\n\n useEffect(() => {\n if (innerIsOpen) {\n setShouldRender(true);\n }\n }, [innerIsOpen]);\n\n return (\n <Portal container={portalContainer} disabled={isValidElement(target)}>\n <StyledWrapper\n className={cx(classes.wrapper, !isValidElement(target) && classes.targetAsRef)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={targetRef}\n >\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {isValidElement(target) && target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n onTransitionEnd={handleTransitionEnd}\n className={cx(classes.root, openClass, animatedClass)}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n display: shouldRender || innerIsOpen ? 'block' : 'none',\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n <Resizable\n resizable={resizable}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeStop}\n >\n {children}\n </Resizable>\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n </Portal>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","animated","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","resizable","view","onToggle","onResizeStart","onResizeStop","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","targetRef","trapRef","useFocusTrap","uuid","safeUseId","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","_useState5","_useState6","shouldRender","setShouldRender","portalContainer","_typeof","current","undefined","isAutoArray","Array","isArray","isAuto","startsWith","openClass","classes","open","animatedClass","animate","offsetInner","usePopoverOffset","offsetOuter","_usePopper","usePopper","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","isValidElement","portalId","concat","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","handleTransitionEnd","React","Portal","container","disabled","StyledWrapper","cx","wrapper","targetAsRef","ref","StyledRoot","_extends","StyledPopover","popper","onTransitionEnd","root","style","_objectSpread","display","StyledArrow","arrow","Resizable","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBO,IAAMA,cAAc,GAAG,GAAE;AACzB,IAAMC,iBAAiB,GAAG,sBAAqB;;AAEtD;AACA;AACA;AACA;IACaC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAA6C,EAAA;AAAA,EAAA,oBACrEC,gBAAU,CACN,UAAAC,IAAA,EA0BIC,YAAY,EACX;AAAA,IAAA,IAAAC,WAAA,CAAA;AAAA,IAAA,IAzBGC,MAAM,GAAAH,IAAA,CAANG,MAAM;MACNC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;MACRC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;MACRC,MAAM,GAAAN,IAAA,CAANM,MAAM;MACNC,MAAM,GAAAP,IAAA,CAANO,MAAM;MAAAC,YAAA,GAAAR,IAAA,CACNS,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,YAAA;MACjBE,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MAAAC,UAAA,GAAAX,IAAA,CACRY,KAAK;AAALA,MAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;MAClBE,SAAS,GAAAb,IAAA,CAATa,SAAS;MAAAC,cAAA,GAAAd,IAAA,CACTe,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,cAAA;MAAAE,WAAA,GAAAhB,IAAA,CAClBiB,MAAM;MAANA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,CAAC,CAAC,EAAE,CAAC,CAAC,GAAAA,WAAA;MACfE,MAAM,GAAAlB,IAAA,CAANkB,MAAM;MAAAC,mBAAA,GAAAnB,IAAA,CACNoB,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;MAAAE,eAAA,GAAArB,IAAA,CACrBsB,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,oBAAA,GAAAvB,IAAA,CACjBwB,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;MAAAE,cAAA,GAAAzB,IAAA,CACtB0B,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACjBE,SAAS,GAAA3B,IAAA,CAAT2B,SAAS;MACTC,IAAI,GAAA5B,IAAA,CAAJ4B,IAAI;MACJC,QAAQ,GAAA7B,IAAA,CAAR6B,QAAQ;MACRC,aAAa,GAAA9B,IAAA,CAAb8B,aAAa;MACbC,YAAY,GAAA/B,IAAA,CAAZ+B,YAAY;MACZC,mBAAmB,GAAAhC,IAAA,CAAnBgC,mBAAmB;AAChBC,MAAAA,IAAI,GAAAC,iDAAA,CAAAlC,IAAA,EAAAmC,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,WAAW,GAAGC,OAAO,CAAC/B,MAAM,IAAIC,MAAM,CAAC,CAAA;AAE7C,IAAA,IAAM+B,OAAO,GAAGC,YAAM,CAAwB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMC,UAAU,GAAGD,YAAM,CAAwB,IAAI,CAAC,CAAA;AACtD,IAAA,IAAME,SAAS,GAAGC,qBAAU,CAAiBJ,OAAO,EAAErC,YAAY,CAAC,CAAA;AACnE,IAAA,IAAM0C,SAAS,GAAGJ,YAAM,CAAqB,IAAI,CAAC,CAAA;AAClD,IAAA,IAAMK,SAAS,GAAGL,YAAM,CAAwB,IAAI,CAAC,CAAA;AAErD,IAAA,IAAMM,OAAO,GAAGC,yBAAY,CAACV,WAAW,IAAIhB,cAAc,CAAC,CAAA;AAC3D,IAAA,IAAM2B,IAAI,GAAGC,eAAS,EAAE,CAAA;AAExB,IAAA,IAAMC,cAAc,GAAGP,qBAAU,CAAiBF,UAAU,EAAEK,OAAO,CAAC,CAAA;AAEtE,IAAA,IAAAK,SAAA,GAAwCC,cAAQ,CAAyB,IAAI,CAAC;MAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvEI,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,IAAA,IAAAI,UAAA,GAAwBL,cAAQ,CAAC,KAAK,CAAC;MAAAM,UAAA,GAAAJ,uCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA9BE,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACpB,IAAA,IAAAE,UAAA,GAAwCR,cAAQ,CAACf,WAAW,CAAC;MAAAwB,UAAA,GAAAP,uCAAA,CAAAM,UAAA,EAAA,CAAA,CAAA;AAAtDE,MAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAEpC,IAAMG,eAAe,GAChBC,gCAAA,CAAO7D,MAAM,CAAK,KAAA,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,SAAS,IAAIA,MAAM,IAAIA,MAAM,CAAC8D,OAAO,IAAKC,SAAS,CAAA;AAEzG,IAAA,IAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACtD,SAAS,CAAC,CAAA;IAC5C,IAAMuD,MAAM,GAAGH,WAAW,IAAKpD,SAAS,CAAsBwD,UAAU,CAAC,MAAM,CAAC,CAAA;IAEhF,IAAMC,SAAS,GAAGpC,WAAW,IAAIyB,YAAY,GAAGY,sBAAO,CAACC,IAAI,GAAGR,SAAS,CAAA;IACxE,IAAMS,aAAa,GAAGtE,QAAQ,GAAGoE,sBAAO,CAACG,OAAO,GAAGV,SAAS,CAAA;IAE5D,IAAMW,WAAW,GAAGC,iCAAgB,CAAC;AACjCrC,MAAAA,SAAS,EAAEG,SAAS;AACpB7B,MAAAA,SAAS,EAAEA,SAAmB;AAC9BgE,MAAAA,WAAW,EAAE9D,MAAAA;AACjB,KAAC,CAAC,CAAA;IAEF,IAAA+D,UAAA,GAA4CC,qBAAS,CAAC3C,OAAO,CAAC2B,OAAO,EAAEzB,UAAU,CAACyB,OAAO,EAAE;AACvF;AACA;QACAlD,SAAS,EAAEoD,WAAW,GAChB,CAAAjE,WAAA,GAAAa,SAAS,CAAC,CAAC,CAAC,MAAAb,IAAAA,IAAAA,WAAA,eAAZA,WAAA,CAAcgF,QAAQ,CAAC,OAAO,CAAC,GAC3B,YAAY,GACZ,MAAM,GACTnE,SAA8B;AACrCoE,QAAAA,SAAS,EAAE,CACP;AACIC,UAAAA,IAAI,EAAE,iBAAiB;AACvBC,UAAAA,OAAO,EAAE;AACLC,YAAAA,QAAQ,EAAE9D,eAAAA;AACd,WAAA;AACJ,SAAC,EACD;AAAE4D,UAAAA,IAAI,EAAE,QAAQ;AAAEC,UAAAA,OAAO,EAAE;YAAEpE,MAAM,EAAE,CAAC4D,WAAW,CAAC,CAAC,CAAC,EAAEA,WAAW,CAAC,CAAC,CAAC,CAAA;AAAE,WAAA;AAAE,SAAC,EACzE;AACIO,UAAAA,IAAI,EAAE,MAAM;AACZG,UAAAA,OAAO,EAAEjB,MAAM;AACfe,UAAAA,OAAO,EAAE;AACLG,YAAAA,qBAAqB,EAAErB,WAAW,GAAIpD,SAAS,GAA0B,EAAA;AAC7E,WAAA;AACJ,SAAC,EACD;AACIqE,UAAAA,IAAI,EAAE,OAAO;AACbC,UAAAA,OAAO,EAAE;AACLI,YAAAA,OAAO,EAAEnC,YAAAA;AACb,WAAA;SACH,CAAA;AAET,OAAC,CAAC;MA9BMoC,MAAM,GAAAV,UAAA,CAANU,MAAM;MAAEC,UAAU,GAAAX,UAAA,CAAVW,UAAU;MAAEC,WAAW,GAAAZ,UAAA,CAAXY,WAAW,CAAA;AAgCvC,IAAA,IAAMC,QAAQ,GAAGC,iBAAW,CACxB,UAACC,KAAoB,EAAK;MACtB,IAAI3D,WAAW,IAAId,UAAU,IAAIyE,KAAK,CAACC,OAAO,KAAKrG,cAAc,EAAE;QAC/DkC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,KAAK,EAAEkE,KAAK,CAAC,CAAA;AAC5B,OAAA;KACH,EACD,CAACzE,UAAU,EAAEc,WAAW,EAAEP,QAAQ,CACtC,CAAC,CAAA;AAED,IAAA,IAAMoE,eAAe,GAAGH,iBAAW,CAC/B,UAACC,KAAiB,EAAK;AACnB,MAAA,IAAI3D,WAAW,IAAIJ,mBAAmB,IAAIH,QAAQ,EAAE;QAAA,IAAAqE,gBAAA,EAAAC,mBAAA,CAAA;QAChD,IAAMC,YAAY,GAAGL,KAAK,CAAC5F,MAAM,KAAKmC,OAAO,CAAC2B,OAAO,CAAA;AACrD,QAAA,IAAMoC,aAAa,GAAAH,CAAAA,gBAAA,GAAG5D,OAAO,CAAC2B,OAAO,MAAA,IAAA,IAAAiC,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,gBAAA,CAAiBI,QAAQ,CAACP,KAAK,CAAC5F,MAAiB,CAAC,CAAA;AACxE,QAAA,IAAMoG,oBAAoB,GAAAJ,CAAAA,mBAAA,GAAG3D,UAAU,CAACyB,OAAO,MAAA,IAAA,IAAAkC,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,mBAAA,CAAoBG,QAAQ,CAACP,KAAK,CAAC5F,MAAiB,CAAC,CAAA;QAElF,IAAI,CAACiG,YAAY,IAAI,CAACC,aAAa,IAAI,CAACE,oBAAoB,EAAE;AAC1D1E,UAAAA,QAAQ,CAAC,KAAK,EAAEkE,KAAK,CAAC,CAAA;AAC1B,SAAA;AACJ,OAAA;KACH,EACD,CAAC/D,mBAAmB,EAAEI,WAAW,EAAEP,QAAQ,CAC/C,CAAC,CAAA;AAED,IAAA,IAAM2E,OAAO,GAAGV,iBAAW,CACvB,UAACC,KAAK,EAAK;MACP,IAAItF,OAAO,KAAK,OAAO,EAAE;AAAA,QAAA,IAAAgG,oBAAA,CAAA;QACrB,IAAMC,eAAe,GAAGX,KAAK,CAAC5F,MAAM,KAAKqC,UAAU,CAACyB,OAAO,CAAA;AAC3D,QAAA,IAAMoC,aAAa,GAAAI,CAAAA,oBAAA,GAAGjE,UAAU,CAACyB,OAAO,MAAA,IAAA,IAAAwC,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,oBAAA,CAAoBH,QAAQ,CAACP,KAAK,CAAC5F,MAAiB,CAAC,CAAA;AAE3E,QAAA,IAAI,CAACuG,eAAe,IAAI,CAACL,aAAa,EAAE;UACpCxE,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,CAACO,WAAW,EAAE2D,KAAK,CAAC,CAAA;AACnC,SAAA;AACJ,OAAA;KACH,EACD,CAACtF,OAAO,EAAE2B,WAAW,EAAEP,QAAQ,CACnC,CAAC,CAAA;AAED,IAAA,IAAM8E,YAAY,GAAGb,iBAAW,CAC5B,UAACC,KAAK,EAAK;MACP,IAAItF,OAAO,KAAK,OAAO,EAAE;QACrBoB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,IAAI,EAAEkE,KAAK,CAAC,CAAA;AAC3B,OAAA;AACJ,KAAC,EACD,CAACtF,OAAO,EAAEoB,QAAQ,CACtB,CAAC,CAAA;AAED,IAAA,IAAM+E,YAAY,GAAGd,iBAAW,CAC5B,UAACC,KAAK,EAAK;MACP,IAAItF,OAAO,KAAK,OAAO,EAAE;QACrBoB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,KAAK,EAAEkE,KAAK,CAAC,CAAA;AAC5B,OAAA;AACJ,KAAC,EACD,CAACtF,OAAO,EAAEoB,QAAQ,CACtB,CAAC,CAAA;AAED,IAAA,IAAMgF,OAAO,GAAGf,iBAAW,CACvB,UAACC,KAAK,EAAK;MACP,IAAItF,OAAO,KAAK,OAAO,EAAE;QACrBoB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,IAAI,EAAEkE,KAAK,CAAC,CAAA;AAC3B,OAAA;AACJ,KAAC,EACD,CAACtF,OAAO,EAAEoB,QAAQ,CACtB,CAAC,CAAA;AAED,IAAA,IAAMiF,MAAM,GAAGhB,iBAAW,CACtB,UAACC,KAAK,EAAK;MACP,IAAItF,OAAO,KAAK,OAAO,EAAE;QACrBoB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAG,KAAK,EAAEkE,KAAK,CAAC,CAAA;AAC5B,OAAA;AACJ,KAAC,EACD,CAACtF,OAAO,EAAEoB,QAAQ,CACtB,CAAC,CAAA;AAEDkF,IAAAA,eAAS,CAAC,YAAM;AACZC,MAAAA,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEhB,eAAe,CAAC,CAAA;MACnD,OAAO,YAAA;AAAA,QAAA,OAAMe,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEjB,eAAe,CAAC,CAAA;AAAA,OAAA,CAAA;AACvE,KAAC,EAAE,CAAC7D,WAAW,EAAEP,QAAQ,CAAC,CAAC,CAAA;AAE3BkF,IAAAA,eAAS,CAAC,YAAM;AACZI,MAAAA,MAAM,CAACF,gBAAgB,CAAC,SAAS,EAAEpB,QAAQ,CAAC,CAAA;MAC5C,OAAO,YAAA;AAAA,QAAA,OAAMsB,MAAM,CAACD,mBAAmB,CAAC,SAAS,EAAErB,QAAQ,CAAC,CAAA;AAAA,OAAA,CAAA;KAC/D,EAAE,CAACvE,UAAU,EAAEc,WAAW,EAAEP,QAAQ,CAAC,CAAC,CAAA;AAEvCkF,IAAAA,eAAS,CAAC,YAAM;AACZ,MAAA,IAAIK,MAAM,GAAGJ,QAAQ,CAACK,cAAc,CAACzH,iBAAiB,CAAC,CAAA;MAEvD,IAAI,OAAOgB,KAAK,KAAK,QAAQ,IAAIA,KAAK,IAAIA,KAAK,CAACqD,OAAO,EAAE;QACrDmD,MAAM,GAAGxG,KAAK,CAACqD,OAAO,CAAA;AAC1B,OAAA;AAEA,MAAA,IAAI,OAAOrD,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE;AACpCwG,QAAAA,MAAM,GAAGJ,QAAQ,CAACK,cAAc,CAACzG,KAAK,CAAC,CAAA;AAC3C,OAAA;AAEA,MAAA,IAAI,CAACc,SAAS,iBAAI4F,oBAAc,CAACnH,MAAM,CAAC,EAAE;QACtCiH,MAAM,GAAG9E,OAAO,CAAC2B,OAAO,CAAA;AAC5B,OAAA;MAEA,IAAI,CAACmD,MAAM,EAAE;QACT,IAAMG,QAAQ,MAAAC,MAAA,CAAM5H,iBAAiB,EAAA4H,GAAAA,CAAAA,CAAAA,MAAA,CAAIzE,IAAI,CAAE,CAAA;AAE/CqE,QAAAA,MAAM,GAAGJ,QAAQ,CAACS,aAAa,CAAC,KAAK,CAAC,CAAA;AACtCL,QAAAA,MAAM,CAACM,YAAY,CAAC,IAAI,EAAEH,QAAQ,CAAC,CAAA;QAEnC,IAAI,OAAO3G,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,UAAU,EAAE;AAAA,UAAA,IAAA+G,qBAAA,CAAA;AACnD,UAAA,CAAAA,qBAAA,GAAAX,QAAQ,CAACK,cAAc,CAACzG,KAAK,CAAC,MAAA+G,IAAAA,IAAAA,qBAAA,eAA9BA,qBAAA,CAAgCC,WAAW,CAACR,MAAM,CAAC,CAAA;AACvD,SAAC,MAAM;AACHJ,UAAAA,QAAQ,CAACa,IAAI,CAACD,WAAW,CAACR,MAAM,CAAC,CAAA;AACrC,SAAA;AACJ,OAAA;MAEAzE,SAAS,CAACsB,OAAO,GAAGmD,MAAM,CAAA;;AAE1B;AAChB;AACA;AACA;MACgB1D,WAAW,CAAC,IAAI,CAAC,CAAA;KACpB,EAAE,EAAE,CAAC,CAAA;AAENqD,IAAAA,eAAS,CAAC,YAAM;AACZ,MAAA,IAAI,CAAC3E,WAAW,IAAI,CAACwD,WAAW,EAAE;AAC9B,QAAA,OAAA;AACJ,OAAA;;AAEA;AAChB;AACA;AACA;AACA;AACA;MACgBkC,OAAO,CAACC,OAAO,EAAE,CAACC,IAAI,CAACpC,WAAW,CAAC,CAAA;KACtC,EAAE,CAACxD,WAAW,EAAEhC,QAAQ,EAAEwF,WAAW,CAAC,CAAC,CAAA;AAExC,IAAA,IAAMqC,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;MAC9B,IAAI,CAAC7F,WAAW,EAAE;QACd0B,eAAe,CAAC,KAAK,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;AAEDiD,IAAAA,eAAS,CAAC,YAAM;AACZ,MAAA,IAAI3E,WAAW,EAAE;QACb0B,eAAe,CAAC,IAAI,CAAC,CAAA;AACzB,OAAA;AACJ,KAAC,EAAE,CAAC1B,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,oBACI8F,sBAAA,CAAAT,aAAA,CAACU,aAAM,EAAA;AAACC,MAAAA,SAAS,EAAErE,eAAgB;MAACsE,QAAQ,eAAEf,oBAAc,CAACnH,MAAM,CAAA;AAAE,KAAA,eACjE+H,sBAAA,CAAAT,aAAA,CAACa,4BAAa,EAAA;AACVzH,MAAAA,SAAS,EAAE0H,QAAE,CAAC9D,sBAAO,CAAC+D,OAAO,EAAE,eAAClB,oBAAc,CAACnH,MAAM,CAAC,IAAIsE,sBAAO,CAACgE,WAAW,CAAE;AAC/E9B,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,YAAY,EAAEA,YAAa;AAC3B8B,MAAAA,GAAG,EAAE9F,SAAAA;AAAU,KAAA,eAEfsF,sBAAA,CAAAT,aAAA,CAACkB,yBAAU,EAAA;AACPD,MAAAA,GAAG,EAAEjG,SAAU;AACf+D,MAAAA,OAAO,EAAEA,OAAQ;AACjBK,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,MAAM,EAAEA,MAAO;AACfjG,MAAAA,SAAS,EAAE0H,QAAE,CAAC1H,SAAS,EAAE4D,sBAAO,CAACtE,MAAM,CAAA;AAAE,KAAA,eAExCmH,oBAAc,CAACnH,MAAM,CAAC,IAAIA,MACnB,CAAC,EACZC,QAAQ,IAAIuC,SAAS,CAACsB,OAAO,iBAC1BiE,sBAAA,CAAAT,aAAA,CAACU,aAAM,EAAA;MAACC,SAAS,EAAEzF,SAAS,CAACsB,OAAAA;AAAQ,KAAA,eACjCiE,sBAAA,CAAAT,aAAA,CAAC3H,IAAI,EAAA8I,iCAAA,CAAA;AAAChH,MAAAA,IAAI,EAAEA,IAAK;AAACf,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAAKoB,IAAI,CAAA,eAC5CiG,sBAAA,CAAAT,aAAA,CAACoB,4BAAa,EAAAD,iCAAA,CAAA,EAAA,EACNjD,UAAU,CAACmD,MAAM,EAAA;AACrBC,MAAAA,eAAe,EAAEd,mBAAoB;MACrCpH,SAAS,EAAE0H,QAAE,CAAC9D,sBAAO,CAACuE,IAAI,EAAExE,SAAS,EAAEG,aAAa,CAAE;AACtD+D,MAAAA,GAAG,EAAEzF,cAAe;AACpBgG,MAAAA,KAAK,EAAAC,uCAAA,CAAAA,uCAAA,CACExD,EAAAA,EAAAA,MAAM,CAACoD,MAAM,CAAA,EAAA,EAAA,EAAA;AAChBK,QAAAA,OAAO,EAAEtF,YAAY,IAAIzB,WAAW,GAAG,OAAO,GAAG,MAAA;OACnD,CAAA;AACFlB,MAAAA,MAAM,EAAEA,MAAAA;KAEPR,CAAAA,EAAAA,QAAQ,iBACLwH,sBAAA,CAAAT,aAAA,CAAC2B,0BAAW,EAAAR,iCAAA,CAAA;MACR/H,SAAS,EAAE4D,sBAAO,CAAC4E,KAAM;AACzBX,MAAAA,GAAG,EAAEnF,eAAgB;MACrB0F,KAAK,EAAEvD,MAAM,CAAC2D,KAAAA;KACV1D,EAAAA,UAAU,CAAC0D,KAAK,CACvB,CACJ,eACDnB,sBAAA,CAAAT,aAAA,CAAC6B,mBAAS,EAAA;AACN3H,MAAAA,SAAS,EAAEA,SAAU;AACrBG,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,YAAY,EAAEA,YAAAA;AAAa,KAAA,EAE1B3B,QACM,CACA,CACb,CACF,CAED,CACX,CAAC,CAAA;AAEjB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMmJ,aAAa,GAAG;AACzBnE,EAAAA,IAAI,EAAE,SAAS;AACfoE,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE5J,WAAW;AACnB6J,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACR/H,IAAAA,IAAI,EAAE;AACFgI,MAAAA,GAAG,EAAEC,SAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNlI,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef, isValidElement } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { useFocusTrap } from '../../hooks';\nimport { cx, safeUseId } from '../../utils';\nimport { Portal } from '../Portal';\nimport { Resizable } from '../_Resizable';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\nimport { usePopoverOffset } from './hooks/usePopoverOffset';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n animated,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n resizable,\n view,\n onToggle,\n onResizeStart,\n onResizeEnd,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n const targetRef = useRef<HTMLDivElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n const uuid = safeUseId();\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n const [shouldRender, setShouldRender] = useState(innerIsOpen);\n\n const portalContainer =\n (typeof target === 'object' && target !== null && 'current' in target && target.current) || undefined;\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const openClass = innerIsOpen && shouldRender ? classes.open : undefined;\n const animatedClass = animated ? classes.animate : undefined;\n\n const offsetInner = usePopoverOffset({\n handleRef: targetRef,\n placement: placement as string,\n offsetOuter: offset,\n });\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offsetInner[0], offsetInner[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (typeof frame === 'string' && frame) {\n portal = document.getElementById(frame);\n }\n\n if (!usePortal && isValidElement(target)) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n const portalId = `${POPOVER_PORTAL_ID}-${uuid}`;\n\n portal = document.createElement('div');\n portal.setAttribute('id', portalId);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n const handleTransitionEnd = () => {\n if (!innerIsOpen) {\n setShouldRender(false);\n }\n };\n\n useEffect(() => {\n if (innerIsOpen) {\n setShouldRender(true);\n }\n }, [innerIsOpen]);\n\n return (\n <Portal container={portalContainer} disabled={isValidElement(target)}>\n <StyledWrapper\n className={cx(classes.wrapper, !isValidElement(target) && classes.targetAsRef)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={targetRef}\n >\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {isValidElement(target) && target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n onTransitionEnd={handleTransitionEnd}\n className={cx(classes.root, openClass, animatedClass)}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n display: shouldRender || innerIsOpen ? 'block' : 'none',\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n <Resizable\n resizable={resizable}\n onResizeStart={onResizeStart}\n onResizeEnd={onResizeEnd}\n >\n {children}\n </Resizable>\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n </Portal>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","animated","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","resizable","view","onToggle","onResizeStart","onResizeEnd","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","targetRef","trapRef","useFocusTrap","uuid","safeUseId","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","_useState5","_useState6","shouldRender","setShouldRender","portalContainer","_typeof","current","undefined","isAutoArray","Array","isArray","isAuto","startsWith","openClass","classes","open","animatedClass","animate","offsetInner","usePopoverOffset","offsetOuter","_usePopper","usePopper","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","isValidElement","portalId","concat","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","handleTransitionEnd","React","Portal","container","disabled","StyledWrapper","cx","wrapper","targetAsRef","ref","StyledRoot","_extends","StyledPopover","popper","onTransitionEnd","root","style","_objectSpread","display","StyledArrow","arrow","Resizable","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ var Resizable = function Resizable(_ref) {
|
|
|
20
20
|
outerResizable = _ref.resizable,
|
|
21
21
|
placement = _ref.placement,
|
|
22
22
|
onResizeStart = _ref.onResizeStart,
|
|
23
|
-
|
|
23
|
+
onResizeEnd = _ref.onResizeEnd;
|
|
24
24
|
var resizableContainer = React.useRef(null);
|
|
25
25
|
var resizable = typeof outerResizable === 'boolean' ? {
|
|
26
26
|
disabled: !outerResizable
|
|
@@ -33,11 +33,11 @@ var Resizable = function Resizable(_ref) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
var
|
|
36
|
+
var handleResizeEnd = function handleResizeEnd() {
|
|
37
37
|
if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
|
|
38
38
|
resizableContainer.current.resizable.classList.toggle(Resizable_tokens.classes.resizableContainerNoSelect);
|
|
39
|
-
if (
|
|
40
|
-
|
|
39
|
+
if (onResizeEnd) {
|
|
40
|
+
onResizeEnd(resizableContainer);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
};
|
|
@@ -54,7 +54,7 @@ var Resizable = function Resizable(_ref) {
|
|
|
54
54
|
maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
|
|
55
55
|
maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
|
|
56
56
|
onResizeStart: handleResizeStart,
|
|
57
|
-
onResizeStop:
|
|
57
|
+
onResizeStop: handleResizeEnd,
|
|
58
58
|
handleComponent: {
|
|
59
59
|
topRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon = resizable.hiddenIcons) !== null && _resizable$hiddenIcon !== void 0 && _resizable$hiddenIcon.includes('top-right') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons = resizable.icons) === null || _resizable$icons === void 0 ? void 0 : _resizable$icons.topRight) || /*#__PURE__*/React__default.default.createElement(Resizable_styles.IconResizeDiagonalStyled, {
|
|
60
60
|
className: Resizable_tokens.classes.resizableTopRightIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.js","sources":["../../../src/components/_Resizable/Resizable.tsx"],"sourcesContent":["import React, { useRef, FC, PropsWithChildren } from 'react';\nimport { Resizable as ReResizable } from 're-resizable';\nimport type { Resizable as ResizableType } from 're-resizable';\n\nimport { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from './utils';\nimport { classes } from './Resizable.tokens';\nimport type { ResizableProps } from './Resizable.types';\nimport { IconResizeDiagonalStyled } from './Resizable.styles';\n\nexport const Resizable: FC<PropsWithChildren<ResizableProps>> = ({\n children,\n resizable: outerResizable,\n placement,\n onResizeStart,\n onResizeStop,\n}) => {\n const resizableContainer = useRef<ResizableType>(null);\n\n const resizable = typeof outerResizable === 'boolean' ? { disabled: !outerResizable } : outerResizable;\n\n const handleResizeStart = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeStart) {\n onResizeStart(resizableContainer);\n }\n }\n };\n\n const handleResizeStop = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeStop) {\n onResizeStop(resizableContainer);\n }\n }\n };\n\n if (!resizable || resizable.disabled) {\n return <>{children}</>;\n }\n\n return (\n <ReResizable\n ref={resizableContainer}\n enable={resizable && !resizable.disabled ? getResizeDirections(resizable.directions) : false}\n resizeRatio={getRatioBasedOnPlacement(placement)}\n defaultSize={resizable?.defaultSize}\n minWidth={resizable?.minWidth}\n minHeight={resizable?.minHeight}\n maxWidth={resizable?.maxWidth}\n maxHeight={resizable?.maxHeight}\n onResizeStart={handleResizeStart}\n onResizeStop={handleResizeStop}\n handleComponent={{\n topRight: resizable?.hiddenIcons?.includes('top-right') ? undefined : (\n <>\n {resizable?.icons?.topRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomRight: resizable?.hiddenIcons?.includes('bottom-right') ? undefined : (\n <>\n {resizable?.icons?.bottomRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomLeft: resizable?.hiddenIcons?.includes('bottom-left') ? undefined : (\n <>\n {resizable?.icons?.bottomLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n topLeft: resizable?.hiddenIcons?.includes('top-left') ? undefined : (\n <>\n {resizable?.icons?.topLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n }}\n className={classes.resizableContainer}\n handleStyles={getHandleStyles()}\n handleWrapperClass={classes.resizableHandleWrapper}\n >\n {children}\n </ReResizable>\n );\n};\n"],"names":["Resizable","_ref","_resizable$hiddenIcon","_resizable$icons","_resizable$hiddenIcon2","_resizable$icons2","_resizable$hiddenIcon3","_resizable$icons3","_resizable$hiddenIcon4","_resizable$icons4","children","outerResizable","resizable","placement","onResizeStart","onResizeStop","resizableContainer","useRef","disabled","handleResizeStart","current","classList","toggle","classes","resizableContainerNoSelect","handleResizeStop","React","createElement","Fragment","ReResizable","ref","enable","getResizeDirections","directions","resizeRatio","getRatioBasedOnPlacement","defaultSize","minWidth","minHeight","maxWidth","maxHeight","handleComponent","topRight","hiddenIcons","includes","undefined","icons","IconResizeDiagonalStyled","className","resizableTopRightIcon","color","size","iconSize","bottomRight","resizableBottomRightIcon","bottomLeft","resizableBottomLeftIcon","topLeft","resizableTopLeftIcon","handleStyles","getHandleStyles","handleWrapperClass","resizableHandleWrapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Resizable.js","sources":["../../../src/components/_Resizable/Resizable.tsx"],"sourcesContent":["import React, { useRef, FC, PropsWithChildren } from 'react';\nimport { Resizable as ReResizable } from 're-resizable';\nimport type { Resizable as ResizableType } from 're-resizable';\n\nimport { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from './utils';\nimport { classes } from './Resizable.tokens';\nimport type { ResizableProps } from './Resizable.types';\nimport { IconResizeDiagonalStyled } from './Resizable.styles';\n\nexport const Resizable: FC<PropsWithChildren<ResizableProps>> = ({\n children,\n resizable: outerResizable,\n placement,\n onResizeStart,\n onResizeEnd,\n}) => {\n const resizableContainer = useRef<ResizableType>(null);\n\n const resizable = typeof outerResizable === 'boolean' ? { disabled: !outerResizable } : outerResizable;\n\n const handleResizeStart = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeStart) {\n onResizeStart(resizableContainer);\n }\n }\n };\n\n const handleResizeEnd = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeEnd) {\n onResizeEnd(resizableContainer);\n }\n }\n };\n\n if (!resizable || resizable.disabled) {\n return <>{children}</>;\n }\n\n return (\n <ReResizable\n ref={resizableContainer}\n enable={resizable && !resizable.disabled ? getResizeDirections(resizable.directions) : false}\n resizeRatio={getRatioBasedOnPlacement(placement)}\n defaultSize={resizable?.defaultSize}\n minWidth={resizable?.minWidth}\n minHeight={resizable?.minHeight}\n maxWidth={resizable?.maxWidth}\n maxHeight={resizable?.maxHeight}\n onResizeStart={handleResizeStart}\n onResizeStop={handleResizeEnd}\n handleComponent={{\n topRight: resizable?.hiddenIcons?.includes('top-right') ? undefined : (\n <>\n {resizable?.icons?.topRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomRight: resizable?.hiddenIcons?.includes('bottom-right') ? undefined : (\n <>\n {resizable?.icons?.bottomRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomLeft: resizable?.hiddenIcons?.includes('bottom-left') ? undefined : (\n <>\n {resizable?.icons?.bottomLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n topLeft: resizable?.hiddenIcons?.includes('top-left') ? undefined : (\n <>\n {resizable?.icons?.topLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n }}\n className={classes.resizableContainer}\n handleStyles={getHandleStyles()}\n handleWrapperClass={classes.resizableHandleWrapper}\n >\n {children}\n </ReResizable>\n );\n};\n"],"names":["Resizable","_ref","_resizable$hiddenIcon","_resizable$icons","_resizable$hiddenIcon2","_resizable$icons2","_resizable$hiddenIcon3","_resizable$icons3","_resizable$hiddenIcon4","_resizable$icons4","children","outerResizable","resizable","placement","onResizeStart","onResizeEnd","resizableContainer","useRef","disabled","handleResizeStart","current","classList","toggle","classes","resizableContainerNoSelect","handleResizeEnd","React","createElement","Fragment","ReResizable","ref","enable","getResizeDirections","directions","resizeRatio","getRatioBasedOnPlacement","defaultSize","minWidth","minHeight","maxWidth","maxHeight","onResizeStop","handleComponent","topRight","hiddenIcons","includes","undefined","icons","IconResizeDiagonalStyled","className","resizableTopRightIcon","color","size","iconSize","bottomRight","resizableBottomRightIcon","bottomLeft","resizableBottomLeftIcon","topLeft","resizableTopLeftIcon","handleStyles","getHandleStyles","handleWrapperClass","resizableHandleWrapper"],"mappings":"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"}
|
|
@@ -210,7 +210,7 @@ var popoverRoot = function(Root) {
|
|
|
210
210
|
var target = _param.target, children = _param.children, animated = _param.animated, isOpen = _param.isOpen, opened = _param.opened, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, hasArrow = _param.hasArrow, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, className = _param.className, _param_placement = _param.placement, placement = _param_placement === void 0 ? 'auto' : _param_placement, _param_offset = _param.offset, offset = _param_offset === void 0 ? [
|
|
211
211
|
0,
|
|
212
212
|
0
|
|
213
|
-
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart,
|
|
213
|
+
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart, onResizeEnd = _param.onResizeEnd, closeOnOverlayClick = _param.closeOnOverlayClick, rest = _object_without_properties(_param, [
|
|
214
214
|
"target",
|
|
215
215
|
"children",
|
|
216
216
|
"animated",
|
|
@@ -231,7 +231,7 @@ var popoverRoot = function(Root) {
|
|
|
231
231
|
"view",
|
|
232
232
|
"onToggle",
|
|
233
233
|
"onResizeStart",
|
|
234
|
-
"
|
|
234
|
+
"onResizeEnd",
|
|
235
235
|
"closeOnOverlayClick"
|
|
236
236
|
]);
|
|
237
237
|
var _placement_;
|
|
@@ -470,7 +470,7 @@ var popoverRoot = function(Root) {
|
|
|
470
470
|
}, attributes.arrow)), /*#__PURE__*/ _react.default.createElement(_Resizable.Resizable, {
|
|
471
471
|
resizable: resizable,
|
|
472
472
|
onResizeStart: onResizeStart,
|
|
473
|
-
|
|
473
|
+
onResizeEnd: onResizeEnd
|
|
474
474
|
}, children))))));
|
|
475
475
|
});
|
|
476
476
|
};
|
|
@@ -55,7 +55,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
55
55
|
return newObj;
|
|
56
56
|
}
|
|
57
57
|
var Resizable = function(param) {
|
|
58
|
-
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart,
|
|
58
|
+
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart, onResizeEnd = param.onResizeEnd;
|
|
59
59
|
var _resizable_hiddenIcons, _resizable_icons, _resizable_hiddenIcons1, _resizable_icons1, _resizable_hiddenIcons2, _resizable_icons2, _resizable_hiddenIcons3, _resizable_icons3;
|
|
60
60
|
var resizableContainer = (0, _react.useRef)(null);
|
|
61
61
|
var resizable = typeof outerResizable === 'boolean' ? {
|
|
@@ -69,11 +69,11 @@ var Resizable = function(param) {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
-
var
|
|
72
|
+
var handleResizeEnd = function() {
|
|
73
73
|
if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
|
|
74
74
|
resizableContainer.current.resizable.classList.toggle(_Resizabletokens.classes.resizableContainerNoSelect);
|
|
75
|
-
if (
|
|
76
|
-
|
|
75
|
+
if (onResizeEnd) {
|
|
76
|
+
onResizeEnd(resizableContainer);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
};
|
|
@@ -90,7 +90,7 @@ var Resizable = function(param) {
|
|
|
90
90
|
maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
|
|
91
91
|
maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
|
|
92
92
|
onResizeStart: handleResizeStart,
|
|
93
|
-
onResizeStop:
|
|
93
|
+
onResizeStop: handleResizeEnd,
|
|
94
94
|
handleComponent: {
|
|
95
95
|
topRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons = resizable.hiddenIcons) === null || _resizable_hiddenIcons === void 0 ? void 0 : _resizable_hiddenIcons.includes('top-right')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons = resizable.icons) === null || _resizable_icons === void 0 ? void 0 : _resizable_icons.topRight) || /*#__PURE__*/ _react.default.createElement(_Resizablestyles.IconResizeDiagonalStyled, {
|
|
96
96
|
className: _Resizabletokens.classes.resizableTopRightIcon,
|
|
@@ -148,7 +148,7 @@ export var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
|
148
148
|
var target = _param.target, children = _param.children, animated = _param.animated, isOpen = _param.isOpen, opened = _param.opened, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, hasArrow = _param.hasArrow, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, className = _param.className, _param_placement = _param.placement, placement = _param_placement === void 0 ? 'auto' : _param_placement, _param_offset = _param.offset, offset = _param_offset === void 0 ? [
|
|
149
149
|
0,
|
|
150
150
|
0
|
|
151
|
-
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart,
|
|
151
|
+
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart, onResizeEnd = _param.onResizeEnd, closeOnOverlayClick = _param.closeOnOverlayClick, rest = _object_without_properties(_param, [
|
|
152
152
|
"target",
|
|
153
153
|
"children",
|
|
154
154
|
"animated",
|
|
@@ -169,7 +169,7 @@ export var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
|
169
169
|
"view",
|
|
170
170
|
"onToggle",
|
|
171
171
|
"onResizeStart",
|
|
172
|
-
"
|
|
172
|
+
"onResizeEnd",
|
|
173
173
|
"closeOnOverlayClick"
|
|
174
174
|
]);
|
|
175
175
|
var _placement_;
|
|
@@ -408,7 +408,7 @@ export var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
|
408
408
|
}, attributes.arrow)), /*#__PURE__*/ React.createElement(Resizable, {
|
|
409
409
|
resizable: resizable,
|
|
410
410
|
onResizeStart: onResizeStart,
|
|
411
|
-
|
|
411
|
+
onResizeEnd: onResizeEnd
|
|
412
412
|
}, children))))));
|
|
413
413
|
});
|
|
414
414
|
};
|
|
@@ -4,7 +4,7 @@ import { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from "
|
|
|
4
4
|
import { classes } from "./Resizable.tokens";
|
|
5
5
|
import { IconResizeDiagonalStyled } from "./Resizable.styles";
|
|
6
6
|
export var Resizable = function(param) {
|
|
7
|
-
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart,
|
|
7
|
+
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart, onResizeEnd = param.onResizeEnd;
|
|
8
8
|
var _resizable_hiddenIcons, _resizable_icons, _resizable_hiddenIcons1, _resizable_icons1, _resizable_hiddenIcons2, _resizable_icons2, _resizable_hiddenIcons3, _resizable_icons3;
|
|
9
9
|
var resizableContainer = useRef(null);
|
|
10
10
|
var resizable = typeof outerResizable === 'boolean' ? {
|
|
@@ -18,11 +18,11 @@ export var Resizable = function(param) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
var
|
|
21
|
+
var handleResizeEnd = function() {
|
|
22
22
|
if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
|
|
23
23
|
resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);
|
|
24
|
-
if (
|
|
25
|
-
|
|
24
|
+
if (onResizeEnd) {
|
|
25
|
+
onResizeEnd(resizableContainer);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
};
|
|
@@ -39,7 +39,7 @@ export var Resizable = function(param) {
|
|
|
39
39
|
maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
|
|
40
40
|
maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
|
|
41
41
|
onResizeStart: handleResizeStart,
|
|
42
|
-
onResizeStop:
|
|
42
|
+
onResizeStop: handleResizeEnd,
|
|
43
43
|
handleComponent: {
|
|
44
44
|
topRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons = resizable.hiddenIcons) === null || _resizable_hiddenIcons === void 0 ? void 0 : _resizable_hiddenIcons.includes('top-right')) ? undefined : /*#__PURE__*/ React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons = resizable.icons) === null || _resizable_icons === void 0 ? void 0 : _resizable_icons.topRight) || /*#__PURE__*/ React.createElement(IconResizeDiagonalStyled, {
|
|
45
45
|
className: classes.resizableTopRightIcon,
|
|
@@ -12,7 +12,7 @@ import { safeUseId } from '../../utils/react.js';
|
|
|
12
12
|
import { Portal } from '../Portal/Portal.js';
|
|
13
13
|
import { Resizable } from '../_Resizable/Resizable.js';
|
|
14
14
|
|
|
15
|
-
var _excluded = ["target", "children", "animated", "isOpen", "opened", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "resizable", "view", "onToggle", "onResizeStart", "
|
|
15
|
+
var _excluded = ["target", "children", "animated", "isOpen", "opened", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "resizable", "view", "onToggle", "onResizeStart", "onResizeEnd", "closeOnOverlayClick"];
|
|
16
16
|
var ESCAPE_KEYCODE = 27;
|
|
17
17
|
var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
18
18
|
|
|
@@ -51,7 +51,7 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
51
51
|
view = _ref.view,
|
|
52
52
|
onToggle = _ref.onToggle,
|
|
53
53
|
onResizeStart = _ref.onResizeStart,
|
|
54
|
-
|
|
54
|
+
onResizeEnd = _ref.onResizeEnd,
|
|
55
55
|
closeOnOverlayClick = _ref.closeOnOverlayClick,
|
|
56
56
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
57
57
|
var innerIsOpen = Boolean(isOpen || opened);
|
|
@@ -259,7 +259,7 @@ var popoverRoot = function popoverRoot(Root) {
|
|
|
259
259
|
}, attributes.arrow)), /*#__PURE__*/React.createElement(Resizable, {
|
|
260
260
|
resizable: resizable,
|
|
261
261
|
onResizeStart: onResizeStart,
|
|
262
|
-
|
|
262
|
+
onResizeEnd: onResizeEnd
|
|
263
263
|
}, children))))));
|
|
264
264
|
});
|
|
265
265
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef, isValidElement } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { useFocusTrap } from '../../hooks';\nimport { cx, safeUseId } from '../../utils';\nimport { Portal } from '../Portal';\nimport { Resizable } from '../_Resizable';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\nimport { usePopoverOffset } from './hooks/usePopoverOffset';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n animated,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n resizable,\n view,\n onToggle,\n onResizeStart,\n onResizeStop,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n const targetRef = useRef<HTMLDivElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n const uuid = safeUseId();\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n const [shouldRender, setShouldRender] = useState(innerIsOpen);\n\n const portalContainer =\n (typeof target === 'object' && target !== null && 'current' in target && target.current) || undefined;\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const openClass = innerIsOpen && shouldRender ? classes.open : undefined;\n const animatedClass = animated ? classes.animate : undefined;\n\n const offsetInner = usePopoverOffset({\n handleRef: targetRef,\n placement: placement as string,\n offsetOuter: offset,\n });\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offsetInner[0], offsetInner[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (typeof frame === 'string' && frame) {\n portal = document.getElementById(frame);\n }\n\n if (!usePortal && isValidElement(target)) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n const portalId = `${POPOVER_PORTAL_ID}-${uuid}`;\n\n portal = document.createElement('div');\n portal.setAttribute('id', portalId);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n const handleTransitionEnd = () => {\n if (!innerIsOpen) {\n setShouldRender(false);\n }\n };\n\n useEffect(() => {\n if (innerIsOpen) {\n setShouldRender(true);\n }\n }, [innerIsOpen]);\n\n return (\n <Portal container={portalContainer} disabled={isValidElement(target)}>\n <StyledWrapper\n className={cx(classes.wrapper, !isValidElement(target) && classes.targetAsRef)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={targetRef}\n >\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {isValidElement(target) && target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n onTransitionEnd={handleTransitionEnd}\n className={cx(classes.root, openClass, animatedClass)}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n display: shouldRender || innerIsOpen ? 'block' : 'none',\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n <Resizable\n resizable={resizable}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeStop}\n >\n {children}\n </Resizable>\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n </Portal>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","animated","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","resizable","view","onToggle","onResizeStart","onResizeStop","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","targetRef","trapRef","useFocusTrap","uuid","safeUseId","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","_useState5","_useState6","shouldRender","setShouldRender","portalContainer","_typeof","current","undefined","isAutoArray","Array","isArray","isAuto","startsWith","openClass","classes","open","animatedClass","animate","offsetInner","usePopoverOffset","offsetOuter","_usePopper","usePopper","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","isValidElement","portalId","concat","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","handleTransitionEnd","React","Portal","container","disabled","StyledWrapper","cx","wrapper","targetAsRef","ref","StyledRoot","_extends","StyledPopover","popper","onTransitionEnd","root","style","_objectSpread","display","StyledArrow","arrow","Resizable","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef, isValidElement } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { useFocusTrap } from '../../hooks';\nimport { cx, safeUseId } from '../../utils';\nimport { Portal } from '../Portal';\nimport { Resizable } from '../_Resizable';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\nimport { usePopoverOffset } from './hooks/usePopoverOffset';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n animated,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n resizable,\n view,\n onToggle,\n onResizeStart,\n onResizeEnd,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n const targetRef = useRef<HTMLDivElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n const uuid = safeUseId();\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n const [shouldRender, setShouldRender] = useState(innerIsOpen);\n\n const portalContainer =\n (typeof target === 'object' && target !== null && 'current' in target && target.current) || undefined;\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const openClass = innerIsOpen && shouldRender ? classes.open : undefined;\n const animatedClass = animated ? classes.animate : undefined;\n\n const offsetInner = usePopoverOffset({\n handleRef: targetRef,\n placement: placement as string,\n offsetOuter: offset,\n });\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offsetInner[0], offsetInner[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (typeof frame === 'string' && frame) {\n portal = document.getElementById(frame);\n }\n\n if (!usePortal && isValidElement(target)) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n const portalId = `${POPOVER_PORTAL_ID}-${uuid}`;\n\n portal = document.createElement('div');\n portal.setAttribute('id', portalId);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n const handleTransitionEnd = () => {\n if (!innerIsOpen) {\n setShouldRender(false);\n }\n };\n\n useEffect(() => {\n if (innerIsOpen) {\n setShouldRender(true);\n }\n }, [innerIsOpen]);\n\n return (\n <Portal container={portalContainer} disabled={isValidElement(target)}>\n <StyledWrapper\n className={cx(classes.wrapper, !isValidElement(target) && classes.targetAsRef)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={targetRef}\n >\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {isValidElement(target) && target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n onTransitionEnd={handleTransitionEnd}\n className={cx(classes.root, openClass, animatedClass)}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n display: shouldRender || innerIsOpen ? 'block' : 'none',\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n <Resizable\n resizable={resizable}\n onResizeStart={onResizeStart}\n onResizeEnd={onResizeEnd}\n >\n {children}\n </Resizable>\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n </Portal>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","animated","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","resizable","view","onToggle","onResizeStart","onResizeEnd","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","targetRef","trapRef","useFocusTrap","uuid","safeUseId","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","_useState5","_useState6","shouldRender","setShouldRender","portalContainer","_typeof","current","undefined","isAutoArray","Array","isArray","isAuto","startsWith","openClass","classes","open","animatedClass","animate","offsetInner","usePopoverOffset","offsetOuter","_usePopper","usePopper","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","isValidElement","portalId","concat","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","handleTransitionEnd","React","Portal","container","disabled","StyledWrapper","cx","wrapper","targetAsRef","ref","StyledRoot","_extends","StyledPopover","popper","onTransitionEnd","root","style","_objectSpread","display","StyledArrow","arrow","Resizable","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ var Resizable = function Resizable(_ref) {
|
|
|
12
12
|
outerResizable = _ref.resizable,
|
|
13
13
|
placement = _ref.placement,
|
|
14
14
|
onResizeStart = _ref.onResizeStart,
|
|
15
|
-
|
|
15
|
+
onResizeEnd = _ref.onResizeEnd;
|
|
16
16
|
var resizableContainer = useRef(null);
|
|
17
17
|
var resizable = typeof outerResizable === 'boolean' ? {
|
|
18
18
|
disabled: !outerResizable
|
|
@@ -25,11 +25,11 @@ var Resizable = function Resizable(_ref) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
var
|
|
28
|
+
var handleResizeEnd = function handleResizeEnd() {
|
|
29
29
|
if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
|
|
30
30
|
resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);
|
|
31
|
-
if (
|
|
32
|
-
|
|
31
|
+
if (onResizeEnd) {
|
|
32
|
+
onResizeEnd(resizableContainer);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
};
|
|
@@ -46,7 +46,7 @@ var Resizable = function Resizable(_ref) {
|
|
|
46
46
|
maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
|
|
47
47
|
maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
|
|
48
48
|
onResizeStart: handleResizeStart,
|
|
49
|
-
onResizeStop:
|
|
49
|
+
onResizeStop: handleResizeEnd,
|
|
50
50
|
handleComponent: {
|
|
51
51
|
topRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon = resizable.hiddenIcons) !== null && _resizable$hiddenIcon !== void 0 && _resizable$hiddenIcon.includes('top-right') ? undefined : /*#__PURE__*/React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons = resizable.icons) === null || _resizable$icons === void 0 ? void 0 : _resizable$icons.topRight) || /*#__PURE__*/React.createElement(IconResizeDiagonalStyled, {
|
|
52
52
|
className: classes.resizableTopRightIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.js","sources":["../../../src/components/_Resizable/Resizable.tsx"],"sourcesContent":["import React, { useRef, FC, PropsWithChildren } from 'react';\nimport { Resizable as ReResizable } from 're-resizable';\nimport type { Resizable as ResizableType } from 're-resizable';\n\nimport { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from './utils';\nimport { classes } from './Resizable.tokens';\nimport type { ResizableProps } from './Resizable.types';\nimport { IconResizeDiagonalStyled } from './Resizable.styles';\n\nexport const Resizable: FC<PropsWithChildren<ResizableProps>> = ({\n children,\n resizable: outerResizable,\n placement,\n onResizeStart,\n onResizeStop,\n}) => {\n const resizableContainer = useRef<ResizableType>(null);\n\n const resizable = typeof outerResizable === 'boolean' ? { disabled: !outerResizable } : outerResizable;\n\n const handleResizeStart = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeStart) {\n onResizeStart(resizableContainer);\n }\n }\n };\n\n const handleResizeStop = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeStop) {\n onResizeStop(resizableContainer);\n }\n }\n };\n\n if (!resizable || resizable.disabled) {\n return <>{children}</>;\n }\n\n return (\n <ReResizable\n ref={resizableContainer}\n enable={resizable && !resizable.disabled ? getResizeDirections(resizable.directions) : false}\n resizeRatio={getRatioBasedOnPlacement(placement)}\n defaultSize={resizable?.defaultSize}\n minWidth={resizable?.minWidth}\n minHeight={resizable?.minHeight}\n maxWidth={resizable?.maxWidth}\n maxHeight={resizable?.maxHeight}\n onResizeStart={handleResizeStart}\n onResizeStop={handleResizeStop}\n handleComponent={{\n topRight: resizable?.hiddenIcons?.includes('top-right') ? undefined : (\n <>\n {resizable?.icons?.topRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomRight: resizable?.hiddenIcons?.includes('bottom-right') ? undefined : (\n <>\n {resizable?.icons?.bottomRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomLeft: resizable?.hiddenIcons?.includes('bottom-left') ? undefined : (\n <>\n {resizable?.icons?.bottomLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n topLeft: resizable?.hiddenIcons?.includes('top-left') ? undefined : (\n <>\n {resizable?.icons?.topLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n }}\n className={classes.resizableContainer}\n handleStyles={getHandleStyles()}\n handleWrapperClass={classes.resizableHandleWrapper}\n >\n {children}\n </ReResizable>\n );\n};\n"],"names":["Resizable","_ref","_resizable$hiddenIcon","_resizable$icons","_resizable$hiddenIcon2","_resizable$icons2","_resizable$hiddenIcon3","_resizable$icons3","_resizable$hiddenIcon4","_resizable$icons4","children","outerResizable","resizable","placement","onResizeStart","onResizeStop","resizableContainer","useRef","disabled","handleResizeStart","current","classList","toggle","classes","resizableContainerNoSelect","handleResizeStop","React","createElement","Fragment","ReResizable","ref","enable","getResizeDirections","directions","resizeRatio","getRatioBasedOnPlacement","defaultSize","minWidth","minHeight","maxWidth","maxHeight","handleComponent","topRight","hiddenIcons","includes","undefined","icons","IconResizeDiagonalStyled","className","resizableTopRightIcon","color","size","iconSize","bottomRight","resizableBottomRightIcon","bottomLeft","resizableBottomLeftIcon","topLeft","resizableTopLeftIcon","handleStyles","getHandleStyles","handleWrapperClass","resizableHandleWrapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Resizable.js","sources":["../../../src/components/_Resizable/Resizable.tsx"],"sourcesContent":["import React, { useRef, FC, PropsWithChildren } from 'react';\nimport { Resizable as ReResizable } from 're-resizable';\nimport type { Resizable as ResizableType } from 're-resizable';\n\nimport { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from './utils';\nimport { classes } from './Resizable.tokens';\nimport type { ResizableProps } from './Resizable.types';\nimport { IconResizeDiagonalStyled } from './Resizable.styles';\n\nexport const Resizable: FC<PropsWithChildren<ResizableProps>> = ({\n children,\n resizable: outerResizable,\n placement,\n onResizeStart,\n onResizeEnd,\n}) => {\n const resizableContainer = useRef<ResizableType>(null);\n\n const resizable = typeof outerResizable === 'boolean' ? { disabled: !outerResizable } : outerResizable;\n\n const handleResizeStart = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeStart) {\n onResizeStart(resizableContainer);\n }\n }\n };\n\n const handleResizeEnd = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n\n if (onResizeEnd) {\n onResizeEnd(resizableContainer);\n }\n }\n };\n\n if (!resizable || resizable.disabled) {\n return <>{children}</>;\n }\n\n return (\n <ReResizable\n ref={resizableContainer}\n enable={resizable && !resizable.disabled ? getResizeDirections(resizable.directions) : false}\n resizeRatio={getRatioBasedOnPlacement(placement)}\n defaultSize={resizable?.defaultSize}\n minWidth={resizable?.minWidth}\n minHeight={resizable?.minHeight}\n maxWidth={resizable?.maxWidth}\n maxHeight={resizable?.maxHeight}\n onResizeStart={handleResizeStart}\n onResizeStop={handleResizeEnd}\n handleComponent={{\n topRight: resizable?.hiddenIcons?.includes('top-right') ? undefined : (\n <>\n {resizable?.icons?.topRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomRight: resizable?.hiddenIcons?.includes('bottom-right') ? undefined : (\n <>\n {resizable?.icons?.bottomRight || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomRightIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n bottomLeft: resizable?.hiddenIcons?.includes('bottom-left') ? undefined : (\n <>\n {resizable?.icons?.bottomLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableBottomLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n topLeft: resizable?.hiddenIcons?.includes('top-left') ? undefined : (\n <>\n {resizable?.icons?.topLeft || (\n <IconResizeDiagonalStyled\n className={classes.resizableTopLeftIcon}\n color=\"inherit\"\n size={resizable?.iconSize}\n />\n )}\n </>\n ),\n }}\n className={classes.resizableContainer}\n handleStyles={getHandleStyles()}\n handleWrapperClass={classes.resizableHandleWrapper}\n >\n {children}\n </ReResizable>\n );\n};\n"],"names":["Resizable","_ref","_resizable$hiddenIcon","_resizable$icons","_resizable$hiddenIcon2","_resizable$icons2","_resizable$hiddenIcon3","_resizable$icons3","_resizable$hiddenIcon4","_resizable$icons4","children","outerResizable","resizable","placement","onResizeStart","onResizeEnd","resizableContainer","useRef","disabled","handleResizeStart","current","classList","toggle","classes","resizableContainerNoSelect","handleResizeEnd","React","createElement","Fragment","ReResizable","ref","enable","getResizeDirections","directions","resizeRatio","getRatioBasedOnPlacement","defaultSize","minWidth","minHeight","maxWidth","maxHeight","onResizeStop","handleComponent","topRight","hiddenIcons","includes","undefined","icons","IconResizeDiagonalStyled","className","resizableTopRightIcon","color","size","iconSize","bottomRight","resizableBottomRightIcon","bottomLeft","resizableBottomLeftIcon","topLeft","resizableTopLeftIcon","handleStyles","getHandleStyles","handleWrapperClass","resizableHandleWrapper"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
|
3
|
-
"version": "0.338.0-canary.2281.
|
|
3
|
+
"version": "0.338.0-canary.2281.18462149998.0",
|
|
4
4
|
"description": "Salute Design System blueprint",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -137,5 +137,5 @@
|
|
|
137
137
|
"sideEffects": [
|
|
138
138
|
"*.css"
|
|
139
139
|
],
|
|
140
|
-
"gitHead": "
|
|
140
|
+
"gitHead": "92ee0023a81dd132b57ff5f19dec83590697183a"
|
|
141
141
|
}
|
|
@@ -210,7 +210,7 @@ var popoverRoot = function(Root) {
|
|
|
210
210
|
var target = _param.target, children = _param.children, animated = _param.animated, isOpen = _param.isOpen, opened = _param.opened, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, hasArrow = _param.hasArrow, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, className = _param.className, _param_placement = _param.placement, placement = _param_placement === void 0 ? 'auto' : _param_placement, _param_offset = _param.offset, offset = _param_offset === void 0 ? [
|
|
211
211
|
0,
|
|
212
212
|
0
|
|
213
|
-
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart,
|
|
213
|
+
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart, onResizeEnd = _param.onResizeEnd, closeOnOverlayClick = _param.closeOnOverlayClick, rest = _object_without_properties(_param, [
|
|
214
214
|
"target",
|
|
215
215
|
"children",
|
|
216
216
|
"animated",
|
|
@@ -231,7 +231,7 @@ var popoverRoot = function(Root) {
|
|
|
231
231
|
"view",
|
|
232
232
|
"onToggle",
|
|
233
233
|
"onResizeStart",
|
|
234
|
-
"
|
|
234
|
+
"onResizeEnd",
|
|
235
235
|
"closeOnOverlayClick"
|
|
236
236
|
]);
|
|
237
237
|
var _placement_;
|
|
@@ -470,7 +470,7 @@ var popoverRoot = function(Root) {
|
|
|
470
470
|
}, attributes.arrow)), /*#__PURE__*/ _react.default.createElement(_Resizable.Resizable, {
|
|
471
471
|
resizable: resizable,
|
|
472
472
|
onResizeStart: onResizeStart,
|
|
473
|
-
|
|
473
|
+
onResizeEnd: onResizeEnd
|
|
474
474
|
}, children))))));
|
|
475
475
|
});
|
|
476
476
|
};
|
|
@@ -55,7 +55,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
55
55
|
return newObj;
|
|
56
56
|
}
|
|
57
57
|
var Resizable = function(param) {
|
|
58
|
-
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart,
|
|
58
|
+
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart, onResizeEnd = param.onResizeEnd;
|
|
59
59
|
var _resizable_hiddenIcons, _resizable_icons, _resizable_hiddenIcons1, _resizable_icons1, _resizable_hiddenIcons2, _resizable_icons2, _resizable_hiddenIcons3, _resizable_icons3;
|
|
60
60
|
var resizableContainer = (0, _react.useRef)(null);
|
|
61
61
|
var resizable = typeof outerResizable === 'boolean' ? {
|
|
@@ -69,11 +69,11 @@ var Resizable = function(param) {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
|
-
var
|
|
72
|
+
var handleResizeEnd = function() {
|
|
73
73
|
if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
|
|
74
74
|
resizableContainer.current.resizable.classList.toggle(_Resizabletokens.classes.resizableContainerNoSelect);
|
|
75
|
-
if (
|
|
76
|
-
|
|
75
|
+
if (onResizeEnd) {
|
|
76
|
+
onResizeEnd(resizableContainer);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
};
|
|
@@ -90,7 +90,7 @@ var Resizable = function(param) {
|
|
|
90
90
|
maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
|
|
91
91
|
maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
|
|
92
92
|
onResizeStart: handleResizeStart,
|
|
93
|
-
onResizeStop:
|
|
93
|
+
onResizeStop: handleResizeEnd,
|
|
94
94
|
handleComponent: {
|
|
95
95
|
topRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons = resizable.hiddenIcons) === null || _resizable_hiddenIcons === void 0 ? void 0 : _resizable_hiddenIcons.includes('top-right')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons = resizable.icons) === null || _resizable_icons === void 0 ? void 0 : _resizable_icons.topRight) || /*#__PURE__*/ _react.default.createElement(_Resizablestyles.IconResizeDiagonalStyled, {
|
|
96
96
|
className: _Resizabletokens.classes.resizableTopRightIcon,
|
|
@@ -148,7 +148,7 @@ export var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
|
148
148
|
var target = _param.target, children = _param.children, animated = _param.animated, isOpen = _param.isOpen, opened = _param.opened, _param_trigger = _param.trigger, trigger = _param_trigger === void 0 ? 'click' : _param_trigger, hasArrow = _param.hasArrow, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, className = _param.className, _param_placement = _param.placement, placement = _param_placement === void 0 ? 'auto' : _param_placement, _param_offset = _param.offset, offset = _param_offset === void 0 ? [
|
|
149
149
|
0,
|
|
150
150
|
0
|
|
151
|
-
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart,
|
|
151
|
+
] : _param_offset, zIndex = _param.zIndex, _param_isFocusTrapped = _param.isFocusTrapped, isFocusTrapped = _param_isFocusTrapped === void 0 ? true : _param_isFocusTrapped, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_preventOverflow = _param.preventOverflow, preventOverflow = _param_preventOverflow === void 0 ? true : _param_preventOverflow, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, resizable = _param.resizable, view = _param.view, onToggle = _param.onToggle, onResizeStart = _param.onResizeStart, onResizeEnd = _param.onResizeEnd, closeOnOverlayClick = _param.closeOnOverlayClick, rest = _object_without_properties(_param, [
|
|
152
152
|
"target",
|
|
153
153
|
"children",
|
|
154
154
|
"animated",
|
|
@@ -169,7 +169,7 @@ export var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
|
169
169
|
"view",
|
|
170
170
|
"onToggle",
|
|
171
171
|
"onResizeStart",
|
|
172
|
-
"
|
|
172
|
+
"onResizeEnd",
|
|
173
173
|
"closeOnOverlayClick"
|
|
174
174
|
]);
|
|
175
175
|
var _placement_;
|
|
@@ -408,7 +408,7 @@ export var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
|
408
408
|
}, attributes.arrow)), /*#__PURE__*/ React.createElement(Resizable, {
|
|
409
409
|
resizable: resizable,
|
|
410
410
|
onResizeStart: onResizeStart,
|
|
411
|
-
|
|
411
|
+
onResizeEnd: onResizeEnd
|
|
412
412
|
}, children))))));
|
|
413
413
|
});
|
|
414
414
|
};
|
|
@@ -4,7 +4,7 @@ import { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from "
|
|
|
4
4
|
import { classes } from "./Resizable.tokens";
|
|
5
5
|
import { IconResizeDiagonalStyled } from "./Resizable.styles";
|
|
6
6
|
export var Resizable = function(param) {
|
|
7
|
-
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart,
|
|
7
|
+
var children = param.children, outerResizable = param.resizable, placement = param.placement, onResizeStart = param.onResizeStart, onResizeEnd = param.onResizeEnd;
|
|
8
8
|
var _resizable_hiddenIcons, _resizable_icons, _resizable_hiddenIcons1, _resizable_icons1, _resizable_hiddenIcons2, _resizable_icons2, _resizable_hiddenIcons3, _resizable_icons3;
|
|
9
9
|
var resizableContainer = useRef(null);
|
|
10
10
|
var resizable = typeof outerResizable === 'boolean' ? {
|
|
@@ -18,11 +18,11 @@ export var Resizable = function(param) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
var
|
|
21
|
+
var handleResizeEnd = function() {
|
|
22
22
|
if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
|
|
23
23
|
resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);
|
|
24
|
-
if (
|
|
25
|
-
|
|
24
|
+
if (onResizeEnd) {
|
|
25
|
+
onResizeEnd(resizableContainer);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
};
|
|
@@ -39,7 +39,7 @@ export var Resizable = function(param) {
|
|
|
39
39
|
maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
|
|
40
40
|
maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
|
|
41
41
|
onResizeStart: handleResizeStart,
|
|
42
|
-
onResizeStop:
|
|
42
|
+
onResizeStop: handleResizeEnd,
|
|
43
43
|
handleComponent: {
|
|
44
44
|
topRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons = resizable.hiddenIcons) === null || _resizable_hiddenIcons === void 0 ? void 0 : _resizable_hiddenIcons.includes('top-right')) ? undefined : /*#__PURE__*/ React.createElement(React.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons = resizable.icons) === null || _resizable_icons === void 0 ? void 0 : _resizable_icons.topRight) || /*#__PURE__*/ React.createElement(IconResizeDiagonalStyled, {
|
|
45
45
|
className: classes.resizableTopRightIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.types.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY,EAAE,SAAS,IAAI,gBAAgB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAChH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5D;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACrD;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC;IACpE;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"Popover.types.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY,EAAE,SAAS,IAAI,gBAAgB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAChH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5D;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACrD;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,KAAK,KAAK,IAAI,CAAC;IACpE;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC"}
|
|
@@ -67,6 +67,6 @@ export type ResizableProps = {
|
|
|
67
67
|
/**
|
|
68
68
|
* Обработчик остановки ресайза.
|
|
69
69
|
*/
|
|
70
|
-
|
|
70
|
+
onResizeEnd?: (resizableContainer?: RefObject<ResizableType>) => void;
|
|
71
71
|
};
|
|
72
72
|
//# sourceMappingURL=Resizable.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.types.d.ts","sourceRoot":"","sources":["../../../src/components/_Resizable/Resizable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACrF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;AACvF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EACJ,OAAO,GACP;QACI;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;WAEG;QACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B;;WAEG;QACH,WAAW,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,KAAK,CAAC,EAAE;YACJ,QAAQ,CAAC,EAAE,SAAS,CAAC;YACrB,WAAW,CAAC,EAAE,SAAS,CAAC;YACxB,UAAU,CAAC,EAAE,SAAS,CAAC;YACvB,OAAO,CAAC,EAAE,SAAS,CAAC;SACvB,CAAC;QACF;;;WAGG;QACH,QAAQ,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QAC5B;;;WAGG;QACH,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;KAClC,CAAC;IACR;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"Resizable.types.d.ts","sourceRoot":"","sources":["../../../src/components/_Resizable/Resizable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACrF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;AACvF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EACJ,OAAO,GACP;QACI;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;WAEG;QACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B;;WAEG;QACH,WAAW,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,KAAK,CAAC,EAAE;YACJ,QAAQ,CAAC,EAAE,SAAS,CAAC;YACrB,WAAW,CAAC,EAAE,SAAS,CAAC;YACxB,UAAU,CAAC,EAAE,SAAS,CAAC;YACvB,OAAO,CAAC,EAAE,SAAS,CAAC;SACvB,CAAC;QACF;;;WAGG;QACH,QAAQ,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QAC5B;;;WAGG;QACH,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;KAClC,CAAC;IACR;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CACzE,CAAC"}
|