@salutejs/plasma-new-hope 0.137.0-dev.0 → 0.137.1-canary.1411.10666649424.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,7 +22,7 @@ var usePopupContext = function usePopupContext() {
22
22
  };
23
23
  var PopupProvider = function PopupProvider(_ref) {
24
24
  var children = _ref.children;
25
- var prevBodyOverflowY = React.useRef(document.body.style.overflowY);
25
+ var prevBodyOverflowY = React.useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');
26
26
  var _useState = React.useState([]),
27
27
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
28
28
  items = _useState2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useEffect, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\n\nimport { hasModals } from '../Modal/ModalContext';\n\nimport type { PopupContextType, PopupInfo } from './Popup.types';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst items: PopupInfo[] = [];\n\nconst PopupContext = createContext<PopupContextType>({\n items,\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\nexport const PopupProvider: FC<PropsWithChildren> = ({ children }) => {\n const prevBodyOverflowY = useRef(document.body.style.overflowY);\n const [items, setItems] = useState<PopupInfo[]>([]);\n\n const register = (info: PopupInfo) => {\n setItems((prevItems) => {\n if (info.info?.isModal && !hasModals(prevItems)) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n return [...prevItems, info];\n });\n };\n\n const unregister = (id: string) => {\n setItems((prevItems) => {\n const index = prevItems.findIndex((item: PopupInfo) => id === item.id);\n\n if (index === -1) {\n return prevItems;\n }\n\n const prevHasModals = hasModals(prevItems);\n prevItems.splice(index, 1);\n\n if (prevHasModals && !hasModals(prevItems)) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n // при return prevItems не обновится контекст\n return [...prevItems];\n });\n };\n\n const context = {\n items,\n register,\n unregister,\n };\n\n useEffect(() => {\n return () => {\n const portal = document.createElement('div');\n if (portal && document.body.contains(portal)) {\n document.body.removeChild(portal);\n }\n };\n }, []);\n\n return <PopupContext.Provider value={context}>{children}</PopupContext.Provider>;\n};\n"],"names":["POPUP_PORTAL_ID","items","PopupContext","createContext","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","_ref","children","prevBodyOverflowY","useRef","document","body","style","overflowY","_useState","useState","_useState2","_slicedToArray","setItems","info","prevItems","_info$info","isModal","hasModals","current","concat","_toConsumableArray","id","index","findIndex","item","prevHasModals","splice","context","useEffect","portal","createElement","contains","removeChild","React","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useEffect, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\n\nimport { hasModals } from '../Modal/ModalContext';\n\nimport type { PopupContextType, PopupInfo } from './Popup.types';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst items: PopupInfo[] = [];\n\nconst PopupContext = createContext<PopupContextType>({\n items,\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\nexport const PopupProvider: FC<PropsWithChildren> = ({ children }) => {\n const prevBodyOverflowY = useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');\n const [items, setItems] = useState<PopupInfo[]>([]);\n\n const register = (info: PopupInfo) => {\n setItems((prevItems) => {\n if (info.info?.isModal && !hasModals(prevItems)) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n return [...prevItems, info];\n });\n };\n\n const unregister = (id: string) => {\n setItems((prevItems) => {\n const index = prevItems.findIndex((item: PopupInfo) => id === item.id);\n\n if (index === -1) {\n return prevItems;\n }\n\n const prevHasModals = hasModals(prevItems);\n prevItems.splice(index, 1);\n\n if (prevHasModals && !hasModals(prevItems)) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n // при return prevItems не обновится контекст\n return [...prevItems];\n });\n };\n\n const context = {\n items,\n register,\n unregister,\n };\n\n useEffect(() => {\n return () => {\n const portal = document.createElement('div');\n if (portal && document.body.contains(portal)) {\n document.body.removeChild(portal);\n }\n };\n }, []);\n\n return <PopupContext.Provider value={context}>{children}</PopupContext.Provider>;\n};\n"],"names":["POPUP_PORTAL_ID","items","PopupContext","createContext","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","_ref","children","prevBodyOverflowY","useRef","document","body","style","overflowY","_useState","useState","_useState2","_slicedToArray","setItems","info","prevItems","_info$info","isModal","hasModals","current","concat","_toConsumableArray","id","index","findIndex","item","prevHasModals","splice","context","useEffect","portal","createElement","contains","removeChild","React","Provider","value"],"mappings":"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"}
@@ -35,7 +35,7 @@ var usePopupContext = exports.usePopupContext = function usePopupContext() {
35
35
  };
36
36
  var PopupProvider = exports.PopupProvider = function PopupProvider(_ref) {
37
37
  var children = _ref.children;
38
- var prevBodyOverflowY = (0, _react.useRef)(document.body.style.overflowY);
38
+ var prevBodyOverflowY = (0, _react.useRef)(typeof document !== 'undefined' ? document.body.style.overflowY : '');
39
39
  var _useState = (0, _react.useState)([]),
40
40
  _useState2 = _slicedToArray(_useState, 2),
41
41
  items = _useState2[0],
@@ -26,7 +26,7 @@ export var usePopupContext = function usePopupContext() {
26
26
  };
27
27
  export var PopupProvider = function PopupProvider(_ref) {
28
28
  var children = _ref.children;
29
- var prevBodyOverflowY = useRef(document.body.style.overflowY);
29
+ var prevBodyOverflowY = useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');
30
30
  var _useState = useState([]),
31
31
  _useState2 = _slicedToArray(_useState, 2),
32
32
  items = _useState2[0],
@@ -18,7 +18,7 @@ var usePopupContext = function usePopupContext() {
18
18
  };
19
19
  var PopupProvider = function PopupProvider(_ref) {
20
20
  var children = _ref.children;
21
- var prevBodyOverflowY = useRef(document.body.style.overflowY);
21
+ var prevBodyOverflowY = useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');
22
22
  var _useState = useState([]),
23
23
  _useState2 = _slicedToArray(_useState, 2),
24
24
  items = _useState2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useEffect, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\n\nimport { hasModals } from '../Modal/ModalContext';\n\nimport type { PopupContextType, PopupInfo } from './Popup.types';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst items: PopupInfo[] = [];\n\nconst PopupContext = createContext<PopupContextType>({\n items,\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\nexport const PopupProvider: FC<PropsWithChildren> = ({ children }) => {\n const prevBodyOverflowY = useRef(document.body.style.overflowY);\n const [items, setItems] = useState<PopupInfo[]>([]);\n\n const register = (info: PopupInfo) => {\n setItems((prevItems) => {\n if (info.info?.isModal && !hasModals(prevItems)) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n return [...prevItems, info];\n });\n };\n\n const unregister = (id: string) => {\n setItems((prevItems) => {\n const index = prevItems.findIndex((item: PopupInfo) => id === item.id);\n\n if (index === -1) {\n return prevItems;\n }\n\n const prevHasModals = hasModals(prevItems);\n prevItems.splice(index, 1);\n\n if (prevHasModals && !hasModals(prevItems)) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n // при return prevItems не обновится контекст\n return [...prevItems];\n });\n };\n\n const context = {\n items,\n register,\n unregister,\n };\n\n useEffect(() => {\n return () => {\n const portal = document.createElement('div');\n if (portal && document.body.contains(portal)) {\n document.body.removeChild(portal);\n }\n };\n }, []);\n\n return <PopupContext.Provider value={context}>{children}</PopupContext.Provider>;\n};\n"],"names":["POPUP_PORTAL_ID","items","PopupContext","createContext","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","_ref","children","prevBodyOverflowY","useRef","document","body","style","overflowY","_useState","useState","_useState2","_slicedToArray","setItems","info","prevItems","_info$info","isModal","hasModals","current","concat","_toConsumableArray","id","index","findIndex","item","prevHasModals","splice","context","useEffect","portal","createElement","contains","removeChild","React","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"PopupContext.js","sources":["../../../src/components/Popup/PopupContext.tsx"],"sourcesContent":["import React, { createContext, useEffect, useState, useContext, FC, PropsWithChildren, useRef } from 'react';\n\nimport { hasModals } from '../Modal/ModalContext';\n\nimport type { PopupContextType, PopupInfo } from './Popup.types';\n\nexport const POPUP_PORTAL_ID = 'plasma-popup-root';\n\nconst items: PopupInfo[] = [];\n\nconst PopupContext = createContext<PopupContextType>({\n items,\n register(_info: PopupInfo): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n unregister(_id: string): void {\n throw new Error('Function not implemented. Add PopupProvider');\n },\n});\n\nexport const usePopupContext = () => useContext(PopupContext);\n\nexport const PopupProvider: FC<PropsWithChildren> = ({ children }) => {\n const prevBodyOverflowY = useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');\n const [items, setItems] = useState<PopupInfo[]>([]);\n\n const register = (info: PopupInfo) => {\n setItems((prevItems) => {\n if (info.info?.isModal && !hasModals(prevItems)) {\n prevBodyOverflowY.current = document.body.style.overflowY;\n document.body.style.overflowY = 'hidden';\n }\n\n return [...prevItems, info];\n });\n };\n\n const unregister = (id: string) => {\n setItems((prevItems) => {\n const index = prevItems.findIndex((item: PopupInfo) => id === item.id);\n\n if (index === -1) {\n return prevItems;\n }\n\n const prevHasModals = hasModals(prevItems);\n prevItems.splice(index, 1);\n\n if (prevHasModals && !hasModals(prevItems)) {\n document.body.style.overflowY = prevBodyOverflowY.current;\n }\n\n // при return prevItems не обновится контекст\n return [...prevItems];\n });\n };\n\n const context = {\n items,\n register,\n unregister,\n };\n\n useEffect(() => {\n return () => {\n const portal = document.createElement('div');\n if (portal && document.body.contains(portal)) {\n document.body.removeChild(portal);\n }\n };\n }, []);\n\n return <PopupContext.Provider value={context}>{children}</PopupContext.Provider>;\n};\n"],"names":["POPUP_PORTAL_ID","items","PopupContext","createContext","register","_info","Error","unregister","_id","usePopupContext","useContext","PopupProvider","_ref","children","prevBodyOverflowY","useRef","document","body","style","overflowY","_useState","useState","_useState2","_slicedToArray","setItems","info","prevItems","_info$info","isModal","hasModals","current","concat","_toConsumableArray","id","index","findIndex","item","prevHasModals","splice","context","useEffect","portal","createElement","contains","removeChild","React","Provider","value"],"mappings":";;;;AAMO,IAAMA,eAAe,GAAG,oBAAmB;AAElD,IAAMC,KAAkB,GAAG,EAAE,CAAA;AAE7B,IAAMC,YAAY,gBAAGC,aAAa,CAAmB;AACjDF,EAAAA,KAAK,EAALA,KAAK;EACLG,QAAQ,EAAA,SAAAA,QAACC,CAAAA,KAAgB,EAAQ;AAC7B,IAAA,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC,CAAA;GACjE;EACDC,UAAU,EAAA,SAAAA,UAACC,CAAAA,GAAW,EAAQ;AAC1B,IAAA,MAAM,IAAIF,KAAK,CAAC,6CAA6C,CAAC,CAAA;AAClE,GAAA;AACJ,CAAC,CAAC,CAAA;AAEWG,IAAAA,eAAe,GAAG,SAAlBA,eAAeA,GAAA;EAAA,OAASC,UAAU,CAACR,YAAY,CAAC,CAAA;AAAA,EAAA;IAEhDS,aAAoC,GAAG,SAAvCA,aAAoCA,CAAAC,IAAA,EAAqB;AAAA,EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAC3D,EAAA,IAAMC,iBAAiB,GAAGC,MAAM,CAAC,OAAOC,QAAQ,KAAK,WAAW,GAAGA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,EAAE,CAAC,CAAA;AACtG,EAAA,IAAAC,SAAA,GAA0BC,QAAQ,CAAc,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5CnB,IAAAA,KAAK,GAAAqB,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,IAAMlB,QAAQ,GAAG,SAAXA,QAAQA,CAAIqB,IAAe,EAAK;IAClCD,QAAQ,CAAC,UAACE,SAAS,EAAK;AAAA,MAAA,IAAAC,UAAA,CAAA;AACpB,MAAA,IAAI,CAAAA,UAAA,GAAAF,IAAI,CAACA,IAAI,cAAAE,UAAA,KAAA,KAAA,CAAA,IAATA,UAAA,CAAWC,OAAO,IAAI,CAACC,SAAS,CAACH,SAAS,CAAC,EAAE;QAC7CZ,iBAAiB,CAACgB,OAAO,GAAGd,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,CAAA;AACzDH,QAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAG,QAAQ,CAAA;AAC5C,OAAA;AAEA,MAAA,OAAA,EAAA,CAAAY,MAAA,CAAAC,kBAAA,CAAWN,SAAS,IAAED,IAAI,CAAA,CAAA,CAAA;AAC9B,KAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAMlB,UAAU,GAAG,SAAbA,UAAUA,CAAI0B,EAAU,EAAK;IAC/BT,QAAQ,CAAC,UAACE,SAAS,EAAK;AACpB,MAAA,IAAMQ,KAAK,GAAGR,SAAS,CAACS,SAAS,CAAC,UAACC,IAAe,EAAA;AAAA,QAAA,OAAKH,EAAE,KAAKG,IAAI,CAACH,EAAE,CAAA;OAAC,CAAA,CAAA;AAEtE,MAAA,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE;AACd,QAAA,OAAOR,SAAS,CAAA;AACpB,OAAA;AAEA,MAAA,IAAMW,aAAa,GAAGR,SAAS,CAACH,SAAS,CAAC,CAAA;AAC1CA,MAAAA,SAAS,CAACY,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC,CAAA;AAE1B,MAAA,IAAIG,aAAa,IAAI,CAACR,SAAS,CAACH,SAAS,CAAC,EAAE;QACxCV,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,SAAS,GAAGL,iBAAiB,CAACgB,OAAO,CAAA;AAC7D,OAAA;;AAEA;MACA,OAAAE,kBAAA,CAAWN,SAAS,CAAA,CAAA;AACxB,KAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAMa,OAAO,GAAG;AACZtC,IAAAA,KAAK,EAALA,KAAK;AACLG,IAAAA,QAAQ,EAARA,QAAQ;AACRG,IAAAA,UAAU,EAAVA,UAAAA;GACH,CAAA;AAEDiC,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,OAAO,YAAM;AACT,MAAA,IAAMC,MAAM,GAAGzB,QAAQ,CAAC0B,aAAa,CAAC,KAAK,CAAC,CAAA;MAC5C,IAAID,MAAM,IAAIzB,QAAQ,CAACC,IAAI,CAAC0B,QAAQ,CAACF,MAAM,CAAC,EAAE;AAC1CzB,QAAAA,QAAQ,CAACC,IAAI,CAAC2B,WAAW,CAACH,MAAM,CAAC,CAAA;AACrC,OAAA;KACH,CAAA;GACJ,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBAAOI,KAAA,CAAAH,aAAA,CAACxC,YAAY,CAAC4C,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAER,OAAAA;AAAQ,GAAA,EAAE1B,QAAgC,CAAC,CAAA;AACpF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.137.0-dev.0",
3
+ "version": "0.137.1-canary.1411.10666649424.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -118,5 +118,5 @@
118
118
  "react-popper": "2.3.0",
119
119
  "storeon": "3.1.5"
120
120
  },
121
- "gitHead": "0202d553be86c4400399510545f7dd6d34a70a41"
121
+ "gitHead": "583ad1514d2326d600ff90fea4d0c63ad707641c"
122
122
  }
@@ -35,7 +35,7 @@ var usePopupContext = exports.usePopupContext = function usePopupContext() {
35
35
  };
36
36
  var PopupProvider = exports.PopupProvider = function PopupProvider(_ref) {
37
37
  var children = _ref.children;
38
- var prevBodyOverflowY = (0, _react.useRef)(document.body.style.overflowY);
38
+ var prevBodyOverflowY = (0, _react.useRef)(typeof document !== 'undefined' ? document.body.style.overflowY : '');
39
39
  var _useState = (0, _react.useState)([]),
40
40
  _useState2 = _slicedToArray(_useState, 2),
41
41
  items = _useState2[0],
@@ -26,7 +26,7 @@ export var usePopupContext = function usePopupContext() {
26
26
  };
27
27
  export var PopupProvider = function PopupProvider(_ref) {
28
28
  var children = _ref.children;
29
- var prevBodyOverflowY = useRef(document.body.style.overflowY);
29
+ var prevBodyOverflowY = useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');
30
30
  var _useState = useState([]),
31
31
  _useState2 = _slicedToArray(_useState, 2),
32
32
  items = _useState2[0],