@salutejs/plasma-new-hope 0.175.2-dev.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 (98) hide show
  1. package/cjs/components/Notification/Notification.css +11 -11
  2. package/cjs/components/Notification/Notification.js +2 -2
  3. package/cjs/components/Notification/Notification.js.map +1 -1
  4. package/cjs/components/Notification/Notification.styles.js +11 -2
  5. package/cjs/components/Notification/Notification.styles.js.map +1 -1
  6. package/cjs/components/Notification/{Notification.styles_7h8hp0.css → Notification.styles_e6274r.css} +2 -2
  7. package/cjs/components/Notification/Notification.tokens.js +2 -1
  8. package/cjs/components/Notification/Notification.tokens.js.map +1 -1
  9. package/cjs/components/Notification/Notification.types.js.map +1 -1
  10. package/cjs/components/Notification/NotificationsPortal.js +8 -4
  11. package/cjs/components/Notification/NotificationsPortal.js.map +1 -1
  12. package/cjs/components/Notification/NotificationsProvider.css +11 -11
  13. package/cjs/components/Notification/NotificationsProvider.js +3 -1
  14. package/cjs/components/Notification/NotificationsProvider.js.map +1 -1
  15. package/cjs/index.css +11 -11
  16. package/cjs/index.js +1 -1
  17. package/cjs/utils/index.js.map +1 -1
  18. package/emotion/cjs/components/Notification/Notification.js +2 -2
  19. package/emotion/cjs/components/Notification/Notification.styles.js +14 -19
  20. package/emotion/cjs/components/Notification/Notification.template-doc.mdx +17 -8
  21. package/emotion/cjs/components/Notification/Notification.tokens.js +2 -1
  22. package/emotion/cjs/components/Notification/NotificationsPortal.js +9 -5
  23. package/emotion/cjs/components/Notification/NotificationsProvider.js +3 -1
  24. package/emotion/cjs/components/Notification/index.js +4 -4
  25. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.js +5 -3
  26. package/emotion/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  27. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.js +5 -3
  28. package/emotion/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  29. package/emotion/es/components/Notification/Notification.js +1 -1
  30. package/emotion/es/components/Notification/Notification.styles.js +14 -19
  31. package/emotion/es/components/Notification/Notification.template-doc.mdx +17 -8
  32. package/emotion/es/components/Notification/Notification.tokens.js +2 -1
  33. package/emotion/es/components/Notification/NotificationsPortal.js +9 -5
  34. package/emotion/es/components/Notification/NotificationsProvider.js +3 -1
  35. package/emotion/es/components/Notification/index.js +1 -1
  36. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.js +6 -4
  37. package/emotion/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  38. package/emotion/es/examples/plasma_web/components/Notification/Notification.js +6 -4
  39. package/emotion/es/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  40. package/es/components/Notification/Notification.css +11 -11
  41. package/es/components/Notification/Notification.js +2 -2
  42. package/es/components/Notification/Notification.js.map +1 -1
  43. package/es/components/Notification/Notification.styles.js +11 -2
  44. package/es/components/Notification/Notification.styles.js.map +1 -1
  45. package/es/components/Notification/{Notification.styles_7h8hp0.css → Notification.styles_e6274r.css} +2 -2
  46. package/es/components/Notification/Notification.tokens.js +2 -1
  47. package/es/components/Notification/Notification.tokens.js.map +1 -1
  48. package/es/components/Notification/Notification.types.js.map +1 -1
  49. package/es/components/Notification/NotificationsPortal.js +8 -4
  50. package/es/components/Notification/NotificationsPortal.js.map +1 -1
  51. package/es/components/Notification/NotificationsProvider.css +11 -11
  52. package/es/components/Notification/NotificationsProvider.js +3 -1
  53. package/es/components/Notification/NotificationsProvider.js.map +1 -1
  54. package/es/index.css +11 -11
  55. package/es/index.js +1 -1
  56. package/es/utils/index.js.map +1 -1
  57. package/package.json +2 -2
  58. package/styled-components/cjs/components/Notification/Notification.js +2 -2
  59. package/styled-components/cjs/components/Notification/Notification.styles.js +5 -2
  60. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +17 -8
  61. package/styled-components/cjs/components/Notification/Notification.tokens.js +2 -1
  62. package/styled-components/cjs/components/Notification/NotificationsPortal.js +8 -4
  63. package/styled-components/cjs/components/Notification/NotificationsProvider.js +3 -1
  64. package/styled-components/cjs/components/Notification/index.js +4 -4
  65. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.js +5 -3
  66. package/styled-components/cjs/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  67. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.js +5 -3
  68. package/styled-components/cjs/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  69. package/styled-components/es/components/Notification/Notification.js +1 -1
  70. package/styled-components/es/components/Notification/Notification.styles.js +5 -2
  71. package/styled-components/es/components/Notification/Notification.template-doc.mdx +17 -8
  72. package/styled-components/es/components/Notification/Notification.tokens.js +2 -1
  73. package/styled-components/es/components/Notification/NotificationsPortal.js +8 -4
  74. package/styled-components/es/components/Notification/NotificationsProvider.js +3 -1
  75. package/styled-components/es/components/Notification/index.js +1 -1
  76. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.js +6 -4
  77. package/styled-components/es/examples/plasma_b2c/components/Notification/Notification.stories.tsx +25 -4
  78. package/styled-components/es/examples/plasma_web/components/Notification/Notification.js +6 -4
  79. package/styled-components/es/examples/plasma_web/components/Notification/Notification.stories.tsx +25 -4
  80. package/types/components/Notification/Notification.d.ts +3 -3
  81. package/types/components/Notification/Notification.d.ts.map +1 -1
  82. package/types/components/Notification/Notification.styles.d.ts +4 -2
  83. package/types/components/Notification/Notification.styles.d.ts.map +1 -1
  84. package/types/components/Notification/Notification.tokens.d.ts +1 -0
  85. package/types/components/Notification/Notification.tokens.d.ts.map +1 -1
  86. package/types/components/Notification/Notification.types.d.ts +11 -5
  87. package/types/components/Notification/Notification.types.d.ts.map +1 -1
  88. package/types/components/Notification/NotificationsPortal.d.ts.map +1 -1
  89. package/types/components/Notification/NotificationsProvider.d.ts +4 -3
  90. package/types/components/Notification/NotificationsProvider.d.ts.map +1 -1
  91. package/types/components/Notification/index.d.ts +2 -2
  92. package/types/components/Notification/index.d.ts.map +1 -1
  93. package/types/examples/plasma_b2c/components/Notification/Notification.d.ts +4 -2
  94. package/types/examples/plasma_b2c/components/Notification/Notification.d.ts.map +1 -1
  95. package/types/examples/plasma_web/components/Notification/Notification.d.ts +4 -13
  96. package/types/examples/plasma_web/components/Notification/Notification.d.ts.map +1 -1
  97. package/types/utils/index.d.ts +1 -1
  98. package/types/utils/index.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.types.js","sources":["../../../src/components/Notification/Notification.types.ts"],"sourcesContent":["import type { AsProps } from '@salutejs/plasma-core';\nimport { HTMLAttributes, ReactNode, RefAttributes } from 'react';\n\nimport { ComponentConfig, PropsType, Variants } from '../../engines/types';\n\nexport const layouts = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n\nexport type NotificationLayout = keyof typeof layouts;\n\nexport const placements = {\n top: 'top',\n left: 'left',\n};\n\nexport type NotificationIconPlacement = keyof typeof placements;\n\nexport type LayoutType = {\n layout?: NotificationLayout;\n};\n\nexport type IconPlacementType = {\n iconPlacement?: NotificationIconPlacement;\n};\n\nexport type CloseIconType = {\n showCloseIcon?: boolean;\n};\n\nexport interface NotificationProps extends AsProps, HTMLAttributes<HTMLDivElement> {\n /**\n * Заголовок.\n */\n title?: string;\n /**\n * Контент под заголовком.\n */\n children?: ReactNode;\n /**\n * Кнопки снизу/справа для необходимых действий.\n */\n actions?: ReactNode;\n /**\n * Cхема расположение блоков Notification.\n */\n layout?: NotificationLayout;\n /**\n * Иконка слева.\n */\n icon?: ReactNode;\n /**\n * Расположение иконки слева внутри Textbox.\n */\n iconPlacement?: NotificationIconPlacement;\n /**\n * Показывать ли иконку закрытия справа.\n * @default\n * true\n */\n showCloseIcon?: boolean;\n /**\n * Колбек при нажатии на кнопку закрытия.\n */\n onCloseButtonClick?: () => void;\n /**\n * @deprecated\n * Не влияет на отображение компонента.\n * Статус компонента Notification.\n */\n status?: string;\n\n /**\n * Вид Notification.\n */\n view?: string;\n /**\n * Размер Notification (необходимо связать с размером используемых Button).\n */\n size?: string;\n}\n\nexport interface NotificationPortalProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Конфиг компонента Notification.\n */\n config: ComponentConfig<string, Variants, PropsType<Variants>, NotificationProps & RefAttributes<HTMLDivElement>>;\n /**\n * В каком контейнере позиционируется(по умолчанию document), можно также указать id элемента или ref для него.\n */\n frame?: string;\n}\n"],"names":["layouts","horizontal","vertical","placements","top","left"],"mappings":"AAKO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,QAAQ,EAAE,UAAA;AACd,EAAC;AAIM,IAAMC,UAAU,GAAG;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,IAAI,EAAE,MAAA;AACV;;;;"}
1
+ {"version":3,"file":"Notification.types.js","sources":["../../../src/components/Notification/Notification.types.ts"],"sourcesContent":["import type { AsProps } from '@salutejs/plasma-core';\nimport { HTMLAttributes, ReactNode } from 'react';\n\nimport { ComponentConfig, PropsType, Variants } from '../../engines/types';\n\nexport const layouts = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n\nexport type NotificationLayout = keyof typeof layouts;\n\nexport const placements = {\n top: 'top',\n left: 'left',\n};\n\nexport type NotificationIconPlacement = keyof typeof placements;\nexport type NotificationPlacement = 'bottom-right' | 'bottom-left';\n\nexport type LayoutType = {\n layout?: NotificationLayout;\n};\n\nexport type IconPlacementType = {\n iconPlacement?: NotificationIconPlacement;\n};\n\nexport type CloseIconType = {\n showCloseIcon?: boolean;\n};\n\nexport interface NotificationProps extends AsProps, Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n /**\n * Заголовок.\n */\n title?: ReactNode;\n /**\n * Контент под заголовком.\n */\n children?: ReactNode;\n /**\n * Кнопки снизу/справа для необходимых действий.\n */\n actions?: ReactNode;\n /**\n * Cхема расположение блоков Notification.\n */\n layout?: NotificationLayout;\n /**\n * Иконка слева.\n */\n icon?: ReactNode;\n /**\n * Расположение иконки слева внутри Textbox.\n */\n iconPlacement?: NotificationIconPlacement;\n /**\n * Показывать ли иконку закрытия справа.\n * @default\n * true\n */\n showCloseIcon?: boolean;\n /**\n * Колбек при нажатии на кнопку закрытия.\n */\n onCloseButtonClick?: () => void;\n /**\n * @deprecated\n * Не влияет на отображение компонента.\n * Статус компонента Notification.\n */\n status?: string;\n\n /**\n * Вид Notification.\n */\n view?: string;\n /**\n * Размер Notification (необходимо связать с размером используемых Button).\n */\n size?: string;\n}\n\nexport interface NotificationPortalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n /**\n * Конфиг компонента Notification.\n */\n config: ComponentConfig<string, Variants, PropsType<Variants>, NotificationProps & HTMLAttributes<HTMLDivElement>>;\n /**\n * В каком контейнере позиционируется(по умолчанию document), можно также указать id элемента или ref для него.\n */\n frame?: string;\n /**\n * Расположение компонента Notification во frame\n * @default bottom-right\n */\n placement?: NotificationPlacement;\n}\n"],"names":["layouts","horizontal","vertical","placements","top","left"],"mappings":"AAKO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,QAAQ,EAAE,UAAA;AACd,EAAC;AAIM,IAAMC,UAAU,GAAG;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,IAAI,EAAE,MAAA;AACV;;;;"}
@@ -29,7 +29,9 @@ var StyledPopup = /*#__PURE__*/styled(_exp())({
29
29
  */
30
30
  var NotificationsPortal = function NotificationsPortal(_ref) {
31
31
  var config = _ref.config,
32
- frame = _ref.frame;
32
+ frame = _ref.frame,
33
+ _ref$placement = _ref.placement,
34
+ placement = _ref$placement === void 0 ? 'bottom-right' : _ref$placement;
33
35
  var _useStoreon = useStoreon('notifications'),
34
36
  notifications = _useStoreon.notifications;
35
37
  var Notification = useMemo(function () {
@@ -38,15 +40,17 @@ var NotificationsPortal = function NotificationsPortal(_ref) {
38
40
  return /*#__PURE__*/React.createElement(PopupProvider, null, notifications.length > 0 && /*#__PURE__*/React.createElement(StyledPopup, {
39
41
  opened: true,
40
42
  frame: frame,
41
- placement: "bottom-right",
43
+ placement: placement,
42
44
  zIndex: "9100"
43
- }, /*#__PURE__*/React.createElement(StyledRoot, null, notifications.map(function (_ref2) {
45
+ }, /*#__PURE__*/React.createElement(StyledRoot, {
46
+ placement: placement
47
+ }, notifications.map(function (_ref2) {
44
48
  var id = _ref2.id,
45
49
  isHidden = _ref2.isHidden,
46
50
  rest = _objectWithoutProperties(_ref2, _excluded);
47
51
  return /*#__PURE__*/React.createElement(StyledItemWrapper, {
48
52
  key: id,
49
- className: cx(isHidden ? classes.notificationItemHidden : classes.notificationItemOpened),
53
+ className: cx(isHidden ? classes.notificationItemHidden : classes.notificationItemOpened, placement === 'bottom-left' && classes.notificationLeftToRightAnimation),
50
54
  isHidden: isHidden || false
51
55
  }, /*#__PURE__*/React.createElement(Notification, _extends({
52
56
  key: id,
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPortal.js","sources":["../../../src/components/Notification/NotificationsPortal.tsx"],"sourcesContent":["import React, { FC, ForwardRefExoticComponent, RefAttributes, useMemo } from 'react';\nimport { useStoreon } from 'storeon/react';\nimport { styled } from '@linaria/react';\nimport { popupBaseRootClass } from '@salutejs/plasma-core';\n\nimport { PopupProvider, popupConfig } from '../Popup';\nimport { component } from '../../engines';\nimport { cx } from '../../utils';\n\nimport { NotificationsState, NotificationsEvents, closeNotification } from './NotificationsStore';\nimport { NotificationPortalProps, NotificationProps } from './Notification.types';\nimport { StyledItemWrapper, StyledRoot } from './Notification.styles';\nimport { classes } from './Notification.tokens';\n\n// issue #823\nconst Popup = component(popupConfig);\n\nconst StyledPopup = styled(Popup)`\n & > .${popupBaseRootClass} {\n overflow: hidden;\n }\n`;\n\n/**\n * Обертка для визуального представления уведомлений.\n */\nexport const NotificationsPortal: FC<NotificationPortalProps> = ({ config, frame }) => {\n const { notifications } = useStoreon<NotificationsState, NotificationsEvents>('notifications');\n\n const Notification = useMemo(\n () => component(config) as ForwardRefExoticComponent<NotificationProps & RefAttributes<HTMLDivElement>>,\n [],\n );\n\n return (\n <PopupProvider>\n {notifications.length > 0 && (\n <StyledPopup opened frame={frame} placement=\"bottom-right\" zIndex=\"9100\">\n <StyledRoot>\n {notifications.map(({ id, isHidden, ...rest }) => (\n <StyledItemWrapper\n key={id}\n className={cx(\n isHidden ? classes.notificationItemHidden : classes.notificationItemOpened,\n )}\n isHidden={isHidden || false}\n >\n <Notification\n key={id}\n id={id}\n onCloseButtonClick={() => closeNotification(id)}\n {...rest}\n />\n </StyledItemWrapper>\n ))}\n </StyledRoot>\n </StyledPopup>\n )}\n </PopupProvider>\n );\n};\n"],"names":["Popup","component","popupConfig","_exp","StyledPopup","styled","name","class","propsAsIs","NotificationsPortal","_ref","config","frame","_useStoreon","useStoreon","notifications","Notification","useMemo","React","createElement","PopupProvider","length","opened","placement","zIndex","StyledRoot","map","_ref2","id","isHidden","rest","StyledItemWrapper","key","className","cx","classes","notificationItemHidden","notificationItemOpened","_extends","onCloseButtonClick","closeNotification"],"mappings":";;;;;;;;;;;;;;AAcA;AACA,IAAMA,KAAK,gBAAGC,SAAS,CAACC,WAAW,CAAC,CAAA;AAAC,IAAAC,IAAA,GAdnBA,SAcmBA,IAAAA,GAAA;AAAA,EAAA,OAEVH,KAAK,CAAA;AAAA,CAAA,CAAA;AAAhC,IAAMI,WAAW,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIzB,CAAA,CAAA;;AAED;AACA;AACA;IACaC,mBAAgD,GAAGA,SAAnDA,mBAAgDA,CAAAC,IAAA,EAA0B;AAAA,EAAA,IAApBC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,KAAAA,GAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AACvE,EAAA,IAAAC,WAAA,GAA0BC,UAAU,CAA0C,eAAe,CAAC;IAAtFC,aAAAA,GAAAA,WAAAA,CAAAA,aAAAA,CAAAA;EAER,IAAMC,YAAY,GAAGC,OAAO,CACxB,YAAA;IAAA,OAAMhB,SAAS,CAACU,MAAM,CAAC,CAAA;GACvB,EAAA,EACJ,CAAC,CAAA;AAED,EAAA,oBACIO,KAAA,CAAAC,aAAA,CAACC,aAAa,QACTL,aAAa,CAACM,MAAM,GAAG,CAAC,iBACrBH,KAAA,CAAAC,aAAA,CAACf,WAAW,EAAA;IAACkB,MAAM,EAAA,IAAA;AAACV,IAAAA,KAAK,EAAEA,KAAM;AAACW,IAAAA,SAAS,EAAC,cAAc;AAACC,IAAAA,MAAM,EAAC,MAAA;GAC9DN,eAAAA,KAAA,CAAAC,aAAA,CAACM,UAAU,EACNV,IAAAA,EAAAA,aAAa,CAACW,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;AAAKC,MAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,KAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAAAA,IAAAA,oBACnCZ,KAAA,CAAAC,aAAA,CAACY,iBAAiB,EAAA;AACdC,MAAAA,GAAG,EAAEJ,EAAG;AACRK,MAAAA,SAAS,EAAEC,EAAE,CACTL,QAAQ,GAAGM,OAAO,CAACC,sBAAsB,GAAGD,OAAO,CAACE,sBACxD,CAAE;MACFR,QAAQ,EAAEA,QAAQ,IAAI,KAAA;AAAM,KAAA,eAE5BX,KAAA,CAAAC,aAAA,CAACH,YAAY,EAAAsB,QAAA,CAAA;AACTN,MAAAA,GAAG,EAAEJ,EAAG;AACRA,MAAAA,EAAE,EAAEA,EAAG;MACPW,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;QAAA,OAAMC,iBAAiB,CAACZ,EAAE,CAAC,CAAA;AAAA,OAAA;KAC3CE,EAAAA,IAAI,CAAC,CAEE,CACtB,CAAA;GACO,CAAA,CACH,CAEN,CAAC,CAAA;AAExB;;;;"}
1
+ {"version":3,"file":"NotificationsPortal.js","sources":["../../../src/components/Notification/NotificationsPortal.tsx"],"sourcesContent":["import React, { FC, ForwardRefExoticComponent, RefAttributes, useMemo } from 'react';\nimport { useStoreon } from 'storeon/react';\nimport { styled } from '@linaria/react';\nimport { popupBaseRootClass } from '@salutejs/plasma-core';\n\nimport { PopupProvider, popupConfig } from '../Popup';\nimport { component } from '../../engines';\nimport { cx } from '../../utils';\n\nimport { NotificationsState, NotificationsEvents, closeNotification } from './NotificationsStore';\nimport { NotificationPortalProps, NotificationProps } from './Notification.types';\nimport { StyledItemWrapper, StyledRoot } from './Notification.styles';\nimport { classes } from './Notification.tokens';\n\n// issue #823\nconst Popup = component(popupConfig);\n\nconst StyledPopup = styled(Popup)`\n & > .${popupBaseRootClass} {\n overflow: hidden;\n }\n`;\n\n/**\n * Обертка для визуального представления уведомлений.\n */\nexport const NotificationsPortal: FC<NotificationPortalProps> = ({ config, frame, placement = 'bottom-right' }) => {\n const { notifications } = useStoreon<NotificationsState, NotificationsEvents>('notifications');\n\n const Notification = useMemo(\n () => component(config) as ForwardRefExoticComponent<NotificationProps & RefAttributes<HTMLDivElement>>,\n [],\n );\n\n return (\n <PopupProvider>\n {notifications.length > 0 && (\n <StyledPopup opened frame={frame} placement={placement} zIndex=\"9100\">\n <StyledRoot placement={placement}>\n {notifications.map(({ id, isHidden, ...rest }) => (\n <StyledItemWrapper\n key={id}\n className={cx(\n isHidden ? classes.notificationItemHidden : classes.notificationItemOpened,\n placement === 'bottom-left' && classes.notificationLeftToRightAnimation,\n )}\n isHidden={isHidden || false}\n >\n <Notification\n key={id}\n id={id}\n onCloseButtonClick={() => closeNotification(id)}\n {...rest}\n />\n </StyledItemWrapper>\n ))}\n </StyledRoot>\n </StyledPopup>\n )}\n </PopupProvider>\n );\n};\n"],"names":["Popup","component","popupConfig","_exp","StyledPopup","styled","name","class","propsAsIs","NotificationsPortal","_ref","config","frame","_ref$placement","placement","_useStoreon","useStoreon","notifications","Notification","useMemo","React","createElement","PopupProvider","length","opened","zIndex","StyledRoot","map","_ref2","id","isHidden","rest","StyledItemWrapper","key","className","cx","classes","notificationItemHidden","notificationItemOpened","notificationLeftToRightAnimation","_extends","onCloseButtonClick","closeNotification"],"mappings":";;;;;;;;;;;;;;AAcA;AACA,IAAMA,KAAK,gBAAGC,SAAS,CAACC,WAAW,CAAC,CAAA;AAAC,IAAAC,IAAA,GAdnBA,SAcmBA,IAAAA,GAAA;AAAA,EAAA,OAEVH,KAAK,CAAA;AAAA,CAAA,CAAA;AAAhC,IAAMI,WAAW,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIzB,CAAA,CAAA;;AAED;AACA;AACA;IACaC,mBAAgD,GAAGA,SAAnDA,mBAAgDA,CAAAC,IAAA,EAAsD;AAAA,EAAA,IAAhDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAAC,cAAA,GAAAH,IAAA,CAAEI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,cAAA,GAAAA,cAAA,CAAA;AAC1F,EAAA,IAAAE,WAAA,GAA0BC,UAAU,CAA0C,eAAe,CAAC;IAAtFC,aAAAA,GAAAA,WAAAA,CAAAA,aAAAA,CAAAA;EAER,IAAMC,YAAY,GAAGC,OAAO,CACxB,YAAA;IAAA,OAAMlB,SAAS,CAACU,MAAM,CAAC,CAAA;GACvB,EAAA,EACJ,CAAC,CAAA;AAED,EAAA,oBACIS,KAAA,CAAAC,aAAA,CAACC,aAAa,QACTL,aAAa,CAACM,MAAM,GAAG,CAAC,iBACrBH,KAAA,CAAAC,aAAA,CAACjB,WAAW,EAAA;IAACoB,MAAM,EAAA,IAAA;AAACZ,IAAAA,KAAK,EAAEA,KAAM;AAACE,IAAAA,SAAS,EAAEA,SAAU;AAACW,IAAAA,MAAM,EAAC,MAAA;AAAM,GAAA,eACjEL,KAAA,CAAAC,aAAA,CAACK,UAAU,EAAA;AAACZ,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAC5BG,aAAa,CAACU,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;AAAKC,MAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,KAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAAAA,IAAAA,oBACnCX,KAAA,CAAAC,aAAA,CAACW,iBAAiB,EAAA;AACdC,MAAAA,GAAG,EAAEJ,EAAG;MACRK,SAAS,EAAEC,EAAE,CACTL,QAAQ,GAAGM,OAAO,CAACC,sBAAsB,GAAGD,OAAO,CAACE,sBAAsB,EAC1ExB,SAAS,KAAK,aAAa,IAAIsB,OAAO,CAACG,gCAC3C,CAAE;MACFT,QAAQ,EAAEA,QAAQ,IAAI,KAAA;AAAM,KAAA,eAE5BV,KAAA,CAAAC,aAAA,CAACH,YAAY,EAAAsB,QAAA,CAAA;AACTP,MAAAA,GAAG,EAAEJ,EAAG;AACRA,MAAAA,EAAE,EAAEA,EAAG;MACPY,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;QAAA,OAAMC,iBAAiB,CAACb,EAAE,CAAC,CAAA;AAAA,OAAA;KAC3CE,EAAAA,IAAI,CAAC,CAEE,CACtB,CAAA;GACO,CAAA,CACH,CAEN,CAAC,CAAA;AAExB;;;;"}
@@ -29,16 +29,16 @@
29
29
  .Button_styles_1sopr3d_s1rjh7ra__8219590b{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:var(--plasma-button-right-content-margin);-webkit-align-self:var(--plasma-button-right-content-align-self);-ms-flex-item-align:var(--plasma-button-right-content-align);align-self:var(--plasma-button-right-content-align-self);}
30
30
  .Button_styles_1sopr3d_b9ga1dj__8219590b{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma_private-btn-br:var(--plasma_computed-btn-br);border-radius:var(--plasma_private-btn-br);}a.Button_styles_1sopr3d_b9ga1dj__8219590b{-webkit-text-decoration:none;text-decoration:none;}.Button_styles_1sopr3d_b9ga1dj__8219590b.Button_styles_1sopr3d_b9ga1dj__8219590b.Button_styles_1sopr3d_buttonSquare__8219590b{width:var(--plasma-button-height);padding:0;}
31
31
 
32
- .Notification_styles_7h8hp0_sb12p__2b784e15{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}
33
- .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;}
34
- .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);}
35
- .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;}
36
- .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;}
37
- .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;}
38
- .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;}
39
- .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;}
40
- .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);}
41
- .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;}}
42
- .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;}
32
+ .Notification_styles_e6274r_sb12p__56467d3e{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;}
33
+ .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;}
34
+ .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);}
35
+ .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;}
36
+ .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;}
37
+ .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;}
38
+ .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;}
39
+ .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;}
40
+ .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);}
41
+ .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;}}
42
+ .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);}
43
43
 
44
44
  .NotificationsPortal_6417q6_s19gbs9t__4166aeb6 > .NotificationsPortal_6417q6_popupBaseRoot__4166aeb6{overflow:hidden;}
@@ -6,11 +6,13 @@ import { NotificationsPortal } from './NotificationsPortal.js';
6
6
  var NotificationsProvider = function NotificationsProvider(_ref) {
7
7
  var children = _ref.children,
8
8
  config = _ref.config,
9
- frame = _ref.frame;
9
+ frame = _ref.frame,
10
+ placement = _ref.placement;
10
11
  return /*#__PURE__*/React.createElement(StoreContext.Provider, {
11
12
  value: NotificationsStore
12
13
  }, children, /*#__PURE__*/React.createElement(NotificationsPortal, {
13
14
  frame: frame,
15
+ placement: placement,
14
16
  config: config
15
17
  }));
16
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsProvider.js","sources":["../../../src/components/Notification/NotificationsProvider.tsx"],"sourcesContent":["import React, { FC, ReactNode, RefAttributes } from 'react';\nimport { StoreContext } from 'storeon/react';\n\nimport { ComponentConfig } from '../../engines';\nimport { PropsType, Variants } from '../../engines/types';\n\nimport { NotificationsStore } from './NotificationsStore';\nimport { NotificationsPortal } from './NotificationsPortal';\nimport { NotificationProps } from './Notification.types';\n\nexport const NotificationsProvider: FC<{\n children: ReactNode;\n config: ComponentConfig<string, Variants, PropsType<Variants>, NotificationProps & RefAttributes<HTMLDivElement>>;\n frame?: string;\n}> = ({ children, config, frame }) => {\n return (\n <StoreContext.Provider value={NotificationsStore}>\n {children}\n <NotificationsPortal frame={frame} config={config} />\n </StoreContext.Provider>\n );\n};\n"],"names":["NotificationsProvider","_ref","children","config","frame","React","createElement","StoreContext","Provider","value","NotificationsStore","NotificationsPortal"],"mappings":";;;;;IAUaA,qBAIX,GAAG,SAJQA,qBAIXA,CAAAC,IAAA,EAAoC;AAAA,EAAA,IAA9BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAA;AAC3B,EAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,YAAY,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEC,kBAAAA;AAAmB,GAAA,EAC5CR,QAAQ,eACTG,KAAA,CAAAC,aAAA,CAACK,mBAAmB,EAAA;AAACP,IAAAA,KAAK,EAAEA,KAAM;AAACD,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAAE,CACjC,CAAC,CAAA;AAEhC;;;;"}
1
+ {"version":3,"file":"NotificationsProvider.js","sources":["../../../src/components/Notification/NotificationsProvider.tsx"],"sourcesContent":["import React, { FC, HTMLAttributes, ReactNode } from 'react';\nimport { StoreContext } from 'storeon/react';\n\nimport { ComponentConfig } from '../../engines';\nimport { PropsType, Variants } from '../../engines/types';\n\nimport { NotificationsStore } from './NotificationsStore';\nimport { NotificationsPortal } from './NotificationsPortal';\nimport { NotificationPlacement, NotificationProps } from './Notification.types';\n\nexport const NotificationsProvider: FC<{\n children: ReactNode;\n config: ComponentConfig<string, Variants, PropsType<Variants>, NotificationProps & HTMLAttributes<HTMLDivElement>>;\n frame?: string;\n placement?: NotificationPlacement;\n}> = ({ children, config, frame, placement }) => {\n return (\n <StoreContext.Provider value={NotificationsStore}>\n {children}\n <NotificationsPortal frame={frame} placement={placement} config={config} />\n </StoreContext.Provider>\n );\n};\n"],"names":["NotificationsProvider","_ref","children","config","frame","placement","React","createElement","StoreContext","Provider","value","NotificationsStore","NotificationsPortal"],"mappings":";;;;;IAUaA,qBAKX,GAAG,SALQA,qBAKXA,CAAAC,IAAA,EAA+C;AAAA,EAAA,IAAzCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,SAAS,GAAAJ,IAAA,CAATI,SAAS,CAAA;AACtC,EAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,YAAY,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEC,kBAAAA;AAAmB,GAAA,EAC5CT,QAAQ,eACTI,KAAA,CAAAC,aAAA,CAACK,mBAAmB,EAAA;AAACR,IAAAA,KAAK,EAAEA,KAAM;AAACC,IAAAA,SAAS,EAAEA,SAAU;AAACF,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAAE,CACvD,CAAC,CAAA;AAEhC;;;;"}
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.2-dev.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": "f357b83e7873a94eced779d35a1c7a0d43126702"
131
+ "gitHead": "419986de0e913650c852d4d31dc0ba98a192e03d"
132
132
  }
@@ -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", {
@@ -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
  };
@@ -5,6 +5,7 @@ import type { StoryObj, Meta } from '@storybook/react';
5
5
  import { Button } from '../Button/Button';
6
6
  import { Modal } from '../Modal/Modal';
7
7
  import {
8
+ NotificationPlacement,
8
9
  NotificationIconPlacement,
9
10
  NotificationLayout,
10
11
  addNotification,
@@ -20,6 +21,7 @@ const titles = ['Выполнено', 'Внимание', 'Ошибка'];
20
21
  const texts = ['SSH ключ успешно скопирован', 'Нельзя скопировать SSH ключ', 'Не удалось скопировать SSH ключ'];
21
22
  const size = ['xs', 'xxs'];
22
23
  const iconPlacement = ['top', 'left'];
24
+ const notificationsPlacements = ['bottom-right', 'bottom-left'];
23
25
 
24
26
  const longText = `JavaScript frameworks are an essential part of modern front-end web development,
25
27
  providing developers with proven tools for building scalable, interactive web applications.
@@ -49,6 +51,7 @@ interface StoryDefaultProps {
49
51
  layout: NotificationLayout;
50
52
  size: 'xs' | 'xxs';
51
53
  iconPlacement: NotificationIconPlacement;
54
+ placement?: NotificationPlacement;
52
55
  }
53
56
 
54
57
  const StoryDefault = ({ title, children, iconPlacement, size, layout, showLeftIcon, ...rest }: StoryDefaultProps) => {
@@ -111,9 +114,10 @@ type StoryLiveDemoProps = ComponentProps<typeof Notification> & {
111
114
  layout: NotificationLayout;
112
115
  size: 'xs' | 'xxs';
113
116
  iconPlacement: NotificationIconPlacement;
117
+ placement?: NotificationPlacement;
114
118
  };
115
119
 
116
- const StoryLiveDemo = ({ timeout, ...rest }: StoryLiveDemoProps) => {
120
+ const StoryLiveDemo = ({ timeout, placement, ...rest }: StoryLiveDemoProps) => {
117
121
  const count = useRef(0);
118
122
  const handleClick = useCallback(() => {
119
123
  addNotification({ icon: <IconDisclosureRight />, ...rest, ...getNotificationProps(count.current) }, timeout);
@@ -121,7 +125,7 @@ const StoryLiveDemo = ({ timeout, ...rest }: StoryLiveDemoProps) => {
121
125
  }, [count, rest]);
122
126
 
123
127
  return (
124
- <NotificationsProvider>
128
+ <NotificationsProvider placement={placement}>
125
129
  <Button text="Добавить уведомление" onClick={handleClick} />
126
130
  </NotificationsProvider>
127
131
  );
@@ -135,20 +139,28 @@ export const LiveDemo: StoryObj<StoryLiveDemoProps> = {
135
139
  type: 'select',
136
140
  },
137
141
  },
142
+ placement: {
143
+ options: notificationsPlacements,
144
+ control: {
145
+ type: 'select',
146
+ },
147
+ },
138
148
  },
139
149
  args: {
140
150
  timeout: 3000,
141
151
  role: 'alert',
142
152
  layout: 'vertical',
153
+ placement: 'bottom-right',
143
154
  },
144
155
  render: (args) => <StoryLiveDemo {...args} />,
145
156
  };
146
157
 
147
158
  type StoryWithModalProps = ComponentProps<typeof Notification> & {
148
159
  timeout: number;
160
+ placement?: NotificationPlacement;
149
161
  };
150
162
 
151
- const StoryWithModal = ({ timeout }: StoryWithModalProps) => {
163
+ const StoryWithModal = ({ timeout, placement }: StoryWithModalProps) => {
152
164
  const [isModalOpen, setIsModalOpen] = useState(false);
153
165
  const count = useRef(0);
154
166
  const handleClick = useCallback(() => {
@@ -157,7 +169,7 @@ const StoryWithModal = ({ timeout }: StoryWithModalProps) => {
157
169
  }, [count]);
158
170
 
159
171
  return (
160
- <NotificationsProvider>
172
+ <NotificationsProvider placement={placement}>
161
173
  <PopupProvider>
162
174
  <Button text="Open modal" onClick={() => setIsModalOpen(true)} />
163
175
  <Modal frame="theme-root" opened={isModalOpen} onClose={() => setIsModalOpen(false)}>
@@ -172,6 +184,15 @@ const StoryWithModal = ({ timeout }: StoryWithModalProps) => {
172
184
  export const WithModal: StoryObj<StoryLiveDemoProps> = {
173
185
  args: {
174
186
  timeout: 3500,
187
+ placement: 'bottom-right',
188
+ },
189
+ argTypes: {
190
+ placement: {
191
+ options: notificationsPlacements,
192
+ control: {
193
+ type: 'select',
194
+ },
195
+ },
175
196
  },
176
197
  render: (args) => <StoryWithModal {...args} />,
177
198
  };
@@ -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
  };