@salutejs/plasma-new-hope 0.335.0-canary.2196.17375511532.0 → 0.335.0-canary.2196.17400757003.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.
Files changed (194) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +4 -1
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Calendar/Calendar.tokens.js +1 -0
  6. package/cjs/components/Calendar/Calendar.tokens.js.map +1 -1
  7. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  8. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  9. package/cjs/components/DatePicker/DatePicker.tokens.js +1 -0
  10. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  11. package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
  12. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  13. package/cjs/components/DatePicker/{DatePickerBase.styles_10sa0ht.css → DatePickerBase.styles_1fnt3hc.css} +1 -1
  14. package/cjs/components/DatePicker/RangeDate/RangeDate.css +4 -4
  15. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  16. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  17. package/{es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1n0dbxm.css → cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_160e4y4.css} +2 -2
  18. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  19. package/cjs/components/Popup/Popup.js +8 -67
  20. package/cjs/components/Popup/Popup.js.map +1 -1
  21. package/cjs/components/Popup/ui/Draggable/Draggable.js +33 -0
  22. package/cjs/components/Popup/ui/Draggable/Draggable.js.map +1 -0
  23. package/cjs/components/Popup/ui/Resizable/Resizable.js +79 -0
  24. package/cjs/components/Popup/ui/Resizable/Resizable.js.map +1 -0
  25. package/cjs/components/Slider/ui/Handler/Handler.js +3 -3
  26. package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
  27. package/cjs/components/Tooltip/Tooltip.js +22 -45
  28. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  29. package/cjs/components/Tooltip/hooks/useDelayedTooltip.js +49 -0
  30. package/cjs/components/Tooltip/hooks/useDelayedTooltip.js.map +1 -0
  31. package/cjs/components/Tree/Tree.css +6 -6
  32. package/cjs/components/Tree/Tree.js +9 -2
  33. package/cjs/components/Tree/Tree.js.map +1 -1
  34. package/cjs/components/Tree/Tree.styles.js +1 -1
  35. package/cjs/components/Tree/Tree.styles.js.map +1 -1
  36. package/cjs/components/Tree/Tree.styles_6sla5y.css +7 -0
  37. package/cjs/components/Tree/Tree.tokens.js +2 -1
  38. package/cjs/components/Tree/Tree.tokens.js.map +1 -1
  39. package/cjs/index.css +10 -10
  40. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -1
  41. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  42. package/emotion/cjs/components/Calendar/Calendar.tokens.js +1 -0
  43. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  44. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +1 -0
  45. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +5 -5
  46. package/emotion/cjs/components/Popup/Popup.js +7 -69
  47. package/emotion/cjs/components/Popup/ui/Draggable/Draggable.js +75 -0
  48. package/emotion/cjs/components/Popup/ui/Resizable/Resizable.js +114 -0
  49. package/emotion/cjs/components/Popup/ui/index.js +20 -0
  50. package/emotion/cjs/components/Tooltip/Tooltip.js +19 -41
  51. package/emotion/cjs/components/Tooltip/hooks/index.js +11 -0
  52. package/emotion/cjs/components/Tooltip/hooks/useDelayedTooltip.js +93 -0
  53. package/emotion/cjs/components/Tree/Tree.js +7 -2
  54. package/emotion/cjs/components/Tree/Tree.styles.js +13 -13
  55. package/emotion/cjs/components/Tree/Tree.tokens.js +2 -1
  56. package/emotion/cjs/examples/components/Calendar/CalendarBase.config.js +5 -5
  57. package/emotion/cjs/examples/components/Calendar/CalendarDouble.config.js +5 -5
  58. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  59. package/emotion/cjs/examples/components/DatePicker/DatePicker.config.js +7 -7
  60. package/emotion/es/components/Autocomplete/Autocomplete.js +3 -1
  61. package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
  62. package/emotion/es/components/Calendar/Calendar.tokens.js +1 -0
  63. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -4
  64. package/emotion/es/components/DatePicker/DatePicker.tokens.js +1 -0
  65. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +5 -5
  66. package/emotion/es/components/Popup/Popup.js +6 -63
  67. package/emotion/es/components/Popup/ui/Draggable/Draggable.js +19 -0
  68. package/emotion/es/components/Popup/ui/Resizable/Resizable.js +63 -0
  69. package/emotion/es/components/Popup/ui/index.js +2 -0
  70. package/emotion/es/components/Tooltip/Tooltip.js +20 -42
  71. package/emotion/es/components/Tooltip/hooks/index.js +1 -0
  72. package/emotion/es/components/Tooltip/hooks/useDelayedTooltip.js +83 -0
  73. package/emotion/es/components/Tree/Tree.js +7 -2
  74. package/emotion/es/components/Tree/Tree.styles.js +13 -13
  75. package/emotion/es/components/Tree/Tree.tokens.js +2 -1
  76. package/emotion/es/examples/components/Calendar/CalendarBase.config.js +5 -5
  77. package/emotion/es/examples/components/Calendar/CalendarDouble.config.js +5 -5
  78. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  79. package/emotion/es/examples/components/DatePicker/DatePicker.config.js +7 -7
  80. package/es/components/Autocomplete/Autocomplete.js +4 -1
  81. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  82. package/es/components/Autocomplete/FloatingPopover.js +6 -5
  83. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  84. package/es/components/Calendar/Calendar.tokens.js +1 -0
  85. package/es/components/Calendar/Calendar.tokens.js.map +1 -1
  86. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -4
  87. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  88. package/es/components/DatePicker/DatePicker.tokens.js +1 -0
  89. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  90. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  91. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  92. package/es/components/DatePicker/{DatePickerBase.styles_10sa0ht.css → DatePickerBase.styles_1fnt3hc.css} +1 -1
  93. package/es/components/DatePicker/RangeDate/RangeDate.css +4 -4
  94. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  95. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  96. package/{cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1n0dbxm.css → es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_160e4y4.css} +2 -2
  97. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  98. package/es/components/Popup/Popup.js +7 -65
  99. package/es/components/Popup/Popup.js.map +1 -1
  100. package/es/components/Popup/ui/Draggable/Draggable.js +24 -0
  101. package/es/components/Popup/ui/Draggable/Draggable.js.map +1 -0
  102. package/es/components/Popup/ui/Resizable/Resizable.js +71 -0
  103. package/es/components/Popup/ui/Resizable/Resizable.js.map +1 -0
  104. package/es/components/Slider/ui/Handler/Handler.js +2 -2
  105. package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
  106. package/es/components/Tooltip/Tooltip.js +23 -46
  107. package/es/components/Tooltip/Tooltip.js.map +1 -1
  108. package/es/components/Tooltip/hooks/useDelayedTooltip.js +45 -0
  109. package/es/components/Tooltip/hooks/useDelayedTooltip.js.map +1 -0
  110. package/es/components/Tree/Tree.css +6 -6
  111. package/es/components/Tree/Tree.js +9 -2
  112. package/es/components/Tree/Tree.js.map +1 -1
  113. package/es/components/Tree/Tree.styles.js +1 -1
  114. package/es/components/Tree/Tree.styles.js.map +1 -1
  115. package/es/components/Tree/Tree.styles_6sla5y.css +7 -0
  116. package/es/components/Tree/Tree.tokens.js +2 -1
  117. package/es/components/Tree/Tree.tokens.js.map +1 -1
  118. package/es/index.css +10 -10
  119. package/package.json +4 -4
  120. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -1
  121. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  122. package/styled-components/cjs/components/Calendar/Calendar.tokens.js +1 -0
  123. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  124. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +1 -0
  125. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +3 -3
  126. package/styled-components/cjs/components/Popup/Popup.js +7 -69
  127. package/styled-components/cjs/components/Popup/ui/Draggable/Draggable.js +75 -0
  128. package/styled-components/cjs/components/Popup/ui/Resizable/Resizable.js +114 -0
  129. package/styled-components/cjs/components/Popup/ui/index.js +20 -0
  130. package/styled-components/cjs/components/Tooltip/Tooltip.js +18 -40
  131. package/styled-components/cjs/components/Tooltip/hooks/index.js +11 -0
  132. package/styled-components/cjs/components/Tooltip/hooks/useDelayedTooltip.js +93 -0
  133. package/styled-components/cjs/components/Tree/Tree.js +7 -2
  134. package/styled-components/cjs/components/Tree/Tree.styles.js +13 -10
  135. package/styled-components/cjs/components/Tree/Tree.tokens.js +2 -1
  136. package/styled-components/cjs/examples/components/Calendar/CalendarBase.config.js +8 -4
  137. package/styled-components/cjs/examples/components/Calendar/CalendarDouble.config.js +8 -4
  138. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  139. package/styled-components/cjs/examples/components/DatePicker/DatePicker.config.js +8 -4
  140. package/styled-components/es/components/Autocomplete/Autocomplete.js +3 -1
  141. package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
  142. package/styled-components/es/components/Calendar/Calendar.tokens.js +1 -0
  143. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -4
  144. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +1 -0
  145. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +3 -3
  146. package/styled-components/es/components/Popup/Popup.js +6 -63
  147. package/styled-components/es/components/Popup/ui/Draggable/Draggable.js +19 -0
  148. package/styled-components/es/components/Popup/ui/Resizable/Resizable.js +63 -0
  149. package/styled-components/es/components/Popup/ui/index.js +2 -0
  150. package/styled-components/es/components/Tooltip/Tooltip.js +19 -41
  151. package/styled-components/es/components/Tooltip/hooks/index.js +1 -0
  152. package/styled-components/es/components/Tooltip/hooks/useDelayedTooltip.js +83 -0
  153. package/styled-components/es/components/Tree/Tree.js +7 -2
  154. package/styled-components/es/components/Tree/Tree.styles.js +13 -10
  155. package/styled-components/es/components/Tree/Tree.tokens.js +2 -1
  156. package/styled-components/es/examples/components/Calendar/CalendarBase.config.js +8 -4
  157. package/styled-components/es/examples/components/Calendar/CalendarDouble.config.js +8 -4
  158. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  159. package/styled-components/es/examples/components/DatePicker/DatePicker.config.js +8 -4
  160. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  161. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -0
  162. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  163. package/types/components/Calendar/Calendar.tokens.d.ts +1 -0
  164. package/types/components/Calendar/Calendar.tokens.d.ts.map +1 -1
  165. package/types/components/DatePicker/DatePicker.tokens.d.ts +1 -0
  166. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  167. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  168. package/types/components/Popup/Popup.d.ts.map +1 -1
  169. package/types/components/Popup/ui/Draggable/Draggable.d.ts +6 -0
  170. package/types/components/Popup/ui/Draggable/Draggable.d.ts.map +1 -0
  171. package/types/components/Popup/ui/Resizable/Resizable.d.ts +7 -0
  172. package/types/components/Popup/ui/Resizable/Resizable.d.ts.map +1 -0
  173. package/types/components/Popup/ui/index.d.ts +3 -0
  174. package/types/components/Popup/ui/index.d.ts.map +1 -0
  175. package/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  176. package/types/components/Tooltip/Tooltip.types.d.ts +31 -20
  177. package/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  178. package/types/components/Tooltip/hooks/index.d.ts +2 -0
  179. package/types/components/Tooltip/hooks/index.d.ts.map +1 -0
  180. package/types/components/Tooltip/hooks/useDelayedTooltip.d.ts +7 -0
  181. package/types/components/Tooltip/hooks/useDelayedTooltip.d.ts.map +1 -0
  182. package/types/components/Tree/Tree.d.ts.map +1 -1
  183. package/types/components/Tree/Tree.styles.d.ts.map +1 -1
  184. package/types/components/Tree/Tree.tokens.d.ts +1 -0
  185. package/types/components/Tree/Tree.tokens.d.ts.map +1 -1
  186. package/types/components/Tree/Tree.types.d.ts +11 -4
  187. package/types/components/Tree/Tree.types.d.ts.map +1 -1
  188. package/types/examples/components/Autocomplete/Autocomplete.d.ts +8 -0
  189. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  190. package/types/examples/components/Calendar/CalendarBase.config.d.ts.map +1 -1
  191. package/types/examples/components/Calendar/CalendarDouble.config.d.ts.map +1 -1
  192. package/types/examples/components/DatePicker/DatePicker.config.d.ts.map +1 -1
  193. package/cjs/components/Tree/Tree.styles_1w91oy6.css +0 -7
  194. package/es/components/Tree/Tree.styles_1w91oy6.css +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport Draggable from 'react-draggable';\nimport { Resizable } from 're-resizable';\nimport type { Resizable as ResizableType } from 're-resizable';\nimport { RootProps } from 'src/engines/types';\nimport { canUseDOM, cx, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\n\nimport { getRatioBasedOnPlacement, getResizeDirections, getHandleStyles } from './utils';\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\nimport { StyledPortalContainer, base, IconResizeDiagonalStyled } from './Popup.styles';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placementValue: PopupPlacementBasic) => {\n switch (placementValue) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый компонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n opened = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n draggable,\n resizable: outerResizable,\n ...rest\n },\n outerRootRef,\n ) => {\n const nodeRef = useRef(null);\n\n const innerIsOpen = isOpen || opened;\n const resizable = typeof outerResizable === 'boolean' ? { disabled: !outerResizable } : outerResizable;\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible, rootId } = usePopup({\n isOpen: innerIsOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const resizableContainer = useRef<ResizableType>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n if (!isVisible && !innerIsOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n const handleResizeStart = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n }\n };\n\n const handleResizeStop = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\n }\n };\n\n const rootNode = (\n <Root className={cls}>\n {overlay}\n\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n zIndex={zIndex}\n frame={frame}\n animationInfo={animationInfo}\n setVisible={setVisible}\n {...rest}\n >\n <Draggable\n nodeRef={nodeRef}\n defaultClassName={draggable ? classes.draggablePopupWrapper : undefined}\n defaultClassNameDragging={draggable ? classes.draggingPopupWrapper : undefined}\n disabled={!draggable}\n cancel={`.${classes.resizableHandleWrapper}`}\n >\n <div ref={nodeRef}>\n <Resizable\n ref={resizableContainer}\n enable={\n resizable && !resizable.disabled\n ? getResizeDirections(resizable.directions)\n : false\n }\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 </Resizable>\n </div>\n </Draggable>\n </PopupRoot>\n </Root>\n );\n\n if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {\n return <Portal container={frame.current}>{rootNode}</Portal>;\n }\n\n const withFrameId = typeof frame === 'string' && frame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(frame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortalContainer ref={portalRef}>\n {portalRef.current && <Portal container={portalRef.current}>{rootNode}</Portal>}\n </StyledPortalContainer>{' '}\n </Portal>\n );\n }\n\n const globalPortal = canUseDOM && document.getElementById(rootId);\n\n return <>{globalPortal && <Portal container={globalPortal}>{rootNode}</Portal>}</>;\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base,\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_offset","_slicedToArray","_x","_y","concat","left","top","transform","right","bottom","placements","split","forEach","placementValue","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","_ref","outerRootRef","_resizable$hiddenIcon","_resizable$icons","_resizable$hiddenIcon2","_resizable$icons2","_resizable$hiddenIcon3","_resizable$icons3","_resizable$hiddenIcon4","_resizable$icons4","id","_ref$isOpen","isOpen","_ref$opened","opened","_ref$placement","_ref$offset","_ref$frame","frame","children","overlay","zIndex","popupInfo","_ref$withAnimation","withAnimation","className","draggable","outerResizable","resizable","rest","_objectWithoutProperties","_excluded","nodeRef","useRef","innerIsOpen","disabled","uniqId","safeUseId","innerId","_usePopup","usePopup","isVisible","animationInfo","setVisible","rootId","portalRef","contentRef","resizableContainer","innerRef","useForkRef","cls","cx","endAnimation","classes","endTransition","handleResizeStart","current","classList","toggle","resizableContainerNoSelect","handleResizeStop","rootNode","React","createElement","PopupRoot","_extends","ref","position","Draggable","defaultClassName","draggablePopupWrapper","defaultClassNameDragging","draggingPopupWrapper","cancel","resizableHandleWrapper","Resizable","enable","getResizeDirections","directions","resizeRatio","getRatioBasedOnPlacement","defaultSize","minWidth","minHeight","maxWidth","maxHeight","onResizeStart","onResizeStop","handleComponent","topRight","hiddenIcons","includes","Fragment","icons","IconResizeDiagonalStyled","resizableTopRightIcon","color","size","iconSize","bottomRight","resizableBottomRightIcon","bottomLeft","resizableBottomLeftIcon","topLeft","resizableTopLeftIcon","handleStyles","getHandleStyles","handleWrapperClass","canUseDOM","Portal","container","withFrameId","containerElement","document","getElementById","StyledPortalContainer","globalPortal","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { RootProps } from 'src/engines/types';\nimport { canUseDOM, cx, safeUseId } from 'src/utils';\n\nimport { Portal } from '../Portal';\n\nimport { Draggable, Resizable } from './ui';\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\nimport { StyledPortalContainer, base } from './Popup.styles';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placementValue: PopupPlacementBasic) => {\n switch (placementValue) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый компонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n opened = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n draggable,\n resizable: outerResizable,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = isOpen || opened;\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible, rootId } = usePopup({\n isOpen: innerIsOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n if (!isVisible && !innerIsOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n const rootNode = (\n <Root className={cls}>\n {overlay}\n\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n zIndex={zIndex}\n frame={frame}\n animationInfo={animationInfo}\n setVisible={setVisible}\n {...rest}\n >\n <Draggable draggable={draggable}>\n <Resizable resizable={outerResizable} placement={placement}>\n {children}\n </Resizable>\n </Draggable>\n </PopupRoot>\n </Root>\n );\n\n if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {\n return <Portal container={frame.current}>{rootNode}</Portal>;\n }\n\n const withFrameId = typeof frame === 'string' && frame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(frame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortalContainer ref={portalRef}>\n {portalRef.current && <Portal container={portalRef.current}>{rootNode}</Portal>}\n </StyledPortalContainer>{' '}\n </Portal>\n );\n }\n\n const globalPortal = canUseDOM && document.getElementById(rootId);\n\n return <>{globalPortal && <Portal container={globalPortal}>{rootNode}</Portal>}</>;\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base,\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_offset","_slicedToArray","_x","_y","concat","left","top","transform","right","bottom","placements","split","forEach","placementValue","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","_ref","outerRootRef","id","_ref$isOpen","isOpen","_ref$opened","opened","_ref$placement","_ref$offset","_ref$frame","frame","children","overlay","zIndex","popupInfo","_ref$withAnimation","withAnimation","className","draggable","outerResizable","resizable","rest","_objectWithoutProperties","_excluded","innerIsOpen","uniqId","safeUseId","innerId","_usePopup","usePopup","isVisible","animationInfo","setVisible","rootId","portalRef","useRef","contentRef","innerRef","useForkRef","cls","cx","endAnimation","classes","endTransition","rootNode","React","createElement","PopupRoot","_extends","ref","position","Draggable","Resizable","current","canUseDOM","Portal","container","withFrameId","containerElement","document","getElementById","StyledPortalContainer","globalPortal","Fragment","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var ReactDraggable = require('react-draggable');
7
+ var Popup_tokens = require('../../Popup.tokens.js');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefault(React);
12
+ var ReactDraggable__default = /*#__PURE__*/_interopDefault(ReactDraggable);
13
+
14
+ var Draggable = function Draggable(_ref) {
15
+ var children = _ref.children,
16
+ draggable = _ref.draggable;
17
+ var nodeRef = React.useRef(null);
18
+ if (!draggable) {
19
+ return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, children);
20
+ }
21
+ return /*#__PURE__*/React__default.default.createElement(ReactDraggable__default.default, {
22
+ nodeRef: nodeRef,
23
+ defaultClassName: draggable ? Popup_tokens.classes.draggablePopupWrapper : undefined,
24
+ defaultClassNameDragging: draggable ? Popup_tokens.classes.draggingPopupWrapper : undefined,
25
+ disabled: !draggable,
26
+ cancel: ".".concat(Popup_tokens.classes.resizableHandleWrapper)
27
+ }, /*#__PURE__*/React__default.default.createElement("div", {
28
+ ref: nodeRef
29
+ }, children));
30
+ };
31
+
32
+ exports.Draggable = Draggable;
33
+ //# sourceMappingURL=Draggable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Draggable.js","sources":["../../../../../src/components/Popup/ui/Draggable/Draggable.tsx"],"sourcesContent":["import React, { useRef, FC, PropsWithChildren } from 'react';\nimport ReactDraggable from 'react-draggable';\nimport { classes } from 'src/components/Popup/Popup.tokens';\n\nimport { PopupProps } from '../../Popup.types';\n\nexport const Draggable: FC<PropsWithChildren<{ draggable: PopupProps['draggable'] }>> = ({ children, draggable }) => {\n const nodeRef = useRef(null);\n\n if (!draggable) {\n return <>{children}</>;\n }\n\n return (\n <ReactDraggable\n nodeRef={nodeRef}\n defaultClassName={draggable ? classes.draggablePopupWrapper : undefined}\n defaultClassNameDragging={draggable ? classes.draggingPopupWrapper : undefined}\n disabled={!draggable}\n cancel={`.${classes.resizableHandleWrapper}`}\n >\n <div ref={nodeRef}>{children}</div>\n </ReactDraggable>\n );\n};\n"],"names":["Draggable","_ref","children","draggable","nodeRef","useRef","React","createElement","Fragment","ReactDraggable","defaultClassName","classes","draggablePopupWrapper","undefined","defaultClassNameDragging","draggingPopupWrapper","disabled","cancel","concat","resizableHandleWrapper","ref"],"mappings":";;;;;;;;;;;;;IAMaA,SAAwE,GAAG,SAA3EA,SAAwEA,CAAAC,IAAA,EAAgC;AAAA,EAAA,IAA1BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS,CAAA;AAC1G,EAAA,IAAMC,OAAO,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EAE5B,IAAI,CAACF,SAAS,EAAE;IACZ,oBAAOG,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAE,QAAA,EAAGN,IAAAA,EAAAA,QAAW,CAAC,CAAA;AAC1B,GAAA;AAEA,EAAA,oBACII,sBAAA,CAAAC,aAAA,CAACE,+BAAc,EAAA;AACXL,IAAAA,OAAO,EAAEA,OAAQ;AACjBM,IAAAA,gBAAgB,EAAEP,SAAS,GAAGQ,oBAAO,CAACC,qBAAqB,GAAGC,SAAU;AACxEC,IAAAA,wBAAwB,EAAEX,SAAS,GAAGQ,oBAAO,CAACI,oBAAoB,GAAGF,SAAU;IAC/EG,QAAQ,EAAE,CAACb,SAAU;AACrBc,IAAAA,MAAM,EAAAC,GAAAA,CAAAA,MAAA,CAAMP,oBAAO,CAACQ,sBAAsB,CAAA;GAE1Cb,eAAAA,sBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKa,IAAAA,GAAG,EAAEhB,OAAAA;GAAUF,EAAAA,QAAc,CACtB,CAAC,CAAA;AAEzB;;;;"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var reResizable = require('re-resizable');
7
+ var Popup_tokens = require('../../Popup.tokens.js');
8
+ var Popup_styles = require('../../Popup.styles.js');
9
+ var getResizeDirections = require('../../utils/getResizeDirections.js');
10
+ var getRatioBasedOnPlacement = require('../../utils/getRatioBasedOnPlacement.js');
11
+ var getHandleStyles = require('../../utils/getHandleStyles.js');
12
+
13
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefault(React);
16
+
17
+ var Resizable = function Resizable(_ref) {
18
+ var _resizable$hiddenIcon, _resizable$icons, _resizable$hiddenIcon2, _resizable$icons2, _resizable$hiddenIcon3, _resizable$icons3, _resizable$hiddenIcon4, _resizable$icons4;
19
+ var children = _ref.children,
20
+ outerResizable = _ref.resizable,
21
+ placement = _ref.placement;
22
+ var resizableContainer = React.useRef(null);
23
+ var resizable = typeof outerResizable === 'boolean' ? {
24
+ disabled: !outerResizable
25
+ } : outerResizable;
26
+ var handleResizeStart = function handleResizeStart() {
27
+ if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
28
+ resizableContainer.current.resizable.classList.toggle(Popup_tokens.classes.resizableContainerNoSelect);
29
+ }
30
+ };
31
+ var handleResizeStop = function handleResizeStop() {
32
+ if (resizableContainer !== null && resizableContainer !== void 0 && resizableContainer.current && resizableContainer.current.resizable) {
33
+ resizableContainer.current.resizable.classList.toggle(Popup_tokens.classes.resizableContainerNoSelect);
34
+ }
35
+ };
36
+ if (!resizable || resizable.disabled) {
37
+ return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, children);
38
+ }
39
+ return /*#__PURE__*/React__default.default.createElement(reResizable.Resizable, {
40
+ ref: resizableContainer,
41
+ enable: resizable && !resizable.disabled ? getResizeDirections.getResizeDirections(resizable.directions) : false,
42
+ resizeRatio: getRatioBasedOnPlacement.getRatioBasedOnPlacement(placement),
43
+ defaultSize: resizable === null || resizable === void 0 ? void 0 : resizable.defaultSize,
44
+ minWidth: resizable === null || resizable === void 0 ? void 0 : resizable.minWidth,
45
+ minHeight: resizable === null || resizable === void 0 ? void 0 : resizable.minHeight,
46
+ maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
47
+ maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
48
+ onResizeStart: handleResizeStart,
49
+ onResizeStop: handleResizeStop,
50
+ handleComponent: {
51
+ 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(Popup_styles.IconResizeDiagonalStyled, {
52
+ className: Popup_tokens.classes.resizableTopRightIcon,
53
+ color: "inherit",
54
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
55
+ })),
56
+ bottomRight: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon2 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon2 !== void 0 && _resizable$hiddenIcon2.includes('bottom-right') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons2 = resizable.icons) === null || _resizable$icons2 === void 0 ? void 0 : _resizable$icons2.bottomRight) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
57
+ className: Popup_tokens.classes.resizableBottomRightIcon,
58
+ color: "inherit",
59
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
60
+ })),
61
+ bottomLeft: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon3 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon3 !== void 0 && _resizable$hiddenIcon3.includes('bottom-left') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons3 = resizable.icons) === null || _resizable$icons3 === void 0 ? void 0 : _resizable$icons3.bottomLeft) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
62
+ className: Popup_tokens.classes.resizableBottomLeftIcon,
63
+ color: "inherit",
64
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
65
+ })),
66
+ topLeft: resizable !== null && resizable !== void 0 && (_resizable$hiddenIcon4 = resizable.hiddenIcons) !== null && _resizable$hiddenIcon4 !== void 0 && _resizable$hiddenIcon4.includes('top-left') ? undefined : /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, (resizable === null || resizable === void 0 || (_resizable$icons4 = resizable.icons) === null || _resizable$icons4 === void 0 ? void 0 : _resizable$icons4.topLeft) || /*#__PURE__*/React__default.default.createElement(Popup_styles.IconResizeDiagonalStyled, {
67
+ className: Popup_tokens.classes.resizableTopLeftIcon,
68
+ color: "inherit",
69
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
70
+ }))
71
+ },
72
+ className: Popup_tokens.classes.resizableContainer,
73
+ handleStyles: getHandleStyles.getHandleStyles(),
74
+ handleWrapperClass: Popup_tokens.classes.resizableHandleWrapper
75
+ }, children);
76
+ };
77
+
78
+ exports.Resizable = Resizable;
79
+ //# sourceMappingURL=Resizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Resizable.js","sources":["../../../../../src/components/Popup/ui/Resizable/Resizable.tsx"],"sourcesContent":["import React, { useRef, FC, PropsWithChildren } from 'react';\nimport { Resizable as ReResizable } from 're-resizable';\nimport { classes } from 'src/components/Popup/Popup.tokens';\nimport { getHandleStyles, getRatioBasedOnPlacement, getResizeDirections } from 'src/components/Popup/utils';\nimport type { Resizable as ResizableType } from 're-resizable';\n\nimport { PopupProps } from '../../Popup.types';\nimport { IconResizeDiagonalStyled } from '../../Popup.styles';\n\nexport const Resizable: FC<PropsWithChildren<{\n resizable: PopupProps['resizable'];\n placement: NonNullable<PopupProps['placement']>;\n}>> = ({ children, resizable: outerResizable, placement }) => {\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 };\n\n const handleResizeStop = () => {\n if (resizableContainer?.current && resizableContainer.current.resizable) {\n resizableContainer.current.resizable.classList.toggle(classes.resizableContainerNoSelect);\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","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","onResizeStart","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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"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
- var Draggable = require('react-draggable');
7
+ var ReactDraggable = require('react-draggable');
8
8
  var index = require('../../../../utils/index.js');
9
9
  var index$1 = require('../../utils/index.js');
10
10
  var Thumb = require('../Thumb/Thumb.js');
@@ -15,7 +15,7 @@ var computeKeyPressData = require('./computeKeyPressData.js');
15
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
16
 
17
17
  var React__default = /*#__PURE__*/_interopDefault(React);
18
- var Draggable__default = /*#__PURE__*/_interopDefault(Draggable);
18
+ var ReactDraggable__default = /*#__PURE__*/_interopDefault(ReactDraggable);
19
19
 
20
20
  var _excluded = ["size", "visibility", "isHovered", "orientation", "stepSize", "onChangeCommitted", "onChange", "position", "min", "max", "bounds", "zIndex", "disabled", "side", "showCurrentValue", "startOffset", "endOffset", "value", "valuePlacement"];
21
21
 
@@ -117,7 +117,7 @@ var Handler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
117
117
  if (isDrag) {
118
118
  isPointerHidden = false;
119
119
  }
120
- return /*#__PURE__*/React__default.default.createElement(Draggable__default.default, {
120
+ return /*#__PURE__*/React__default.default.createElement(ReactDraggable__default.default, {
121
121
  axis: isVertical ? 'y' : 'x',
122
122
  bounds: computedBounds,
123
123
  grid: isVertical ? [1, stepSize] : [stepSize, 1],
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\n\nimport { cx } from '../../../../utils';\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\nimport { classes } from '../../Slider.tokens';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\nimport { computeKeyPressData } from './computeKeyPressData';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n size,\n visibility,\n isHovered,\n orientation,\n stepSize,\n onChangeCommitted,\n onChange,\n position = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n valuePlacement,\n ...rest\n },\n ref,\n ) => {\n const isVertical = orientation === 'vertical';\n const [isDrag, setIsDrag] = useState(false);\n\n const lastOnChangeValue = useRef<number>();\n const [startClientOffset, endClientOffset] = getOffsets(ref, side, isVertical);\n\n const [startValueBound, endValueBound] = bounds;\n const startPositionBound = startValueBound ? (startValueBound - min) * stepSize : null;\n const endPositionBound = endValueBound ? (endValueBound - min) * stepSize : null;\n\n const dragPosition =\n typeof position === 'number' ? { x: isVertical ? 0 : position, y: isVertical ? position : 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const computedBounds = {\n [isVertical ? 'top' : 'left']: (startPositionBound ?? 0) - (startClientOffset ? stepSize : 0),\n [isVertical ? 'bottom' : 'right']:\n (endPositionBound ?? stepSize * (max - min)) - (endClientOffset ? stepSize : 0),\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((position >= startOffset && position <= max * stepSize - endOffset) || (position === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStart: DraggableEventHandler = () => {\n setIsDrag(true);\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n setIsDrag(false);\n\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data = computeKeyPressData(event, {\n isVertical,\n stepSize,\n position,\n max,\n computedMultipleSteps,\n });\n\n if (!data) {\n return;\n }\n\n const { left, right, top, bottom } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Или между верхней и нижней\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = isVertical\n ? Math.max(Math.min(bottom, data.y), top)\n : Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n let isPointerHidden = (visibility === 'hover' && !isHovered) || size === 'none';\n\n if (isDrag) {\n isPointerHidden = false;\n }\n\n return (\n <Draggable\n axis={isVertical ? 'y' : 'x'}\n bounds={computedBounds}\n grid={isVertical ? [1, stepSize] : [stepSize, 1]}\n onStart={onStart}\n onStop={onStop}\n onDrag={onDrag}\n position={dragPosition}\n disabled={disabled}\n >\n <HandlerStyled\n ref={ref}\n style={{ zIndex }}\n className={cx(\n isVertical && classes.verticalOrientation,\n valuePlacement === 'left' && classes.valuePlacementLeft,\n )}\n isLarge={size === 'large'}\n isPointerHidden={isPointerHidden}\n onKeyDown={onKeyPress}\n >\n {!isPointerHidden && (\n <Thumb\n tabIndex={tabIndex}\n min={min}\n max={max}\n value={value}\n disabled={disabled}\n orientation={orientation}\n {...rest}\n />\n )}\n {showCurrentValueCondition && <StyledValue isPointerHidden={isPointerHidden}>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["Handler","forwardRef","_ref","ref","size","visibility","isHovered","orientation","stepSize","onChangeCommitted","onChange","_ref$position","position","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","valuePlacement","rest","_objectWithoutProperties","_excluded","isVertical","_useState","useState","_useState2","_slicedToArray","isDrag","setIsDrag","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","startClientOffset","endClientOffset","_bounds","startValueBound","endValueBound","startPositionBound","endPositionBound","dragPosition","x","y","undefined","tabIndex","computedBounds","_defineProperty","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStart","onStop","onKeyPress","event","persist","computedMultipleSteps","multipleStepSize","computeKeyPressData","left","right","top","bottom","boundedValue","Math","computedValue","isPointerHidden","React","createElement","Draggable","axis","grid","HandlerStyled","style","className","cx","classes","verticalOrientation","valuePlacementLeft","isLarge","onKeyDown","Thumb","_extends","StyledValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA;;AAOO,IAAMA,OAAO,gBAAGC,gBAAU,CAC7B,UAAAC,IAAA,EAuBIC,GAAG,EACF;AAAA,EAAA,IAtBGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,iBAAiB,GAAAP,IAAA,CAAjBO,iBAAiB;IACjBC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IAAAC,aAAA,GAAAT,IAAA,CACRU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,aAAA;IACZE,GAAG,GAAAX,IAAA,CAAHW,GAAG;IACHC,GAAG,GAAAZ,IAAA,CAAHY,GAAG;IAAAC,WAAA,GAAAb,IAAA,CACHc,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IACXE,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;IACRC,IAAI,GAAAjB,IAAA,CAAJiB,IAAI;IAAAC,qBAAA,GAAAlB,IAAA,CACJmB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,gBAAA,GAAApB,IAAA,CACxBqB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,gBAAA;IAAAE,cAAA,GAAAtB,IAAA,CACfuB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;IACbE,KAAK,GAAAxB,IAAA,CAALwB,KAAK;IACLC,cAAc,GAAAzB,IAAA,CAAdyB,cAAc;AACXC,IAAAA,IAAI,GAAAC,iDAAA,CAAA3B,IAAA,EAAA4B,SAAA,CAAA,CAAA;AAIX,EAAA,IAAMC,UAAU,GAAGxB,WAAW,KAAK,UAAU,CAAA;AAC7C,EAAA,IAAAyB,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAMI,iBAAiB,GAAGC,YAAM,EAAU,CAAA;EAC1C,IAAAC,WAAA,GAA6CC,kBAAU,CAACtC,GAAG,EAAEgB,IAAI,EAAEY,UAAU,CAAC;IAAAW,YAAA,GAAAP,uCAAA,CAAAK,WAAA,EAAA,CAAA,CAAA;AAAvEG,IAAAA,iBAAiB,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AAEzC,EAAA,IAAAG,OAAA,GAAAV,uCAAA,CAAyCnB,MAAM,EAAA,CAAA,CAAA;AAAxC8B,IAAAA,eAAe,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,OAAA,CAAA,CAAA,CAAA,CAAA;EACrC,IAAMG,kBAAkB,GAAGF,eAAe,GAAG,CAACA,eAAe,GAAGjC,GAAG,IAAIL,QAAQ,GAAG,IAAI,CAAA;EACtF,IAAMyC,gBAAgB,GAAGF,aAAa,GAAG,CAACA,aAAa,GAAGlC,GAAG,IAAIL,QAAQ,GAAG,IAAI,CAAA;AAEhF,EAAA,IAAM0C,YAAY,GACd,OAAOtC,QAAQ,KAAK,QAAQ,GAAG;AAAEuC,IAAAA,CAAC,EAAEpB,UAAU,GAAG,CAAC,GAAGnB,QAAQ;AAAEwC,IAAAA,CAAC,EAAErB,UAAU,GAAGnB,QAAQ,GAAG,CAAA;AAAE,GAAC,GAAGyC,SAAS,CAAA;AAC7G,EAAA,IAAMC,QAAQ,GAAGpC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;EAElC,IAAMqC,cAAc,GAAAC,wCAAA,CAAAA,wCAAA,KACfzB,UAAU,GAAG,KAAK,GAAG,MAAM,EAAG,CAACiB,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAlBA,kBAAkB,GAAI,CAAC,KAAKL,iBAAiB,GAAGnC,QAAQ,GAAG,CAAC,CAAC,GAC5FuB,UAAU,GAAG,QAAQ,GAAG,OAAO,EAC5B,CAACkB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAhBA,gBAAgB,GAAIzC,QAAQ,IAAIM,GAAG,GAAGD,GAAG,CAAC,KAAK+B,eAAe,GAAGpC,QAAQ,GAAG,CAAC,CAAC,CACtF,CAAA;EAED,IAAMiD,yBAAyB,GAC3BpC,gBAAgB,KACdT,QAAQ,IAAIW,WAAW,IAAIX,QAAQ,IAAIE,GAAG,GAAGN,QAAQ,GAAGiB,SAAS,IAAMb,QAAQ,KAAK,CAAC,IAAIc,KAAK,KAAK,CAAE,CAAC,CAAA;EAE5G,IAAMgC,MAA6B,GAAG,SAAhCA,MAA6BA,CAAIC,CAAC,EAAEC,IAAI,EAAK;AAC/C,IAAA,IAAMC,QAAQ,GAAGC,2BAAmB,CAAC/B,UAAU,GAAG6B,IAAI,CAACR,CAAC,GAAGQ,IAAI,CAACT,CAAC,EAAE3C,QAAQ,EAAEK,GAAG,EAAEC,GAAG,CAAC,CAAA;AACtF,IAAA,IAAIwB,iBAAiB,CAACyB,OAAO,KAAKF,QAAQ,EAAE;MACxCnD,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAGmD,QAAQ,EAAED,IAAI,CAAC,CAAA;MAC1BtB,iBAAiB,CAACyB,OAAO,GAAGF,QAAQ,CAAA;AACxC,KAAA;GACH,CAAA;AAED,EAAA,IAAMG,OAA8B,GAAG,SAAjCA,OAA8BA,GAAS;IACzC3B,SAAS,CAAC,IAAI,CAAC,CAAA;GAClB,CAAA;EAED,IAAM4B,MAA6B,GAAG,SAAhCA,MAA6BA,CAAIN,CAAC,EAAEC,IAAI,EAAK;IAC/CvB,SAAS,CAAC,KAAK,CAAC,CAAA;AAEhB,IAAA,IAAMwB,QAAQ,GAAGC,2BAAmB,CAAC/B,UAAU,GAAG6B,IAAI,CAACR,CAAC,GAAGQ,IAAI,CAACT,CAAC,EAAE3C,QAAQ,EAAEK,GAAG,EAAEC,GAAG,CAAC,CAAA;AACtFL,IAAAA,iBAAiB,IAAIA,iBAAiB,CAACoD,QAAQ,EAAED,IAAI,CAAC,CAAA;GACzD,CAAA;AAED,EAAA,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAoC,EAAK;IACzDA,KAAK,CAACC,OAAO,EAAE,CAAA;IAEf,IAAMC,qBAAqB,GAAG7D,QAAQ,IAAKoB,IAAI,CAAC0C,gBAAgB,GAAG,GAAG,GAAIxD,GAAG,CAAC,CAAA;AAE9E,IAAA,IAAM8C,IAAI,GAAGW,uCAAmB,CAACJ,KAAK,EAAE;AACpCpC,MAAAA,UAAU,EAAVA,UAAU;AACVvB,MAAAA,QAAQ,EAARA,QAAQ;AACRI,MAAAA,QAAQ,EAARA,QAAQ;AACRE,MAAAA,GAAG,EAAHA,GAAG;AACHuD,MAAAA,qBAAqB,EAArBA,qBAAAA;AACJ,KAAC,CAAC,CAAA;IAEF,IAAI,CAACT,IAAI,EAAE;AACP,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAQY,IAAI,GAAyBjB,cAAc,CAA3CiB,IAAI;MAAEC,KAAK,GAAkBlB,cAAc,CAArCkB,KAAK;MAAEC,GAAG,GAAanB,cAAc,CAA9BmB,GAAG;MAAEC,MAAM,GAAKpB,cAAc,CAAzBoB,MAAM,CAAA;;AAEhC;AACZ;AACA;AACA;AACA;AACA;AACY,IAAA,IAAMC,YAAY,GAAG7C,UAAU,GACzB8C,IAAI,CAAC/D,GAAG,CAAC+D,IAAI,CAAChE,GAAG,CAAC8D,MAAM,EAAEf,IAAI,CAACR,CAAC,CAAC,EAAEsB,GAAG,CAAC,GACvCG,IAAI,CAAC/D,GAAG,CAAC+D,IAAI,CAAChE,GAAG,CAAC4D,KAAK,EAAEb,IAAI,CAACT,CAAC,CAAC,EAAEqB,IAAI,CAAC,CAAA;IAE7C,IAAMM,aAAa,GAAGhB,2BAAmB,CAACc,YAAY,EAAEpE,QAAQ,EAAEK,GAAG,EAAEC,GAAG,CAAC,CAAA;IAC3EwB,iBAAiB,CAACyB,OAAO,GAAGe,aAAa,CAAA;AAEzCrE,IAAAA,iBAAiB,IAAIA,iBAAiB,CAACqE,aAAa,EAAElB,IAAI,CAAC,CAAA;GAC9D,CAAA;EAED,IAAImB,eAAe,GAAI1E,UAAU,KAAK,OAAO,IAAI,CAACC,SAAS,IAAKF,IAAI,KAAK,MAAM,CAAA;AAE/E,EAAA,IAAIgC,MAAM,EAAE;AACR2C,IAAAA,eAAe,GAAG,KAAK,CAAA;AAC3B,GAAA;AAEA,EAAA,oBACIC,sBAAA,CAAAC,aAAA,CAACC,0BAAS,EAAA;AACNC,IAAAA,IAAI,EAAEpD,UAAU,GAAG,GAAG,GAAG,GAAI;AAC7Bf,IAAAA,MAAM,EAAEuC,cAAe;AACvB6B,IAAAA,IAAI,EAAErD,UAAU,GAAG,CAAC,CAAC,EAAEvB,QAAQ,CAAC,GAAG,CAACA,QAAQ,EAAE,CAAC,CAAE;AACjDwD,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,MAAM,EAAEA,MAAO;AACfP,IAAAA,MAAM,EAAEA,MAAO;AACf9C,IAAAA,QAAQ,EAAEsC,YAAa;AACvBhC,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,eAEnB8D,sBAAA,CAAAC,aAAA,CAACI,4BAAa,EAAA;AACVlF,IAAAA,GAAG,EAAEA,GAAI;AACTmF,IAAAA,KAAK,EAAE;AAAErE,MAAAA,MAAM,EAANA,MAAAA;KAAS;AAClBsE,IAAAA,SAAS,EAAEC,QAAE,CACTzD,UAAU,IAAI0D,qBAAO,CAACC,mBAAmB,EACzC/D,cAAc,KAAK,MAAM,IAAI8D,qBAAO,CAACE,kBACzC,CAAE;IACFC,OAAO,EAAExF,IAAI,KAAK,OAAQ;AAC1B2E,IAAAA,eAAe,EAAEA,eAAgB;AACjCc,IAAAA,SAAS,EAAE3B,UAAAA;GAEV,EAAA,CAACa,eAAe,iBACbC,sBAAA,CAAAC,aAAA,CAACa,WAAK,EAAAC,iCAAA,CAAA;AACFzC,IAAAA,QAAQ,EAAEA,QAAS;AACnBzC,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTY,IAAAA,KAAK,EAAEA,KAAM;AACbR,IAAAA,QAAQ,EAAEA,QAAS;AACnBX,IAAAA,WAAW,EAAEA,WAAAA;GACTqB,EAAAA,IAAI,CACX,CACJ,EACA6B,yBAAyB,iBAAIuB,sBAAA,CAAAC,aAAA,CAACe,0BAAW,EAAA;AAACjB,IAAAA,eAAe,EAAEA,eAAAA;GAAkBrD,EAAAA,KAAmB,CACtF,CACR,CAAC,CAAA;AAEpB,CACJ;;;;"}
1
+ {"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\n\nimport { cx } from '../../../../utils';\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\nimport { classes } from '../../Slider.tokens';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\nimport { computeKeyPressData } from './computeKeyPressData';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n size,\n visibility,\n isHovered,\n orientation,\n stepSize,\n onChangeCommitted,\n onChange,\n position = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n valuePlacement,\n ...rest\n },\n ref,\n ) => {\n const isVertical = orientation === 'vertical';\n const [isDrag, setIsDrag] = useState(false);\n\n const lastOnChangeValue = useRef<number>();\n const [startClientOffset, endClientOffset] = getOffsets(ref, side, isVertical);\n\n const [startValueBound, endValueBound] = bounds;\n const startPositionBound = startValueBound ? (startValueBound - min) * stepSize : null;\n const endPositionBound = endValueBound ? (endValueBound - min) * stepSize : null;\n\n const dragPosition =\n typeof position === 'number' ? { x: isVertical ? 0 : position, y: isVertical ? position : 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const computedBounds = {\n [isVertical ? 'top' : 'left']: (startPositionBound ?? 0) - (startClientOffset ? stepSize : 0),\n [isVertical ? 'bottom' : 'right']:\n (endPositionBound ?? stepSize * (max - min)) - (endClientOffset ? stepSize : 0),\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((position >= startOffset && position <= max * stepSize - endOffset) || (position === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStart: DraggableEventHandler = () => {\n setIsDrag(true);\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n setIsDrag(false);\n\n const newValue = getSliderThumbValue(isVertical ? data.y : data.x, stepSize, min, max);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data = computeKeyPressData(event, {\n isVertical,\n stepSize,\n position,\n max,\n computedMultipleSteps,\n });\n\n if (!data) {\n return;\n }\n\n const { left, right, top, bottom } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Или между верхней и нижней\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = isVertical\n ? Math.max(Math.min(bottom, data.y), top)\n : Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n let isPointerHidden = (visibility === 'hover' && !isHovered) || size === 'none';\n\n if (isDrag) {\n isPointerHidden = false;\n }\n\n return (\n <Draggable\n axis={isVertical ? 'y' : 'x'}\n bounds={computedBounds}\n grid={isVertical ? [1, stepSize] : [stepSize, 1]}\n onStart={onStart}\n onStop={onStop}\n onDrag={onDrag}\n position={dragPosition}\n disabled={disabled}\n >\n <HandlerStyled\n ref={ref}\n style={{ zIndex }}\n className={cx(\n isVertical && classes.verticalOrientation,\n valuePlacement === 'left' && classes.valuePlacementLeft,\n )}\n isLarge={size === 'large'}\n isPointerHidden={isPointerHidden}\n onKeyDown={onKeyPress}\n >\n {!isPointerHidden && (\n <Thumb\n tabIndex={tabIndex}\n min={min}\n max={max}\n value={value}\n disabled={disabled}\n orientation={orientation}\n {...rest}\n />\n )}\n {showCurrentValueCondition && <StyledValue isPointerHidden={isPointerHidden}>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["Handler","forwardRef","_ref","ref","size","visibility","isHovered","orientation","stepSize","onChangeCommitted","onChange","_ref$position","position","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","valuePlacement","rest","_objectWithoutProperties","_excluded","isVertical","_useState","useState","_useState2","_slicedToArray","isDrag","setIsDrag","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","startClientOffset","endClientOffset","_bounds","startValueBound","endValueBound","startPositionBound","endPositionBound","dragPosition","x","y","undefined","tabIndex","computedBounds","_defineProperty","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStart","onStop","onKeyPress","event","persist","computedMultipleSteps","multipleStepSize","computeKeyPressData","left","right","top","bottom","boundedValue","Math","computedValue","isPointerHidden","React","createElement","Draggable","axis","grid","HandlerStyled","style","className","cx","classes","verticalOrientation","valuePlacementLeft","isLarge","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
@@ -10,6 +10,7 @@ var index = require('../../utils/index.js');
10
10
  var Tooltip_styles = require('./Tooltip.styles.js');
11
11
  var base = require('./variations/_view/base.js');
12
12
  var base$1 = require('./variations/_size/base.js');
13
+ var useDelayedTooltip = require('./hooks/useDelayedTooltip.js');
13
14
  var common = require('../../engines/common.js');
14
15
  var Popover$1 = require('../Popover/Popover.js');
15
16
 
@@ -17,7 +18,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
18
 
18
19
  var React__default = /*#__PURE__*/_interopDefault(React);
19
20
 
20
- var _excluded = ["id", "text", "opened", "isVisible", "isOpen", "hasArrow", "arrow", "animated", "offset", "minWidth", "maxWidth", "placement", "usePortal", "target", "children", "onDismiss", "view", "size", "contentLeft", "zIndex", "className", "style", "hoverTimeout", "trigger"];
21
+ var _excluded = ["id", "text", "opened", "isVisible", "isOpen", "hasArrow", "arrow", "animated", "offset", "minWidth", "maxWidth", "placement", "usePortal", "target", "children", "onDismiss", "view", "size", "contentLeft", "zIndex", "className", "style", "hoverTimeout", "mouseEnterDelay", "mouseLeaveDelay", "trigger"];
21
22
  var ESCAPE_KEYCODE = 27;
22
23
  var getStringValue = function getStringValue(value) {
23
24
  return typeof value === 'number' ? "".concat(value, "rem") : value;
@@ -38,6 +39,7 @@ var StyledPopover = /*#__PURE__*/react.styled(_exp())({
38
39
 
39
40
  var tooltipRoot = function tooltipRoot(Root) {
40
41
  return /*#__PURE__*/React.forwardRef(function (_ref, outerRef) {
42
+ var _ref2, _mouseLeaveDelay;
41
43
  var id = _ref.id,
42
44
  text = _ref.text,
43
45
  opened = _ref.opened,
@@ -65,28 +67,23 @@ var tooltipRoot = function tooltipRoot(Root) {
65
67
  zIndex = _ref$zIndex === void 0 ? '9200' : _ref$zIndex,
66
68
  className = _ref.className,
67
69
  style = _ref.style,
68
- _ref$hoverTimeout = _ref.hoverTimeout,
69
- hoverTimeout = _ref$hoverTimeout === void 0 ? 300 : _ref$hoverTimeout,
70
+ hoverTimeout = _ref.hoverTimeout,
71
+ _ref$mouseEnterDelay = _ref.mouseEnterDelay,
72
+ mouseEnterDelay = _ref$mouseEnterDelay === void 0 ? 0 : _ref$mouseEnterDelay,
73
+ mouseLeaveDelay = _ref.mouseLeaveDelay,
70
74
  trigger = _ref.trigger,
71
75
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
72
76
  var _useState = React.useState(null),
73
77
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
74
78
  ref = _useState2[0],
75
79
  setRef = _useState2[1];
76
- var timeoutRef = React.useRef();
77
- var _useState3 = React.useState(false),
78
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
79
- isOpened = _useState4[0],
80
- setIsOpened = _useState4[1];
81
- var _useState5 = React.useState(false),
82
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
83
- isHovered = _useState6[0],
84
- setIsHovered = _useState6[1];
85
-
86
- // TODO убрать после отказа от старого API
87
- var innerIsOpen = Boolean(isVisible || isOpen || opened);
88
- var innerHasArrow = arrow || hasArrow;
89
- var showTooltip = innerIsOpen && Boolean(text);
80
+ mouseLeaveDelay = (_ref2 = (_mouseLeaveDelay = mouseLeaveDelay) !== null && _mouseLeaveDelay !== void 0 ? _mouseLeaveDelay : hoverTimeout) !== null && _ref2 !== void 0 ? _ref2 : 300;
81
+ var _useDelayedTooltip = useDelayedTooltip.useDelayedTooltip(mouseEnterDelay, mouseLeaveDelay),
82
+ openedState = _useDelayedTooltip.opened,
83
+ showTooltip = _useDelayedTooltip.showTooltip,
84
+ hideTooltip = _useDelayedTooltip.hideTooltip,
85
+ setOpened = _useDelayedTooltip.setOpened;
86
+ var isTooltipOpened = Boolean(text) && (isVisible || isOpen || opened || openedState);
90
87
  React.useEffect(function () {
91
88
  var onKeyDown = function onKeyDown(event) {
92
89
  if (event.keyCode === ESCAPE_KEYCODE) {
@@ -98,43 +95,26 @@ var tooltipRoot = function tooltipRoot(Root) {
98
95
  window.removeEventListener('keydown', onKeyDown);
99
96
  };
100
97
  }, []);
101
- var onMouseEnter = function onMouseEnter() {
102
- clearTimeout(timeoutRef.current);
103
- setIsHovered(true);
104
- };
105
- var onMouseLeave = function onMouseLeave() {
106
- timeoutRef.current = setTimeout(function () {
107
- setIsHovered(false);
108
- }, hoverTimeout);
109
- };
110
- React.useEffect(function () {
111
- return function () {
112
- return clearTimeout(timeoutRef.current);
113
- };
114
- }, [trigger]);
115
98
  var onToggle = function onToggle(isOpen) {
116
99
  if (trigger === 'hover') {
117
100
  if (isOpen) {
118
- clearTimeout(timeoutRef.current);
119
- setIsOpened(true);
101
+ showTooltip();
120
102
  } else {
121
- timeoutRef.current = setTimeout(function () {
122
- setIsOpened(false);
123
- }, hoverTimeout);
103
+ hideTooltip();
124
104
  }
125
105
  } else {
126
- setIsOpened(isOpen);
106
+ setOpened(isOpen);
127
107
  }
128
108
  };
129
109
  return /*#__PURE__*/React__default.default.createElement(StyledPopover, _rollupPluginBabelHelpers.extends({
130
- opened: showTooltip || isOpened || isHovered,
110
+ opened: isTooltipOpened,
131
111
  placement: placement,
132
112
  offset: offset,
133
113
  zIndex: zIndex,
134
114
  target: target || children,
135
115
  usePortal: usePortal,
136
- hasArrow: innerHasArrow,
137
- "aria-hidden": !innerIsOpen,
116
+ hasArrow: arrow || hasArrow,
117
+ "aria-hidden": !isTooltipOpened,
138
118
  "aria-live": "polite",
139
119
  role: "tooltip",
140
120
  animated: animated,
@@ -142,16 +122,13 @@ var tooltipRoot = function tooltipRoot(Root) {
142
122
  }, (trigger === 'hover' || trigger === 'click') && {
143
123
  trigger: trigger,
144
124
  onToggle: onToggle
145
- }, rest), /*#__PURE__*/React__default.default.createElement(Root, _rollupPluginBabelHelpers.extends({
125
+ }, rest), /*#__PURE__*/React__default.default.createElement(Root, {
146
126
  view: view,
147
127
  size: size,
148
128
  ref: setRef,
149
129
  className: className,
150
130
  style: style
151
- }, trigger === 'hover' && {
152
- onMouseEnter: onMouseEnter,
153
- onMouseLeave: onMouseLeave
154
- }), /*#__PURE__*/React__default.default.createElement(Tooltip_styles.TooltipRoot, {
131
+ }, /*#__PURE__*/React__default.default.createElement(Tooltip_styles.TooltipRoot, {
155
132
  ref: outerRef,
156
133
  id: id,
157
134
  maxWidth: getStringValue(maxWidth),
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useEffect, forwardRef, useState, useRef } from 'react';\nimport { styled } from '@linaria/react';\n\nimport { RootProps, component } from '../../engines';\nimport { popoverConfig, popoverTokens } from '../Popover';\nimport { cx } from '../../utils';\n\nimport { TooltipProps } from './Tooltip.types';\nimport { StyledContentLeft, TooltipRoot } from './Tooltip.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { tokens } from './Tooltip.tokens';\n\nconst ESCAPE_KEYCODE = 27;\n\nconst getStringValue = (value?: number | string) => {\n return typeof value === 'number' ? `${value}rem` : value;\n};\n\nconst Popover = component(popoverConfig);\n\nconst StyledPopover = styled(Popover)`\n ${popoverTokens.arrowMaskWidth}: var(${tokens.arrowMaskWidth});\n ${popoverTokens.arrowMaskHeight}: var(${tokens.arrowMaskHeight});\n ${popoverTokens.arrowMaskImage}: var(${tokens.arrowMaskImage});\n ${popoverTokens.arrowBackground}: var(${tokens.arrowBackground});\n ${popoverTokens.arrowHeight}: var(${tokens.arrowHeight});\n ${popoverTokens.arrowEdgeMargin}: var(${tokens.arrowEdgeMargin});\n`;\n\n/**\n * Компонент для текстовых подсказок. Основное предназначение — подписи к блокам.\n */\n\nexport const tooltipRoot = (Root: RootProps<HTMLDivElement, Omit<TooltipProps, 'opened' | 'text'>>) =>\n forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n id,\n text,\n opened,\n isVisible,\n isOpen,\n hasArrow = true,\n arrow,\n animated,\n offset = [3, 8],\n minWidth,\n maxWidth,\n placement = 'bottom',\n usePortal = true,\n target,\n children,\n onDismiss,\n view,\n size,\n contentLeft,\n zIndex = '9200',\n className,\n style,\n hoverTimeout = 300,\n trigger,\n ...rest\n },\n outerRef,\n ) => {\n const [ref, setRef] = useState<HTMLDivElement | null>(null);\n const timeoutRef = useRef<number | undefined>();\n const [isOpened, setIsOpened] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n\n // TODO убрать после отказа от старого API\n const innerIsOpen = Boolean(isVisible || isOpen || opened);\n const innerHasArrow = arrow || hasArrow;\n const showTooltip = innerIsOpen && Boolean(text);\n\n useEffect(() => {\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.keyCode === ESCAPE_KEYCODE) {\n onDismiss?.();\n }\n };\n\n window.addEventListener('keydown', onKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, []);\n\n const onMouseEnter = () => {\n clearTimeout(timeoutRef.current);\n setIsHovered(true);\n };\n\n const onMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsHovered(false);\n }, hoverTimeout);\n };\n\n useEffect(() => {\n return () => clearTimeout(timeoutRef.current);\n }, [trigger]);\n\n const onToggle = (isOpen: boolean) => {\n if (trigger === 'hover') {\n if (isOpen) {\n clearTimeout(timeoutRef.current);\n setIsOpened(true);\n } else {\n timeoutRef.current = setTimeout(() => {\n setIsOpened(false);\n }, hoverTimeout);\n }\n } else {\n setIsOpened(isOpen);\n }\n };\n\n return (\n <StyledPopover\n opened={showTooltip || isOpened || isHovered}\n placement={placement}\n offset={offset}\n zIndex={zIndex}\n target={target || children}\n usePortal={usePortal}\n hasArrow={innerHasArrow}\n aria-hidden={!innerIsOpen}\n aria-live=\"polite\"\n role=\"tooltip\"\n animated={animated}\n className={cx(ref?.classList.toString())}\n {...((trigger === 'hover' || trigger === 'click') && { trigger, onToggle })}\n {...rest}\n >\n <Root\n view={view}\n size={size}\n ref={setRef}\n className={className}\n style={style}\n {...(trigger === 'hover' && { onMouseEnter, onMouseLeave })}\n >\n <TooltipRoot\n ref={outerRef}\n id={id}\n maxWidth={getStringValue(maxWidth)}\n minWidth={getStringValue(minWidth)}\n >\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n {text}\n </TooltipRoot>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const tooltipConfig = {\n name: 'Tooltip',\n tag: 'div',\n layout: tooltipRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["ESCAPE_KEYCODE","getStringValue","value","concat","Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","tooltipRoot","Root","forwardRef","_ref","outerRef","id","text","opened","isVisible","isOpen","_ref$hasArrow","hasArrow","arrow","animated","_ref$offset","offset","minWidth","maxWidth","_ref$placement","placement","_ref$usePortal","usePortal","target","children","onDismiss","view","size","contentLeft","_ref$zIndex","zIndex","className","style","_ref$hoverTimeout","hoverTimeout","trigger","rest","_useState","useState","_useState2","_slicedToArray","ref","setRef","timeoutRef","useRef","_useState3","_useState4","isOpened","setIsOpened","_useState5","_useState6","isHovered","setIsHovered","innerIsOpen","Boolean","innerHasArrow","showTooltip","useEffect","onKeyDown","event","keyCode","window","addEventListener","removeEventListener","onMouseEnter","clearTimeout","current","onMouseLeave","setTimeout","onToggle","React","createElement","_extends","role","cx","classList","toString","TooltipRoot","StyledContentLeft","tooltipConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;AAaA,IAAMA,cAAc,GAAG,EAAE,CAAA;AAEzB,IAAMC,cAAc,GAAGA,SAAjBA,cAAcA,CAAIC,KAAuB,EAAK;EAChD,OAAO,OAAOA,KAAK,KAAK,QAAQ,MAAAC,MAAA,CAAMD,KAAK,EAAA,KAAA,CAAA,GAAQA,KAAK,CAAA;AAC5D,CAAC,CAAA;AAED,IAAME,OAAO,gBAAGC,gBAAS,CAACC,uBAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAlBvBA,SAkBuBA,IAAAA,GAAA;AAAA,EAAA,OAEZH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,YAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAO3B,CAAA,CAAA;;AAED;AACA;AACA;;IAEaC,WAAW,GAAGA,SAAdA,WAAWA,CAAIC,IAAsE,EAAA;AAAA,EAAA,oBAC9FC,gBAAU,CACN,UAAAC,IAAA,EA4BIC,QAAQ,EACP;AAAA,IAAA,IA3BGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MACFC,IAAI,GAAAH,IAAA,CAAJG,IAAI;MACJC,MAAM,GAAAJ,IAAA,CAANI,MAAM;MACNC,SAAS,GAAAL,IAAA,CAATK,SAAS;MACTC,MAAM,GAAAN,IAAA,CAANM,MAAM;MAAAC,aAAA,GAAAP,IAAA,CACNQ,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;MACfE,KAAK,GAAAT,IAAA,CAALS,KAAK;MACLC,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MAAAC,WAAA,GAAAX,IAAA,CACRY,MAAM;MAANA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,CAAC,CAAC,EAAE,CAAC,CAAC,GAAAA,WAAA;MACfE,QAAQ,GAAAb,IAAA,CAARa,QAAQ;MACRC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;MAAAC,cAAA,GAAAf,IAAA,CACRgB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAAAE,cAAA,GAAAjB,IAAA,CACpBkB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,cAAA;MAChBE,MAAM,GAAAnB,IAAA,CAANmB,MAAM;MACNC,QAAQ,GAAApB,IAAA,CAARoB,QAAQ;MACRC,SAAS,GAAArB,IAAA,CAATqB,SAAS;MACTC,IAAI,GAAAtB,IAAA,CAAJsB,IAAI;MACJC,IAAI,GAAAvB,IAAA,CAAJuB,IAAI;MACJC,WAAW,GAAAxB,IAAA,CAAXwB,WAAW;MAAAC,WAAA,GAAAzB,IAAA,CACX0B,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,WAAA;MACfE,SAAS,GAAA3B,IAAA,CAAT2B,SAAS;MACTC,KAAK,GAAA5B,IAAA,CAAL4B,KAAK;MAAAC,iBAAA,GAAA7B,IAAA,CACL8B,YAAY;AAAZA,MAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,iBAAA;MAClBE,OAAO,GAAA/B,IAAA,CAAP+B,OAAO;AACJC,MAAAA,IAAAA,GAAAA,iDAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAIP,IAAA,IAAAC,SAAA,GAAsBC,cAAQ,CAAwB,IAAI,CAAC;MAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDI,MAAAA,GAAG,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,MAAM,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAClB,IAAA,IAAMI,UAAU,GAAGC,YAAM,EAAsB,CAAA;AAC/C,IAAA,IAAAC,UAAA,GAAgCP,cAAQ,CAAC,KAAK,CAAC;MAAAQ,UAAA,GAAAN,uCAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAAxCE,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,IAAA,IAAAG,UAAA,GAAkCX,cAAQ,CAAC,KAAK,CAAC;MAAAY,UAAA,GAAAV,uCAAA,CAAAS,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;;AAE9B;IACA,IAAMG,WAAW,GAAGC,OAAO,CAAC7C,SAAS,IAAIC,MAAM,IAAIF,MAAM,CAAC,CAAA;AAC1D,IAAA,IAAM+C,aAAa,GAAG1C,KAAK,IAAID,QAAQ,CAAA;AACvC,IAAA,IAAM4C,WAAW,GAAGH,WAAW,IAAIC,OAAO,CAAC/C,IAAI,CAAC,CAAA;AAEhDkD,IAAAA,eAAS,CAAC,YAAM;AACZ,MAAA,IAAMC,SAAS,GAAGA,SAAZA,SAASA,CAAIC,KAAoB,EAAK;AACxC,QAAA,IAAIA,KAAK,CAACC,OAAO,KAAKxE,cAAc,EAAE;AAClCqC,UAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,EAAI,CAAA;AACjB,SAAA;OACH,CAAA;AAEDoC,MAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,SAAS,CAAC,CAAA;AAE7C,MAAA,OAAO,YAAM;AACTG,QAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAEL,SAAS,CAAC,CAAA;OACnD,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAMM,YAAY,GAAGA,SAAfA,YAAYA,GAAS;AACvBC,MAAAA,YAAY,CAACtB,UAAU,CAACuB,OAAO,CAAC,CAAA;MAChCd,YAAY,CAAC,IAAI,CAAC,CAAA;KACrB,CAAA;AAED,IAAA,IAAMe,YAAY,GAAGA,SAAfA,YAAYA,GAAS;AACvBxB,MAAAA,UAAU,CAACuB,OAAO,GAAGE,UAAU,CAAC,YAAM;QAClChB,YAAY,CAAC,KAAK,CAAC,CAAA;OACtB,EAAElB,YAAY,CAAC,CAAA;KACnB,CAAA;AAEDuB,IAAAA,eAAS,CAAC,YAAM;MACZ,OAAO,YAAA;AAAA,QAAA,OAAMQ,YAAY,CAACtB,UAAU,CAACuB,OAAO,CAAC,CAAA;AAAA,OAAA,CAAA;AACjD,KAAC,EAAE,CAAC/B,OAAO,CAAC,CAAC,CAAA;AAEb,IAAA,IAAMkC,QAAQ,GAAGA,SAAXA,QAAQA,CAAI3D,MAAe,EAAK;MAClC,IAAIyB,OAAO,KAAK,OAAO,EAAE;AACrB,QAAA,IAAIzB,MAAM,EAAE;AACRuD,UAAAA,YAAY,CAACtB,UAAU,CAACuB,OAAO,CAAC,CAAA;UAChClB,WAAW,CAAC,IAAI,CAAC,CAAA;AACrB,SAAC,MAAM;AACHL,UAAAA,UAAU,CAACuB,OAAO,GAAGE,UAAU,CAAC,YAAM;YAClCpB,WAAW,CAAC,KAAK,CAAC,CAAA;WACrB,EAAEd,YAAY,CAAC,CAAA;AACpB,SAAA;AACJ,OAAC,MAAM;QACHc,WAAW,CAACtC,MAAM,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;AAED,IAAA,oBACI4D,sBAAA,CAAAC,aAAA,CAAC3E,aAAa,EAAA4E,iCAAA,CAAA;AACVhE,MAAAA,MAAM,EAAEgD,WAAW,IAAIT,QAAQ,IAAII,SAAU;AAC7C/B,MAAAA,SAAS,EAAEA,SAAU;AACrBJ,MAAAA,MAAM,EAAEA,MAAO;AACfc,MAAAA,MAAM,EAAEA,MAAO;MACfP,MAAM,EAAEA,MAAM,IAAIC,QAAS;AAC3BF,MAAAA,SAAS,EAAEA,SAAU;AACrBV,MAAAA,QAAQ,EAAE2C,aAAc;AACxB,MAAA,aAAA,EAAa,CAACF,WAAY;AAC1B,MAAA,WAAA,EAAU,QAAQ;AAClBoB,MAAAA,IAAI,EAAC,SAAS;AACd3D,MAAAA,QAAQ,EAAEA,QAAS;AACnBiB,MAAAA,SAAS,EAAE2C,QAAE,CAACjC,GAAG,KAAHA,IAAAA,IAAAA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAEkC,SAAS,CAACC,QAAQ,EAAE,CAAA;KAClC,EAAA,CAACzC,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,OAAO,KAAK;AAAEA,MAAAA,OAAO,EAAPA,OAAO;AAAEkC,MAAAA,QAAAA,EAAAA,QAAAA;KAAW,EACvEjC,IAAI,CAERkC,eAAAA,sBAAA,CAAAC,aAAA,CAACrE,IAAI,EAAAsE,iCAAA,CAAA;AACD9C,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXc,MAAAA,GAAG,EAAEC,MAAO;AACZX,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,KAAK,EAAEA,KAAAA;KACFG,EAAAA,OAAO,KAAK,OAAO,IAAI;AAAE6B,MAAAA,YAAY,EAAZA,YAAY;AAAEG,MAAAA,YAAAA,EAAAA,YAAAA;AAAa,KAAE,CAE3DG,eAAAA,sBAAA,CAAAC,aAAA,CAACM,0BAAW,EAAA;AACRpC,MAAAA,GAAG,EAAEpC,QAAS;AACdC,MAAAA,EAAE,EAAEA,EAAG;AACPY,MAAAA,QAAQ,EAAE7B,cAAc,CAAC6B,QAAQ,CAAE;MACnCD,QAAQ,EAAE5B,cAAc,CAAC4B,QAAQ,CAAA;AAAE,KAAA,EAElCW,WAAW,iBAAI0C,sBAAA,CAAAC,aAAA,CAACO,gCAAiB,EAAElD,IAAAA,EAAAA,WAA+B,CAAC,EACnErB,IACQ,CACX,CACK,CAAC,CAAA;AAExB,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMwE,aAAa,GAAG;AACzBjF,EAAAA,IAAI,EAAE,SAAS;AACfkF,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEhF,WAAW;AACnBiF,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRzD,IAAAA,IAAI,EAAE;AACF0D,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACD1D,IAAAA,IAAI,EAAE;AACFyD,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN7D,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, { useEffect, forwardRef, useState } from 'react';\nimport { styled } from '@linaria/react';\nimport { RootProps, component } from 'src/engines';\nimport { cx } from 'src/utils';\n\nimport { popoverConfig, popoverTokens } from '../Popover';\n\nimport { useDelayedTooltip } from './hooks';\nimport { TooltipProps } from './Tooltip.types';\nimport { StyledContentLeft, TooltipRoot } from './Tooltip.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { tokens } from './Tooltip.tokens';\n\nconst ESCAPE_KEYCODE = 27;\n\nconst getStringValue = (value?: number | string) => {\n return typeof value === 'number' ? `${value}rem` : value;\n};\n\nconst Popover = component(popoverConfig);\n\nconst StyledPopover = styled(Popover)`\n ${popoverTokens.arrowMaskWidth}: var(${tokens.arrowMaskWidth});\n ${popoverTokens.arrowMaskHeight}: var(${tokens.arrowMaskHeight});\n ${popoverTokens.arrowMaskImage}: var(${tokens.arrowMaskImage});\n ${popoverTokens.arrowBackground}: var(${tokens.arrowBackground});\n ${popoverTokens.arrowHeight}: var(${tokens.arrowHeight});\n ${popoverTokens.arrowEdgeMargin}: var(${tokens.arrowEdgeMargin});\n`;\n\n/**\n * Компонент для текстовых подсказок. Основное предназначение — подписи к блокам.\n */\n\nexport const tooltipRoot = (Root: RootProps<HTMLDivElement, Omit<TooltipProps, 'opened' | 'text'>>) =>\n forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n id,\n text,\n opened,\n isVisible,\n isOpen,\n hasArrow = true,\n arrow,\n animated,\n offset = [3, 8],\n minWidth,\n maxWidth,\n placement = 'bottom',\n usePortal = true,\n target,\n children,\n onDismiss,\n view,\n size,\n contentLeft,\n zIndex = '9200',\n className,\n style,\n hoverTimeout,\n mouseEnterDelay = 0,\n mouseLeaveDelay,\n trigger,\n ...rest\n },\n outerRef,\n ) => {\n const [ref, setRef] = useState<HTMLDivElement | null>(null);\n\n mouseLeaveDelay = mouseLeaveDelay ?? hoverTimeout ?? 300;\n\n const { opened: openedState, showTooltip, hideTooltip, setOpened } = useDelayedTooltip(\n mouseEnterDelay,\n mouseLeaveDelay,\n );\n\n const isTooltipOpened = Boolean(text) && (isVisible || isOpen || opened || openedState);\n\n useEffect(() => {\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.keyCode === ESCAPE_KEYCODE) {\n onDismiss?.();\n }\n };\n\n window.addEventListener('keydown', onKeyDown);\n\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, []);\n\n const onToggle = (isOpen: boolean) => {\n if (trigger === 'hover') {\n if (isOpen) {\n showTooltip();\n } else {\n hideTooltip();\n }\n } else {\n setOpened(isOpen);\n }\n };\n\n return (\n <StyledPopover\n opened={isTooltipOpened}\n placement={placement}\n offset={offset}\n zIndex={zIndex}\n target={target || children}\n usePortal={usePortal}\n hasArrow={arrow || hasArrow}\n aria-hidden={!isTooltipOpened}\n aria-live=\"polite\"\n role=\"tooltip\"\n animated={animated}\n className={cx(ref?.classList.toString())}\n {...((trigger === 'hover' || trigger === 'click') && { trigger, onToggle })}\n {...rest}\n >\n <Root view={view} size={size} ref={setRef} className={className} style={style}>\n <TooltipRoot\n ref={outerRef}\n id={id}\n maxWidth={getStringValue(maxWidth)}\n minWidth={getStringValue(minWidth)}\n >\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n {text}\n </TooltipRoot>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const tooltipConfig = {\n name: 'Tooltip',\n tag: 'div',\n layout: tooltipRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["ESCAPE_KEYCODE","getStringValue","value","concat","Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","tooltipRoot","Root","forwardRef","_ref","outerRef","_ref2","_mouseLeaveDelay","id","text","opened","isVisible","isOpen","_ref$hasArrow","hasArrow","arrow","animated","_ref$offset","offset","minWidth","maxWidth","_ref$placement","placement","_ref$usePortal","usePortal","target","children","onDismiss","view","size","contentLeft","_ref$zIndex","zIndex","className","style","hoverTimeout","_ref$mouseEnterDelay","mouseEnterDelay","mouseLeaveDelay","trigger","rest","_useState","useState","_useState2","_slicedToArray","ref","setRef","_useDelayedTooltip","useDelayedTooltip","openedState","showTooltip","hideTooltip","setOpened","isTooltipOpened","Boolean","useEffect","onKeyDown","event","keyCode","window","addEventListener","removeEventListener","onToggle","React","createElement","_extends","role","cx","classList","toString","TooltipRoot","StyledContentLeft","tooltipConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var React = require('react');
7
+
8
+ var useDelayedTooltip = function useDelayedTooltip(openDelay, closeDelay) {
9
+ var _useState = React.useState(false),
10
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
11
+ opened = _useState2[0],
12
+ setOpened = _useState2[1];
13
+ var openTimeoutRef = React.useRef(null);
14
+ var closeTimeoutRef = React.useRef(null);
15
+ var clearTimeouts = function clearTimeouts() {
16
+ if (openTimeoutRef.current) {
17
+ clearTimeout(openTimeoutRef.current);
18
+ openTimeoutRef.current = null;
19
+ }
20
+ if (closeTimeoutRef.current) {
21
+ clearTimeout(closeTimeoutRef.current);
22
+ closeTimeoutRef.current = null;
23
+ }
24
+ };
25
+ var showTooltip = function showTooltip() {
26
+ clearTimeouts();
27
+ openTimeoutRef.current = setTimeout(function () {
28
+ setOpened(true);
29
+ }, openDelay);
30
+ };
31
+ var hideTooltip = function hideTooltip() {
32
+ clearTimeouts();
33
+ closeTimeoutRef.current = setTimeout(function () {
34
+ setOpened(false);
35
+ }, closeDelay);
36
+ };
37
+ React.useEffect(function () {
38
+ return clearTimeouts;
39
+ }, []);
40
+ return {
41
+ opened: opened,
42
+ setOpened: setOpened,
43
+ showTooltip: showTooltip,
44
+ hideTooltip: hideTooltip
45
+ };
46
+ };
47
+
48
+ exports.useDelayedTooltip = useDelayedTooltip;
49
+ //# sourceMappingURL=useDelayedTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDelayedTooltip.js","sources":["../../../../src/components/Tooltip/hooks/useDelayedTooltip.ts"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\n\nexport const useDelayedTooltip = (openDelay: number, closeDelay: number) => {\n const [opened, setOpened] = useState(false);\n\n const openTimeoutRef = useRef<number | null>(null);\n const closeTimeoutRef = useRef<number | null>(null);\n\n const clearTimeouts = () => {\n if (openTimeoutRef.current) {\n clearTimeout(openTimeoutRef.current);\n openTimeoutRef.current = null;\n }\n\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n };\n\n const showTooltip = () => {\n clearTimeouts();\n\n openTimeoutRef.current = setTimeout(() => {\n setOpened(true);\n }, openDelay);\n };\n\n const hideTooltip = () => {\n clearTimeouts();\n\n closeTimeoutRef.current = setTimeout(() => {\n setOpened(false);\n }, closeDelay);\n };\n\n useEffect(() => {\n return clearTimeouts;\n }, []);\n\n return {\n opened,\n setOpened,\n showTooltip,\n hideTooltip,\n };\n};\n"],"names":["useDelayedTooltip","openDelay","closeDelay","_useState","useState","_useState2","_slicedToArray","opened","setOpened","openTimeoutRef","useRef","closeTimeoutRef","clearTimeouts","current","clearTimeout","showTooltip","setTimeout","hideTooltip","useEffect"],"mappings":";;;;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,SAAiB,EAAEC,UAAkB,EAAK;AACxE,EAAA,IAAAC,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAMI,cAAc,GAAGC,YAAM,CAAgB,IAAI,CAAC,CAAA;AAClD,EAAA,IAAMC,eAAe,GAAGD,YAAM,CAAgB,IAAI,CAAC,CAAA;AAEnD,EAAA,IAAME,aAAa,GAAG,SAAhBA,aAAaA,GAAS;IACxB,IAAIH,cAAc,CAACI,OAAO,EAAE;AACxBC,MAAAA,YAAY,CAACL,cAAc,CAACI,OAAO,CAAC,CAAA;MACpCJ,cAAc,CAACI,OAAO,GAAG,IAAI,CAAA;AACjC,KAAA;IAEA,IAAIF,eAAe,CAACE,OAAO,EAAE;AACzBC,MAAAA,YAAY,CAACH,eAAe,CAACE,OAAO,CAAC,CAAA;MACrCF,eAAe,CAACE,OAAO,GAAG,IAAI,CAAA;AAClC,KAAA;GACH,CAAA;AAED,EAAA,IAAME,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACtBH,IAAAA,aAAa,EAAE,CAAA;AAEfH,IAAAA,cAAc,CAACI,OAAO,GAAGG,UAAU,CAAC,YAAM;MACtCR,SAAS,CAAC,IAAI,CAAC,CAAA;KAClB,EAAEP,SAAS,CAAC,CAAA;GAChB,CAAA;AAED,EAAA,IAAMgB,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACtBL,IAAAA,aAAa,EAAE,CAAA;AAEfD,IAAAA,eAAe,CAACE,OAAO,GAAGG,UAAU,CAAC,YAAM;MACvCR,SAAS,CAAC,KAAK,CAAC,CAAA;KACnB,EAAEN,UAAU,CAAC,CAAA;GACjB,CAAA;AAEDgB,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,OAAON,aAAa,CAAA;GACvB,EAAE,EAAE,CAAC,CAAA;EAEN,OAAO;AACHL,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,SAAS,EAATA,SAAS;AACTO,IAAAA,WAAW,EAAXA,WAAW;AACXE,IAAAA,WAAW,EAAXA,WAAAA;GACH,CAAA;AACL;;;;"}