@consta/uikit 4.5.1 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/AutoCompleteCanary/index.d.ts +1 -0
  2. package/AutoCompleteCanary/index.js +1 -0
  3. package/__internal__/src/components/AutoCompleteCanary/index.d.ts +1 -0
  4. package/__internal__/src/components/AutoCompleteCanary/index.js +2 -0
  5. package/__internal__/src/components/AutoCompleteCanary/index.js.map +1 -0
  6. package/__internal__/src/components/Breadcrumbs/BreadcrumbsFitModeDropdown/BreadcrumbsFitModeDropdown.css +1 -1
  7. package/__internal__/src/components/Breadcrumbs/BreadcrumbsFitModeDropdown/BreadcrumbsFitModeDropdown.js +1 -1
  8. package/__internal__/src/components/Breadcrumbs/BreadcrumbsFitModeDropdown/BreadcrumbsFitModeDropdown.js.map +1 -1
  9. package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.js +1 -1
  10. package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.js.map +1 -1
  11. package/__internal__/src/components/Breadcrumbs/useElements.js +1 -1
  12. package/__internal__/src/components/Breadcrumbs/useElements.js.map +1 -1
  13. package/__internal__/src/components/Collapse/Collapse.css +1 -1
  14. package/__internal__/src/components/Collapse/Collapse.js +1 -1
  15. package/__internal__/src/components/Collapse/Collapse.js.map +1 -1
  16. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  17. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  18. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  19. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  21. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  22. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  24. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  25. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  27. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  32. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  33. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  34. package/__internal__/src/components/DatePicker/types.d.ts +1 -0
  35. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  36. package/__internal__/src/components/FieldCaption/FieldCaption.js +1 -1
  37. package/__internal__/src/components/FieldCaption/FieldCaption.js.map +1 -1
  38. package/__internal__/src/components/Popover/Popover.js +1 -1
  39. package/__internal__/src/components/Popover/Popover.js.map +1 -1
  40. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.css +1 -1
  41. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js +1 -1
  42. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js.map +1 -1
  43. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +1 -1
  44. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  45. package/__internal__/src/hooks/useMouseLeave/index.d.ts +1 -0
  46. package/__internal__/src/hooks/useMouseLeave/index.js +2 -0
  47. package/__internal__/src/hooks/useMouseLeave/index.js.map +1 -0
  48. package/__internal__/src/hooks/useMouseLeave/useMouseLeave.d.ts +9 -0
  49. package/__internal__/src/hooks/useMouseLeave/useMouseLeave.js +2 -0
  50. package/__internal__/src/hooks/useMouseLeave/useMouseLeave.js.map +1 -0
  51. package/__internal__/src/uiKit/components/DocsDecorator/DocsDecorator.d.ts +0 -1
  52. package/__internal__/src/uiKit/components/DocsDecorator/DocsDecorator.js +1 -1
  53. package/__internal__/src/uiKit/components/DocsDecorator/DocsDecorator.js.map +1 -1
  54. package/__internal__/src/uiKit/components/DocsExample/DocsExample.css +1 -1
  55. package/__internal__/src/uiKit/components/DocsExample/index.d.ts +1 -0
  56. package/__internal__/src/uiKit/components/DocsExample/index.js +2 -0
  57. package/__internal__/src/uiKit/components/DocsExample/index.js.map +1 -0
  58. package/__internal__/src/uiKit/whitepaper/whitepaper.d.ts +1 -0
  59. package/__internal__/src/uiKit/whitepaper/whitepaper.js +1 -1
  60. package/__internal__/src/uiKit/whitepaper/whitepaper.js.map +1 -1
  61. package/package.json +1 -1
  62. package/useMouseLeave/index.d.ts +1 -0
  63. package/useMouseLeave/index.js +1 -0
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["children","direction","offset","arrowOffset","possibleDirections","isInteractive","onClickOutside","spareDirection","style","className","position","anchorRef","equalAnchorWidth","onSetDirection"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Popover.css";import React,{forwardRef,useEffect,useLayoutEffect,useMemo}from"react";import{useClickOutside}from"../../hooks/useClickOutside/useClickOutside";import{useComponentSize}from"../../hooks/useComponentSize/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{cn}from"../../utils/bem";import{isNumber,isString}from"../../utils/type-guards";import{PortalWithTheme,usePortalContext}from"../PortalWithTheme/PortalWithTheme";import{useTheme}from"../Theme/Theme";import{getComputedPositionAndDirection}from"./helpers";import{usePopoverReposition}from"./usePopoverReposition";export{usePopoverReposition};export var directionsStartCenter=["downCenter","upCenter","downRight","downLeft","upRight","upLeft","leftUp","leftCenter","leftDown","rightUp","rightCenter","rightDown"];export var directionsStartEdge=["downStartLeft","upStartLeft","downStartRight","upStartRight","leftStartUp","leftStartDown","rightStartUp","rightStartDown"];export var popoverPropOffset=["3xs","2xs","xs","s","m","l","xl","2xl","3xl","4xl","5xl","6xl"];export var directions=[].concat(directionsStartCenter,directionsStartEdge);var getOffset=function(a,b){if(isNumber(b))return b;if(isString(b)&&a.current){var g=getComputedStyle(a.current).getPropertyValue("--space-".concat(b));if(g&&/px$/.test(g))return+g.slice(0,g.length-2);if(g&&/rem$/.test(g)){var c=parseFloat(getComputedStyle(document.documentElement).fontSize),d=+g.slice(0,g.length-3);return c*d}if(g&&/em$/.test(g)){var e=parseFloat(getComputedStyle(a.current).fontSize),f=+g.slice(0,g.length-2);return e*f}return 0}return 0},isRenderProp=function(a){return"function"==typeof a},ContextConsumer=function(a){var b=a.onClickOutside,c=a.children,d=a.ignoreClicksInsideRefs,e=usePortalContext(),f=e.refs;return useClickOutside({isActive:!!b,ignoreClicksInsideRefs:[].concat(_toConsumableArray(d||[]),_toConsumableArray(f||[])),handler:b}),c},cnPopover=cn("Popover");export var Popover=forwardRef(function(a,b){var c,d=a.children,e=a.direction,f=void 0===e?"upCenter":e,g=a.offset,h=void 0===g?0:g,i=a.arrowOffset,j=a.possibleDirections,k=void 0===j?directions:j,l=a.isInteractive,m=a.onClickOutside,n=a.spareDirection,o=void 0===n?"downStartLeft":n,p=a.style,q=a.className,r=a.position,s=a.anchorRef,t=a.equalAnchorWidth,u=a.onSetDirection,v=_objectWithoutProperties(a,_excluded),w=React.useRef(null),x=useTheme(),y=x.theme,z=React.useState(),A=_slicedToArray(z,2),B=A[0],C=A[1],D=useComponentSize(w),E=D.width,F=D.height,G=useComponentSize(s||{current:null}),H=React.useRef(null),I=React.useState([]),J=_slicedToArray(I,2),K=J[0],L=J[1],M=function(){L(function(a){return a.length?[]:a}),H.current=null},N=function(){var a;return C(null===s||void 0===s||null===(a=s.current)||void 0===a?void 0:a.getBoundingClientRect())},O=useMemo(function(){return getOffset(w,h)},[h,!!w.current]),P=getComputedPositionAndDirection({contentSize:{width:E,height:F},viewportSize:{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight},arrowOffset:i,offset:O,direction:f,possibleDirections:k,bannedDirections:K,position:B?{x:B.left,y:B.top}:r,anchorSize:G,spareDirection:o}),Q=P.position,R=P.direction;return useLayoutEffect(function(){return null===u||void 0===u?void 0:u(R)},[R]),useEffect(N,[G]),usePopoverReposition({isActive:!0,scrollAnchorRef:s||{current:null},onRequestReposition:function onRequestReposition(){M(),N()}}),useLayoutEffect(function(){H.current!==R&&(H.current&&!K.includes(H.current)&&L(function(a){return H.current?[].concat(_toConsumableArray(a),[H.current]):a}),H.current=R)},[R]),useLayoutEffect(M,[a]),React.createElement(PortalWithTheme,Object.assign({},v,{preset:y,className:cnPopover({direction:R},[q]),container:window.document.body,ref:useForkRef([w,b]),style:_objectSpread(_objectSpread({},p),{},(c={},_defineProperty(c,"--popover-top","".concat(((null===Q||void 0===Q?void 0:Q.y)||0)+window.scrollY,"px")),_defineProperty(c,"--popover-left","".concat(((null===Q||void 0===Q?void 0:Q.x)||0)+window.scrollX,"px")),_defineProperty(c,"--popover-width",t?"".concat(G.width,"px"):void 0),_defineProperty(c,"--popover-pointer-events",void 0===l||l?void 0:"none"),_defineProperty(c,"--popover-visibility",Q?void 0:"hidden"),c))}),React.createElement(ContextConsumer,{onClickOutside:m,ignoreClicksInsideRefs:[w,s||{current:null}]},isRenderProp(d)?d(R):d))});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["children","direction","offset","arrowOffset","possibleDirections","isInteractive","onClickOutside","spareDirection","style","className","position","anchorRef","equalAnchorWidth","onSetDirection"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Popover.css";import React,{forwardRef,useEffect,useLayoutEffect,useMemo}from"react";import{useClickOutside}from"../../hooks/useClickOutside/useClickOutside";import{useComponentSize}from"../../hooks/useComponentSize/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{cn}from"../../utils/bem";import{isNumber,isString}from"../../utils/type-guards";import{PortalWithTheme,usePortalContext}from"../PortalWithTheme/PortalWithTheme";import{useTheme}from"../Theme/Theme";import{getComputedPositionAndDirection}from"./helpers";import{usePopoverReposition}from"./usePopoverReposition";export{usePopoverReposition};export var directionsStartCenter=["downCenter","upCenter","downRight","downLeft","upRight","upLeft","leftUp","leftCenter","leftDown","rightUp","rightCenter","rightDown"];export var directionsStartEdge=["downStartLeft","upStartLeft","downStartRight","upStartRight","leftStartUp","leftStartDown","rightStartUp","rightStartDown"];export var popoverPropOffset=["3xs","2xs","xs","s","m","l","xl","2xl","3xl","4xl","5xl","6xl"];export var directions=[].concat(directionsStartCenter,directionsStartEdge);var getOffset=function(a,b){if(isNumber(b))return b;if(isString(b)&&a.current){var g=getComputedStyle(a.current).getPropertyValue("--space-".concat(b));if(g&&/px$/.test(g))return+g.slice(0,g.length-2);if(g&&/rem$/.test(g)){var c=parseFloat(getComputedStyle(document.documentElement).fontSize),d=+g.slice(0,g.length-3);return c*d}if(g&&/em$/.test(g)){var e=parseFloat(getComputedStyle(a.current).fontSize),f=+g.slice(0,g.length-2);return e*f}return 0}return 0},isRenderProp=function(a){return"function"==typeof a},ContextConsumer=function(a){var b=a.onClickOutside,c=a.children,d=a.ignoreClicksInsideRefs,e=usePortalContext(),f=e.refs;return useClickOutside({isActive:!!b,ignoreClicksInsideRefs:[].concat(_toConsumableArray(d||[]),_toConsumableArray(f||[])),handler:b}),c},cnPopover=cn("Popover");export var Popover=forwardRef(function(a,b){var c,d=a.children,e=a.direction,f=void 0===e?"upCenter":e,g=a.offset,h=void 0===g?0:g,i=a.arrowOffset,j=a.possibleDirections,k=void 0===j?directions:j,l=a.isInteractive,m=a.onClickOutside,n=a.spareDirection,o=void 0===n?"downStartLeft":n,p=a.style,q=a.className,r=a.position,s=a.anchorRef,t=a.equalAnchorWidth,u=a.onSetDirection,v=_objectWithoutProperties(a,_excluded),w=React.useRef(null),x=useTheme(),y=x.theme,z=React.useState(),A=_slicedToArray(z,2),B=A[0],C=A[1],D=useComponentSize(w),E=D.width,F=D.height,G=useComponentSize(s||{current:null}),H=React.useRef(null),I=React.useState([]),J=_slicedToArray(I,2),K=J[0],L=J[1],M=function(){L(function(a){return a.length?[]:a}),H.current=null},N=function(){var a;return C(null===s||void 0===s||null===(a=s.current)||void 0===a?void 0:a.getBoundingClientRect())},O=useMemo(function(){return getOffset(w,h)},[h,!!w.current]),P=getComputedPositionAndDirection({contentSize:{width:E,height:F},viewportSize:{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight},arrowOffset:i,offset:O,direction:f,possibleDirections:k,bannedDirections:K,position:B?{x:B.left,y:B.top}:r,anchorSize:G,spareDirection:o}),Q=P.position,R=P.direction;return useLayoutEffect(function(){return null===u||void 0===u?void 0:u(R)},[R]),useEffect(N,[G]),usePopoverReposition({isActive:!0,scrollAnchorRef:s||{current:null},onRequestReposition:function onRequestReposition(){M(),N()}}),useLayoutEffect(function(){H.current!==R&&(H.current&&!K.includes(H.current)&&!K.includes(R)&&R!==o&&L(function(a){return H.current?[].concat(_toConsumableArray(a),[H.current]):a}),H.current=R)},[R]),useLayoutEffect(M,[a]),React.createElement(PortalWithTheme,Object.assign({},v,{preset:y,className:cnPopover({direction:R},[q]),container:window.document.body,ref:useForkRef([w,b]),style:_objectSpread(_objectSpread({},p),{},(c={},_defineProperty(c,"--popover-top","".concat(((null===Q||void 0===Q?void 0:Q.y)||0)+window.scrollY,"px")),_defineProperty(c,"--popover-left","".concat(((null===Q||void 0===Q?void 0:Q.x)||0)+window.scrollX,"px")),_defineProperty(c,"--popover-width",t?"".concat(G.width,"px"):void 0),_defineProperty(c,"--popover-pointer-events",void 0===l||l?void 0:"none"),_defineProperty(c,"--popover-visibility",Q?void 0:"hidden"),c))}),React.createElement(ContextConsumer,{onClickOutside:m,ignoreClicksInsideRefs:[w,s||{current:null}]},isRenderProp(d)?d(R):d))});
2
2
  //# sourceMappingURL=Popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["React","forwardRef","useEffect","useLayoutEffect","useMemo","useClickOutside","useComponentSize","useForkRef","cn","isNumber","isString","PortalWithTheme","usePortalContext","useTheme","getComputedPositionAndDirection","usePopoverReposition","directionsStartCenter","directionsStartEdge","popoverPropOffset","directions","getOffset","ref","propOffset","current","cssVar","getComputedStyle","getPropertyValue","test","slice","length","fontSize","parseFloat","document","documentElement","rem","em","isRenderProp","children","ContextConsumer","onClickOutside","ignoreClicksInsideRefs","refs","isActive","handler","cnPopover","Popover","props","componentRef","direction","passedDirection","offset","arrowOffset","possibleDirections","isInteractive","spareDirection","style","className","passedPosition","position","anchorRef","equalAnchorWidth","onSetDirection","otherProps","useRef","theme","useState","anchorClientRect","setAnchorClientRect","width","height","anchorSize","previousDirectionRef","bannedDirections","setBannedDirections","resetBannedDirections","state","updateAnchorClientRect","getBoundingClientRect","contentSize","viewportSize","clientWidth","clientHeight","x","left","y","top","scrollAnchorRef","onRequestReposition","includes","window","body","scrollY","scrollX"],"sources":["../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import './Popover.css';\n\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo } from 'react';\n\nimport {\n ClickOutsideHandler,\n useClickOutside,\n} from '../../hooks/useClickOutside/useClickOutside';\nimport { useComponentSize } from '../../hooks/useComponentSize/useComponentSize';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { cn } from '../../utils/bem';\nimport { isNumber, isString } from '../../utils/type-guards';\nimport { PropsWithJsxAttributes } from '../../utils/types/PropsWithJsxAttributes';\nimport {\n PortalWithTheme,\n usePortalContext,\n} from '../PortalWithTheme/PortalWithTheme';\nimport { useTheme } from '../Theme/Theme';\nimport { getComputedPositionAndDirection } from './helpers';\nimport { usePopoverReposition } from './usePopoverReposition';\n\nexport { usePopoverReposition };\n\n/**\n * Стороны упорядочены по приоритету:\n * Используется первая сторона, в которую смог вписаться поповер.\n */\nexport const directionsStartCenter = [\n 'downCenter',\n 'upCenter',\n\n 'downRight',\n 'downLeft',\n 'upRight',\n 'upLeft',\n\n 'leftUp',\n 'leftCenter',\n 'leftDown',\n\n 'rightUp',\n 'rightCenter',\n 'rightDown',\n] as const;\n\nexport const directionsStartEdge = [\n 'downStartLeft',\n 'upStartLeft',\n\n 'downStartRight',\n 'upStartRight',\n\n 'leftStartUp',\n 'leftStartDown',\n\n 'rightStartUp',\n 'rightStartDown',\n] as const;\n\nexport const popoverPropOffset = [\n '3xs',\n '2xs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type PopoverPropOffset = typeof popoverPropOffset[number] | number;\n\nexport const directions = [...directionsStartCenter, ...directionsStartEdge];\n\nexport type Direction = typeof directions[number];\n\nexport type Position = { x: number; y: number } | undefined;\n\nexport type PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n equalAnchorWidth?: boolean;\n position?: never;\n }\n | {\n anchorRef?: never;\n equalAnchorWidth?: never;\n position: Position;\n };\n\ntype ChildrenRenderProp = (direction: Direction) => React.ReactNode;\n\nexport type Props = PropsWithJsxAttributes<\n {\n direction?: Direction;\n spareDirection?: Direction;\n offset?: PopoverPropOffset;\n arrowOffset?: number;\n possibleDirections?: readonly Direction[];\n isInteractive?: boolean;\n children: React.ReactNode | ChildrenRenderProp;\n onClickOutside?: ClickOutsideHandler;\n onSetDirection?: (direction: Direction) => void;\n } & PositioningProps\n>;\n\nconst getOffset = (\n ref: React.RefObject<HTMLDivElement>,\n propOffset: PopoverPropOffset,\n) => {\n if (isNumber(propOffset)) {\n return propOffset;\n }\n\n if (isString(propOffset) && ref.current) {\n const cssVar = getComputedStyle(ref.current).getPropertyValue(\n `--space-${propOffset}`,\n );\n\n if (cssVar && /px$/.test(cssVar)) {\n return Number(cssVar.slice(0, cssVar.length - 2));\n }\n\n if (cssVar && /rem$/.test(cssVar)) {\n const fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize,\n );\n const rem = Number(cssVar.slice(0, cssVar.length - 3));\n\n return fontSize * rem;\n }\n\n if (cssVar && /em$/.test(cssVar)) {\n const fontSize = parseFloat(getComputedStyle(ref.current).fontSize);\n const em = Number(cssVar.slice(0, cssVar.length - 2));\n\n return fontSize * em;\n }\n\n return 0;\n }\n\n return 0;\n};\n\nconst isRenderProp = (\n children: React.ReactNode | ChildrenRenderProp,\n): children is ChildrenRenderProp => typeof children === 'function';\n\n/**\n * Подписчик на PortalWithThemeProvider\n * получает рефы всех вложенных порталов в модалку\n * для дальнейшего исключения их из useClickOutside\n */\nconst ContextConsumer: React.FC<{\n onClickOutside?: (event: MouseEvent) => void;\n ignoreClicksInsideRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n children: React.ReactNode;\n}> = ({ onClickOutside, children, ignoreClicksInsideRefs }) => {\n const { refs } = usePortalContext();\n\n useClickOutside({\n isActive: !!onClickOutside,\n ignoreClicksInsideRefs: [\n ...(ignoreClicksInsideRefs || []),\n ...(refs || []),\n ],\n handler: onClickOutside,\n });\n\n return children as React.ReactElement;\n};\n\nconst cnPopover = cn('Popover');\n\nexport const Popover = forwardRef<HTMLDivElement, Props>(\n (props, componentRef) => {\n const {\n children,\n direction: passedDirection = 'upCenter',\n offset: propOffset = 0,\n arrowOffset,\n possibleDirections = directions,\n isInteractive = true,\n onClickOutside,\n spareDirection = 'downStartLeft',\n style,\n className,\n position: passedPosition,\n anchorRef,\n equalAnchorWidth,\n onSetDirection,\n ...otherProps\n } = props;\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { theme } = useTheme();\n\n const [anchorClientRect, setAnchorClientRect] = React.useState<\n DOMRect | undefined\n >();\n const { width, height } = useComponentSize(ref);\n const anchorSize = useComponentSize(anchorRef || { current: null });\n const previousDirectionRef = React.useRef<Direction | null>(null);\n const [bannedDirections, setBannedDirections] = React.useState<\n readonly Direction[]\n >([]);\n\n const resetBannedDirections = () => {\n setBannedDirections((state) => (state.length ? [] : state));\n previousDirectionRef.current = null;\n };\n\n const updateAnchorClientRect = () =>\n setAnchorClientRect(anchorRef?.current?.getBoundingClientRect());\n\n const offset = useMemo(\n () => getOffset(ref, propOffset),\n [propOffset, Boolean(ref.current)],\n );\n\n const { position, direction } = getComputedPositionAndDirection({\n contentSize: { width, height },\n viewportSize: {\n // Размер вьюпорта без скроллбаров\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight,\n },\n arrowOffset,\n offset,\n direction: passedDirection,\n possibleDirections,\n bannedDirections,\n position: anchorClientRect\n ? { x: anchorClientRect.left, y: anchorClientRect.top }\n : passedPosition,\n anchorSize,\n spareDirection,\n });\n\n useLayoutEffect(() => onSetDirection?.(direction), [direction]);\n\n useEffect(updateAnchorClientRect, [anchorSize]);\n\n usePopoverReposition({\n isActive: true,\n scrollAnchorRef: anchorRef || { current: null },\n onRequestReposition: () => {\n resetBannedDirections();\n updateAnchorClientRect();\n },\n });\n\n /**\n * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления\n * и бесконечно зацикливать себя. Для избежания таких кейсов мы запоминаем стороны,\n * которые не подошли, чтобы не возвращаться к ним и предотвратить бесконечный ререндер.\n * См. PopoverBannedPositionsStory\n */\n\n useLayoutEffect(() => {\n if (previousDirectionRef.current !== direction) {\n if (\n previousDirectionRef.current &&\n !bannedDirections.includes(previousDirectionRef.current)\n ) {\n setBannedDirections((state) =>\n previousDirectionRef.current\n ? [...state, previousDirectionRef.current]\n : state,\n );\n }\n previousDirectionRef.current = direction;\n }\n }, [direction]);\n\n // Сбрасываем при любом изменении пропсов, чтобы заново начать перебор направлений\n // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор\n\n useLayoutEffect(resetBannedDirections, [props]);\n\n return (\n <PortalWithTheme\n {...otherProps}\n preset={theme}\n className={cnPopover({ direction }, [className])}\n container={window.document.body}\n ref={useForkRef([ref, componentRef])}\n style={{\n ...style,\n ['--popover-top' as string]: `${\n (position?.y || 0) + window.scrollY\n }px`,\n ['--popover-left' as string]: `${\n (position?.x || 0) + window.scrollX\n }px`,\n [`--popover-width` as string]: equalAnchorWidth\n ? `${anchorSize.width}px`\n : undefined,\n [`--popover-pointer-events` as string]: isInteractive\n ? undefined\n : 'none',\n [`--popover-visibility` as string]: position ? undefined : 'hidden',\n }}\n >\n <ContextConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref, anchorRef || { current: null }]}\n >\n {isRenderProp(children) ? children(direction) : children}\n </ContextConsumer>\n </PortalWithTheme>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","names":["React","forwardRef","useEffect","useLayoutEffect","useMemo","useClickOutside","useComponentSize","useForkRef","cn","isNumber","isString","PortalWithTheme","usePortalContext","useTheme","getComputedPositionAndDirection","usePopoverReposition","directionsStartCenter","directionsStartEdge","popoverPropOffset","directions","getOffset","ref","propOffset","current","cssVar","getComputedStyle","getPropertyValue","test","slice","length","fontSize","parseFloat","document","documentElement","rem","em","isRenderProp","children","ContextConsumer","onClickOutside","ignoreClicksInsideRefs","refs","isActive","handler","cnPopover","Popover","props","componentRef","direction","passedDirection","offset","arrowOffset","possibleDirections","isInteractive","spareDirection","style","className","passedPosition","position","anchorRef","equalAnchorWidth","onSetDirection","otherProps","useRef","theme","useState","anchorClientRect","setAnchorClientRect","width","height","anchorSize","previousDirectionRef","bannedDirections","setBannedDirections","resetBannedDirections","state","updateAnchorClientRect","getBoundingClientRect","contentSize","viewportSize","clientWidth","clientHeight","x","left","y","top","scrollAnchorRef","onRequestReposition","includes","window","body","scrollY","scrollX"],"sources":["../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import './Popover.css';\n\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo } from 'react';\n\nimport {\n ClickOutsideHandler,\n useClickOutside,\n} from '../../hooks/useClickOutside/useClickOutside';\nimport { useComponentSize } from '../../hooks/useComponentSize/useComponentSize';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { cn } from '../../utils/bem';\nimport { isNumber, isString } from '../../utils/type-guards';\nimport { PropsWithJsxAttributes } from '../../utils/types/PropsWithJsxAttributes';\nimport {\n PortalWithTheme,\n usePortalContext,\n} from '../PortalWithTheme/PortalWithTheme';\nimport { useTheme } from '../Theme/Theme';\nimport { getComputedPositionAndDirection } from './helpers';\nimport { usePopoverReposition } from './usePopoverReposition';\n\nexport { usePopoverReposition };\n\n/**\n * Стороны упорядочены по приоритету:\n * Используется первая сторона, в которую смог вписаться поповер.\n */\nexport const directionsStartCenter = [\n 'downCenter',\n 'upCenter',\n\n 'downRight',\n 'downLeft',\n 'upRight',\n 'upLeft',\n\n 'leftUp',\n 'leftCenter',\n 'leftDown',\n\n 'rightUp',\n 'rightCenter',\n 'rightDown',\n] as const;\n\nexport const directionsStartEdge = [\n 'downStartLeft',\n 'upStartLeft',\n\n 'downStartRight',\n 'upStartRight',\n\n 'leftStartUp',\n 'leftStartDown',\n\n 'rightStartUp',\n 'rightStartDown',\n] as const;\n\nexport const popoverPropOffset = [\n '3xs',\n '2xs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type PopoverPropOffset = typeof popoverPropOffset[number] | number;\n\nexport const directions = [...directionsStartCenter, ...directionsStartEdge];\n\nexport type Direction = typeof directions[number];\n\nexport type Position = { x: number; y: number } | undefined;\n\nexport type PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n equalAnchorWidth?: boolean;\n position?: never;\n }\n | {\n anchorRef?: never;\n equalAnchorWidth?: never;\n position: Position;\n };\n\ntype ChildrenRenderProp = (direction: Direction) => React.ReactNode;\n\nexport type Props = PropsWithJsxAttributes<\n {\n direction?: Direction;\n spareDirection?: Direction;\n offset?: PopoverPropOffset;\n arrowOffset?: number;\n possibleDirections?: readonly Direction[];\n isInteractive?: boolean;\n children: React.ReactNode | ChildrenRenderProp;\n onClickOutside?: ClickOutsideHandler;\n onSetDirection?: (direction: Direction) => void;\n } & PositioningProps\n>;\n\nconst getOffset = (\n ref: React.RefObject<HTMLDivElement>,\n propOffset: PopoverPropOffset,\n) => {\n if (isNumber(propOffset)) {\n return propOffset;\n }\n\n if (isString(propOffset) && ref.current) {\n const cssVar = getComputedStyle(ref.current).getPropertyValue(\n `--space-${propOffset}`,\n );\n\n if (cssVar && /px$/.test(cssVar)) {\n return Number(cssVar.slice(0, cssVar.length - 2));\n }\n\n if (cssVar && /rem$/.test(cssVar)) {\n const fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize,\n );\n const rem = Number(cssVar.slice(0, cssVar.length - 3));\n\n return fontSize * rem;\n }\n\n if (cssVar && /em$/.test(cssVar)) {\n const fontSize = parseFloat(getComputedStyle(ref.current).fontSize);\n const em = Number(cssVar.slice(0, cssVar.length - 2));\n\n return fontSize * em;\n }\n\n return 0;\n }\n\n return 0;\n};\n\nconst isRenderProp = (\n children: React.ReactNode | ChildrenRenderProp,\n): children is ChildrenRenderProp => typeof children === 'function';\n\n/**\n * Подписчик на PortalWithThemeProvider\n * получает рефы всех вложенных порталов в модалку\n * для дальнейшего исключения их из useClickOutside\n */\nconst ContextConsumer: React.FC<{\n onClickOutside?: (event: MouseEvent) => void;\n ignoreClicksInsideRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n children: React.ReactNode;\n}> = ({ onClickOutside, children, ignoreClicksInsideRefs }) => {\n const { refs } = usePortalContext();\n\n useClickOutside({\n isActive: !!onClickOutside,\n ignoreClicksInsideRefs: [\n ...(ignoreClicksInsideRefs || []),\n ...(refs || []),\n ],\n handler: onClickOutside,\n });\n\n return children as React.ReactElement;\n};\n\nconst cnPopover = cn('Popover');\n\nexport const Popover = forwardRef<HTMLDivElement, Props>(\n (props, componentRef) => {\n const {\n children,\n direction: passedDirection = 'upCenter',\n offset: propOffset = 0,\n arrowOffset,\n possibleDirections = directions,\n isInteractive = true,\n onClickOutside,\n spareDirection = 'downStartLeft',\n style,\n className,\n position: passedPosition,\n anchorRef,\n equalAnchorWidth,\n onSetDirection,\n ...otherProps\n } = props;\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { theme } = useTheme();\n\n const [anchorClientRect, setAnchorClientRect] = React.useState<\n DOMRect | undefined\n >();\n const { width, height } = useComponentSize(ref);\n const anchorSize = useComponentSize(anchorRef || { current: null });\n const previousDirectionRef = React.useRef<Direction | null>(null);\n const [bannedDirections, setBannedDirections] = React.useState<\n readonly Direction[]\n >([]);\n\n const resetBannedDirections = () => {\n setBannedDirections((state) => (state.length ? [] : state));\n previousDirectionRef.current = null;\n };\n\n const updateAnchorClientRect = () =>\n setAnchorClientRect(anchorRef?.current?.getBoundingClientRect());\n\n const offset = useMemo(\n () => getOffset(ref, propOffset),\n [propOffset, Boolean(ref.current)],\n );\n\n const { position, direction } = getComputedPositionAndDirection({\n contentSize: { width, height },\n viewportSize: {\n // Размер вьюпорта без скроллбаров\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight,\n },\n arrowOffset,\n offset,\n direction: passedDirection,\n possibleDirections,\n bannedDirections,\n position: anchorClientRect\n ? { x: anchorClientRect.left, y: anchorClientRect.top }\n : passedPosition,\n anchorSize,\n spareDirection,\n });\n\n useLayoutEffect(() => onSetDirection?.(direction), [direction]);\n\n useEffect(updateAnchorClientRect, [anchorSize]);\n\n usePopoverReposition({\n isActive: true,\n scrollAnchorRef: anchorRef || { current: null },\n onRequestReposition: () => {\n resetBannedDirections();\n updateAnchorClientRect();\n },\n });\n\n /**\n * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления\n * и бесконечно зацикливать себя. Для избежания таких кейсов мы запоминаем стороны,\n * которые не подошли, чтобы не возвращаться к ним и предотвратить бесконечный ререндер.\n * См. PopoverBannedPositionsStory\n */\n\n useLayoutEffect(() => {\n if (previousDirectionRef.current !== direction) {\n if (\n previousDirectionRef.current &&\n !bannedDirections.includes(previousDirectionRef.current) &&\n !bannedDirections.includes(direction) &&\n direction !== spareDirection\n ) {\n setBannedDirections((state) =>\n previousDirectionRef.current\n ? [...state, previousDirectionRef.current]\n : state,\n );\n }\n previousDirectionRef.current = direction;\n }\n }, [direction]);\n\n // Сбрасываем при любом изменении пропсов, чтобы заново начать перебор направлений\n // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор\n\n useLayoutEffect(resetBannedDirections, [props]);\n\n return (\n <PortalWithTheme\n {...otherProps}\n preset={theme}\n className={cnPopover({ direction }, [className])}\n container={window.document.body}\n ref={useForkRef([ref, componentRef])}\n style={{\n ...style,\n ['--popover-top' as string]: `${\n (position?.y || 0) + window.scrollY\n }px`,\n ['--popover-left' as string]: `${\n (position?.x || 0) + window.scrollX\n }px`,\n [`--popover-width` as string]: equalAnchorWidth\n ? `${anchorSize.width}px`\n : undefined,\n [`--popover-pointer-events` as string]: isInteractive\n ? undefined\n : 'none',\n [`--popover-visibility` as string]: position ? undefined : 'hidden',\n }}\n >\n <ContextConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref, anchorRef || { current: null }]}\n >\n {isRenderProp(children) ? children(direction) : children}\n </ContextConsumer>\n </PortalWithTheme>\n );\n },\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- .ProgressStepBarItem{align-items:flex-start;display:inline-flex;flex:1;height:100%;position:relative}.ProgressStepBarItem_direction_horizontal{flex-direction:column}.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_xs{margin-bottom:var(--space-2xs)}.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_m,.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_s{margin-bottom:var(--space-xs)}.ProgressStepBarItem_direction_vertical{flex-direction:row}.ProgressStepBarItem_direction_vertical .ProgressStepBarItem-Point{margin-right:var(--space-xs)}.ProgressStepBarItem_direction_vertical .ProgressStepBarItem-Content_size_xs{margin-top:-4px}.ProgressStepBarItem_size_xs{--progress-step-bar-item-point-size:var(--space-xs);--progress-step-bar-item-label-margin:var(--space-2xs)}.ProgressStepBarItem_size_s{--progress-step-bar-item-point-size:var(--space-m);--progress-step-bar-item-label-margin:var(--space-xs)}.ProgressStepBarItem_size_m{--progress-step-bar-item-point-size:var(--space-xl);--progress-step-bar-item-label-margin:var(--space-xs)}.ProgressStepBarItem_position_start{flex:1}.ProgressStepBarItem_position_start .ProgressStepBarItem-Content,.ProgressStepBarItem_position_start.ProgressStepBarItem_direction_horizontal{align-items:flex-start;text-align:left}.ProgressStepBarItem_position_center{flex:2}.ProgressStepBarItem_position_center .ProgressStepBarItemr-Content,.ProgressStepBarItem_position_center.ProgressStepBarItem_direction_horizontal{align-items:center;text-align:center}.ProgressStepBarItem_position_end{flex:1}.ProgressStepBarItem_position_end .ProgressStepBarItem-Content,.ProgressStepBarItem_position_end.ProgressStepBarItem_direction_horizontal{align-items:flex-end;text-align:right}.ProgressStepBarItem_status_system{--progress-step-bar-item-point-background:var(--color-bg-system);--progress-step-bar-item-point-content-color:var(--color-typo-secondary)}.ProgressStepBarItem_status_normal{--progress-step-bar-item-point-background:var(--color-bg-normal);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem_status_success{--progress-step-bar-item-point-background:var(--color-bg-success);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem_status_warning{--progress-step-bar-item-point-background:var(--color-bg-warning);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem_status_alert{--progress-step-bar-item-point-background:var(--color-bg-alert);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem .Icon,.ProgressStepBarItem .ProgressStepBarItem-PointText{color:var(--progress-step-bar-item-point-content-color)}.ProgressStepBarItem .ProgressSpin{stroke:var(--progress-step-bar-item-point-content-color)}.ProgressStepBarItem-Point{align-items:center;background-color:var(--progress-step-bar-item-point-background);border:none;border-radius:calc(var(--progress-step-bar-item-point-size)*.5);color:var(--color-bg-default);display:flex;justify-content:center;margin:0;min-height:var(--progress-step-bar-item-point-size);min-width:var(--progress-step-bar-item-point-size);padding:0;transition:background-color .3s}.ProgressStepBarItem-Point[type*=button]{cursor:pointer}.ProgressStepBarItem-PointText{color:var(--color-typo-secondary);transition:color .3s}.ProgressStepBarItem-Content_bottomOffset,.ProgressStepBarItem-Label{margin-bottom:var(--progress-step-bar-item-label-margin)}
1
+ .ProgressStepBarItem{align-items:flex-start;display:inline-flex;flex:1;height:100%;position:relative}.ProgressStepBarItem_direction_horizontal{flex-direction:column}.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_xs{margin-bottom:var(--space-2xs)}.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_m,.ProgressStepBarItem_direction_horizontal .ProgressStepBarItem-Point_size_s{margin-bottom:var(--space-xs)}.ProgressStepBarItem_direction_vertical{flex-direction:row}.ProgressStepBarItem_direction_vertical .ProgressStepBarItem-Point{margin-right:var(--space-xs)}.ProgressStepBarItem_direction_vertical .ProgressStepBarItem-Content_size_xs{margin-top:-4px}.ProgressStepBarItem_size_xs{--progress-step-bar-item-point-size:var(--space-xs);--progress-step-bar-item-label-margin:var(--space-2xs)}.ProgressStepBarItem_size_s{--progress-step-bar-item-point-size:var(--space-m);--progress-step-bar-item-label-margin:var(--space-xs)}.ProgressStepBarItem_size_m{--progress-step-bar-item-point-size:var(--space-xl);--progress-step-bar-item-label-margin:var(--space-xs)}.ProgressStepBarItem_position_start{flex:1}.ProgressStepBarItem_position_start .ProgressStepBarItem-Content,.ProgressStepBarItem_position_start.ProgressStepBarItem_direction_horizontal{align-items:flex-start;text-align:left}.ProgressStepBarItem_position_center{flex:2}.ProgressStepBarItem_position_center .ProgressStepBarItemr-Content,.ProgressStepBarItem_position_center.ProgressStepBarItem_direction_horizontal{align-items:center;text-align:center}.ProgressStepBarItem_position_end{flex:1}.ProgressStepBarItem_position_end .ProgressStepBarItem-Content,.ProgressStepBarItem_position_end.ProgressStepBarItem_direction_horizontal{align-items:flex-end;text-align:right}.ProgressStepBarItem_status_system{--progress-step-bar-item-point-background:var(--color-bg-system);--progress-step-bar-item-point-content-color:var(--color-typo-secondary)}.ProgressStepBarItem_status_normal{--progress-step-bar-item-point-background:var(--color-bg-normal);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem_status_success{--progress-step-bar-item-point-background:var(--color-bg-success);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem_status_warning{--progress-step-bar-item-point-background:var(--color-bg-warning);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem_status_alert{--progress-step-bar-item-point-background:var(--color-bg-alert);--progress-step-bar-item-point-content-color:var(--color-bg-default)}.ProgressStepBarItem .ProgressStepBarItem-PointIcon,.ProgressStepBarItem .ProgressStepBarItem-PointText{color:var(--progress-step-bar-item-point-content-color)}.ProgressStepBarItem .ProgressSpin{stroke:var(--progress-step-bar-item-point-content-color)}.ProgressStepBarItem-Point{align-items:center;background-color:var(--progress-step-bar-item-point-background);border:none;border-radius:calc(var(--progress-step-bar-item-point-size)*.5);color:var(--color-bg-default);display:flex;justify-content:center;margin:0;min-height:var(--progress-step-bar-item-point-size);min-width:var(--progress-step-bar-item-point-size);padding:0;transition:background-color .3s}.ProgressStepBarItem-Point_pointer{cursor:pointer}.ProgressStepBarItem-PointText{color:var(--color-typo-secondary);transition:color .3s}.ProgressStepBarItem-Content_bottomOffset,.ProgressStepBarItem-Label{margin-bottom:var(--progress-step-bar-item-label-margin)}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["content","tooltipContent","label","point","status","progress","direction","size","pointRef","onClick","position","tooltipZIndex"];import"./ProgressStepBarItem.css";import React,{useRef}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cn}from"../../../utils/bem";import{ProgressSpin}from"../../ProgressSpin/ProgressSpin";import{Text}from"../../Text/Text";import{Tooltip}from"../../Tooltip/Tooltip";import{propPositionDefault,propStatusDefault}from"../helpers";var cnProgressStepBarItem=cn("ProgressStepBarItem"),possibleVerticalDirections=["leftCenter","rightCenter","rightUp","downCenter"],possibleHorizontalDirections=["downCenter","upCenter","downStartLeft","downStartRight"],renderPointContent=function(a,b,c){if(c)return React.createElement(ProgressSpin,{size:b});if(!a)return null;if("number"==typeof a)return React.createElement(Text,{className:cnProgressStepBarItem("PointText"),size:"s"===b?"2xs":"xs",weight:"bold"},a);return React.createElement(a,{size:"xs"})};export var ProgressStepBarItem=React.forwardRef(function(a,b){var c=a.content,d=a.tooltipContent,e=a.label,f=a.point,g=a.status,h=a.progress,i=a.direction,j=a.size,k=a.pointRef,l=a.onClick,m=a.position,n=void 0===m?propPositionDefault:m,o=a.tooltipZIndex,p=_objectWithoutProperties(a,_excluded),q=useFlag(),r=_slicedToArray(q,2),s=r[0],t=r[1],u=t.on,v=t.off,w=useRef(null),x={onMouseEnter:u,onMouseLeave:v,className:cnProgressStepBarItem("Point",{size:j},[cnMixFocus()]),children:"xs"!==j&&renderPointContent(f,j,h)};return React.createElement(React.Fragment,null,React.createElement("div",Object.assign({ref:b,className:cnProgressStepBarItem({direction:i,position:n,status:g||propStatusDefault,size:j})},p),l?React.createElement("button",Object.assign({type:"button"},{ref:k,onClick:l},x)):React.createElement("div",Object.assign({},x,{ref:k})),(e||c)&&React.createElement("div",{className:cnProgressStepBarItem("Content",{bottomOffset:!!c})},e&&React.createElement(Text,{className:cnProgressStepBarItem("Label"),ref:w,size:j,onMouseEnter:u,onMouseLeave:v,lineHeight:"s"===j?"xs":j,view:"primary"},e),c)),d&&s&&React.createElement(Tooltip,{anchorRef:e||c?w:k,className:cnProgressStepBarItem("Tooltip"),direction:"horizontal"===i?"downCenter":"leftUp",style:{zIndex:o},possibleDirections:"horizontal"===i?possibleHorizontalDirections:possibleVerticalDirections},d))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["content","tooltipContent","label","point","status","progress","direction","size","pointRef","onClick","position","tooltipZIndex"];import"./ProgressStepBarItem.css";import React,{useRef}from"react";import{useForkRef}from"../../../hooks/useForkRef";import{useMouseLeave}from"../../../hooks/useMouseLeave";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cn}from"../../../utils/bem";import{ProgressSpin}from"../../ProgressSpin/ProgressSpin";import{Text}from"../../Text/Text";import{Tooltip}from"../../Tooltip/Tooltip";import{propPositionDefault,propStatusDefault}from"../helpers";var cnProgressStepBarItem=cn("ProgressStepBarItem"),possibleVerticalDirections=["leftCenter","rightCenter","rightUp","downCenter"],possibleHorizontalDirections=["downCenter","upCenter","downStartLeft","downStartRight"],renderPointContent=function(a,b,c){if(c)return React.createElement(ProgressSpin,{size:b});if(!a)return null;if("number"==typeof a)return React.createElement(Text,{className:cnProgressStepBarItem("PointText"),size:"s"===b?"2xs":"xs",weight:"bold"},a);return React.createElement(a,{className:cnProgressStepBarItem("PointIcon"),size:"xs"})};export var ProgressStepBarItem=React.forwardRef(function(a,b){var c=a.content,d=a.tooltipContent,e=a.label,f=a.point,g=a.status,h=a.progress,i=a.direction,j=a.size,k=a.pointRef,l=a.onClick,m=a.position,n=void 0===m?propPositionDefault:m,o=a.tooltipZIndex,p=_objectWithoutProperties(a,_excluded),q=useFlag(),r=_slicedToArray(q,2),s=r[0],t=r[1],u=useRef(null),v=useRef(null),w=useRef(null),x=useForkRef([w,k]),y={onMouseEnter:t.on,className:cnProgressStepBarItem("Point",{size:j,pointer:!!l},[l?cnMixFocus():void 0]),children:"xs"!==j&&renderPointContent(f,j,h),ref:x,onClick:l};return useMouseLeave({isActive:s,refs:[u,w,v],handler:t.off,debounce:100}),React.createElement(React.Fragment,null,React.createElement("div",Object.assign({ref:b,className:cnProgressStepBarItem({direction:i,position:n,status:g||propStatusDefault,size:j})},p),React.createElement("button",Object.assign({tabIndex:-1,type:"button"},y)),(e||c)&&React.createElement("div",{className:cnProgressStepBarItem("Content",{bottomOffset:!!c})},e&&React.createElement(Text,{className:cnProgressStepBarItem("Label"),ref:u,size:j,onMouseEnter:t.on,lineHeight:"s"===j?"xs":j,view:"primary"},e),c)),d&&s&&React.createElement(Tooltip,{ref:v,anchorRef:e||c?u:w,className:cnProgressStepBarItem("Tooltip"),direction:"horizontal"===i?"downCenter":"leftUp",style:{zIndex:o},isInteractive:!0,possibleDirections:"horizontal"===i?possibleHorizontalDirections:possibleVerticalDirections},d))});
2
2
  //# sourceMappingURL=ProgressStepBarItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressStepBarItem.js","names":["React","useRef","useFlag","cnMixFocus","cn","ProgressSpin","Text","Tooltip","propPositionDefault","propStatusDefault","cnProgressStepBarItem","possibleVerticalDirections","possibleHorizontalDirections","renderPointContent","point","size","progress","ProgressStepBarItem","forwardRef","props","ref","content","tooltipContent","label","status","direction","pointRef","onClick","position","tooltipZIndex","otherProps","isTooltipVisible","setTooltipVisible","on","setTooltipUnVisible","off","anchorRef","pointProps","onMouseEnter","onMouseLeave","className","children","bottomOffset","zIndex"],"sources":["../../../../../../src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.tsx"],"sourcesContent":["import './ProgressStepBarItem.css';\n\nimport React, { useRef } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { IconComponent } from '../../../icons/Icon/Icon';\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../../utils/bem';\nimport { Direction } from '../../Popover/Popover';\nimport { ProgressSpin } from '../../ProgressSpin/ProgressSpin';\nimport { Text } from '../../Text/Text';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport {\n PointNumbersMap,\n ProgressStepBarItemComponent,\n propPositionDefault,\n propStatusDefault,\n} from '../helpers';\n\nconst cnProgressStepBarItem = cn('ProgressStepBarItem');\n\nconst possibleVerticalDirections: Direction[] = [\n 'leftCenter',\n 'rightCenter',\n 'rightUp',\n 'downCenter',\n];\nconst possibleHorizontalDirections: Direction[] = [\n 'downCenter',\n 'upCenter',\n 'downStartLeft',\n 'downStartRight',\n];\n\nconst renderPointContent = (\n point: PointNumbersMap | IconComponent | undefined,\n size: 'm' | 's',\n progress: boolean | undefined,\n) => {\n if (progress) return <ProgressSpin size={size} />;\n if (!point) return null;\n\n if (typeof point === 'number') {\n return (\n <Text\n className={cnProgressStepBarItem('PointText')}\n size={size === 's' ? '2xs' : 'xs'}\n weight=\"bold\"\n >\n {point}\n </Text>\n );\n }\n\n const Icon = point;\n\n return <Icon size=\"xs\" />;\n};\n\nexport const ProgressStepBarItem: ProgressStepBarItemComponent =\n React.forwardRef((props, ref) => {\n const {\n content,\n tooltipContent,\n label,\n point,\n status,\n progress,\n direction,\n size,\n pointRef,\n onClick,\n position = propPositionDefault,\n tooltipZIndex,\n ...otherProps\n } = props;\n\n const [\n isTooltipVisible,\n { on: setTooltipVisible, off: setTooltipUnVisible },\n ] = useFlag();\n\n const anchorRef = useRef<HTMLDivElement>(null);\n\n const pointProps = {\n onMouseEnter: setTooltipVisible,\n onMouseLeave: setTooltipUnVisible,\n className: cnProgressStepBarItem(\n 'Point',\n {\n size,\n },\n [cnMixFocus()],\n ),\n children: size !== 'xs' && renderPointContent(point, size, progress),\n };\n\n const pointButtonProps = {\n ref: pointRef as React.RefObject<HTMLButtonElement>,\n onClick,\n };\n\n const pointDivButton = {\n ref: pointRef as React.RefObject<HTMLDivElement>,\n };\n\n return (\n <>\n <div\n ref={ref}\n className={cnProgressStepBarItem({\n direction,\n position,\n status: status || propStatusDefault,\n size,\n })}\n {...otherProps}\n >\n {onClick ? (\n <button type=\"button\" {...pointButtonProps} {...pointProps} />\n ) : (\n <div {...pointProps} {...pointDivButton} />\n )}\n {(label || content) && (\n <div\n className={cnProgressStepBarItem('Content', {\n bottomOffset: !!content,\n })}\n >\n {label && (\n <Text\n className={cnProgressStepBarItem('Label')}\n ref={anchorRef}\n size={size}\n onMouseEnter={setTooltipVisible}\n onMouseLeave={setTooltipUnVisible}\n lineHeight={size === 's' ? 'xs' : size}\n view=\"primary\"\n >\n {label}\n </Text>\n )}\n {content}\n </div>\n )}\n </div>\n {tooltipContent && isTooltipVisible && (\n <Tooltip\n anchorRef={label || content ? anchorRef : pointRef}\n className={cnProgressStepBarItem('Tooltip')}\n direction={direction === 'horizontal' ? 'downCenter' : 'leftUp'}\n style={{ zIndex: tooltipZIndex }}\n possibleDirections={\n direction === 'horizontal'\n ? possibleHorizontalDirections\n : possibleVerticalDirections\n }\n >\n {tooltipContent}\n </Tooltip>\n )}\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressStepBarItem.js","names":["React","useRef","useForkRef","useMouseLeave","useFlag","cnMixFocus","cn","ProgressSpin","Text","Tooltip","propPositionDefault","propStatusDefault","cnProgressStepBarItem","possibleVerticalDirections","possibleHorizontalDirections","renderPointContent","point","size","progress","ProgressStepBarItem","forwardRef","props","ref","content","tooltipContent","label","status","direction","pointRefProp","pointRef","onClick","position","tooltipZIndex","otherProps","isTooltipVisible","setTooltipVisible","anchorRef","tooltipRef","pointForkedRef","pointProps","onMouseEnter","on","className","pointer","children","isActive","refs","handler","off","debounce","bottomOffset","zIndex"],"sources":["../../../../../../src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.tsx"],"sourcesContent":["import './ProgressStepBarItem.css';\n\nimport React, { useRef } from 'react';\n\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMouseLeave } from '##/hooks/useMouseLeave';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { IconComponent } from '../../../icons/Icon/Icon';\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../../utils/bem';\nimport { Direction } from '../../Popover/Popover';\nimport { ProgressSpin } from '../../ProgressSpin/ProgressSpin';\nimport { Text } from '../../Text/Text';\nimport { Tooltip } from '../../Tooltip/Tooltip';\nimport {\n PointNumbersMap,\n ProgressStepBarItemComponent,\n propPositionDefault,\n propStatusDefault,\n} from '../helpers';\n\nconst cnProgressStepBarItem = cn('ProgressStepBarItem');\n\nconst possibleVerticalDirections: Direction[] = [\n 'leftCenter',\n 'rightCenter',\n 'rightUp',\n 'downCenter',\n];\nconst possibleHorizontalDirections: Direction[] = [\n 'downCenter',\n 'upCenter',\n 'downStartLeft',\n 'downStartRight',\n];\n\nconst renderPointContent = (\n point: PointNumbersMap | IconComponent | undefined,\n size: 'm' | 's',\n progress: boolean | undefined,\n) => {\n if (progress) return <ProgressSpin size={size} />;\n if (!point) return null;\n\n if (typeof point === 'number') {\n return (\n <Text\n className={cnProgressStepBarItem('PointText')}\n size={size === 's' ? '2xs' : 'xs'}\n weight=\"bold\"\n >\n {point}\n </Text>\n );\n }\n\n const Icon = point;\n\n return <Icon className={cnProgressStepBarItem('PointIcon')} size=\"xs\" />;\n};\n\nexport const ProgressStepBarItem: ProgressStepBarItemComponent =\n React.forwardRef((props, ref) => {\n const {\n content,\n tooltipContent,\n label,\n point,\n status,\n progress,\n direction,\n size,\n pointRef: pointRefProp,\n onClick,\n position = propPositionDefault,\n tooltipZIndex,\n ...otherProps\n } = props;\n\n const [isTooltipVisible, setTooltipVisible] = useFlag();\n\n const anchorRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const pointRef = useRef<HTMLButtonElement>(null);\n\n const pointForkedRef = useForkRef([pointRef, pointRefProp]);\n\n const pointProps = {\n onMouseEnter: setTooltipVisible.on,\n className: cnProgressStepBarItem(\n 'Point',\n {\n size,\n pointer: !!onClick,\n },\n [onClick ? cnMixFocus() : undefined],\n ),\n children: size !== 'xs' && renderPointContent(point, size, progress),\n ref: pointForkedRef,\n onClick,\n };\n\n useMouseLeave({\n isActive: isTooltipVisible,\n refs: [anchorRef, pointRef, tooltipRef],\n handler: setTooltipVisible.off,\n debounce: 100,\n });\n\n return (\n <>\n <div\n ref={ref}\n className={cnProgressStepBarItem({\n direction,\n position,\n status: status || propStatusDefault,\n size,\n })}\n {...otherProps}\n >\n <button tabIndex={-1} type=\"button\" {...pointProps} />\n {(label || content) && (\n <div\n className={cnProgressStepBarItem('Content', {\n bottomOffset: !!content,\n })}\n >\n {label && (\n <Text\n className={cnProgressStepBarItem('Label')}\n ref={anchorRef}\n size={size}\n onMouseEnter={setTooltipVisible.on}\n lineHeight={size === 's' ? 'xs' : size}\n view=\"primary\"\n >\n {label}\n </Text>\n )}\n {content}\n </div>\n )}\n </div>\n {tooltipContent && isTooltipVisible && (\n <Tooltip\n ref={tooltipRef}\n anchorRef={label || content ? anchorRef : pointRef}\n className={cnProgressStepBarItem('Tooltip')}\n direction={direction === 'horizontal' ? 'downCenter' : 'leftUp'}\n style={{ zIndex: tooltipZIndex }}\n isInteractive\n possibleDirections={\n direction === 'horizontal'\n ? possibleHorizontalDirections\n : possibleVerticalDirections\n }\n >\n {tooltipContent}\n </Tooltip>\n )}\n </>\n );\n });\n"],"mappings":"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"}
@@ -73,7 +73,7 @@ export declare type ProgressStepBarItemProps = {
73
73
  direction: PropDirection;
74
74
  size: PropSize;
75
75
  onClick?: (e: React.MouseEvent) => void;
76
- pointRef?: React.RefObject<HTMLButtonElement> | React.RefObject<HTMLDivElement>;
76
+ pointRef?: React.RefObject<HTMLButtonElement>;
77
77
  };
78
78
  export declare const cnProgressStepBar: import("@bem-react/classname").ClassNameFormatter;
79
79
  export declare const defaultGetItemLabel: PropGetItemLabel<DefaultItem>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["cn","propSize","propSizeDefault","propDirection","propDirectionDefault","propStatus","propStatusDefault","pointNumbersMap","propPosition","propPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","lendth","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent } from '../../icons/Icon/Icon';\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const propSize = ['s', 'xs', 'm'] as const;\nexport type PropSize = typeof propSize[number];\nexport const propSizeDefault = propSize[0];\n\nexport const propDirection = ['horizontal', 'vertical'] as const;\nexport type PropDirection = typeof propDirection[number];\nexport const propDirectionDefault = propDirection[0];\n\nexport const propStatus = ['normal', 'success', 'warning', 'alert'] as const;\nexport type PropStatus = typeof propStatus[number];\nexport const propStatusDefault = propStatus[0];\n\nexport const pointNumbersMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport type PointNumbersMap = typeof pointNumbersMap[number];\n\nexport const propPosition = ['center', 'start', 'end'] as const;\nexport type PropPosition = typeof propPosition[number];\nexport const propPositionDefault: PropPosition = propPosition[0];\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string | undefined;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type PropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => PropStatus | undefined;\nexport type PropGetItemPoint<ITEM> = (\n item: ITEM,\n) => PointNumbersMap | IconComponent | undefined;\nexport type PropGetItemProgress<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type PropGetItemStatus<ITEM> = (item: ITEM) => PropStatus | undefined;\nexport type PropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type DefaultItem = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: PropStatus;\n point?: PointNumbersMap | IconComponent;\n status?: PropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: PropStatus;\n size: number;\n};\n\nexport type ProgressStepBarProps<ITEM = DefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: PropDirection;\n size?: PropSize;\n activeStepIndex?: number;\n onItemClick?: (props: {\n e: React.MouseEvent;\n item: ITEM;\n index: number;\n }) => void;\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemLineStatus?: PropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: PropGetItemTooltipContent<ITEM>;\n getItemPoint?: PropGetItemPoint<ITEM>;\n getItemProgress?: PropGetItemProgress<ITEM>;\n getItemContent?: PropGetItemContent<ITEM>;\n getItemStatus?: PropGetItemStatus<ITEM>;\n getItemOnClick?: PropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: PointNumbersMap | IconComponent;\n progress?: boolean;\n status?: PropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: PropPosition;\n direction: PropDirection;\n size: PropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?:\n | React.RefObject<HTMLButtonElement>\n | React.RefObject<HTMLDivElement>;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemTooltipContent: PropGetItemTooltipContent<\n DefaultItem\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: PropGetItemPoint<DefaultItem> = (item) =>\n item.point;\nexport const defaultGetItemLineStatus: PropGetItemLineStatus<DefaultItem> = (\n item,\n) => item.lineStatus;\nexport const defaultGetItemProgress: PropGetItemProgress<DefaultItem> = (\n item,\n) => item.progress;\nexport const defaultGetItemContent: PropGetItemContent<DefaultItem> = (item) =>\n item.content;\nexport const defaultGetItemStatus: PropGetItemStatus<DefaultItem> = (item) =>\n item.status;\nexport const defaultGetItemOnClick: PropGetItemOnClick<DefaultItem> = (item) =>\n item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = DefaultItem>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, lendth: number) => {\n let position: PropPosition = 'center';\n if (index === lendth - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: PropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["cn","propSize","propSizeDefault","propDirection","propDirectionDefault","propStatus","propStatusDefault","pointNumbersMap","propPosition","propPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","lendth","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent } from '../../icons/Icon/Icon';\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const propSize = ['s', 'xs', 'm'] as const;\nexport type PropSize = typeof propSize[number];\nexport const propSizeDefault = propSize[0];\n\nexport const propDirection = ['horizontal', 'vertical'] as const;\nexport type PropDirection = typeof propDirection[number];\nexport const propDirectionDefault = propDirection[0];\n\nexport const propStatus = ['normal', 'success', 'warning', 'alert'] as const;\nexport type PropStatus = typeof propStatus[number];\nexport const propStatusDefault = propStatus[0];\n\nexport const pointNumbersMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const;\nexport type PointNumbersMap = typeof pointNumbersMap[number];\n\nexport const propPosition = ['center', 'start', 'end'] as const;\nexport type PropPosition = typeof propPosition[number];\nexport const propPositionDefault: PropPosition = propPosition[0];\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string | undefined;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type PropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => PropStatus | undefined;\nexport type PropGetItemPoint<ITEM> = (\n item: ITEM,\n) => PointNumbersMap | IconComponent | undefined;\nexport type PropGetItemProgress<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type PropGetItemStatus<ITEM> = (item: ITEM) => PropStatus | undefined;\nexport type PropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type DefaultItem = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: PropStatus;\n point?: PointNumbersMap | IconComponent;\n status?: PropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: PropStatus;\n size: number;\n};\n\nexport type ProgressStepBarProps<ITEM = DefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: PropDirection;\n size?: PropSize;\n activeStepIndex?: number;\n onItemClick?: (props: {\n e: React.MouseEvent;\n item: ITEM;\n index: number;\n }) => void;\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemLineStatus?: PropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: PropGetItemTooltipContent<ITEM>;\n getItemPoint?: PropGetItemPoint<ITEM>;\n getItemProgress?: PropGetItemProgress<ITEM>;\n getItemContent?: PropGetItemContent<ITEM>;\n getItemStatus?: PropGetItemStatus<ITEM>;\n getItemOnClick?: PropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: PointNumbersMap | IconComponent;\n progress?: boolean;\n status?: PropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: PropPosition;\n direction: PropDirection;\n size: PropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemTooltipContent: PropGetItemTooltipContent<\n DefaultItem\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: PropGetItemPoint<DefaultItem> = (item) =>\n item.point;\nexport const defaultGetItemLineStatus: PropGetItemLineStatus<DefaultItem> = (\n item,\n) => item.lineStatus;\nexport const defaultGetItemProgress: PropGetItemProgress<DefaultItem> = (\n item,\n) => item.progress;\nexport const defaultGetItemContent: PropGetItemContent<DefaultItem> = (item) =>\n item.content;\nexport const defaultGetItemStatus: PropGetItemStatus<DefaultItem> = (item) =>\n item.status;\nexport const defaultGetItemOnClick: PropGetItemOnClick<DefaultItem> = (item) =>\n item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = DefaultItem>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, lendth: number) => {\n let position: PropPosition = 'center';\n if (index === lendth - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: PropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './useMouseLeave';
@@ -0,0 +1,2 @@
1
+ export*from"./useMouseLeave";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/hooks/useMouseLeave/index.ts"],"sourcesContent":["export * from './useMouseLeave';\n"],"mappings":"AAAA"}
@@ -0,0 +1,9 @@
1
+ import { RefObject } from 'react';
2
+ declare type Props = {
3
+ isActive?: boolean;
4
+ refs: ReadonlyArray<RefObject<HTMLElement>>;
5
+ handler: (event: FocusEvent) => void;
6
+ debounce?: number;
7
+ };
8
+ export declare function useMouseLeave({ isActive, refs, handler, debounce, }: Props): void;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import{useEffect,useRef}from"react";import{useDebounce}from"../useDebounce";import{useMutableRef}from"../useMutableRef";export function useMouseLeave(a){var b=a.isActive,c=a.refs,d=a.handler,e=a.debounce,f=void 0===e?0:e,g=useMutableRef(c),h=useMutableRef(void 0!==b&&b),i=useRef(!1),j=useDebounce(function(a){var b;if(h.current&&!i.current){var c=a.target,e=!!(null!==(b=g.current)&&void 0!==b&&b.find(function(a){return a.current!==c}));e&&d(a)}},f);useEffect(function(){var a=function(){i.current=!0},b=function(){i.current=!1},c=function(a){b(),j(a)};return g.current.forEach(function(b){var d,e;null===(d=b.current)||void 0===d?void 0:d.addEventListener("mouseleave",c),null===(e=b.current)||void 0===e?void 0:e.addEventListener("mousemove",a)}),function(){g.current.forEach(function(b){var d,e;null===(d=b.current)||void 0===d?void 0:d.removeEventListener("mouseleave",c),null===(e=b.current)||void 0===e?void 0:e.removeEventListener("mousemove",a)})}},[c])}
2
+ //# sourceMappingURL=useMouseLeave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMouseLeave.js","names":["useEffect","useRef","useDebounce","useMutableRef","useMouseLeave","isActive","refs","handler","debounce","refsRef","isActiveRef","hoveredRef","handleLeaveDebounce","event","current","target","shouldCallHandler","find","ref","hoveredRefSetTrue","hoveredRefSetFalse","handleLeave","forEach","addEventListener","removeEventListener"],"sources":["../../../../../src/hooks/useMouseLeave/useMouseLeave.tsx"],"sourcesContent":["import { RefObject, useEffect, useRef } from 'react';\n\nimport { useDebounce } from '../useDebounce';\nimport { useMutableRef } from '../useMutableRef';\n\ntype Props = {\n isActive?: boolean;\n refs: ReadonlyArray<RefObject<HTMLElement>>;\n handler: (event: FocusEvent) => void;\n debounce?: number;\n};\n\nexport function useMouseLeave({\n isActive = false,\n refs,\n handler,\n debounce = 0,\n}: Props): void {\n const refsRef = useMutableRef(refs);\n const isActiveRef = useMutableRef(isActive);\n const hoveredRef = useRef(false);\n\n const handleLeaveDebounce = useDebounce((event: FocusEvent) => {\n if (!isActiveRef.current || hoveredRef.current) {\n return;\n }\n\n const target = event.target as Node;\n\n const shouldCallHandler = !!refsRef.current?.find((ref) => {\n return ref.current !== target;\n });\n\n shouldCallHandler && handler(event);\n }, debounce);\n\n useEffect(() => {\n const hoveredRefSetTrue = () => {\n hoveredRef.current = true;\n };\n\n const hoveredRefSetFalse = () => {\n hoveredRef.current = false;\n };\n\n const handleLeave = (event: FocusEvent) => {\n hoveredRefSetFalse();\n handleLeaveDebounce(event);\n };\n\n refsRef.current.forEach((ref) => {\n ref.current?.addEventListener('mouseleave', handleLeave);\n ref.current?.addEventListener('mousemove', hoveredRefSetTrue);\n });\n\n return () => {\n refsRef.current.forEach((ref) => {\n ref.current?.removeEventListener('mouseleave', handleLeave);\n ref.current?.removeEventListener('mousemove', hoveredRefSetTrue);\n });\n };\n }, [refs]);\n}\n"],"mappings":"AAAA,OAAoBA,SAApB,CAA+BC,MAA/B,KAA6C,OAA7C,CAEA,OAASC,WAAT,sBACA,OAASC,aAAT,wBASA,MAAO,SAASC,cAAT,GAKS,SAJdC,QAIc,CAHdC,CAGc,GAHdA,IAGc,CAFdC,CAEc,GAFdA,OAEc,KADdC,QACc,CADdA,CACc,YADH,CACG,GACRC,CAAO,CAAGN,aAAa,CAACG,CAAD,CADf,CAERI,CAAW,CAAGP,aAAa,eAFnB,CAGRQ,CAAU,CAAGV,MAAM,IAHX,CAKRW,CAAmB,CAAGV,WAAW,CAAC,SAACW,CAAD,CAAuB,OAC7D,GAAKH,CAAW,CAACI,OAAb,GAAwBH,CAAU,CAACG,OAAvC,KAIMC,EAAM,CAAGF,CAAK,CAACE,MAJrB,CAMMC,CAAiB,CAAG,CAAC,YAACP,CAAO,CAACK,OAAT,eAAC,EAAiBG,IAAjB,CAAsB,SAACC,CAAD,CAAS,CACzD,MAAOA,EAAG,CAACJ,OAAJ,GAAgBC,CACxB,CAF2B,CAAD,CAN3B,CAUAC,CAAiB,EAAIT,CAAO,CAACM,CAAD,CAV5B,CAWD,CAZsC,CAYpCL,CAZoC,CALzB,CAmBdR,SAAS,CAAC,UAAM,IACRmB,EAAiB,CAAG,UAAM,CAC9BR,CAAU,CAACG,OAAX,GACD,CAHa,CAKRM,CAAkB,CAAG,UAAM,CAC/BT,CAAU,CAACG,OAAX,GACD,CAPa,CASRO,CAAW,CAAG,SAACR,CAAD,CAAuB,CACzCO,CAAkB,EADuB,CAEzCR,CAAmB,CAACC,CAAD,CACpB,CAZa,CAmBd,MALAJ,EAAO,CAACK,OAAR,CAAgBQ,OAAhB,CAAwB,SAACJ,CAAD,CAAS,mBAC/BA,CAAG,CAACJ,OAD2B,qBAC/B,EAAaS,gBAAb,CAA8B,YAA9B,CAA4CF,CAA5C,CAD+B,WAE/BH,CAAG,CAACJ,OAF2B,qBAE/B,EAAaS,gBAAb,CAA8B,WAA9B,CAA2CJ,CAA3C,CACD,CAHD,CAKA,CAAO,UAAM,CACXV,CAAO,CAACK,OAAR,CAAgBQ,OAAhB,CAAwB,SAACJ,CAAD,CAAS,mBAC/BA,CAAG,CAACJ,OAD2B,qBAC/B,EAAaU,mBAAb,CAAiC,YAAjC,CAA+CH,CAA/C,CAD+B,WAE/BH,CAAG,CAACJ,OAF2B,qBAE/B,EAAaU,mBAAb,CAAiC,WAAjC,CAA8CL,CAA9C,CACD,CAHD,CAID,CACF,CAzBQ,CAyBN,CAACb,CAAD,CAzBM,CA0BV"}
@@ -1,5 +1,4 @@
1
1
  import './DocsDecorator.css';
2
- import '../../whitepaper/whitepaper.css';
3
2
  import React from 'react';
4
3
  export declare const cnDocsDecorator: import("@bem-react/classname").ClassNameFormatter;
5
4
  export declare const DocsDecorator: React.FC<{
@@ -1,2 +1,2 @@
1
- import"./DocsDecorator.css";import"../../whitepaper/whitepaper.css";import React from"react";import{presetGpnDefault,Theme}from"../../../components/Theme/Theme";import{cn}from"../../cn";export var cnDocsDecorator=cn("DocsDecorator");export var DocsDecorator=function(a){var b=a.children,c=React.createElement(Theme,{preset:presetGpnDefault,className:cnDocsDecorator(null,["theme_gap_medium"])},b);return"development"===process.env.NODE_ENV?React.createElement(React.StrictMode,null,c):c};
1
+ import"./DocsDecorator.css";import React from"react";import{presetGpnDefault,Theme}from"../../../components/Theme/Theme";import{cn}from"../../cn";export var cnDocsDecorator=cn("DocsDecorator");export var DocsDecorator=function(a){var b=a.children,c=React.createElement(Theme,{preset:presetGpnDefault,className:cnDocsDecorator(null,["theme_gap_medium"])},b);return"development"===process.env.NODE_ENV?React.createElement(React.StrictMode,null,c):c};
2
2
  //# sourceMappingURL=DocsDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsDecorator.js","names":["React","presetGpnDefault","Theme","cn","cnDocsDecorator","DocsDecorator","props","children","content","process","env","NODE_ENV"],"sources":["../../../../../../src/uiKit/components/DocsDecorator/DocsDecorator.tsx"],"sourcesContent":["import './DocsDecorator.css';\nimport '../../whitepaper/whitepaper.css';\n\nimport React from 'react';\n\nimport { presetGpnDefault, Theme } from '../../../components/Theme/Theme';\nimport { cn } from '../../cn';\n\nexport const cnDocsDecorator = cn('DocsDecorator');\n\nexport const DocsDecorator: React.FC<{ children?: React.ReactNode }> = (\n props,\n) => {\n const { children } = props;\n const content = (\n <Theme\n preset={presetGpnDefault}\n className={cnDocsDecorator(null, ['theme_gap_medium'])}\n >\n {children}\n </Theme>\n );\n if (process.env.NODE_ENV === 'development') {\n return <React.StrictMode>{content}</React.StrictMode>;\n }\n\n return content;\n};\n"],"mappings":"AAAA,4BACA,wCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,gBAAT,CAA2BC,KAA3B,uCACA,OAASC,EAAT,gBAEA,MAAO,IAAMC,gBAAe,CAAGD,EAAE,CAAC,eAAD,CAA1B,CAEP,MAAO,IAAME,cAAuD,CAAG,SACrEC,CADqE,CAElE,IACKC,EADL,CACkBD,CADlB,CACKC,QADL,CAEGC,CAAO,CACX,oBAAC,KAAD,EACE,MAAM,CAAEP,gBADV,CAEE,SAAS,CAAEG,eAAe,CAAC,IAAD,CAAO,CAAC,kBAAD,CAAP,CAF5B,EAIGG,CAJH,CAHC,OAU0B,aAAzB,GAAAE,OAAO,CAACC,GAAR,CAAYC,QAVb,CAWM,oBAAC,KAAD,CAAO,UAAP,MAAmBH,CAAnB,CAXN,CAcIA,CACR,CAjBM"}
1
+ {"version":3,"file":"DocsDecorator.js","names":["React","presetGpnDefault","Theme","cn","cnDocsDecorator","DocsDecorator","props","children","content","process","env","NODE_ENV"],"sources":["../../../../../../src/uiKit/components/DocsDecorator/DocsDecorator.tsx"],"sourcesContent":["import './DocsDecorator.css';\n\nimport React from 'react';\n\nimport { presetGpnDefault, Theme } from '../../../components/Theme/Theme';\nimport { cn } from '../../cn';\n\nexport const cnDocsDecorator = cn('DocsDecorator');\n\nexport const DocsDecorator: React.FC<{ children?: React.ReactNode }> = (\n props,\n) => {\n const { children } = props;\n const content = (\n <Theme\n preset={presetGpnDefault}\n className={cnDocsDecorator(null, ['theme_gap_medium'])}\n >\n {children}\n </Theme>\n );\n if (process.env.NODE_ENV === 'development') {\n return <React.StrictMode>{content}</React.StrictMode>;\n }\n\n return content;\n};\n"],"mappings":"AAAA,4BAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,gBAAT,CAA2BC,KAA3B,uCACA,OAASC,EAAT,gBAEA,MAAO,IAAMC,gBAAe,CAAGD,EAAE,CAAC,eAAD,CAA1B,CAEP,MAAO,IAAME,cAAuD,CAAG,SACrEC,CADqE,CAElE,IACKC,EADL,CACkBD,CADlB,CACKC,QADL,CAEGC,CAAO,CACX,oBAAC,KAAD,EACE,MAAM,CAAEP,gBADV,CAEE,SAAS,CAAEG,eAAe,CAAC,IAAD,CAAO,CAAC,kBAAD,CAAP,CAF5B,EAIGG,CAJH,CAHC,OAU0B,aAAzB,GAAAE,OAAO,CAACC,GAAR,CAAYC,QAVb,CAWM,oBAAC,KAAD,CAAO,UAAP,MAAmBH,CAAnB,CAXN,CAcIA,CACR,CAjBM"}
@@ -1 +1 @@
1
- .UiKit--DocsExample{margin-bottom:1.4em}.UiKit--DocsExample-Subscription{color:var(--color-typo-secondary);line-height:var(--line-height-text-s)}.UiKit--DocsExample-Caption{line-height:var(--line-height-text-s);margin-bottom:var(--space-m)}.UiKit--DocsExample .UiKit--DocsExample-Status{border-top:2px solid var(--example-status-color);color:var(--example-status-color);margin-bottom:.4em;margin-top:var(--space-l);padding-top:var(--space-s)}.UiKit--DocsExample .UiKit--DocsExample-Status_view_wrong{--example-status-color:var(--color-typo-alert)}.UiKit--DocsExample .UiKit--DocsExample-Status_view_right{--example-status-color:var(--color-typo-success)}.UiKit--DocsExample .UiKit--DocsExample-Status+.Example-Caption{margin-top:0}
1
+ .UiKit--DocsExample{margin-bottom:1.4em}.UiKit--DocsExample-Subscription{color:var(--color-typo-secondary);line-height:var(--line-height-text-s)}.UiKit--DocsExample-Caption{line-height:var(--line-height-text-s);margin-bottom:var(--space-m)}.UiKit--DocsExample-Status{border-top:2px solid var(--example-status-color);color:var(--example-status-color);margin-bottom:.4em;margin-top:var(--space-l);padding-top:var(--space-s)}.UiKit--DocsExample-Status_view_wrong{--example-status-color:var(--color-typo-alert)}.UiKit--DocsExample-Status_view_right{--example-status-color:var(--color-typo-success)}.UiKit--DocsExample-Status+.Example-Caption{margin-top:0}
@@ -0,0 +1 @@
1
+ export * from './DocsExample';
@@ -0,0 +1,2 @@
1
+ export*from"./DocsExample";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/uiKit/components/DocsExample/index.ts"],"sourcesContent":["export * from './DocsExample';\n"],"mappings":"AAAA"}
@@ -1,3 +1,4 @@
1
+ import './whitepaper.css';
1
2
  export declare const ptIconPlus: import("@bem-react/classname").ClassNameFormatter;
2
3
  export declare const theme: import("@bem-react/classname").ClassNameFormatter;
3
4
  export declare const text: import("@bem-react/classname").ClassNameFormatter;
@@ -1,2 +1,2 @@
1
- import{withNaming}from"@bem-react/classname";var cn=withNaming({e:"__",m:"_",v:"_"});export var ptIconPlus=cn("pt-icon-plus");export var theme=cn("theme");export var text=cn("text");export var tplGrid=cn("tpl-grid");export var decorator=cn("decorator");export var layout=cn("layout");
1
+ import"./whitepaper.css";import{withNaming}from"@bem-react/classname";var cn=withNaming({e:"__",m:"_",v:"_"});export var ptIconPlus=cn("pt-icon-plus");export var theme=cn("theme");export var text=cn("text");export var tplGrid=cn("tpl-grid");export var decorator=cn("decorator");export var layout=cn("layout");
2
2
  //# sourceMappingURL=whitepaper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whitepaper.js","names":["withNaming","cn","e","m","v","ptIconPlus","theme","text","tplGrid","decorator","layout"],"sources":["../../../../../src/uiKit/whitepaper/whitepaper.ts"],"sourcesContent":["import { withNaming } from '@bem-react/classname';\n\nconst cn = withNaming({ e: '__', m: '_', v: '_' });\n\nexport const ptIconPlus = cn('pt-icon-plus');\nexport const theme = cn('theme');\nexport const text = cn('text');\nexport const tplGrid = cn('tpl-grid');\nexport const decorator = cn('decorator');\nexport const layout = cn('layout');\n"],"mappings":"AAAA,OAASA,UAAT,KAA2B,sBAA3B,CAEA,GAAMC,GAAE,CAAGD,UAAU,CAAC,CAAEE,CAAC,CAAE,IAAL,CAAWC,CAAC,CAAE,GAAd,CAAmBC,CAAC,CAAE,GAAtB,CAAD,CAArB,CAEA,MAAO,IAAMC,WAAU,CAAGJ,EAAE,CAAC,cAAD,CAArB,CACP,MAAO,IAAMK,MAAK,CAAGL,EAAE,CAAC,OAAD,CAAhB,CACP,MAAO,IAAMM,KAAI,CAAGN,EAAE,CAAC,MAAD,CAAf,CACP,MAAO,IAAMO,QAAO,CAAGP,EAAE,CAAC,UAAD,CAAlB,CACP,MAAO,IAAMQ,UAAS,CAAGR,EAAE,CAAC,WAAD,CAApB,CACP,MAAO,IAAMS,OAAM,CAAGT,EAAE,CAAC,QAAD,CAAjB"}
1
+ {"version":3,"file":"whitepaper.js","names":["withNaming","cn","e","m","v","ptIconPlus","theme","text","tplGrid","decorator","layout"],"sources":["../../../../../src/uiKit/whitepaper/whitepaper.ts"],"sourcesContent":["import './whitepaper.css';\n\nimport { withNaming } from '@bem-react/classname';\n\nconst cn = withNaming({ e: '__', m: '_', v: '_' });\n\nexport const ptIconPlus = cn('pt-icon-plus');\nexport const theme = cn('theme');\nexport const text = cn('text');\nexport const tplGrid = cn('tpl-grid');\nexport const decorator = cn('decorator');\nexport const layout = cn('layout');\n"],"mappings":"AAAA,yBAEA,OAASA,UAAT,KAA2B,sBAA3B,CAEA,GAAMC,GAAE,CAAGD,UAAU,CAAC,CAAEE,CAAC,CAAE,IAAL,CAAWC,CAAC,CAAE,GAAd,CAAmBC,CAAC,CAAE,GAAtB,CAAD,CAArB,CAEA,MAAO,IAAMC,WAAU,CAAGJ,EAAE,CAAC,cAAD,CAArB,CACP,MAAO,IAAMK,MAAK,CAAGL,EAAE,CAAC,OAAD,CAAhB,CACP,MAAO,IAAMM,KAAI,CAAGN,EAAE,CAAC,MAAD,CAAf,CACP,MAAO,IAAMO,QAAO,CAAGP,EAAE,CAAC,UAAD,CAAlB,CACP,MAAO,IAAMQ,UAAS,CAAGR,EAAE,CAAC,WAAD,CAApB,CACP,MAAO,IAAMS,OAAM,CAAGT,EAAE,CAAC,QAAD,CAAjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consta/uikit",
3
- "version": "4.5.1",
3
+ "version": "4.6.1",
4
4
  "keywords": [
5
5
  "ui-kit",
6
6
  "design-system",
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/hooks/useMouseLeave";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/hooks/useMouseLeave";