@salutejs/plasma-new-hope 0.248.1-dev.0 → 0.248.2-canary.1712.12992290184.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,9 +24,7 @@ var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
24
24
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
25
25
  var _useToastInner = ToastProvider.useToastInner(),
26
26
  hideToast = _useToastInner.hideToast,
27
- isVisible = _useToastInner.isVisible,
28
- hideTimeout = _useToastInner.hideTimeout,
29
- animationRunTimeout = _useToastInner.animationRunTimeout;
27
+ isVisible = _useToastInner.isVisible;
30
28
  var toastKey = "".concat(text).concat(position);
31
29
  var showedClass = isVisible ? Toast_tokens.classes.toastShowed : Toast_tokens.classes.toastHidden;
32
30
  var showedFadeClass = isVisible ? Toast_tokens.classes.toastFadeShowed : Toast_tokens.classes.toastFadeHidden;
@@ -34,16 +32,6 @@ var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
34
32
  text: text,
35
33
  onCloseButtonClick: hideToast
36
34
  }, rest);
37
- React.useEffect(function () {
38
- return function () {
39
- if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
40
- clearTimeout(hideTimeout.current);
41
- }
42
- if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
43
- clearTimeout(animationRunTimeout.current);
44
- }
45
- };
46
- }, []);
47
35
  if (!text) {
48
36
  return null;
49
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToastController.js","sources":["../../../src/components/Toast/ToastController.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type { FC } from 'react';\n\nimport { classes } from './Toast.tokens';\nimport { ToastControllerProps, ToastProps } from './Toast.types';\nimport { StyledOverlay, StyledRoot } from './Toast.styles';\nimport { useToastInner } from './ToastProvider';\nimport { FADE_Z_INDEX, gradients } from './utils';\n\nexport const ToastControllerHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastController(props: ToastControllerProps) {\n const { position = 'bottom', offset, fade, text, ...rest } = props;\n\n const { hideToast, isVisible, hideTimeout, animationRunTimeout } = useToastInner();\n const toastKey = `${text}${position}`;\n\n const showedClass = isVisible ? classes.toastShowed : classes.toastHidden;\n const showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;\n\n const toastProps = {\n text,\n onCloseButtonClick: hideToast,\n ...rest,\n } as T;\n\n useEffect(() => {\n return () => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n }\n if (animationRunTimeout?.current) {\n clearTimeout(animationRunTimeout.current);\n }\n };\n }, []);\n\n if (!text) {\n return null;\n }\n\n return (\n <>\n {fade && (\n <StyledOverlay\n className={showedFadeClass}\n zIndex={FADE_Z_INDEX}\n backgroundColorProperty={gradients[position]}\n isClickable={false}\n />\n )}\n <StyledRoot\n key={toastKey}\n position={position}\n offset={offset}\n isVisible={isVisible}\n className={showedClass}\n >\n <ToastComponent {...toastProps} />\n </StyledRoot>\n </>\n );\n };\n"],"names":["ToastControllerHoc","ToastComponent","ToastController","props","_props$position","position","offset","fade","text","rest","_objectWithoutProperties","_excluded","_useToastInner","useToastInner","hideToast","isVisible","hideTimeout","animationRunTimeout","toastKey","concat","showedClass","classes","toastShowed","toastHidden","showedFadeClass","toastFadeShowed","toastFadeHidden","toastProps","_objectSpread","onCloseButtonClick","useEffect","current","clearTimeout","React","createElement","Fragment","StyledOverlay","className","zIndex","FADE_Z_INDEX","backgroundColorProperty","gradients","isClickable","StyledRoot","key"],"mappings":";;;;;;;;;;;;;;;;IASaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAA0BC,cAAqB,EAAA;AAAA,EAAA,OAC1E,SAASC,eAAeA,CAACC,KAA2B,EAAE;AAClD,IAAA,IAAAC,eAAA,GAA6DD,KAAK,CAA1DE,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA;MAAEE,MAAM,GAA0BH,KAAK,CAArCG,MAAM;MAAEC,IAAI,GAAoBJ,KAAK,CAA7BI,IAAI;MAAEC,IAAI,GAAcL,KAAK,CAAvBK,IAAI;AAAKC,MAAAA,IAAI,GAAAC,iDAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAElE,IAAA,IAAAC,cAAA,GAAmEC,2BAAa,EAAE;MAA1EC,SAAS,GAAAF,cAAA,CAATE,SAAS;MAAEC,SAAS,GAAAH,cAAA,CAATG,SAAS;MAAEC,WAAW,GAAAJ,cAAA,CAAXI,WAAW;MAAEC,mBAAmB,GAAAL,cAAA,CAAnBK,mBAAmB,CAAA;IAC9D,IAAMC,QAAQ,MAAAC,MAAA,CAAMX,IAAI,CAAAW,CAAAA,MAAA,CAAGd,QAAQ,CAAE,CAAA;IAErC,IAAMe,WAAW,GAAGL,SAAS,GAAGM,oBAAO,CAACC,WAAW,GAAGD,oBAAO,CAACE,WAAW,CAAA;IACzE,IAAMC,eAAe,GAAGT,SAAS,GAAGM,oBAAO,CAACI,eAAe,GAAGJ,oBAAO,CAACK,eAAe,CAAA;IAErF,IAAMC,UAAU,GAAAC,uCAAA,CAAA;AACZpB,MAAAA,IAAI,EAAJA,IAAI;AACJqB,MAAAA,kBAAkB,EAAEf,SAAAA;AAAS,KAAA,EAC1BL,IAAI,CACL,CAAA;AAENqB,IAAAA,eAAS,CAAC,YAAM;AACZ,MAAA,OAAO,YAAM;AACT,QAAA,IAAId,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEe,OAAO,EAAE;AACtBC,UAAAA,YAAY,CAAChB,WAAW,CAACe,OAAO,CAAC,CAAA;AACrC,SAAA;AACA,QAAA,IAAId,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,eAAnBA,mBAAmB,CAAEc,OAAO,EAAE;AAC9BC,UAAAA,YAAY,CAACf,mBAAmB,CAACc,OAAO,CAAC,CAAA;AAC7C,SAAA;OACH,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,CAACvB,IAAI,EAAE;AACP,MAAA,OAAO,IAAI,CAAA;AACf,KAAA;AAEA,IAAA,oBACIyB,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAE,QAAA,EACK5B,IAAAA,EAAAA,IAAI,iBACD0B,sBAAA,CAAAC,aAAA,CAACE,0BAAa,EAAA;AACVC,MAAAA,SAAS,EAAEb,eAAgB;AAC3Bc,MAAAA,MAAM,EAAEC,kBAAa;AACrBC,MAAAA,uBAAuB,EAAEC,eAAS,CAACpC,QAAQ,CAAE;AAC7CqC,MAAAA,WAAW,EAAE,KAAA;AAAM,KACtB,CACJ,eACDT,sBAAA,CAAAC,aAAA,CAACS,uBAAU,EAAA;AACPC,MAAAA,GAAG,EAAE1B,QAAS;AACdb,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,MAAM,EAAEA,MAAO;AACfS,MAAAA,SAAS,EAAEA,SAAU;AACrBsB,MAAAA,SAAS,EAAEjB,WAAAA;KAEXa,eAAAA,sBAAA,CAAAC,aAAA,CAACjC,cAAc,EAAK0B,UAAa,CACzB,CACd,CAAC,CAAA;GAEV,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"ToastController.js","sources":["../../../src/components/Toast/ToastController.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\n\nimport { classes } from './Toast.tokens';\nimport { ToastControllerProps, ToastProps } from './Toast.types';\nimport { StyledOverlay, StyledRoot } from './Toast.styles';\nimport { useToastInner } from './ToastProvider';\nimport { FADE_Z_INDEX, gradients } from './utils';\n\nexport const ToastControllerHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastController(props: ToastControllerProps) {\n const { position = 'bottom', offset, fade, text, ...rest } = props;\n\n const { hideToast, isVisible } = useToastInner();\n const toastKey = `${text}${position}`;\n\n const showedClass = isVisible ? classes.toastShowed : classes.toastHidden;\n const showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;\n\n const toastProps = {\n text,\n onCloseButtonClick: hideToast,\n ...rest,\n } as T;\n\n if (!text) {\n return null;\n }\n\n return (\n <>\n {fade && (\n <StyledOverlay\n className={showedFadeClass}\n zIndex={FADE_Z_INDEX}\n backgroundColorProperty={gradients[position]}\n isClickable={false}\n />\n )}\n <StyledRoot\n key={toastKey}\n position={position}\n offset={offset}\n isVisible={isVisible}\n className={showedClass}\n >\n <ToastComponent {...toastProps} />\n </StyledRoot>\n </>\n );\n };\n"],"names":["ToastControllerHoc","ToastComponent","ToastController","props","_props$position","position","offset","fade","text","rest","_objectWithoutProperties","_excluded","_useToastInner","useToastInner","hideToast","isVisible","toastKey","concat","showedClass","classes","toastShowed","toastHidden","showedFadeClass","toastFadeShowed","toastFadeHidden","toastProps","_objectSpread","onCloseButtonClick","React","createElement","Fragment","StyledOverlay","className","zIndex","FADE_Z_INDEX","backgroundColorProperty","gradients","isClickable","StyledRoot","key"],"mappings":";;;;;;;;;;;;;;;;IASaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAA0BC,cAAqB,EAAA;AAAA,EAAA,OAC1E,SAASC,eAAeA,CAACC,KAA2B,EAAE;AAClD,IAAA,IAAAC,eAAA,GAA6DD,KAAK,CAA1DE,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA;MAAEE,MAAM,GAA0BH,KAAK,CAArCG,MAAM;MAAEC,IAAI,GAAoBJ,KAAK,CAA7BI,IAAI;MAAEC,IAAI,GAAcL,KAAK,CAAvBK,IAAI;AAAKC,MAAAA,IAAI,GAAAC,iDAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAElE,IAAA,IAAAC,cAAA,GAAiCC,2BAAa,EAAE;MAAxCC,SAAS,GAAAF,cAAA,CAATE,SAAS;MAAEC,SAAS,GAAAH,cAAA,CAATG,SAAS,CAAA;IAC5B,IAAMC,QAAQ,MAAAC,MAAA,CAAMT,IAAI,CAAAS,CAAAA,MAAA,CAAGZ,QAAQ,CAAE,CAAA;IAErC,IAAMa,WAAW,GAAGH,SAAS,GAAGI,oBAAO,CAACC,WAAW,GAAGD,oBAAO,CAACE,WAAW,CAAA;IACzE,IAAMC,eAAe,GAAGP,SAAS,GAAGI,oBAAO,CAACI,eAAe,GAAGJ,oBAAO,CAACK,eAAe,CAAA;IAErF,IAAMC,UAAU,GAAAC,uCAAA,CAAA;AACZlB,MAAAA,IAAI,EAAJA,IAAI;AACJmB,MAAAA,kBAAkB,EAAEb,SAAAA;AAAS,KAAA,EAC1BL,IAAI,CACL,CAAA;IAEN,IAAI,CAACD,IAAI,EAAE;AACP,MAAA,OAAO,IAAI,CAAA;AACf,KAAA;AAEA,IAAA,oBACIoB,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAE,QAAA,EACKvB,IAAAA,EAAAA,IAAI,iBACDqB,sBAAA,CAAAC,aAAA,CAACE,0BAAa,EAAA;AACVC,MAAAA,SAAS,EAAEV,eAAgB;AAC3BW,MAAAA,MAAM,EAAEC,kBAAa;AACrBC,MAAAA,uBAAuB,EAAEC,eAAS,CAAC/B,QAAQ,CAAE;AAC7CgC,MAAAA,WAAW,EAAE,KAAA;AAAM,KACtB,CACJ,eACDT,sBAAA,CAAAC,aAAA,CAACS,uBAAU,EAAA;AACPC,MAAAA,GAAG,EAAEvB,QAAS;AACdX,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,MAAM,EAAEA,MAAO;AACfS,MAAAA,SAAS,EAAEA,SAAU;AACrBiB,MAAAA,SAAS,EAAEd,WAAAA;KAEXU,eAAAA,sBAAA,CAAAC,aAAA,CAAC5B,cAAc,EAAKwB,UAAa,CACzB,CACd,CAAC,CAAA;GAEV,CAAA;AAAA;;;;"}
@@ -148,13 +148,13 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
148
148
  var onHide = toastInfo.onHide,
149
149
  timeout = toastInfo.timeout;
150
150
  var hideToast = React.useCallback(function () {
151
- if (!isVisible) {
152
- return;
153
- }
154
151
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
155
152
  clearTimeout(hideTimeout.current);
156
153
  hideTimeout.current = null;
157
154
  }
155
+ if (!isVisible) {
156
+ return;
157
+ }
158
158
  onHide === null || onHide === void 0 || onHide();
159
159
  setIsVisible(false);
160
160
  animationRunTimeout.current = setTimeout(function () {
@@ -167,6 +167,11 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
167
167
  clearTimeout(animationRunTimeout.current);
168
168
  animationRunTimeout.current = null;
169
169
  }
170
+ return function () {
171
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
172
+ clearTimeout(animationRunTimeout.current);
173
+ }
174
+ };
170
175
  }, [timeout]);
171
176
  React.useEffect(function () {
172
177
  if (timeout && isVisible) {
@@ -174,6 +179,12 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
174
179
  hideToast();
175
180
  }, timeout);
176
181
  }
182
+ return function () {
183
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
184
+ clearTimeout(hideTimeout.current);
185
+ hideTimeout.current = null;
186
+ }
187
+ };
177
188
  }, [isVisible, timeout]);
178
189
  return /*#__PURE__*/React__default.default.createElement(ToastContext.Provider, {
179
190
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ReactNode, FC } from 'react';\n\nimport type { CustomToastProps, ToastControllerProps, ToastProps } from '../Toast.types';\nimport { DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';\n\nimport type { ShowToast, ShowToastArgs, ShowToastCallSignature, ToastContextType } from './ToastProvider.types';\n\nexport const ToastContext = createContext<ToastContextType | null>(null);\n\nexport const useToastInner = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nexport const useToast = () => {\n const { showToast, hideToast } = useToastInner();\n return { showToast, hideToast };\n};\n\nconst initialToastData = {\n text: undefined,\n offset: undefined,\n position: DEFAULT_POSITION,\n fade: DEFAULT_FADE,\n timeout: undefined,\n contentLeft: undefined,\n role: undefined,\n pilled: undefined,\n hasClose: undefined,\n width: undefined,\n size: 'm',\n view: 'primary',\n} as CustomToastProps;\n\nconst getShowToastCallSignature = (args: ShowToastCallSignature) => {\n if (typeof args[0] === 'object' && 'text' in args[0]) {\n return args[0];\n }\n\n // TODO: issue https://github.com/salute-developers/plasma/issues/333\n const [text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view] = args;\n\n return { text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view };\n};\n\nexport const ToastProviderHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastProvider({ children }: { children: ReactNode }) {\n const [isVisible, setIsVisible] = useState(false);\n const [isHidden, setIsHidden] = useState(true);\n const hideTimeout = useRef<number | null>(null);\n const animationRunTimeout = useRef<number | null>(null);\n\n const [toastProps, setToastProps] = useState<ToastControllerProps>(initialToastData);\n const [toastInfo, setToastInfo] = useState<Pick<ShowToastArgs, 'timeout' | 'onHide'>>({\n timeout: undefined,\n onHide: undefined,\n });\n\n const showToastCallback: ShowToast = (...args: ShowToastCallSignature) => {\n if (isVisible) {\n return;\n }\n\n const {\n text,\n offset,\n position = DEFAULT_POSITION,\n fade = DEFAULT_FADE,\n timeout,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n width,\n onHide,\n onShow,\n } = getShowToastCallSignature(args);\n\n setToastProps({\n text,\n width,\n position,\n offset,\n fade,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n });\n\n setToastInfo({ timeout, onHide });\n\n setIsHidden(false);\n setIsVisible(true);\n onShow?.();\n };\n\n const showToast = useCallback(showToastCallback, []);\n\n const { onHide, timeout } = toastInfo;\n\n const hideToast = useCallback(() => {\n if (!isVisible) {\n return;\n }\n\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n\n onHide?.();\n setIsVisible(false);\n\n animationRunTimeout.current = setTimeout(() => {\n setIsHidden(true);\n setToastProps(initialToastData);\n }, TIMER_DELAY);\n }, [onHide, isVisible, isHidden]);\n\n useEffect(() => {\n if (timeout === null && animationRunTimeout.current !== null) {\n clearTimeout(animationRunTimeout.current);\n animationRunTimeout.current = null;\n }\n }, [timeout]);\n\n useEffect(() => {\n if (timeout && isVisible) {\n hideTimeout.current = setTimeout(() => {\n hideToast();\n }, timeout);\n }\n }, [isVisible, timeout]);\n\n return (\n <ToastContext.Provider value={{ showToast, hideToast, isVisible, hideTimeout, animationRunTimeout }}>\n {children}\n {!isHidden && <ToastComponent {...(toastProps as T)} />}\n </ToastContext.Provider>\n );\n };\n"],"names":["ToastContext","createContext","useToastInner","context","useContext","Error","useToast","_useToastInner","showToast","hideToast","initialToastData","text","undefined","offset","position","DEFAULT_POSITION","fade","DEFAULT_FADE","timeout","contentLeft","role","pilled","hasClose","width","size","view","getShowToastCallSignature","args","_typeof","_args","_slicedToArray","ToastProviderHoc","ToastComponent","ToastProvider","_ref","children","_useState","useState","_useState2","isVisible","setIsVisible","_useState3","_useState4","isHidden","setIsHidden","hideTimeout","useRef","animationRunTimeout","_useState5","_useState6","toastProps","setToastProps","_useState7","onHide","_useState8","toastInfo","setToastInfo","showToastCallback","_len","arguments","length","Array","_key","_getShowToastCallSign","_getShowToastCallSign2","_getShowToastCallSign3","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ReactNode, FC } from 'react';\n\nimport type { CustomToastProps, ToastControllerProps, ToastProps } from '../Toast.types';\nimport { DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';\n\nimport type { ShowToast, ShowToastArgs, ShowToastCallSignature, ToastContextType } from './ToastProvider.types';\n\nexport const ToastContext = createContext<ToastContextType | null>(null);\n\nexport const useToastInner = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nexport const useToast = () => {\n const { showToast, hideToast } = useToastInner();\n return { showToast, hideToast };\n};\n\nconst initialToastData = {\n text: undefined,\n offset: undefined,\n position: DEFAULT_POSITION,\n fade: DEFAULT_FADE,\n timeout: undefined,\n contentLeft: undefined,\n role: undefined,\n pilled: undefined,\n hasClose: undefined,\n width: undefined,\n size: 'm',\n view: 'primary',\n} as CustomToastProps;\n\nconst getShowToastCallSignature = (args: ShowToastCallSignature) => {\n if (typeof args[0] === 'object' && 'text' in args[0]) {\n return args[0];\n }\n\n // TODO: issue https://github.com/salute-developers/plasma/issues/333\n const [text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view] = args;\n\n return { text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view };\n};\n\nexport const ToastProviderHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastProvider({ children }: { children: ReactNode }) {\n const [isVisible, setIsVisible] = useState(false);\n const [isHidden, setIsHidden] = useState(true);\n const hideTimeout = useRef<number | null>(null);\n const animationRunTimeout = useRef<number | null>(null);\n\n const [toastProps, setToastProps] = useState<ToastControllerProps>(initialToastData);\n const [toastInfo, setToastInfo] = useState<Pick<ShowToastArgs, 'timeout' | 'onHide'>>({\n timeout: undefined,\n onHide: undefined,\n });\n\n const showToastCallback: ShowToast = (...args: ShowToastCallSignature) => {\n if (isVisible) {\n return;\n }\n\n const {\n text,\n offset,\n position = DEFAULT_POSITION,\n fade = DEFAULT_FADE,\n timeout,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n width,\n onHide,\n onShow,\n } = getShowToastCallSignature(args);\n\n setToastProps({\n text,\n width,\n position,\n offset,\n fade,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n });\n\n setToastInfo({ timeout, onHide });\n\n setIsHidden(false);\n setIsVisible(true);\n onShow?.();\n };\n\n const showToast = useCallback(showToastCallback, []);\n\n const { onHide, timeout } = toastInfo;\n\n const hideToast = useCallback(() => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n\n if (!isVisible) {\n return;\n }\n\n onHide?.();\n setIsVisible(false);\n\n animationRunTimeout.current = setTimeout(() => {\n setIsHidden(true);\n setToastProps(initialToastData);\n }, TIMER_DELAY);\n }, [onHide, isVisible, isHidden]);\n\n useEffect(() => {\n if (timeout === null && animationRunTimeout.current !== null) {\n clearTimeout(animationRunTimeout.current);\n animationRunTimeout.current = null;\n }\n\n return () => {\n if (animationRunTimeout?.current) {\n clearTimeout(animationRunTimeout.current);\n }\n };\n }, [timeout]);\n\n useEffect(() => {\n if (timeout && isVisible) {\n hideTimeout.current = setTimeout(() => {\n hideToast();\n }, timeout);\n }\n\n return () => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n };\n }, [isVisible, timeout]);\n\n return (\n <ToastContext.Provider value={{ showToast, hideToast, isVisible, hideTimeout, animationRunTimeout }}>\n {children}\n {!isHidden && <ToastComponent {...(toastProps as T)} />}\n </ToastContext.Provider>\n );\n };\n"],"names":["ToastContext","createContext","useToastInner","context","useContext","Error","useToast","_useToastInner","showToast","hideToast","initialToastData","text","undefined","offset","position","DEFAULT_POSITION","fade","DEFAULT_FADE","timeout","contentLeft","role","pilled","hasClose","width","size","view","getShowToastCallSignature","args","_typeof","_args","_slicedToArray","ToastProviderHoc","ToastComponent","ToastProvider","_ref","children","_useState","useState","_useState2","isVisible","setIsVisible","_useState3","_useState4","isHidden","setIsHidden","hideTimeout","useRef","animationRunTimeout","_useState5","_useState6","toastProps","setToastProps","_useState7","onHide","_useState8","toastInfo","setToastInfo","showToastCallback","_len","arguments","length","Array","_key","_getShowToastCallSign","_getShowToastCallSign2","_getShowToastCallSign3","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":"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"}
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ToastControllerHoc = void 0;
8
- var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
8
+ var _react = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("react"));
9
9
  var _Toast = /*#__PURE__*/require("./Toast.tokens");
10
10
  var _Toast2 = /*#__PURE__*/require("./Toast.styles");
11
11
  var _ToastProvider = /*#__PURE__*/require("./ToastProvider");
12
12
  var _utils = /*#__PURE__*/require("./utils");
13
13
  var _excluded = ["position", "offset", "fade", "text"];
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -30,9 +29,7 @@ var ToastControllerHoc = exports.ToastControllerHoc = function ToastControllerHo
30
29
  rest = _objectWithoutProperties(props, _excluded);
31
30
  var _useToastInner = (0, _ToastProvider.useToastInner)(),
32
31
  hideToast = _useToastInner.hideToast,
33
- isVisible = _useToastInner.isVisible,
34
- hideTimeout = _useToastInner.hideTimeout,
35
- animationRunTimeout = _useToastInner.animationRunTimeout;
32
+ isVisible = _useToastInner.isVisible;
36
33
  var toastKey = "".concat(text).concat(position);
37
34
  var showedClass = isVisible ? _Toast.classes.toastShowed : _Toast.classes.toastHidden;
38
35
  var showedFadeClass = isVisible ? _Toast.classes.toastFadeShowed : _Toast.classes.toastFadeHidden;
@@ -40,16 +37,6 @@ var ToastControllerHoc = exports.ToastControllerHoc = function ToastControllerHo
40
37
  text: text,
41
38
  onCloseButtonClick: hideToast
42
39
  }, rest);
43
- (0, _react.useEffect)(function () {
44
- return function () {
45
- if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
46
- clearTimeout(hideTimeout.current);
47
- }
48
- if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
49
- clearTimeout(animationRunTimeout.current);
50
- }
51
- };
52
- }, []);
53
40
  if (!text) {
54
41
  return null;
55
42
  }
@@ -153,13 +153,13 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
153
153
  var onHide = toastInfo.onHide,
154
154
  timeout = toastInfo.timeout;
155
155
  var hideToast = (0, _react.useCallback)(function () {
156
- if (!isVisible) {
157
- return;
158
- }
159
156
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
160
157
  clearTimeout(hideTimeout.current);
161
158
  hideTimeout.current = null;
162
159
  }
160
+ if (!isVisible) {
161
+ return;
162
+ }
163
163
  onHide === null || onHide === void 0 || onHide();
164
164
  setIsVisible(false);
165
165
  animationRunTimeout.current = setTimeout(function () {
@@ -172,6 +172,11 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
172
172
  clearTimeout(animationRunTimeout.current);
173
173
  animationRunTimeout.current = null;
174
174
  }
175
+ return function () {
176
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
177
+ clearTimeout(animationRunTimeout.current);
178
+ }
179
+ };
175
180
  }, [timeout]);
176
181
  (0, _react.useEffect)(function () {
177
182
  if (timeout && isVisible) {
@@ -179,6 +184,12 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
179
184
  hideToast();
180
185
  }, timeout);
181
186
  }
187
+ return function () {
188
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
189
+ clearTimeout(hideTimeout.current);
190
+ hideTimeout.current = null;
191
+ }
192
+ };
182
193
  }, [isVisible, timeout]);
183
194
  return /*#__PURE__*/_react["default"].createElement(ToastContext.Provider, {
184
195
  value: {
@@ -7,7 +7,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
7
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
- import React, { useEffect } from 'react';
10
+ import React from 'react';
11
11
  import { classes } from './Toast.tokens';
12
12
  import { StyledOverlay, StyledRoot } from './Toast.styles';
13
13
  import { useToastInner } from './ToastProvider';
@@ -22,9 +22,7 @@ export var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
22
22
  rest = _objectWithoutProperties(props, _excluded);
23
23
  var _useToastInner = useToastInner(),
24
24
  hideToast = _useToastInner.hideToast,
25
- isVisible = _useToastInner.isVisible,
26
- hideTimeout = _useToastInner.hideTimeout,
27
- animationRunTimeout = _useToastInner.animationRunTimeout;
25
+ isVisible = _useToastInner.isVisible;
28
26
  var toastKey = "".concat(text).concat(position);
29
27
  var showedClass = isVisible ? classes.toastShowed : classes.toastHidden;
30
28
  var showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;
@@ -32,16 +30,6 @@ export var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
32
30
  text: text,
33
31
  onCloseButtonClick: hideToast
34
32
  }, rest);
35
- useEffect(function () {
36
- return function () {
37
- if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
38
- clearTimeout(hideTimeout.current);
39
- }
40
- if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
41
- clearTimeout(animationRunTimeout.current);
42
- }
43
- };
44
- }, []);
45
33
  if (!text) {
46
34
  return null;
47
35
  }
@@ -145,13 +145,13 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
145
145
  var onHide = toastInfo.onHide,
146
146
  timeout = toastInfo.timeout;
147
147
  var hideToast = useCallback(function () {
148
- if (!isVisible) {
149
- return;
150
- }
151
148
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
152
149
  clearTimeout(hideTimeout.current);
153
150
  hideTimeout.current = null;
154
151
  }
152
+ if (!isVisible) {
153
+ return;
154
+ }
155
155
  onHide === null || onHide === void 0 || onHide();
156
156
  setIsVisible(false);
157
157
  animationRunTimeout.current = setTimeout(function () {
@@ -164,6 +164,11 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
164
164
  clearTimeout(animationRunTimeout.current);
165
165
  animationRunTimeout.current = null;
166
166
  }
167
+ return function () {
168
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
169
+ clearTimeout(animationRunTimeout.current);
170
+ }
171
+ };
167
172
  }, [timeout]);
168
173
  useEffect(function () {
169
174
  if (timeout && isVisible) {
@@ -171,6 +176,12 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
171
176
  hideToast();
172
177
  }, timeout);
173
178
  }
179
+ return function () {
180
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
181
+ clearTimeout(hideTimeout.current);
182
+ hideTimeout.current = null;
183
+ }
184
+ };
174
185
  }, [isVisible, timeout]);
175
186
  return /*#__PURE__*/React.createElement(ToastContext.Provider, {
176
187
  value: {
@@ -1,5 +1,5 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { useEffect } from 'react';
2
+ import React from 'react';
3
3
  import { classes } from './Toast.tokens.js';
4
4
  import { StyledOverlay, StyledRoot } from './Toast.styles.js';
5
5
  import { FADE_Z_INDEX, gradients } from './utils.js';
@@ -16,9 +16,7 @@ var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
16
16
  rest = _objectWithoutProperties(props, _excluded);
17
17
  var _useToastInner = useToastInner(),
18
18
  hideToast = _useToastInner.hideToast,
19
- isVisible = _useToastInner.isVisible,
20
- hideTimeout = _useToastInner.hideTimeout,
21
- animationRunTimeout = _useToastInner.animationRunTimeout;
19
+ isVisible = _useToastInner.isVisible;
22
20
  var toastKey = "".concat(text).concat(position);
23
21
  var showedClass = isVisible ? classes.toastShowed : classes.toastHidden;
24
22
  var showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;
@@ -26,16 +24,6 @@ var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
26
24
  text: text,
27
25
  onCloseButtonClick: hideToast
28
26
  }, rest);
29
- useEffect(function () {
30
- return function () {
31
- if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
32
- clearTimeout(hideTimeout.current);
33
- }
34
- if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
35
- clearTimeout(animationRunTimeout.current);
36
- }
37
- };
38
- }, []);
39
27
  if (!text) {
40
28
  return null;
41
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToastController.js","sources":["../../../src/components/Toast/ToastController.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport type { FC } from 'react';\n\nimport { classes } from './Toast.tokens';\nimport { ToastControllerProps, ToastProps } from './Toast.types';\nimport { StyledOverlay, StyledRoot } from './Toast.styles';\nimport { useToastInner } from './ToastProvider';\nimport { FADE_Z_INDEX, gradients } from './utils';\n\nexport const ToastControllerHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastController(props: ToastControllerProps) {\n const { position = 'bottom', offset, fade, text, ...rest } = props;\n\n const { hideToast, isVisible, hideTimeout, animationRunTimeout } = useToastInner();\n const toastKey = `${text}${position}`;\n\n const showedClass = isVisible ? classes.toastShowed : classes.toastHidden;\n const showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;\n\n const toastProps = {\n text,\n onCloseButtonClick: hideToast,\n ...rest,\n } as T;\n\n useEffect(() => {\n return () => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n }\n if (animationRunTimeout?.current) {\n clearTimeout(animationRunTimeout.current);\n }\n };\n }, []);\n\n if (!text) {\n return null;\n }\n\n return (\n <>\n {fade && (\n <StyledOverlay\n className={showedFadeClass}\n zIndex={FADE_Z_INDEX}\n backgroundColorProperty={gradients[position]}\n isClickable={false}\n />\n )}\n <StyledRoot\n key={toastKey}\n position={position}\n offset={offset}\n isVisible={isVisible}\n className={showedClass}\n >\n <ToastComponent {...toastProps} />\n </StyledRoot>\n </>\n );\n };\n"],"names":["ToastControllerHoc","ToastComponent","ToastController","props","_props$position","position","offset","fade","text","rest","_objectWithoutProperties","_excluded","_useToastInner","useToastInner","hideToast","isVisible","hideTimeout","animationRunTimeout","toastKey","concat","showedClass","classes","toastShowed","toastHidden","showedFadeClass","toastFadeShowed","toastFadeHidden","toastProps","_objectSpread","onCloseButtonClick","useEffect","current","clearTimeout","React","createElement","Fragment","StyledOverlay","className","zIndex","FADE_Z_INDEX","backgroundColorProperty","gradients","isClickable","StyledRoot","key"],"mappings":";;;;;;;;IASaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAA0BC,cAAqB,EAAA;AAAA,EAAA,OAC1E,SAASC,eAAeA,CAACC,KAA2B,EAAE;AAClD,IAAA,IAAAC,eAAA,GAA6DD,KAAK,CAA1DE,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA;MAAEE,MAAM,GAA0BH,KAAK,CAArCG,MAAM;MAAEC,IAAI,GAAoBJ,KAAK,CAA7BI,IAAI;MAAEC,IAAI,GAAcL,KAAK,CAAvBK,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAElE,IAAA,IAAAC,cAAA,GAAmEC,aAAa,EAAE;MAA1EC,SAAS,GAAAF,cAAA,CAATE,SAAS;MAAEC,SAAS,GAAAH,cAAA,CAATG,SAAS;MAAEC,WAAW,GAAAJ,cAAA,CAAXI,WAAW;MAAEC,mBAAmB,GAAAL,cAAA,CAAnBK,mBAAmB,CAAA;IAC9D,IAAMC,QAAQ,MAAAC,MAAA,CAAMX,IAAI,CAAAW,CAAAA,MAAA,CAAGd,QAAQ,CAAE,CAAA;IAErC,IAAMe,WAAW,GAAGL,SAAS,GAAGM,OAAO,CAACC,WAAW,GAAGD,OAAO,CAACE,WAAW,CAAA;IACzE,IAAMC,eAAe,GAAGT,SAAS,GAAGM,OAAO,CAACI,eAAe,GAAGJ,OAAO,CAACK,eAAe,CAAA;IAErF,IAAMC,UAAU,GAAAC,cAAA,CAAA;AACZpB,MAAAA,IAAI,EAAJA,IAAI;AACJqB,MAAAA,kBAAkB,EAAEf,SAAAA;AAAS,KAAA,EAC1BL,IAAI,CACL,CAAA;AAENqB,IAAAA,SAAS,CAAC,YAAM;AACZ,MAAA,OAAO,YAAM;AACT,QAAA,IAAId,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEe,OAAO,EAAE;AACtBC,UAAAA,YAAY,CAAChB,WAAW,CAACe,OAAO,CAAC,CAAA;AACrC,SAAA;AACA,QAAA,IAAId,mBAAmB,KAAnBA,IAAAA,IAAAA,mBAAmB,eAAnBA,mBAAmB,CAAEc,OAAO,EAAE;AAC9BC,UAAAA,YAAY,CAACf,mBAAmB,CAACc,OAAO,CAAC,CAAA;AAC7C,SAAA;OACH,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,CAACvB,IAAI,EAAE;AACP,MAAA,OAAO,IAAI,CAAA;AACf,KAAA;AAEA,IAAA,oBACIyB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EACK5B,IAAAA,EAAAA,IAAI,iBACD0B,KAAA,CAAAC,aAAA,CAACE,aAAa,EAAA;AACVC,MAAAA,SAAS,EAAEb,eAAgB;AAC3Bc,MAAAA,MAAM,EAAEC,YAAa;AACrBC,MAAAA,uBAAuB,EAAEC,SAAS,CAACpC,QAAQ,CAAE;AAC7CqC,MAAAA,WAAW,EAAE,KAAA;AAAM,KACtB,CACJ,eACDT,KAAA,CAAAC,aAAA,CAACS,UAAU,EAAA;AACPC,MAAAA,GAAG,EAAE1B,QAAS;AACdb,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,MAAM,EAAEA,MAAO;AACfS,MAAAA,SAAS,EAAEA,SAAU;AACrBsB,MAAAA,SAAS,EAAEjB,WAAAA;KAEXa,eAAAA,KAAA,CAAAC,aAAA,CAACjC,cAAc,EAAK0B,UAAa,CACzB,CACd,CAAC,CAAA;GAEV,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"ToastController.js","sources":["../../../src/components/Toast/ToastController.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\n\nimport { classes } from './Toast.tokens';\nimport { ToastControllerProps, ToastProps } from './Toast.types';\nimport { StyledOverlay, StyledRoot } from './Toast.styles';\nimport { useToastInner } from './ToastProvider';\nimport { FADE_Z_INDEX, gradients } from './utils';\n\nexport const ToastControllerHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastController(props: ToastControllerProps) {\n const { position = 'bottom', offset, fade, text, ...rest } = props;\n\n const { hideToast, isVisible } = useToastInner();\n const toastKey = `${text}${position}`;\n\n const showedClass = isVisible ? classes.toastShowed : classes.toastHidden;\n const showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;\n\n const toastProps = {\n text,\n onCloseButtonClick: hideToast,\n ...rest,\n } as T;\n\n if (!text) {\n return null;\n }\n\n return (\n <>\n {fade && (\n <StyledOverlay\n className={showedFadeClass}\n zIndex={FADE_Z_INDEX}\n backgroundColorProperty={gradients[position]}\n isClickable={false}\n />\n )}\n <StyledRoot\n key={toastKey}\n position={position}\n offset={offset}\n isVisible={isVisible}\n className={showedClass}\n >\n <ToastComponent {...toastProps} />\n </StyledRoot>\n </>\n );\n };\n"],"names":["ToastControllerHoc","ToastComponent","ToastController","props","_props$position","position","offset","fade","text","rest","_objectWithoutProperties","_excluded","_useToastInner","useToastInner","hideToast","isVisible","toastKey","concat","showedClass","classes","toastShowed","toastHidden","showedFadeClass","toastFadeShowed","toastFadeHidden","toastProps","_objectSpread","onCloseButtonClick","React","createElement","Fragment","StyledOverlay","className","zIndex","FADE_Z_INDEX","backgroundColorProperty","gradients","isClickable","StyledRoot","key"],"mappings":";;;;;;;;IASaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAA0BC,cAAqB,EAAA;AAAA,EAAA,OAC1E,SAASC,eAAeA,CAACC,KAA2B,EAAE;AAClD,IAAA,IAAAC,eAAA,GAA6DD,KAAK,CAA1DE,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA;MAAEE,MAAM,GAA0BH,KAAK,CAArCG,MAAM;MAAEC,IAAI,GAAoBJ,KAAK,CAA7BI,IAAI;MAAEC,IAAI,GAAcL,KAAK,CAAvBK,IAAI;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAElE,IAAA,IAAAC,cAAA,GAAiCC,aAAa,EAAE;MAAxCC,SAAS,GAAAF,cAAA,CAATE,SAAS;MAAEC,SAAS,GAAAH,cAAA,CAATG,SAAS,CAAA;IAC5B,IAAMC,QAAQ,MAAAC,MAAA,CAAMT,IAAI,CAAAS,CAAAA,MAAA,CAAGZ,QAAQ,CAAE,CAAA;IAErC,IAAMa,WAAW,GAAGH,SAAS,GAAGI,OAAO,CAACC,WAAW,GAAGD,OAAO,CAACE,WAAW,CAAA;IACzE,IAAMC,eAAe,GAAGP,SAAS,GAAGI,OAAO,CAACI,eAAe,GAAGJ,OAAO,CAACK,eAAe,CAAA;IAErF,IAAMC,UAAU,GAAAC,cAAA,CAAA;AACZlB,MAAAA,IAAI,EAAJA,IAAI;AACJmB,MAAAA,kBAAkB,EAAEb,SAAAA;AAAS,KAAA,EAC1BL,IAAI,CACL,CAAA;IAEN,IAAI,CAACD,IAAI,EAAE;AACP,MAAA,OAAO,IAAI,CAAA;AACf,KAAA;AAEA,IAAA,oBACIoB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EACKvB,IAAAA,EAAAA,IAAI,iBACDqB,KAAA,CAAAC,aAAA,CAACE,aAAa,EAAA;AACVC,MAAAA,SAAS,EAAEV,eAAgB;AAC3BW,MAAAA,MAAM,EAAEC,YAAa;AACrBC,MAAAA,uBAAuB,EAAEC,SAAS,CAAC/B,QAAQ,CAAE;AAC7CgC,MAAAA,WAAW,EAAE,KAAA;AAAM,KACtB,CACJ,eACDT,KAAA,CAAAC,aAAA,CAACS,UAAU,EAAA;AACPC,MAAAA,GAAG,EAAEvB,QAAS;AACdX,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,MAAM,EAAEA,MAAO;AACfS,MAAAA,SAAS,EAAEA,SAAU;AACrBiB,MAAAA,SAAS,EAAEd,WAAAA;KAEXU,eAAAA,KAAA,CAAAC,aAAA,CAAC5B,cAAc,EAAKwB,UAAa,CACzB,CACd,CAAC,CAAA;GAEV,CAAA;AAAA;;;;"}
@@ -140,13 +140,13 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
140
140
  var onHide = toastInfo.onHide,
141
141
  timeout = toastInfo.timeout;
142
142
  var hideToast = useCallback(function () {
143
- if (!isVisible) {
144
- return;
145
- }
146
143
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
147
144
  clearTimeout(hideTimeout.current);
148
145
  hideTimeout.current = null;
149
146
  }
147
+ if (!isVisible) {
148
+ return;
149
+ }
150
150
  onHide === null || onHide === void 0 || onHide();
151
151
  setIsVisible(false);
152
152
  animationRunTimeout.current = setTimeout(function () {
@@ -159,6 +159,11 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
159
159
  clearTimeout(animationRunTimeout.current);
160
160
  animationRunTimeout.current = null;
161
161
  }
162
+ return function () {
163
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
164
+ clearTimeout(animationRunTimeout.current);
165
+ }
166
+ };
162
167
  }, [timeout]);
163
168
  useEffect(function () {
164
169
  if (timeout && isVisible) {
@@ -166,6 +171,12 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
166
171
  hideToast();
167
172
  }, timeout);
168
173
  }
174
+ return function () {
175
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
176
+ clearTimeout(hideTimeout.current);
177
+ hideTimeout.current = null;
178
+ }
179
+ };
169
180
  }, [isVisible, timeout]);
170
181
  return /*#__PURE__*/React.createElement(ToastContext.Provider, {
171
182
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ReactNode, FC } from 'react';\n\nimport type { CustomToastProps, ToastControllerProps, ToastProps } from '../Toast.types';\nimport { DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';\n\nimport type { ShowToast, ShowToastArgs, ShowToastCallSignature, ToastContextType } from './ToastProvider.types';\n\nexport const ToastContext = createContext<ToastContextType | null>(null);\n\nexport const useToastInner = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nexport const useToast = () => {\n const { showToast, hideToast } = useToastInner();\n return { showToast, hideToast };\n};\n\nconst initialToastData = {\n text: undefined,\n offset: undefined,\n position: DEFAULT_POSITION,\n fade: DEFAULT_FADE,\n timeout: undefined,\n contentLeft: undefined,\n role: undefined,\n pilled: undefined,\n hasClose: undefined,\n width: undefined,\n size: 'm',\n view: 'primary',\n} as CustomToastProps;\n\nconst getShowToastCallSignature = (args: ShowToastCallSignature) => {\n if (typeof args[0] === 'object' && 'text' in args[0]) {\n return args[0];\n }\n\n // TODO: issue https://github.com/salute-developers/plasma/issues/333\n const [text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view] = args;\n\n return { text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view };\n};\n\nexport const ToastProviderHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastProvider({ children }: { children: ReactNode }) {\n const [isVisible, setIsVisible] = useState(false);\n const [isHidden, setIsHidden] = useState(true);\n const hideTimeout = useRef<number | null>(null);\n const animationRunTimeout = useRef<number | null>(null);\n\n const [toastProps, setToastProps] = useState<ToastControllerProps>(initialToastData);\n const [toastInfo, setToastInfo] = useState<Pick<ShowToastArgs, 'timeout' | 'onHide'>>({\n timeout: undefined,\n onHide: undefined,\n });\n\n const showToastCallback: ShowToast = (...args: ShowToastCallSignature) => {\n if (isVisible) {\n return;\n }\n\n const {\n text,\n offset,\n position = DEFAULT_POSITION,\n fade = DEFAULT_FADE,\n timeout,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n width,\n onHide,\n onShow,\n } = getShowToastCallSignature(args);\n\n setToastProps({\n text,\n width,\n position,\n offset,\n fade,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n });\n\n setToastInfo({ timeout, onHide });\n\n setIsHidden(false);\n setIsVisible(true);\n onShow?.();\n };\n\n const showToast = useCallback(showToastCallback, []);\n\n const { onHide, timeout } = toastInfo;\n\n const hideToast = useCallback(() => {\n if (!isVisible) {\n return;\n }\n\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n\n onHide?.();\n setIsVisible(false);\n\n animationRunTimeout.current = setTimeout(() => {\n setIsHidden(true);\n setToastProps(initialToastData);\n }, TIMER_DELAY);\n }, [onHide, isVisible, isHidden]);\n\n useEffect(() => {\n if (timeout === null && animationRunTimeout.current !== null) {\n clearTimeout(animationRunTimeout.current);\n animationRunTimeout.current = null;\n }\n }, [timeout]);\n\n useEffect(() => {\n if (timeout && isVisible) {\n hideTimeout.current = setTimeout(() => {\n hideToast();\n }, timeout);\n }\n }, [isVisible, timeout]);\n\n return (\n <ToastContext.Provider value={{ showToast, hideToast, isVisible, hideTimeout, animationRunTimeout }}>\n {children}\n {!isHidden && <ToastComponent {...(toastProps as T)} />}\n </ToastContext.Provider>\n );\n };\n"],"names":["ToastContext","createContext","useToastInner","context","useContext","Error","useToast","_useToastInner","showToast","hideToast","initialToastData","text","undefined","offset","position","DEFAULT_POSITION","fade","DEFAULT_FADE","timeout","contentLeft","role","pilled","hasClose","width","size","view","getShowToastCallSignature","args","_typeof","_args","_slicedToArray","ToastProviderHoc","ToastComponent","ToastProvider","_ref","children","_useState","useState","_useState2","isVisible","setIsVisible","_useState3","_useState4","isHidden","setIsHidden","hideTimeout","useRef","animationRunTimeout","_useState5","_useState6","toastProps","setToastProps","_useState7","onHide","_useState8","toastInfo","setToastInfo","showToastCallback","_len","arguments","length","Array","_key","_getShowToastCallSign","_getShowToastCallSign2","_getShowToastCallSign3","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":"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"}
1
+ {"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport type { ReactNode, FC } from 'react';\n\nimport type { CustomToastProps, ToastControllerProps, ToastProps } from '../Toast.types';\nimport { DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';\n\nimport type { ShowToast, ShowToastArgs, ShowToastCallSignature, ToastContextType } from './ToastProvider.types';\n\nexport const ToastContext = createContext<ToastContextType | null>(null);\n\nexport const useToastInner = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return context;\n};\n\nexport const useToast = () => {\n const { showToast, hideToast } = useToastInner();\n return { showToast, hideToast };\n};\n\nconst initialToastData = {\n text: undefined,\n offset: undefined,\n position: DEFAULT_POSITION,\n fade: DEFAULT_FADE,\n timeout: undefined,\n contentLeft: undefined,\n role: undefined,\n pilled: undefined,\n hasClose: undefined,\n width: undefined,\n size: 'm',\n view: 'primary',\n} as CustomToastProps;\n\nconst getShowToastCallSignature = (args: ShowToastCallSignature) => {\n if (typeof args[0] === 'object' && 'text' in args[0]) {\n return args[0];\n }\n\n // TODO: issue https://github.com/salute-developers/plasma/issues/333\n const [text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view] = args;\n\n return { text, position, timeout, fade, contentLeft, role, offset, pilled, width, hasClose, size, view };\n};\n\nexport const ToastProviderHoc = <T extends ToastProps>(ToastComponent: FC<T>) =>\n function ToastProvider({ children }: { children: ReactNode }) {\n const [isVisible, setIsVisible] = useState(false);\n const [isHidden, setIsHidden] = useState(true);\n const hideTimeout = useRef<number | null>(null);\n const animationRunTimeout = useRef<number | null>(null);\n\n const [toastProps, setToastProps] = useState<ToastControllerProps>(initialToastData);\n const [toastInfo, setToastInfo] = useState<Pick<ShowToastArgs, 'timeout' | 'onHide'>>({\n timeout: undefined,\n onHide: undefined,\n });\n\n const showToastCallback: ShowToast = (...args: ShowToastCallSignature) => {\n if (isVisible) {\n return;\n }\n\n const {\n text,\n offset,\n position = DEFAULT_POSITION,\n fade = DEFAULT_FADE,\n timeout,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n width,\n onHide,\n onShow,\n } = getShowToastCallSignature(args);\n\n setToastProps({\n text,\n width,\n position,\n offset,\n fade,\n contentLeft,\n role,\n pilled,\n hasClose,\n size,\n view,\n });\n\n setToastInfo({ timeout, onHide });\n\n setIsHidden(false);\n setIsVisible(true);\n onShow?.();\n };\n\n const showToast = useCallback(showToastCallback, []);\n\n const { onHide, timeout } = toastInfo;\n\n const hideToast = useCallback(() => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n\n if (!isVisible) {\n return;\n }\n\n onHide?.();\n setIsVisible(false);\n\n animationRunTimeout.current = setTimeout(() => {\n setIsHidden(true);\n setToastProps(initialToastData);\n }, TIMER_DELAY);\n }, [onHide, isVisible, isHidden]);\n\n useEffect(() => {\n if (timeout === null && animationRunTimeout.current !== null) {\n clearTimeout(animationRunTimeout.current);\n animationRunTimeout.current = null;\n }\n\n return () => {\n if (animationRunTimeout?.current) {\n clearTimeout(animationRunTimeout.current);\n }\n };\n }, [timeout]);\n\n useEffect(() => {\n if (timeout && isVisible) {\n hideTimeout.current = setTimeout(() => {\n hideToast();\n }, timeout);\n }\n\n return () => {\n if (hideTimeout?.current) {\n clearTimeout(hideTimeout.current);\n hideTimeout.current = null;\n }\n };\n }, [isVisible, timeout]);\n\n return (\n <ToastContext.Provider value={{ showToast, hideToast, isVisible, hideTimeout, animationRunTimeout }}>\n {children}\n {!isHidden && <ToastComponent {...(toastProps as T)} />}\n </ToastContext.Provider>\n );\n };\n"],"names":["ToastContext","createContext","useToastInner","context","useContext","Error","useToast","_useToastInner","showToast","hideToast","initialToastData","text","undefined","offset","position","DEFAULT_POSITION","fade","DEFAULT_FADE","timeout","contentLeft","role","pilled","hasClose","width","size","view","getShowToastCallSignature","args","_typeof","_args","_slicedToArray","ToastProviderHoc","ToastComponent","ToastProvider","_ref","children","_useState","useState","_useState2","isVisible","setIsVisible","_useState3","_useState4","isHidden","setIsHidden","hideTimeout","useRef","animationRunTimeout","_useState5","_useState6","toastProps","setToastProps","_useState7","onHide","_useState8","toastInfo","setToastInfo","showToastCallback","_len","arguments","length","Array","_key","_getShowToastCallSign","_getShowToastCallSign2","_getShowToastCallSign3","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.248.1-dev.0",
3
+ "version": "0.248.2-canary.1712.12992290184.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -131,5 +131,5 @@
131
131
  "sideEffects": [
132
132
  "*.css"
133
133
  ],
134
- "gitHead": "3ef3e2ae8e9ec7416d9aef0130d7c9938c06b641"
134
+ "gitHead": "351ac64bb04bfd3335459caa7b2d0ff60659a475"
135
135
  }
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.ToastControllerHoc = void 0;
8
- var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
8
+ var _react = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("react"));
9
9
  var _Toast = /*#__PURE__*/require("./Toast.tokens");
10
10
  var _Toast2 = /*#__PURE__*/require("./Toast.styles");
11
11
  var _ToastProvider = /*#__PURE__*/require("./ToastProvider");
12
12
  var _utils = /*#__PURE__*/require("./utils");
13
13
  var _excluded = ["position", "offset", "fade", "text"];
14
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
15
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
17
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -30,9 +29,7 @@ var ToastControllerHoc = exports.ToastControllerHoc = function ToastControllerHo
30
29
  rest = _objectWithoutProperties(props, _excluded);
31
30
  var _useToastInner = (0, _ToastProvider.useToastInner)(),
32
31
  hideToast = _useToastInner.hideToast,
33
- isVisible = _useToastInner.isVisible,
34
- hideTimeout = _useToastInner.hideTimeout,
35
- animationRunTimeout = _useToastInner.animationRunTimeout;
32
+ isVisible = _useToastInner.isVisible;
36
33
  var toastKey = "".concat(text).concat(position);
37
34
  var showedClass = isVisible ? _Toast.classes.toastShowed : _Toast.classes.toastHidden;
38
35
  var showedFadeClass = isVisible ? _Toast.classes.toastFadeShowed : _Toast.classes.toastFadeHidden;
@@ -40,16 +37,6 @@ var ToastControllerHoc = exports.ToastControllerHoc = function ToastControllerHo
40
37
  text: text,
41
38
  onCloseButtonClick: hideToast
42
39
  }, rest);
43
- (0, _react.useEffect)(function () {
44
- return function () {
45
- if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
46
- clearTimeout(hideTimeout.current);
47
- }
48
- if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
49
- clearTimeout(animationRunTimeout.current);
50
- }
51
- };
52
- }, []);
53
40
  if (!text) {
54
41
  return null;
55
42
  }
@@ -153,13 +153,13 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
153
153
  var onHide = toastInfo.onHide,
154
154
  timeout = toastInfo.timeout;
155
155
  var hideToast = (0, _react.useCallback)(function () {
156
- if (!isVisible) {
157
- return;
158
- }
159
156
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
160
157
  clearTimeout(hideTimeout.current);
161
158
  hideTimeout.current = null;
162
159
  }
160
+ if (!isVisible) {
161
+ return;
162
+ }
163
163
  onHide === null || onHide === void 0 || onHide();
164
164
  setIsVisible(false);
165
165
  animationRunTimeout.current = setTimeout(function () {
@@ -172,6 +172,11 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
172
172
  clearTimeout(animationRunTimeout.current);
173
173
  animationRunTimeout.current = null;
174
174
  }
175
+ return function () {
176
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
177
+ clearTimeout(animationRunTimeout.current);
178
+ }
179
+ };
175
180
  }, [timeout]);
176
181
  (0, _react.useEffect)(function () {
177
182
  if (timeout && isVisible) {
@@ -179,6 +184,12 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
179
184
  hideToast();
180
185
  }, timeout);
181
186
  }
187
+ return function () {
188
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
189
+ clearTimeout(hideTimeout.current);
190
+ hideTimeout.current = null;
191
+ }
192
+ };
182
193
  }, [isVisible, timeout]);
183
194
  return /*#__PURE__*/_react["default"].createElement(ToastContext.Provider, {
184
195
  value: {
@@ -7,7 +7,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
7
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
- import React, { useEffect } from 'react';
10
+ import React from 'react';
11
11
  import { classes } from './Toast.tokens';
12
12
  import { StyledOverlay, StyledRoot } from './Toast.styles';
13
13
  import { useToastInner } from './ToastProvider';
@@ -22,9 +22,7 @@ export var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
22
22
  rest = _objectWithoutProperties(props, _excluded);
23
23
  var _useToastInner = useToastInner(),
24
24
  hideToast = _useToastInner.hideToast,
25
- isVisible = _useToastInner.isVisible,
26
- hideTimeout = _useToastInner.hideTimeout,
27
- animationRunTimeout = _useToastInner.animationRunTimeout;
25
+ isVisible = _useToastInner.isVisible;
28
26
  var toastKey = "".concat(text).concat(position);
29
27
  var showedClass = isVisible ? classes.toastShowed : classes.toastHidden;
30
28
  var showedFadeClass = isVisible ? classes.toastFadeShowed : classes.toastFadeHidden;
@@ -32,16 +30,6 @@ export var ToastControllerHoc = function ToastControllerHoc(ToastComponent) {
32
30
  text: text,
33
31
  onCloseButtonClick: hideToast
34
32
  }, rest);
35
- useEffect(function () {
36
- return function () {
37
- if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
38
- clearTimeout(hideTimeout.current);
39
- }
40
- if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
41
- clearTimeout(animationRunTimeout.current);
42
- }
43
- };
44
- }, []);
45
33
  if (!text) {
46
34
  return null;
47
35
  }
@@ -145,13 +145,13 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
145
145
  var onHide = toastInfo.onHide,
146
146
  timeout = toastInfo.timeout;
147
147
  var hideToast = useCallback(function () {
148
- if (!isVisible) {
149
- return;
150
- }
151
148
  if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
152
149
  clearTimeout(hideTimeout.current);
153
150
  hideTimeout.current = null;
154
151
  }
152
+ if (!isVisible) {
153
+ return;
154
+ }
155
155
  onHide === null || onHide === void 0 || onHide();
156
156
  setIsVisible(false);
157
157
  animationRunTimeout.current = setTimeout(function () {
@@ -164,6 +164,11 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
164
164
  clearTimeout(animationRunTimeout.current);
165
165
  animationRunTimeout.current = null;
166
166
  }
167
+ return function () {
168
+ if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
169
+ clearTimeout(animationRunTimeout.current);
170
+ }
171
+ };
167
172
  }, [timeout]);
168
173
  useEffect(function () {
169
174
  if (timeout && isVisible) {
@@ -171,6 +176,12 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
171
176
  hideToast();
172
177
  }, timeout);
173
178
  }
179
+ return function () {
180
+ if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
181
+ clearTimeout(hideTimeout.current);
182
+ hideTimeout.current = null;
183
+ }
184
+ };
174
185
  }, [isVisible, timeout]);
175
186
  return /*#__PURE__*/React.createElement(ToastContext.Provider, {
176
187
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"ToastController.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/ToastController.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKjE,eAAO,MAAM,kBAAkB,iEACK,oBAAoB,uBAmDnD,CAAC"}
1
+ {"version":3,"file":"ToastController.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/ToastController.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKjE,eAAO,MAAM,kBAAkB,iEACK,oBAAoB,uBAwCnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAA0C,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzF,OAAO,KAAK,EAAE,SAAS,EAAyC,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhH,eAAO,MAAM,YAAY,wCAA+C,CAAC;AAEzE,eAAO,MAAM,aAAa,wBAMzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AA4BF,eAAO,MAAM,gBAAgB;cACwB,SAAS;iBAmGzD,CAAC"}
1
+ {"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/ToastProvider/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAA0C,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzF,OAAO,KAAK,EAAE,SAAS,EAAyC,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEhH,eAAO,MAAM,YAAY,wCAA+C,CAAC;AAEzE,eAAO,MAAM,aAAa,wBAMzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AA4BF,eAAO,MAAM,gBAAgB;cACwB,SAAS;iBAgHzD,CAAC"}