@salutejs/plasma-new-hope 0.175.3-canary.1512.11555735717.0 → 0.176.0-canary.1503.11559892364.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  2. package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  3. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  4. package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  5. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  6. package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  7. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  8. package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  9. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  10. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  11. package/cjs/components/Notification/Notification.css +11 -11
  12. package/cjs/components/Notification/Notification.js +2 -2
  13. package/cjs/components/Notification/Notification.js.map +1 -1
  14. package/cjs/components/Notification/Notification.styles.js +11 -2
  15. package/cjs/components/Notification/Notification.styles.js.map +1 -1
  16. package/cjs/components/Notification/{Notification.styles_7h8hp0.css → Notification.styles_e6274r.css} +2 -2
  17. package/cjs/components/Notification/Notification.tokens.js +2 -1
  18. package/cjs/components/Notification/Notification.tokens.js.map +1 -1
  19. package/cjs/components/Notification/Notification.types.js.map +1 -1
  20. package/cjs/components/Notification/NotificationsPortal.js +8 -4
  21. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  22. package/cjs/components/Notification/NotificationsProvider.css +11 -11
  23. package/cjs/components/Notification/NotificationsProvider.js +3 -1
  24. package/cjs/components/Notification/NotificationsProvider.js.map +1 -1
  25. package/cjs/components/Popover/Popover.js +1 -2
  26. package/cjs/components/Popover/Popover.js.map +1 -1
  27. package/cjs/index.css +11 -11
  28. package/cjs/index.js +1 -1
  29. package/cjs/utils/index.js.map +1 -1
  30. package/emotion/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  31. package/emotion/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  32. package/emotion/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  33. package/emotion/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  34. package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -6
  35. package/emotion/cjs/components/Notification/Notification.js +2 -2
  36. package/emotion/cjs/components/Notification/Notification.styles.js +14 -19
  37. package/emotion/cjs/components/Notification/Notification.template-doc.mdx +17 -8
  38. package/emotion/cjs/components/Notification/Notification.tokens.js +2 -1
  39. package/emotion/cjs/components/Notification/NotificationsPortal.js +9 -5
  40. package/emotion/cjs/components/Notification/NotificationsProvider.js +3 -1
  41. package/emotion/cjs/components/Notification/index.js +4 -4
  42. package/emotion/cjs/components/Popover/Popover.js +1 -2
  43. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.js +5 -3
  44. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  45. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.js +5 -3
  46. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  47. package/emotion/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  48. package/emotion/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  49. package/emotion/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  50. package/emotion/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  51. package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  52. package/emotion/es/components/Notification/Notification.js +1 -1
  53. package/emotion/es/components/Notification/Notification.styles.js +14 -19
  54. package/emotion/es/components/Notification/Notification.template-doc.mdx +17 -8
  55. package/emotion/es/components/Notification/Notification.tokens.js +2 -1
  56. package/emotion/es/components/Notification/NotificationsPortal.js +9 -5
  57. package/emotion/es/components/Notification/NotificationsProvider.js +3 -1
  58. package/emotion/es/components/Notification/index.js +1 -1
  59. package/emotion/es/components/Popover/Popover.js +1 -2
  60. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.js +6 -4
  61. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  62. package/emotion/es/examples/plasma_web/components/Notification/Notification.js +6 -4
  63. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  64. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  65. package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
  66. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  67. package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
  68. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  69. package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
  70. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  71. package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
  72. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  73. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
  74. package/es/components/Notification/Notification.css +11 -11
  75. package/es/components/Notification/Notification.js +2 -2
  76. package/es/components/Notification/Notification.js.map +1 -1
  77. package/es/components/Notification/Notification.styles.js +11 -2
  78. package/es/components/Notification/Notification.styles.js.map +1 -1
  79. package/es/components/Notification/{Notification.styles_7h8hp0.css → Notification.styles_e6274r.css} +2 -2
  80. package/es/components/Notification/Notification.tokens.js +2 -1
  81. package/es/components/Notification/Notification.tokens.js.map +1 -1
  82. package/es/components/Notification/Notification.types.js.map +1 -1
  83. package/es/components/Notification/NotificationsPortal.js +8 -4
  84. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  85. package/es/components/Notification/NotificationsProvider.css +11 -11
  86. package/es/components/Notification/NotificationsProvider.js +3 -1
  87. package/es/components/Notification/NotificationsProvider.js.map +1 -1
  88. package/es/components/Popover/Popover.js +1 -2
  89. package/es/components/Popover/Popover.js.map +1 -1
  90. package/es/index.css +11 -11
  91. package/es/index.js +1 -1
  92. package/es/utils/index.js.map +1 -1
  93. package/package.json +2 -2
  94. package/styled-components/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  95. package/styled-components/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  96. package/styled-components/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  97. package/styled-components/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  98. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -6
  99. package/styled-components/cjs/components/Notification/Notification.js +2 -2
  100. package/styled-components/cjs/components/Notification/Notification.styles.js +5 -2
  101. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +17 -8
  102. package/styled-components/cjs/components/Notification/Notification.tokens.js +2 -1
  103. package/styled-components/cjs/components/Notification/NotificationsPortal.js +8 -4
  104. package/styled-components/cjs/components/Notification/NotificationsProvider.js +3 -1
  105. package/styled-components/cjs/components/Notification/index.js +4 -4
  106. package/styled-components/cjs/components/Popover/Popover.js +1 -2
  107. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.js +5 -3
  108. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  109. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.js +5 -3
  110. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  111. package/styled-components/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
  112. package/styled-components/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
  113. package/styled-components/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
  114. package/styled-components/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
  115. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
  116. package/styled-components/es/components/Notification/Notification.js +1 -1
  117. package/styled-components/es/components/Notification/Notification.styles.js +5 -2
  118. package/styled-components/es/components/Notification/Notification.template-doc.mdx +17 -8
  119. package/styled-components/es/components/Notification/Notification.tokens.js +2 -1
  120. package/styled-components/es/components/Notification/NotificationsPortal.js +8 -4
  121. package/styled-components/es/components/Notification/NotificationsProvider.js +3 -1
  122. package/styled-components/es/components/Notification/index.js +1 -1
  123. package/styled-components/es/components/Popover/Popover.js +1 -2
  124. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.js +6 -4
  125. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  126. package/styled-components/es/examples/plasma_web/components/Notification/Notification.js +6 -4
  127. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  128. package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
  129. package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
  130. package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
  131. package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
  132. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
  133. package/types/components/Notification/Notification.d.ts +3 -3
  134. package/types/components/Notification/Notification.d.ts.map +1 -1
  135. package/types/components/Notification/Notification.styles.d.ts +4 -2
  136. package/types/components/Notification/Notification.styles.d.ts.map +1 -1
  137. package/types/components/Notification/Notification.tokens.d.ts +1 -0
  138. package/types/components/Notification/Notification.tokens.d.ts.map +1 -1
  139. package/types/components/Notification/Notification.types.d.ts +11 -5
  140. package/types/components/Notification/Notification.types.d.ts.map +1 -1
  141. package/types/components/Notification/NotificationsPortal.d.ts.map +1 -1
  142. package/types/components/Notification/NotificationsProvider.d.ts +4 -3
  143. package/types/components/Notification/NotificationsProvider.d.ts.map +1 -1
  144. package/types/components/Notification/index.d.ts +2 -2
  145. package/types/components/Notification/index.d.ts.map +1 -1
  146. package/types/components/Popover/Popover.d.ts.map +1 -1
  147. package/types/examples/plasma_b2c/components/Notification/Notification.d.ts +4 -2
  148. package/types/examples/plasma_b2c/components/Notification/Notification.d.ts.map +1 -1
  149. package/types/examples/plasma_web/components/Notification/Notification.d.ts +4 -13
  150. package/types/examples/plasma_web/components/Notification/Notification.d.ts.map +1 -1
  151. package/types/utils/index.d.ts +1 -1
  152. package/types/utils/index.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { useFocusTrap } from '../../hooks';\nimport { cx } from '../../utils';\nimport { Portal } from '../Portal';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: innerIsOpen ? 'visible' : 'hidden',\n opacity: innerIsOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: innerIsOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","Portal","container","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\nimport { Portal } from '../Portal';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n opened,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n closeOnOverlayClick,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: innerIsOpen ? 'visible' : 'hidden',\n opacity: innerIsOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (innerIsOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, innerIsOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (innerIsOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n const popoverRootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget && !popoverRootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, innerIsOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!innerIsOpen, event);\n }\n }\n },\n [trigger, innerIsOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [innerIsOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, innerIsOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!innerIsOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [innerIsOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children && portalRef.current && (\n <Portal container={portalRef.current}>\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: innerIsOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>\n </Portal>\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","_placement$","target","children","isOpen","opened","_ref$trigger","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","closeOnOverlayClick","rest","_objectWithoutProperties","_excluded","innerIsOpen","Boolean","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","_popoverRef$current","targetIsRoot","rootHasTarget","contains","popoverRootHasTarget","onClick","_popoverRef$current2","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","Portal","container","_extends","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
package/es/index.css CHANGED
@@ -338,17 +338,17 @@
338
338
 
339
339
  .base_crlufx_bmb6i7f__c6cc97dd .base_crlufx_notificaitonContentBox__c6cc97dd.base_crlufx_notificationLayoutVertical__c6cc97dd{padding:var(--plasma-notification-content-padding-top) var(--plasma-notification-content-padding-right) var(--plasma-notification-content-padding-bottom) var(--plasma-notification-content-padding-left);}.base_crlufx_bmb6i7f__c6cc97dd .base_crlufx_notificaitonContentBox__c6cc97dd.base_crlufx_notificationLayoutVertical__c6cc97dd.base_crlufx_notificationWithoutIcon__c6cc97dd{padding-top:var(--plasma-notification-content-padding-top-without-icon);}.base_crlufx_bmb6i7f__c6cc97dd .base_crlufx_notificationCloseIcon__c6cc97dd.base_crlufx_notificationLayoutVertical__c6cc97dd{top:var(--plasma-notification-close-icon-top);right:var(--plasma-notification-close-icon-right);}
340
340
 
341
- .Notification_styles_7h8hp0_sb12p__2b784e15{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}
342
- .Notification_styles_7h8hp0_crvd7hm__2b784e15{position:absolute;width:1.5rem;height:1.5rem;color:var(--plasma-notification-close-icon-color);}.Notification_styles_7h8hp0_crvd7hm__2b784e15:hover{color:var(--plasma-notification-close-icon-color-on-hover);}.Notification_styles_7h8hp0_crvd7hm__2b784e15.Notification_styles_7h8hp0_notificationLayoutHorizontal__2b784e15{position:relative;}
343
- .Notification_styles_7h8hp0_wg1ga5v__2b784e15{position:relative;box-sizing:border-box;background:var(--plasma-notification-backgorund);border-radius:var(--plasma-notification-border-radius);}.Notification_styles_7h8hp0_wg1ga5v__2b784e15.Notification_styles_7h8hp0_notificationLayoutHorizontal__2b784e15{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-notification-horizontal-layout-gap);}
344
- .Notification_styles_7h8hp0_b1amsn8a__2b784e15{margin-top:var(--plasma-notification-buttons-margin-top);margin-left:var(--b1amsn8a-0);}.Notification_styles_7h8hp0_b1amsn8a__2b784e15.Notification_styles_7h8hp0_notificationLayoutHorizontal__2b784e15{margin-top:unset;margin-left:unset;}
345
- .Notification_styles_7h8hp0_i14raqr9__2b784e15{width:var(--plasma-notification-content-left-icon-size);height:var(--plasma-notification-content-left-icon-size);margin-right:var(--i14raqr9-0);margin-bottom:var(--i14raqr9-1);}.Notification_styles_7h8hp0_i14raqr9__2b784e15.Notification_styles_7h8hp0_notificationLayoutHorizontal__2b784e15{margin-right:var(--plasma-notification-horizontal-layout-left-icon-margin);margin-bottom:unset;}
346
- .Notification_styles_7h8hp0_c157peez__2b784e15{display:var(--c157peez-0);padding-top:var(--c157peez-1);}.Notification_styles_7h8hp0_c157peez__2b784e15.Notification_styles_7h8hp0_notificationLayoutHorizontal__2b784e15{padding:unset;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}
347
- .Notification_styles_7h8hp0_t1vmb0f2__2b784e15{padding:var(--plasma-notification-textbox-padding-top) var(--plasma-notification-textbox-padding-right) var(--plasma-notification-textbox-padding-bottom) var(--plasma-notification-textbox-padding-left);padding-top:var(--t1vmb0f2-0);padding-right:var(--t1vmb0f2-1);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:var(--plasma-notification-textbox-gap);word-break:break-word;}.Notification_styles_7h8hp0_t1vmb0f2__2b784e15.Notification_styles_7h8hp0_notificationLayoutHorizontal__2b784e15{padding:unset;}
348
- .Notification_styles_7h8hp0_s1k4e58v__2b784e15{font-family:var(--plasma-notification-title-font-family);font-size:var(--plasma-notification-title-font-size);font-style:var(--plasma-notification-title-font-style);font-weight:var(--plasma-notification-title-font-weight);-webkit-letter-spacing:var(--plasma-notification-title-font-letter-spacing);-moz-letter-spacing:var(--plasma-notification-title-font-letter-spacing);-ms-letter-spacing:var(--plasma-notification-title-font-letter-spacing);letter-spacing:var(--plasma-notification-title-font-letter-spacing);line-height:var(--plasma-notification-title-font-line-height);overflow-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;}
349
- .Notification_styles_7h8hp0_s92kmpm__2b784e15{font-family:var(--plasma-notification-content-font-family);font-size:var(--plasma-notification-content-font-size);font-style:var(--plasma-notification-content-font-style);font-weight:var(--plasma-notification-content-font-weight);-webkit-letter-spacing:var(--plasma-notification-content-font-letter-spacing);-moz-letter-spacing:var(--plasma-notification-content-font-letter-spacing);-ms-letter-spacing:var(--plasma-notification-content-font-letter-spacing);letter-spacing:var(--plasma-notification-content-font-letter-spacing);line-height:var(--plasma-notification-content-font-line-height);overflow-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;color:var(--plasma-notification-content-color);}
350
- .Notification_styles_7h8hp0_s18m0x6v__2b784e15{margin-top:1rem;opacity:1;}.Notification_styles_7h8hp0_s18m0x6v__2b784e15.Notification_styles_7h8hp0_s18m0x6v__2b784e15.Notification_styles_7h8hp0_notificationItemOpened__2b784e15{-webkit-animation:0.4s Notification_styles_7h8hp0_showAnimationS18m0x6v__2b784e15 ease-out;animation:0.4s Notification_styles_7h8hp0_showAnimationS18m0x6v__2b784e15 ease-out;}.Notification_styles_7h8hp0_s18m0x6v__2b784e15.Notification_styles_7h8hp0_s18m0x6v__2b784e15.Notification_styles_7h8hp0_notificationItemHidden__2b784e15{-webkit-animation:0.4s Notification_styles_7h8hp0_hideAnimationS18m0x6v__2b784e15 ease-out;animation:0.4s Notification_styles_7h8hp0_hideAnimationS18m0x6v__2b784e15 ease-out;}@-webkit-keyframes Notification_styles_7h8hp0_showAnimationS18m0x6v__2b784e15{0%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}}@keyframes Notification_styles_7h8hp0_showAnimationS18m0x6v__2b784e15{0%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}}@-webkit-keyframes Notification_styles_7h8hp0_hideAnimationS18m0x6v__2b784e15{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}100%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}}@keyframes Notification_styles_7h8hp0_hideAnimationS18m0x6v__2b784e15{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}100%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}}
351
- .Notification_styles_7h8hp0_sfe5ql2__2b784e15{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;box-sizing:border-box;padding:0 1.5rem 1.5rem;max-height:100%;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}
341
+ .Notification_styles_e6274r_sb12p__56467d3e{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}
342
+ .Notification_styles_e6274r_crvd7hm__56467d3e{position:absolute;width:1.5rem;height:1.5rem;color:var(--plasma-notification-close-icon-color);}.Notification_styles_e6274r_crvd7hm__56467d3e:hover{color:var(--plasma-notification-close-icon-color-on-hover);}.Notification_styles_e6274r_crvd7hm__56467d3e.Notification_styles_e6274r_notificationLayoutHorizontal__56467d3e{position:relative;}
343
+ .Notification_styles_e6274r_wg1ga5v__56467d3e{position:relative;box-sizing:border-box;background:var(--plasma-notification-backgorund);border-radius:var(--plasma-notification-border-radius);}.Notification_styles_e6274r_wg1ga5v__56467d3e.Notification_styles_e6274r_notificationLayoutHorizontal__56467d3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-notification-horizontal-layout-gap);}
344
+ .Notification_styles_e6274r_b1amsn8a__56467d3e{margin-top:var(--plasma-notification-buttons-margin-top);margin-left:var(--b1amsn8a-0);}.Notification_styles_e6274r_b1amsn8a__56467d3e.Notification_styles_e6274r_notificationLayoutHorizontal__56467d3e{margin-top:unset;margin-left:unset;}
345
+ .Notification_styles_e6274r_i14raqr9__56467d3e{width:var(--plasma-notification-content-left-icon-size);height:var(--plasma-notification-content-left-icon-size);margin-right:var(--i14raqr9-0);margin-bottom:var(--i14raqr9-1);}.Notification_styles_e6274r_i14raqr9__56467d3e.Notification_styles_e6274r_notificationLayoutHorizontal__56467d3e{margin-right:var(--plasma-notification-horizontal-layout-left-icon-margin);margin-bottom:unset;}
346
+ .Notification_styles_e6274r_c157peez__56467d3e{display:var(--c157peez-0);padding-top:var(--c157peez-1);}.Notification_styles_e6274r_c157peez__56467d3e.Notification_styles_e6274r_notificationLayoutHorizontal__56467d3e{padding:unset;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}
347
+ .Notification_styles_e6274r_t1vmb0f2__56467d3e{padding:var(--plasma-notification-textbox-padding-top) var(--plasma-notification-textbox-padding-right) var(--plasma-notification-textbox-padding-bottom) var(--plasma-notification-textbox-padding-left);padding-top:var(--t1vmb0f2-0);padding-right:var(--t1vmb0f2-1);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:var(--plasma-notification-textbox-gap);word-break:break-word;}.Notification_styles_e6274r_t1vmb0f2__56467d3e.Notification_styles_e6274r_notificationLayoutHorizontal__56467d3e{padding:unset;}
348
+ .Notification_styles_e6274r_s1k4e58v__56467d3e{font-family:var(--plasma-notification-title-font-family);font-size:var(--plasma-notification-title-font-size);font-style:var(--plasma-notification-title-font-style);font-weight:var(--plasma-notification-title-font-weight);-webkit-letter-spacing:var(--plasma-notification-title-font-letter-spacing);-moz-letter-spacing:var(--plasma-notification-title-font-letter-spacing);-ms-letter-spacing:var(--plasma-notification-title-font-letter-spacing);letter-spacing:var(--plasma-notification-title-font-letter-spacing);line-height:var(--plasma-notification-title-font-line-height);overflow-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;}
349
+ .Notification_styles_e6274r_s92kmpm__56467d3e{font-family:var(--plasma-notification-content-font-family);font-size:var(--plasma-notification-content-font-size);font-style:var(--plasma-notification-content-font-style);font-weight:var(--plasma-notification-content-font-weight);-webkit-letter-spacing:var(--plasma-notification-content-font-letter-spacing);-moz-letter-spacing:var(--plasma-notification-content-font-letter-spacing);-ms-letter-spacing:var(--plasma-notification-content-font-letter-spacing);letter-spacing:var(--plasma-notification-content-font-letter-spacing);line-height:var(--plasma-notification-content-font-line-height);overflow-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;color:var(--plasma-notification-content-color);}
350
+ .Notification_styles_e6274r_s18m0x6v__56467d3e{margin-top:1rem;opacity:1;}.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_notificationItemOpened__56467d3e{-webkit-animation:0.4s Notification_styles_e6274r_showAnimationS18m0x6v__56467d3e ease-out;animation:0.4s Notification_styles_e6274r_showAnimationS18m0x6v__56467d3e ease-out;}.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_notificationItemOpened__56467d3e.Notification_styles_e6274r_notificationLeftToRightAnimation__56467d3e{-webkit-animation:0.4s Notification_styles_e6274r_showLeftToRightAnimationS18m0x6v__56467d3e ease-out;animation:0.4s Notification_styles_e6274r_showLeftToRightAnimationS18m0x6v__56467d3e ease-out;}.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_notificationItemHidden__56467d3e{-webkit-animation:0.4s Notification_styles_e6274r_hideAnimationS18m0x6v__56467d3e ease-out;animation:0.4s Notification_styles_e6274r_hideAnimationS18m0x6v__56467d3e ease-out;}.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_s18m0x6v__56467d3e.Notification_styles_e6274r_notificationItemHidden__56467d3e.Notification_styles_e6274r_notificationLeftToRightAnimation__56467d3e{-webkit-animation:0.4s Notification_styles_e6274r_hideLeftToRightAnimationS18m0x6v__56467d3e ease-out;animation:0.4s Notification_styles_e6274r_hideLeftToRightAnimationS18m0x6v__56467d3e ease-out;}@-webkit-keyframes Notification_styles_e6274r_showLeftToRightAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0;}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}}@keyframes Notification_styles_e6274r_showLeftToRightAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0;}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}}@-webkit-keyframes Notification_styles_e6274r_hideLeftToRightAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}100%{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0;}}@keyframes Notification_styles_e6274r_hideLeftToRightAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}100%{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);opacity:0;}}@-webkit-keyframes Notification_styles_e6274r_showAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}}@keyframes Notification_styles_e6274r_showAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}}@-webkit-keyframes Notification_styles_e6274r_hideAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}100%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}}@keyframes Notification_styles_e6274r_hideAnimationS18m0x6v__56467d3e{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);opacity:1;}100%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);opacity:0;}}
351
+ .Notification_styles_e6274r_sfe5ql2__56467d3e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;box-sizing:border-box;padding:0 1.5rem 1.5rem;max-height:100%;-webkit-align-items:var(--sfe5ql2-0);-webkit-box-align:var(--sfe5ql2-0);-ms-flex-align:var(--sfe5ql2-0);align-items:var(--sfe5ql2-0);}
352
352
 
353
353
  .base_10gjs6e_b11yryf5__c70de98c{background:var(--plasma-panel-background);box-shadow:var(--plasma-panel-shadow);box-sizing:border-box;}
354
354
 
package/es/index.js CHANGED
@@ -102,7 +102,7 @@ export { classes as popupClasses } from './components/Popup/Popup.tokens.js';
102
102
  export { modalConfig, modalRoot } from './components/Modal/Modal.js';
103
103
  export { classes as modalClasses, tokens as modalTokens } from './components/Modal/Modal.tokens.js';
104
104
  export { NotificationsProvider } from './components/Notification/NotificationsProvider.js';
105
- export { noticationConfig, notificationRoot } from './components/Notification/Notification.js';
105
+ export { notificationConfig, notificationRoot } from './components/Notification/Notification.js';
106
106
  export { addNotification, closeNotification } from './components/Notification/NotificationsStore.js';
107
107
  export { classes as notificationClasses, tokens as notificationTokens } from './components/Notification/Notification.tokens.js';
108
108
  export { drawerConfig, drawerRoot } from './components/Drawer/Drawer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { CSSProperties } from '@linaria/core';\n\nexport { canUseDOM } from './canUseDOM';\nexport { extractTextFrom } from './extractTextFrom';\nexport { getSizeValueFromProp } from './getSizeValueFromProp';\nexport { IS_REACT_18, safeUseId } from './react';\nexport { isNumber } from './isNumber';\nexport { mergeRefs, setRefList } from './setRefList';\nexport { isEmpty } from './isEmpty';\nexport * as constants from './constants';\nexport * from './getPopoverPlacement';\nexport { noop } from './noop';\n\nexport const cx = (...classes: (string | undefined)[]) => classes.filter((classItem) => classItem).join(' ');\n\nexport const composableStyle = (s: TemplateStringsArray, ...expr: Array<string | number | CSSProperties>): string => {\n let res = '';\n for (let i = 0; i < Math.max(s.length, expr.length); ++i) {\n res += s[i] ?? '';\n res += expr[i] ?? '';\n }\n\n return res;\n};\n"],"names":["cx","_len","arguments","length","classes","Array","_key","filter","classItem","join","composableStyle","s","res","i","Math","max","_s$i","_ref","undefined"],"mappings":"AAaaA,IAAAA,EAAE,GAAG,SAALA,EAAEA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,OAAO,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAPF,IAAAA,OAAO,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAA6BF,OAAO,CAACG,MAAM,CAAC,UAACC,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAAA;AAAA,GAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAAA,EAAA;IAE/FC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAuB,EAA8D;EACjH,IAAIC,GAAG,GAAG,EAAE,CAAA;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,CAAC,CAACR,MAAM,EAAAD,SAAA,CAAAC,MAAA,IAAA,CAAA,GAAA,CAAA,GAAAD,SAAA,CAAAC,MAAA,GAAA,CAAa,CAAC,EAAE,EAAEU,CAAC,EAAE;IAAA,IAAAG,IAAA,EAAAC,IAAA,CAAA;AACtDL,IAAAA,GAAG,IAAAI,CAAAA,IAAA,GAAIL,CAAC,CAACE,CAAC,CAAC,MAAA,IAAA,IAAAG,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAI,EAAE,CAAA;IACjBJ,GAAG,IAAA,CAAAK,IAAA,GAASJ,CAAC,YAAAX,SAAA,CAAAC,MAAA,IAADU,CAAC,OAAAK,SAAA,GAAAhB,SAAA,CAADW,CAAC,mBAAAI,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAK,EAAE,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOL,GAAG,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { CSSProperties } from '@linaria/core';\n\nexport { canUseDOM } from './canUseDOM';\nexport { extractTextFrom } from './extractTextFrom';\nexport { getSizeValueFromProp } from './getSizeValueFromProp';\nexport { IS_REACT_18, safeUseId } from './react';\nexport { isNumber } from './isNumber';\nexport { mergeRefs, setRefList } from './setRefList';\nexport { isEmpty } from './isEmpty';\nexport * as constants from './constants';\nexport * from './getPopoverPlacement';\nexport { noop } from './noop';\n\nexport const cx = (...classes: (string | boolean | undefined)[]) => classes.filter((classItem) => classItem).join(' ');\n\nexport const composableStyle = (s: TemplateStringsArray, ...expr: Array<string | number | CSSProperties>): string => {\n let res = '';\n for (let i = 0; i < Math.max(s.length, expr.length); ++i) {\n res += s[i] ?? '';\n res += expr[i] ?? '';\n }\n\n return res;\n};\n"],"names":["cx","_len","arguments","length","classes","Array","_key","filter","classItem","join","composableStyle","s","res","i","Math","max","_s$i","_ref","undefined"],"mappings":"AAaaA,IAAAA,EAAE,GAAG,SAALA,EAAEA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,OAAO,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAPF,IAAAA,OAAO,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAAuCF,OAAO,CAACG,MAAM,CAAC,UAACC,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAAA;AAAA,GAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAAA,EAAA;IAEzGC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAuB,EAA8D;EACjH,IAAIC,GAAG,GAAG,EAAE,CAAA;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,CAAC,CAACR,MAAM,EAAAD,SAAA,CAAAC,MAAA,IAAA,CAAA,GAAA,CAAA,GAAAD,SAAA,CAAAC,MAAA,GAAA,CAAa,CAAC,EAAE,EAAEU,CAAC,EAAE;IAAA,IAAAG,IAAA,EAAAC,IAAA,CAAA;AACtDL,IAAAA,GAAG,IAAAI,CAAAA,IAAA,GAAIL,CAAC,CAACE,CAAC,CAAC,MAAA,IAAA,IAAAG,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAI,EAAE,CAAA;IACjBJ,GAAG,IAAA,CAAAK,IAAA,GAASJ,CAAC,YAAAX,SAAA,CAAAC,MAAA,IAADU,CAAC,OAAAK,SAAA,GAAAhB,SAAA,CAADW,CAAC,mBAAAI,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAK,EAAE,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOL,GAAG,CAAA;AACd;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.175.3-canary.1512.11555735717.0",
3
+ "version": "0.176.0-canary.1503.11559892364.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -128,5 +128,5 @@
128
128
  "sideEffects": [
129
129
  "*.css"
130
130
  ],
131
- "gitHead": "f4cb0c375aaf7071d4cfff44362dde5c7a8fbb1f"
131
+ "gitHead": "419986de0e913650c852d4d31dc0ba98a192e03d"
132
132
  }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.dropdownDividerRoot = exports.dropdownDividerConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
- var _utils = /*#__PURE__*/require("../../../../utils");
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _base = /*#__PURE__*/require("./variations/_view/base");
11
11
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
12
12
  var _DropdownDivider = /*#__PURE__*/require("./DropdownDivider.styles");
@@ -26,7 +26,7 @@ var dropdownDividerRoot = exports.dropdownDividerRoot = function dropdownDivider
26
26
  view = _ref.view,
27
27
  size = _ref.size,
28
28
  rest = _objectWithoutProperties(_ref, _excluded);
29
- var uniqId = (0, _utils.safeUseId)();
29
+ var uniqId = (0, _plasmaCore.useUniqId)();
30
30
  var innerId = id || uniqId;
31
31
  return /*#__PURE__*/_react["default"].createElement(Root, {
32
32
  id: innerId,
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.dropdownFooterRoot = exports.dropdownFooterConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
- var _utils = /*#__PURE__*/require("../../../../utils");
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _base = /*#__PURE__*/require("./variations/_view/base");
11
11
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
12
12
  var _DropdownFooter = /*#__PURE__*/require("./DropdownFooter.styles");
@@ -27,7 +27,7 @@ var dropdownFooterRoot = exports.dropdownFooterRoot = function dropdownFooterRoo
27
27
  view = _ref.view,
28
28
  size = _ref.size,
29
29
  rest = _objectWithoutProperties(_ref, _excluded);
30
- var uniqId = (0, _utils.safeUseId)();
30
+ var uniqId = (0, _plasmaCore.useUniqId)();
31
31
  var innerId = id || uniqId;
32
32
  return /*#__PURE__*/_react["default"].createElement(Root, {
33
33
  id: innerId,
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.dropdownGroupRoot = exports.dropdownGroupConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
- var _utils = /*#__PURE__*/require("../../../../utils");
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _base = /*#__PURE__*/require("./variations/_view/base");
11
11
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
12
12
  var _DropdownGroup = /*#__PURE__*/require("./DropdownGroup.styles");
@@ -30,7 +30,7 @@ var dropdownGroupRoot = exports.dropdownGroupRoot = function dropdownGroupRoot(R
30
30
  view = _ref.view,
31
31
  size = _ref.size,
32
32
  rest = _objectWithoutProperties(_ref, _excluded);
33
- var uniqId = (0, _utils.safeUseId)();
33
+ var uniqId = (0, _plasmaCore.useUniqId)();
34
34
  var innerId = id || uniqId;
35
35
  return /*#__PURE__*/_react["default"].createElement(Root, {
36
36
  id: innerId,
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.dropdownHeaderRoot = exports.dropdownHeaderConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
- var _utils = /*#__PURE__*/require("../../../../utils");
9
+ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _base = /*#__PURE__*/require("./variations/_view/base");
11
11
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
12
12
  var _DropdownHeader = /*#__PURE__*/require("./DropdownHeader.styles");
@@ -27,7 +27,7 @@ var dropdownHeaderRoot = exports.dropdownHeaderRoot = function dropdownHeaderRoo
27
27
  size = _ref.size,
28
28
  children = _ref.children,
29
29
  rest = _objectWithoutProperties(_ref, _excluded);
30
- var uniqId = (0, _utils.safeUseId)();
30
+ var uniqId = (0, _plasmaCore.useUniqId)();
31
31
  var innerId = id || uniqId;
32
32
  return /*#__PURE__*/_react["default"].createElement(Root, {
33
33
  id: innerId,
@@ -7,12 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.dropdownOldRoot = exports.dropdownOldConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
9
  var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
- var _hooks = /*#__PURE__*/require("../../../../hooks");
11
- var _utils = /*#__PURE__*/require("../../../../utils");
12
10
  var _base = /*#__PURE__*/require("./variations/_view/base");
13
11
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
14
12
  var _Dropdown = /*#__PURE__*/require("./Dropdown.styles");
15
- var _utils2 = /*#__PURE__*/require("./utils");
13
+ var _utils = /*#__PURE__*/require("./utils");
16
14
  var _excluded = ["id", "target", "children", "hasArrow", "role", "view", "size", "frame", "onToggle", "isFocusTrapped", "isOpen", "opened", "placement", "trigger", "offset", "preventOverflow", "closeOnOverlayClick", "closeOnEsc"];
17
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -53,12 +51,12 @@ var dropdownOldRoot = exports.dropdownOldRoot = function dropdownOldRoot(Root) {
53
51
  closeOnEsc = _ref$closeOnEsc === void 0 ? false : _ref$closeOnEsc,
54
52
  rest = _objectWithoutProperties(_ref, _excluded);
55
53
  var innerIsOpen = Boolean(isOpen || opened);
56
- var uniqId = (0, _utils.safeUseId)();
54
+ var uniqId = (0, _plasmaCore.useUniqId)();
57
55
  var innerId = id || uniqId;
58
56
  var rootRef = (0, _react.useRef)(null);
59
57
  var dropdownRef = (0, _react.useRef)(null);
60
58
  var handleRef = (0, _plasmaCore.useForkRef)(rootRef, outerRootRef);
61
- var trapRef = (0, _hooks.useFocusTrap)(innerIsOpen && isFocusTrapped);
59
+ var trapRef = (0, _plasmaCore.useFocusTrap)(innerIsOpen && isFocusTrapped);
62
60
  var dropdownForkRef = (0, _plasmaCore.useForkRef)(dropdownRef, trapRef);
63
61
  return /*#__PURE__*/_react["default"].createElement(_Dropdown.StyledPopover, {
64
62
  role: role,
@@ -73,7 +71,7 @@ var dropdownOldRoot = exports.dropdownOldRoot = function dropdownOldRoot(Root) {
73
71
  offset: offset,
74
72
  preventOverflow: preventOverflow,
75
73
  hasArrow: hasArrow,
76
- placement: (0, _utils2.getPlacements)(placement),
74
+ placement: (0, _utils.getPlacements)(placement),
77
75
  trigger: trigger,
78
76
  closeOnOverlayClick: closeOnOverlayClick,
79
77
  closeOnEsc: closeOnEsc,
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.notificationRoot = exports.noticationConfig = void 0;
7
+ exports.notificationRoot = exports.notificationConfig = void 0;
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
9
  var _utils = /*#__PURE__*/require("../../utils");
10
10
  var _IconCross2 = /*#__PURE__*/require("../_Icon/Icons/IconCross");
@@ -94,7 +94,7 @@ var notificationRoot = exports.notificationRoot = function notificationRoot(Root
94
94
  })))));
95
95
  });
96
96
  };
97
- var noticationConfig = exports.noticationConfig = {
97
+ var notificationConfig = exports.notificationConfig = {
98
98
  name: 'Notification',
99
99
  tag: 'div',
100
100
  layout: notificationRoot,
@@ -66,7 +66,10 @@ var StyledContent = exports.StyledContent = /*#__PURE__*/_styledComponents["defa
66
66
  })(["font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");", ";color:var(", ");"], _Notification.tokens.contentFontFamily, _Notification.tokens.contentFontSize, _Notification.tokens.contentFontStyle, _Notification.tokens.contentFontWeight, _Notification.tokens.contentFontLetterSpacing, _Notification.tokens.contentFontLineHeight, /*#__PURE__*/String(_mixins.applyHyphens), _Notification.tokens.contentColor);
67
67
  var StyledItemWrapper = exports.StyledItemWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
68
68
  componentId: "plasma-new-hope__sc-1iufy9r-8"
69
- })(["margin-top:1rem;opacity:1;&&.", "{animation:0.4s showAnimation ease-out;}&&.", "{animation:0.4s hideAnimation ease-out;}@keyframes showAnimation{0%{transform:translateX(100%);opacity:0;}100%{transform:translateX(0);opacity:1;}}@keyframes hideAnimation{0%{transform:translateX(0);opacity:1;}100%{transform:translateX(100%);opacity:0;}}"], _Notification.classes.notificationItemOpened, _Notification.classes.notificationItemHidden);
69
+ })(["margin-top:1rem;opacity:1;&&.", "{animation:0.4s showAnimation ease-out;&.", "{animation:0.4s showLeftToRightAnimation ease-out;}}&&.", "{animation:0.4s hideAnimation ease-out;&.", "{animation:0.4s hideLeftToRightAnimation ease-out;}}@keyframes showLeftToRightAnimation{0%{transform:translateX(-100%);opacity:0;}100%{transform:translateX(0);opacity:1;}}@keyframes hideLeftToRightAnimation{0%{transform:translateX(0);opacity:1;}100%{transform:translateX(-100%);opacity:0;}}@keyframes showAnimation{0%{transform:translateX(100%);opacity:0;}100%{transform:translateX(0);opacity:1;}}@keyframes hideAnimation{0%{transform:translateX(0);opacity:1;}100%{transform:translateX(100%);opacity:0;}}"], _Notification.classes.notificationItemOpened, _Notification.classes.notificationLeftToRightAnimation, _Notification.classes.notificationItemHidden, _Notification.classes.notificationLeftToRightAnimation);
70
70
  var StyledRoot = exports.StyledRoot = /*#__PURE__*/_styledComponents["default"].div.withConfig({
71
71
  componentId: "plasma-new-hope__sc-1iufy9r-9"
72
- })(["display:flex;flex-direction:column-reverse;box-sizing:border-box;padding:0 1.5rem 1.5rem;max-height:100%;align-items:flex-end;"]);
72
+ })(["display:flex;flex-direction:column-reverse;box-sizing:border-box;padding:0 1.5rem 1.5rem;max-height:100%;align-items:", ";"], function (_ref8) {
73
+ var placement = _ref8.placement;
74
+ return placement === 'bottom-left' ? 'flex-start' : 'flex-end';
75
+ });
@@ -10,14 +10,15 @@ import { PropsTable, Description } from '@site/src/components';
10
10
  <PropsTable name="Notification" />
11
11
 
12
12
  ## Использование
13
- Компонент `Notification` может использоваться для создания собственных систем оповещения.
13
+ Компонент `Notification` может использоваться для создания собственных систем оповещения.
14
14
  Вид компонента контролируется свойствами (props).
15
- Текстовая часть оповещения состоит из `title` и `children`.
15
+ Текстовая часть оповещения состоит из `title` и `children`.
16
16
  Слева или сверху от нее, также можно пробросить иконку через свойство `icon`.
17
17
  Также есть часть `actions`, в которой предполагается отображение кнопок для взаимодействия.
18
18
 
19
19
  ### Провайдер контекста
20
- Поместите `NotificationsProvider` в [корень приложения](../../#корень-приложения) или там, где будете применять модальные окна:
20
+ Поместите `NotificationsProvider` в [корень приложения](../../#корень-приложения) или там, где будете применять модальные окна.
21
+ В качестве свойств можно указать контейнер для оповещений через `frame` и расположение в контейнере через свойство `placement`, как `bottom-right` _(по умолчанию)_ или `bottom-left`.
21
22
 
22
23
  ```tsx title="index.ts"
23
24
  import ReactDOM from 'react-dom';
@@ -34,24 +35,32 @@ ReactDOM.render(
34
35
  ```
35
36
 
36
37
  ### Вызов уведомления
37
- После подключения `NotificationsProvider` станет возможен вызов функции `addNotification`,который приведет к отображению оповещения.
38
- Функция принимает значения свойств компонента `Notification`:
38
+ После подключения `NotificationsProvider` станет возможен вызов функции `addNotification`, который приведет к отображению оповещения.
39
+ Функция принимает значения свойств компонента `Notification`, включая необязательное поле `id`. И возвращает сгенерированный или переданный `id`, по которому можно закрыть оповещение через вызов `closeNotification`.
39
40
 
40
41
  ```tsx live
41
42
  import React from 'react';
42
- import { Button, addNotification, NotificationsProvider } from '@salutejs/{{ package }}';
43
+ import { Button, ButtonGroup, addNotification, closeNotification, NotificationsProvider } from '@salutejs/{{ package }}';
43
44
 
44
45
  export function App() {
45
- const handleClick = React.useCallback(() => {
46
+ const handleShow = React.useCallback(() => {
46
47
  addNotification({
48
+ id: 'incoming-call',
47
49
  title: 'Входящий вызов',
48
50
  children: 'Принять?',
49
51
  }, 1000);
50
52
  }, []);
51
53
 
54
+ const handleHide = React.useCallback(() => {
55
+ closeNotification('incoming-call');
56
+ }, []);
57
+
52
58
  return (
53
59
  <NotificationsProvider>
54
- <Button text="Показать оповещение" onClick={handleClick} />
60
+ <ButtonGroup>
61
+ <Button text="Показать оповещение" onClick={handleShow} />
62
+ <Button text="Скрыть оповещение" onClick={handleHide} />
63
+ </ButtonGroup>
55
64
  </NotificationsProvider>
56
65
  );
57
66
  }
@@ -19,7 +19,8 @@ var classes = exports.classes = {
19
19
  withoutIcon: 'notification-without-icon',
20
20
  withoutCloseIcon: 'notification-without-close-icon',
21
21
  notificationItemOpened: 'notification-item-opened',
22
- notificationItemHidden: 'notification-item-hidden'
22
+ notificationItemHidden: 'notification-item-hidden',
23
+ notificationLeftToRightAnimation: 'notification-left-to-right-animation'
23
24
  };
24
25
  var tokens = exports.tokens = {
25
26
  background: '--plasma-notification-backgorund',
@@ -33,7 +33,9 @@ var StyledPopup = /*#__PURE__*/(0, _styledComponents["default"])(Popup).withConf
33
33
  */
34
34
  var NotificationsPortal = exports.NotificationsPortal = function NotificationsPortal(_ref) {
35
35
  var config = _ref.config,
36
- frame = _ref.frame;
36
+ frame = _ref.frame,
37
+ _ref$placement = _ref.placement,
38
+ placement = _ref$placement === void 0 ? 'bottom-right' : _ref$placement;
37
39
  var _useStoreon = (0, _react2.useStoreon)('notifications'),
38
40
  notifications = _useStoreon.notifications;
39
41
  var Notification = (0, _react.useMemo)(function () {
@@ -42,15 +44,17 @@ var NotificationsPortal = exports.NotificationsPortal = function NotificationsPo
42
44
  return /*#__PURE__*/_react["default"].createElement(_Popup.PopupProvider, null, notifications.length > 0 && /*#__PURE__*/_react["default"].createElement(StyledPopup, {
43
45
  opened: true,
44
46
  frame: frame,
45
- placement: "bottom-right",
47
+ placement: placement,
46
48
  zIndex: "9100"
47
- }, /*#__PURE__*/_react["default"].createElement(_Notification.StyledRoot, null, notifications.map(function (_ref2) {
49
+ }, /*#__PURE__*/_react["default"].createElement(_Notification.StyledRoot, {
50
+ placement: placement
51
+ }, notifications.map(function (_ref2) {
48
52
  var id = _ref2.id,
49
53
  isHidden = _ref2.isHidden,
50
54
  rest = _objectWithoutProperties(_ref2, _excluded);
51
55
  return /*#__PURE__*/_react["default"].createElement(_Notification.StyledItemWrapper, {
52
56
  key: id,
53
- className: (0, _utils.cx)(isHidden ? _Notification2.classes.notificationItemHidden : _Notification2.classes.notificationItemOpened),
57
+ className: (0, _utils.cx)(isHidden ? _Notification2.classes.notificationItemHidden : _Notification2.classes.notificationItemOpened, placement === 'bottom-left' && _Notification2.classes.notificationLeftToRightAnimation),
54
58
  isHidden: isHidden || false
55
59
  }, /*#__PURE__*/_react["default"].createElement(Notification, _extends({
56
60
  key: id,
@@ -12,11 +12,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
12
12
  var NotificationsProvider = exports.NotificationsProvider = function NotificationsProvider(_ref) {
13
13
  var children = _ref.children,
14
14
  config = _ref.config,
15
- frame = _ref.frame;
15
+ frame = _ref.frame,
16
+ placement = _ref.placement;
16
17
  return /*#__PURE__*/_react["default"].createElement(_react2.StoreContext.Provider, {
17
18
  value: _NotificationsStore.NotificationsStore
18
19
  }, children, /*#__PURE__*/_react["default"].createElement(_NotificationsPortal.NotificationsPortal, {
19
20
  frame: frame,
21
+ placement: placement,
20
22
  config: config
21
23
  }));
22
24
  };
@@ -21,16 +21,16 @@ Object.defineProperty(exports, "closeNotification", {
21
21
  return _NotificationsStore.closeNotification;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "noticationConfig", {
24
+ Object.defineProperty(exports, "notificationClasses", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _Notification.noticationConfig;
27
+ return _Notification2.classes;
28
28
  }
29
29
  });
30
- Object.defineProperty(exports, "notificationClasses", {
30
+ Object.defineProperty(exports, "notificationConfig", {
31
31
  enumerable: true,
32
32
  get: function get() {
33
- return _Notification2.classes;
33
+ return _Notification.notificationConfig;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "notificationRoot", {
@@ -8,7 +8,6 @@ exports.popoverRoot = exports.popoverConfig = exports.POPOVER_PORTAL_ID = export
8
8
  var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
9
  var _reactPopper = /*#__PURE__*/require("react-popper");
10
10
  var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
11
- var _hooks = /*#__PURE__*/require("../../hooks");
12
11
  var _utils = /*#__PURE__*/require("../../utils");
13
12
  var _Portal = /*#__PURE__*/require("../Portal");
14
13
  var _base = /*#__PURE__*/require("./variations/_view/base");
@@ -73,7 +72,7 @@ var popoverRoot = exports.popoverRoot = function popoverRoot(Root) {
73
72
  var popoverRef = (0, _react.useRef)(null);
74
73
  var handleRef = (0, _plasmaCore.useForkRef)(rootRef, outerRootRef);
75
74
  var portalRef = (0, _react.useRef)(null);
76
- var trapRef = (0, _hooks.useFocusTrap)(innerIsOpen && isFocusTrapped);
75
+ var trapRef = (0, _plasmaCore.useFocusTrap)(innerIsOpen && isFocusTrapped);
77
76
  var popoverForkRef = (0, _plasmaCore.useForkRef)(popoverRef, trapRef);
78
77
  var _useState = (0, _react.useState)(null),
79
78
  _useState2 = _slicedToArray(_useState, 2),
@@ -16,14 +16,16 @@ var _engines = /*#__PURE__*/require("../../../../engines");
16
16
  var _Notification2 = /*#__PURE__*/require("./Notification.config");
17
17
  var _Modal = /*#__PURE__*/require("../../../../components/Modal");
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
- var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Notification.noticationConfig, _Notification2.config);
19
+ var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Notification.notificationConfig, _Notification2.config);
20
20
  var Notification = exports.Notification = /*#__PURE__*/(0, _engines.component)(mergedConfig);
21
21
  var NotificationsProvider = exports.NotificationsProvider = function NotificationsProvider(_ref) {
22
22
  var children = _ref.children,
23
23
  _ref$frame = _ref.frame,
24
- frame = _ref$frame === void 0 ? 'theme-root' : _ref$frame;
24
+ frame = _ref$frame === void 0 ? 'theme-root' : _ref$frame,
25
+ placement = _ref.placement;
25
26
  return /*#__PURE__*/_react["default"].createElement(_Notification.NotificationsProvider, {
26
27
  config: mergedConfig,
27
- frame: frame
28
+ frame: frame,
29
+ placement: placement
28
30
  }, children);
29
31
  };