@salutejs/plasma-new-hope 0.252.0-canary.1738.13067280086.0 → 0.253.0-canary.1719.13069931199.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.
- package/cjs/components/TextField/TextField.js +1 -1
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/Toast/Toast.css +7 -7
- package/cjs/components/Toast/Toast.js +5 -2
- package/cjs/components/Toast/Toast.js.map +1 -1
- package/cjs/components/Toast/Toast.styles.js +11 -2
- package/cjs/components/Toast/Toast.styles.js.map +1 -1
- package/cjs/components/Toast/{Toast.styles_1nei944.css → Toast.styles_1kasmzh.css} +2 -2
- package/cjs/components/Toast/Toast.tokens.js +2 -1
- package/cjs/components/Toast/Toast.tokens.js.map +1 -1
- package/cjs/components/Toast/ToastController.css +6 -6
- package/cjs/components/Toast/ToastController.js +1 -13
- package/cjs/components/Toast/ToastController.js.map +1 -1
- package/cjs/components/Toast/ToastProvider/ToastProvider.js +22 -4
- package/cjs/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
- package/cjs/components/Toast/utils.js +2 -0
- package/cjs/components/Toast/utils.js.map +1 -1
- package/cjs/components/Toast/variations/_pilled/base.js +1 -1
- package/cjs/components/Toast/variations/_pilled/base.js.map +1 -1
- package/cjs/components/Toast/variations/_pilled/base_13i59v3.css +1 -0
- package/cjs/index.css +8 -8
- package/emotion/cjs/components/TextField/TextField.js +2 -2
- package/emotion/cjs/components/Toast/Toast.js +5 -2
- package/emotion/cjs/components/Toast/Toast.styles.js +9 -6
- package/emotion/cjs/components/Toast/Toast.template-doc.mdx +22 -5
- package/emotion/cjs/components/Toast/Toast.tokens.js +2 -1
- package/emotion/cjs/components/Toast/ToastController.js +3 -16
- package/emotion/cjs/components/Toast/ToastProvider/ToastProvider.js +22 -4
- package/emotion/cjs/components/Toast/utils.js +2 -1
- package/emotion/cjs/components/Toast/variations/_pilled/base.js +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +17 -7
- package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
- package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +17 -7
- package/emotion/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
- package/emotion/es/components/TextField/TextField.js +2 -2
- package/emotion/es/components/Toast/Toast.js +5 -2
- package/emotion/es/components/Toast/Toast.styles.js +9 -6
- package/emotion/es/components/Toast/Toast.template-doc.mdx +22 -5
- package/emotion/es/components/Toast/Toast.tokens.js +2 -1
- package/emotion/es/components/Toast/ToastController.js +2 -14
- package/emotion/es/components/Toast/ToastProvider/ToastProvider.js +23 -5
- package/emotion/es/components/Toast/utils.js +1 -0
- package/emotion/es/components/Toast/variations/_pilled/base.js +1 -1
- package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +17 -7
- package/emotion/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
- package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +17 -7
- package/emotion/es/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
- package/es/components/TextField/TextField.js +1 -1
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/Toast/Toast.css +7 -7
- package/es/components/Toast/Toast.js +5 -2
- package/es/components/Toast/Toast.js.map +1 -1
- package/es/components/Toast/Toast.styles.js +11 -2
- package/es/components/Toast/Toast.styles.js.map +1 -1
- package/es/components/Toast/{Toast.styles_1nei944.css → Toast.styles_1kasmzh.css} +2 -2
- package/es/components/Toast/Toast.tokens.js +2 -1
- package/es/components/Toast/Toast.tokens.js.map +1 -1
- package/es/components/Toast/ToastController.css +6 -6
- package/es/components/Toast/ToastController.js +2 -14
- package/es/components/Toast/ToastController.js.map +1 -1
- package/es/components/Toast/ToastProvider/ToastProvider.js +23 -5
- package/es/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
- package/es/components/Toast/utils.js +2 -1
- package/es/components/Toast/utils.js.map +1 -1
- package/es/components/Toast/variations/_pilled/base.js +1 -1
- package/es/components/Toast/variations/_pilled/base.js.map +1 -1
- package/es/components/Toast/variations/_pilled/base_13i59v3.css +1 -0
- package/es/index.css +8 -8
- package/package.json +2 -2
- package/styled-components/cjs/components/TextField/TextField.js +1 -1
- package/styled-components/cjs/components/Toast/Toast.js +5 -2
- package/styled-components/cjs/components/Toast/Toast.styles.js +5 -2
- package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +22 -5
- package/styled-components/cjs/components/Toast/Toast.tokens.js +2 -1
- package/styled-components/cjs/components/Toast/ToastController.js +3 -16
- package/styled-components/cjs/components/Toast/ToastProvider/ToastProvider.js +22 -4
- package/styled-components/cjs/components/Toast/utils.js +2 -1
- package/styled-components/cjs/components/Toast/variations/_pilled/base.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +12 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
- package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +12 -2
- package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
- package/styled-components/es/components/TextField/TextField.js +1 -1
- package/styled-components/es/components/Toast/Toast.js +5 -2
- package/styled-components/es/components/Toast/Toast.styles.js +5 -2
- package/styled-components/es/components/Toast/Toast.template-doc.mdx +22 -5
- package/styled-components/es/components/Toast/Toast.tokens.js +2 -1
- package/styled-components/es/components/Toast/ToastController.js +2 -14
- package/styled-components/es/components/Toast/ToastProvider/ToastProvider.js +23 -5
- package/styled-components/es/components/Toast/utils.js +1 -0
- package/styled-components/es/components/Toast/variations/_pilled/base.js +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +12 -2
- package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +31 -14
- package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +12 -2
- package/styled-components/es/examples/plasma_web/components/Toast/Toast.stories.tsx +31 -14
- package/types/components/Toast/Toast.styles.d.ts +3 -1
- package/types/components/Toast/Toast.styles.d.ts.map +1 -1
- package/types/components/Toast/Toast.tokens.d.ts +2 -1
- package/types/components/Toast/Toast.tokens.d.ts.map +1 -1
- package/types/components/Toast/Toast.types.d.ts +8 -0
- package/types/components/Toast/Toast.types.d.ts.map +1 -1
- package/types/components/Toast/ToastController.d.ts.map +1 -1
- package/types/components/Toast/ToastProvider/ToastProvider.d.ts.map +1 -1
- package/types/components/Toast/utils.d.ts +1 -0
- package/types/components/Toast/utils.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts +10 -0
- package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Toast/Toast.d.ts +2 -0
- package/types/examples/plasma_b2c/components/Toast/Toast.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Toast/Toast.config.d.ts +10 -0
- package/types/examples/plasma_web/components/Toast/Toast.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Toast/Toast.d.ts +2 -0
- package/types/examples/plasma_web/components/Toast/Toast.d.ts.map +1 -1
- package/cjs/components/Toast/variations/_pilled/base_199qghc.css +0 -1
- package/es/components/Toast/variations/_pilled/base_199qghc.css +0 -1
@@ -1,6 +1,6 @@
|
|
1
1
|
import { slicedToArray as _slicedToArray, typeof as _typeof } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { useState, useRef, useCallback, useEffect, createContext, useContext } from 'react';
|
3
|
-
import { TIMER_DELAY, DEFAULT_POSITION, DEFAULT_FADE } from '../utils.js';
|
3
|
+
import { TIMER_DELAY, DEFAULT_POSITION, DEFAULT_FADE, DEFAULT_CLOSE_ICON_TYPE } from '../utils.js';
|
4
4
|
|
5
5
|
var ToastContext = /*#__PURE__*/createContext(null);
|
6
6
|
var useToastInner = function useToastInner() {
|
@@ -113,6 +113,9 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
|
|
113
113
|
size = _getShowToastCallSign.size,
|
114
114
|
view = _getShowToastCallSign.view,
|
115
115
|
width = _getShowToastCallSign.width,
|
116
|
+
_getShowToastCallSign4 = _getShowToastCallSign.closeIconType,
|
117
|
+
closeIconType = _getShowToastCallSign4 === void 0 ? DEFAULT_CLOSE_ICON_TYPE : _getShowToastCallSign4,
|
118
|
+
textColor = _getShowToastCallSign.textColor,
|
116
119
|
onHide = _getShowToastCallSign.onHide,
|
117
120
|
onShow = _getShowToastCallSign.onShow;
|
118
121
|
setToastProps({
|
@@ -126,7 +129,9 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
|
|
126
129
|
pilled: pilled,
|
127
130
|
hasClose: hasClose,
|
128
131
|
size: size,
|
129
|
-
view: view
|
132
|
+
view: view,
|
133
|
+
closeIconType: closeIconType,
|
134
|
+
textColor: textColor
|
130
135
|
});
|
131
136
|
setToastInfo({
|
132
137
|
timeout: timeout,
|
@@ -140,13 +145,13 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
|
|
140
145
|
var onHide = toastInfo.onHide,
|
141
146
|
timeout = toastInfo.timeout;
|
142
147
|
var hideToast = useCallback(function () {
|
143
|
-
if (!isVisible) {
|
144
|
-
return;
|
145
|
-
}
|
146
148
|
if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
|
147
149
|
clearTimeout(hideTimeout.current);
|
148
150
|
hideTimeout.current = null;
|
149
151
|
}
|
152
|
+
if (!isVisible) {
|
153
|
+
return;
|
154
|
+
}
|
150
155
|
onHide === null || onHide === void 0 || onHide();
|
151
156
|
setIsVisible(false);
|
152
157
|
animationRunTimeout.current = setTimeout(function () {
|
@@ -159,13 +164,26 @@ var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
|
|
159
164
|
clearTimeout(animationRunTimeout.current);
|
160
165
|
animationRunTimeout.current = null;
|
161
166
|
}
|
167
|
+
return function () {
|
168
|
+
if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
|
169
|
+
clearTimeout(animationRunTimeout.current);
|
170
|
+
}
|
171
|
+
};
|
162
172
|
}, [timeout]);
|
173
|
+
|
174
|
+
// очистка таймаутов перенесена из ToastController, т. к. в StrictМоde react делает дополнительный unmount
|
163
175
|
useEffect(function () {
|
164
176
|
if (timeout && isVisible) {
|
165
177
|
hideTimeout.current = setTimeout(function () {
|
166
178
|
hideToast();
|
167
179
|
}, timeout);
|
168
180
|
}
|
181
|
+
return function () {
|
182
|
+
if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
|
183
|
+
clearTimeout(hideTimeout.current);
|
184
|
+
hideTimeout.current = null;
|
185
|
+
}
|
186
|
+
};
|
169
187
|
}, [isVisible, timeout]);
|
170
188
|
return /*#__PURE__*/React.createElement(ToastContext.Provider, {
|
171
189
|
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":";;;;IAQaA,YAAY,gBAAGC,aAAa,CAA0B,IAAI,EAAC;IAE3DC,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC/B,EAAA,IAAMC,OAAO,GAAGC,UAAU,CAACJ,YAAY,CAAC,CAAA;EACxC,IAAI,CAACG,OAAO,EAAE;AACV,IAAA,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC,CAAA;AACnE,GAAA;AACA,EAAA,OAAOF,OAAO,CAAA;AAClB,EAAC;IAEYG,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AAC1B,EAAA,IAAAC,cAAA,GAAiCL,aAAa,EAAE;IAAxCM,SAAS,GAAAD,cAAA,CAATC,SAAS;IAAEC,SAAS,GAAAF,cAAA,CAATE,SAAS,CAAA;EAC5B,OAAO;AAAED,IAAAA,SAAS,EAATA,SAAS;AAAEC,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACnC,EAAC;AAED,IAAMC,gBAAgB,GAAG;AACrBC,EAAAA,IAAI,EAAEC,SAAS;AACfC,EAAAA,MAAM,EAAED,SAAS;AACjBE,EAAAA,QAAQ,EAAEC,gBAAgB;AAC1BC,EAAAA,IAAI,EAAEC,YAAY;AAClBC,EAAAA,OAAO,EAAEN,SAAS;AAClBO,EAAAA,WAAW,EAAEP,SAAS;AACtBQ,EAAAA,IAAI,EAAER,SAAS;AACfS,EAAAA,MAAM,EAAET,SAAS;AACjBU,EAAAA,QAAQ,EAAEV,SAAS;AACnBW,EAAAA,KAAK,EAAEX,SAAS;AAChBY,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,IAAI,EAAE,SAAA;AACV,CAAqB,CAAA;AAErB,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,IAA4B,EAAK;AAChE,EAAA,IAAIC,OAAA,CAAOD,IAAI,CAAC,CAAC,CAAC,CAAA,KAAK,QAAQ,IAAI,MAAM,IAAIA,IAAI,CAAC,CAAC,CAAC,EAAE;IAClD,OAAOA,IAAI,CAAC,CAAC,CAAC,CAAA;AAClB,GAAA;;AAEA;AACA,EAAA,IAAAE,KAAA,GAAAC,cAAA,CAAwGH,IAAI,EAAA,EAAA,CAAA;AAArGhB,IAAAA,IAAI,GAAAkB,KAAA,CAAA,CAAA,CAAA;AAAEf,IAAAA,QAAQ,GAAAe,KAAA,CAAA,CAAA,CAAA;AAAEX,IAAAA,OAAO,GAAAW,KAAA,CAAA,CAAA,CAAA;AAAEb,IAAAA,IAAI,GAAAa,KAAA,CAAA,CAAA,CAAA;AAAEV,IAAAA,WAAW,GAAAU,KAAA,CAAA,CAAA,CAAA;AAAET,IAAAA,IAAI,GAAAS,KAAA,CAAA,CAAA,CAAA;AAAEhB,IAAAA,MAAM,GAAAgB,KAAA,CAAA,CAAA,CAAA;AAAER,IAAAA,MAAM,GAAAQ,KAAA,CAAA,CAAA,CAAA;AAAEN,IAAAA,KAAK,GAAAM,KAAA,CAAA,CAAA,CAAA;AAAEP,IAAAA,QAAQ,GAAAO,KAAA,CAAA,CAAA,CAAA;AAAEL,IAAAA,IAAI,GAAAK,KAAA,CAAA,EAAA,CAAA;AAAEJ,IAAAA,IAAI,GAAAI,KAAA,CAAA,EAAA,CAAA,CAAA;EAEpG,OAAO;AAAElB,IAAAA,IAAI,EAAJA,IAAI;AAAEG,IAAAA,QAAQ,EAARA,QAAQ;AAAEI,IAAAA,OAAO,EAAPA,OAAO;AAAEF,IAAAA,IAAI,EAAJA,IAAI;AAAEG,IAAAA,WAAW,EAAXA,WAAW;AAAEC,IAAAA,IAAI,EAAJA,IAAI;AAAEP,IAAAA,MAAM,EAANA,MAAM;AAAEQ,IAAAA,MAAM,EAANA,MAAM;AAAEE,IAAAA,KAAK,EAALA,KAAK;AAAED,IAAAA,QAAQ,EAARA,QAAQ;AAAEE,IAAAA,IAAI,EAAJA,IAAI;AAAEC,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AAC5G,CAAC,CAAA;IAEYM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAA0BC,cAAqB,EAAA;AAAA,EAAA,OACxE,SAASC,aAAaA,CAAAC,IAAA,EAAwC;AAAA,IAAA,IAArCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAC7B,IAAA,IAAAC,SAAA,GAAkCC,QAAQ,CAAC,KAAK,CAAC;MAAAC,UAAA,GAAAR,cAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAA1CG,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAAgCJ,QAAQ,CAAC,IAAI,CAAC;MAAAK,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAvCE,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,IAAA,IAAMG,WAAW,GAAGC,MAAM,CAAgB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,mBAAmB,GAAGD,MAAM,CAAgB,IAAI,CAAC,CAAA;AAEvD,IAAA,IAAAE,UAAA,GAAoCX,QAAQ,CAAuB3B,gBAAgB,CAAC;MAAAuC,UAAA,GAAAnB,cAAA,CAAAkB,UAAA,EAAA,CAAA,CAAA;AAA7EE,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAChC,IAAAG,UAAA,GAAkCf,QAAQ,CAA4C;AAClFnB,QAAAA,OAAO,EAAEN,SAAS;AAClByC,QAAAA,MAAM,EAAEzC,SAAAA;AACZ,OAAC,CAAC;MAAA0C,UAAA,GAAAxB,cAAA,CAAAsB,UAAA,EAAA,CAAA,CAAA;AAHKG,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAK9B,IAAA,IAAMG,iBAA4B,GAAG,SAA/BA,iBAA4BA,GAAwC;AACtE,MAAA,IAAIlB,SAAS,EAAE;AACX,QAAA,OAAA;AACJ,OAAA;AAAC,MAAA,KAAA,IAAAmB,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAHoCjC,IAAI,GAAAkC,IAAAA,KAAA,CAAAH,IAAA,GAAAI,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,EAAA,EAAA;AAAJnC,QAAAA,IAAI,CAAAmC,IAAA,CAAAH,GAAAA,SAAA,CAAAG,IAAA,CAAA,CAAA;AAAA,OAAA;AAKzC,MAAA,IAAAC,qBAAA,GAeIrC,yBAAyB,CAACC,IAAI,CAAC;QAd/BhB,IAAI,GAAAoD,qBAAA,CAAJpD,IAAI;QACJE,MAAM,GAAAkD,qBAAA,CAANlD,MAAM;QAAAmD,sBAAA,GAAAD,qBAAA,CACNjD,QAAQ;AAARA,QAAAA,QAAQ,GAAAkD,sBAAA,KAAGjD,KAAAA,CAAAA,GAAAA,gBAAgB,GAAAiD,sBAAA;QAAAC,sBAAA,GAAAF,qBAAA,CAC3B/C,IAAI;AAAJA,QAAAA,IAAI,GAAAiD,sBAAA,KAAGhD,KAAAA,CAAAA,GAAAA,YAAY,GAAAgD,sBAAA;QACnB/C,OAAO,GAAA6C,qBAAA,CAAP7C,OAAO;QACPC,WAAW,GAAA4C,qBAAA,CAAX5C,WAAW;QACXC,IAAI,GAAA2C,qBAAA,CAAJ3C,IAAI;QACJC,MAAM,GAAA0C,qBAAA,CAAN1C,MAAM;QACNC,QAAQ,GAAAyC,qBAAA,CAARzC,QAAQ;QACRE,IAAI,GAAAuC,qBAAA,CAAJvC,IAAI;QACJC,IAAI,GAAAsC,qBAAA,CAAJtC,IAAI;QACJF,KAAK,GAAAwC,qBAAA,CAALxC,KAAK;QACL8B,MAAM,GAAAU,qBAAA,CAANV,MAAM;QACNa,MAAM,GAAAH,qBAAA,CAANG,MAAM,CAAA;AAGVf,MAAAA,aAAa,CAAC;AACVxC,QAAAA,IAAI,EAAJA,IAAI;AACJY,QAAAA,KAAK,EAALA,KAAK;AACLT,QAAAA,QAAQ,EAARA,QAAQ;AACRD,QAAAA,MAAM,EAANA,MAAM;AACNG,QAAAA,IAAI,EAAJA,IAAI;AACJG,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,QAAQ,EAARA,QAAQ;AACRE,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,IAAI,EAAJA,IAAAA;AACJ,OAAC,CAAC,CAAA;AAEF+B,MAAAA,YAAY,CAAC;AAAEtC,QAAAA,OAAO,EAAPA,OAAO;AAAEmC,QAAAA,MAAM,EAANA,MAAAA;AAAO,OAAC,CAAC,CAAA;MAEjCT,WAAW,CAAC,KAAK,CAAC,CAAA;MAClBJ,YAAY,CAAC,IAAI,CAAC,CAAA;AAClB0B,MAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,EAAI,CAAA;KACb,CAAA;AAED,IAAA,IAAM1D,SAAS,GAAG2D,WAAW,CAACV,iBAAiB,EAAE,EAAE,CAAC,CAAA;AAEpD,IAAA,IAAQJ,MAAM,GAAcE,SAAS,CAA7BF,MAAM;MAAEnC,OAAO,GAAKqC,SAAS,CAArBrC,OAAO,CAAA;AAEvB,IAAA,IAAMT,SAAS,GAAG0D,WAAW,CAAC,YAAM;MAChC,IAAI,CAAC5B,SAAS,EAAE;AACZ,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIM,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEuB,OAAO,EAAE;AACtBC,QAAAA,YAAY,CAACxB,WAAW,CAACuB,OAAO,CAAC,CAAA;QACjCvB,WAAW,CAACuB,OAAO,GAAG,IAAI,CAAA;AAC9B,OAAA;AAEAf,MAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,EAAI,CAAA;MACVb,YAAY,CAAC,KAAK,CAAC,CAAA;AAEnBO,MAAAA,mBAAmB,CAACqB,OAAO,GAAGE,UAAU,CAAC,YAAM;QAC3C1B,WAAW,CAAC,IAAI,CAAC,CAAA;QACjBO,aAAa,CAACzC,gBAAgB,CAAC,CAAA;OAClC,EAAE6D,WAAW,CAAC,CAAA;KAClB,EAAE,CAAClB,MAAM,EAAEd,SAAS,EAAEI,QAAQ,CAAC,CAAC,CAAA;AAEjC6B,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAItD,OAAO,KAAK,IAAI,IAAI6B,mBAAmB,CAACqB,OAAO,KAAK,IAAI,EAAE;AAC1DC,QAAAA,YAAY,CAACtB,mBAAmB,CAACqB,OAAO,CAAC,CAAA;QACzCrB,mBAAmB,CAACqB,OAAO,GAAG,IAAI,CAAA;AACtC,OAAA;AACJ,KAAC,EAAE,CAAClD,OAAO,CAAC,CAAC,CAAA;AAEbsD,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAItD,OAAO,IAAIqB,SAAS,EAAE;AACtBM,QAAAA,WAAW,CAACuB,OAAO,GAAGE,UAAU,CAAC,YAAM;AACnC7D,UAAAA,SAAS,EAAE,CAAA;SACd,EAAES,OAAO,CAAC,CAAA;AACf,OAAA;AACJ,KAAC,EAAE,CAACqB,SAAS,EAAErB,OAAO,CAAC,CAAC,CAAA;AAExB,IAAA,oBACIuD,KAAA,CAAAC,aAAA,CAAC1E,YAAY,CAAC2E,QAAQ,EAAA;AAACC,MAAAA,KAAK,EAAE;AAAEpE,QAAAA,SAAS,EAATA,SAAS;AAAEC,QAAAA,SAAS,EAATA,SAAS;AAAE8B,QAAAA,SAAS,EAATA,SAAS;AAAEM,QAAAA,WAAW,EAAXA,WAAW;AAAEE,QAAAA,mBAAmB,EAAnBA,mBAAAA;AAAoB,OAAA;AAAE,KAAA,EAC/FZ,QAAQ,EACR,CAACQ,QAAQ,iBAAI8B,KAAA,CAAAC,aAAA,CAAC1C,cAAc,EAAMkB,UAAmB,CACnC,CAAC,CAAA;GAE/B,CAAA;AAAA;;;;"}
|
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_CLOSE_ICON_TYPE, 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 closeIconType = DEFAULT_CLOSE_ICON_TYPE,\n textColor,\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 closeIconType,\n textColor,\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 // очистка таймаутов перенесена из ToastController, т. к. в StrictМоde react делает дополнительный unmount\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","_getShowToastCallSign4","closeIconType","DEFAULT_CLOSE_ICON_TYPE","textColor","onShow","useCallback","current","clearTimeout","setTimeout","TIMER_DELAY","useEffect","React","createElement","Provider","value"],"mappings":"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"}
|
@@ -3,6 +3,7 @@ import { buttonConfig } from '../Button/Button.js';
|
|
3
3
|
|
4
4
|
var DEFAULT_FADE = true;
|
5
5
|
var DEFAULT_POSITION = 'bottom';
|
6
|
+
var DEFAULT_CLOSE_ICON_TYPE = 'default';
|
6
7
|
var TIMER_DELAY = 300;
|
7
8
|
var FADE_Z_INDEX = '9900';
|
8
9
|
var gradients = {
|
@@ -12,5 +13,5 @@ var gradients = {
|
|
12
13
|
var mergedButtonConfig = /*#__PURE__*/mergeConfig(buttonConfig);
|
13
14
|
var Button = /*#__PURE__*/component(mergedButtonConfig);
|
14
15
|
|
15
|
-
export { Button, DEFAULT_FADE, DEFAULT_POSITION, FADE_Z_INDEX, TIMER_DELAY, gradients };
|
16
|
+
export { Button, DEFAULT_CLOSE_ICON_TYPE, DEFAULT_FADE, DEFAULT_POSITION, FADE_Z_INDEX, TIMER_DELAY, gradients };
|
16
17
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/components/Toast/utils.ts"],"sourcesContent":["import { buttonConfig } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nexport const DEFAULT_FADE = true;\nexport const DEFAULT_POSITION = 'bottom';\nexport const TIMER_DELAY = 300;\nexport const FADE_Z_INDEX = '9900';\nexport const TOAST_Z_INDEX = '9901';\n\nexport const gradients = {\n top: 'radial-gradient(200% 200% at 50% -100%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n bottom: 'radial-gradient(200% 200% at 50% 200%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n};\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nexport const Button = component(mergedButtonConfig);\n"],"names":["DEFAULT_FADE","DEFAULT_POSITION","TIMER_DELAY","FADE_Z_INDEX","gradients","top","bottom","mergedButtonConfig","mergeConfig","buttonConfig","Button","component"],"mappings":";;;AAGO,IAAMA,YAAY,GAAG,KAAI;AACzB,IAAMC,gBAAgB,GAAG,SAAQ;AACjC,IAAMC,WAAW,GAAG,IAAG;AACvB,IAAMC,YAAY,GAAG,OAAM;AAG3B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,GAAG,EAAE,uFAAuF;AAC5FC,EAAAA,MAAM,EAAE,sFAAA;AACZ,EAAC;AAED,IAAMC,kBAAkB,gBAAGC,WAAW,CAACC,YAAY,CAAC,CAAA;IACvCC,MAAM,gBAAGC,SAAS,CAACJ,kBAAkB;;;;"}
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/components/Toast/utils.ts"],"sourcesContent":["import { buttonConfig } from '../Button';\nimport { component, mergeConfig } from '../../engines';\n\nexport const DEFAULT_FADE = true;\nexport const DEFAULT_POSITION = 'bottom';\nexport const DEFAULT_CLOSE_ICON_TYPE = 'default';\nexport const TIMER_DELAY = 300;\nexport const FADE_Z_INDEX = '9900';\nexport const TOAST_Z_INDEX = '9901';\n\nexport const gradients = {\n top: 'radial-gradient(200% 200% at 50% -100%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n bottom: 'radial-gradient(200% 200% at 50% 200%, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%)',\n};\n\nconst mergedButtonConfig = mergeConfig(buttonConfig);\nexport const Button = component(mergedButtonConfig);\n"],"names":["DEFAULT_FADE","DEFAULT_POSITION","DEFAULT_CLOSE_ICON_TYPE","TIMER_DELAY","FADE_Z_INDEX","gradients","top","bottom","mergedButtonConfig","mergeConfig","buttonConfig","Button","component"],"mappings":";;;AAGO,IAAMA,YAAY,GAAG,KAAI;AACzB,IAAMC,gBAAgB,GAAG,SAAQ;AACjC,IAAMC,uBAAuB,GAAG,UAAS;AACzC,IAAMC,WAAW,GAAG,IAAG;AACvB,IAAMC,YAAY,GAAG,OAAM;AAG3B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,GAAG,EAAE,uFAAuF;AAC5FC,EAAAA,MAAM,EAAE,sFAAA;AACZ,EAAC;AAED,IAAMC,kBAAkB,gBAAGC,WAAW,CAACC,YAAY,CAAC,CAAA;IACvCC,MAAM,gBAAGC,SAAS,CAACJ,kBAAkB;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../src/components/Toast/variations/_pilled/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../Toast.tokens';\n\nexport const base = css`\n &.${String(classes.toastPilled)} {\n --plasma_private-left-
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../../src/components/Toast/variations/_pilled/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nimport { classes, tokens } from '../../Toast.tokens';\n\nexport const base = css`\n &.${String(classes.toastPilled)} {\n --plasma_private-content-left-margin: var(${tokens.contentLeftMargin});\n --plasma_private-close-icon-margin: var(${tokens.closeIconMargin});\n\n border-radius: var(${tokens.pilledBorderRadius});\n }\n`;\n"],"names":["base"],"mappings":"AAIO,IAAMA,IAAI,GAOhB;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
.bmt2xdv.toast-pilled{--plasma_private-content-left-margin:var(--plasma-toast-content-left-margin);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);border-radius:var(--plasma-toast-pilled-border-radius);}
|
package/es/index.css
CHANGED
@@ -540,14 +540,14 @@
|
|
540
540
|
|
541
541
|
.base_r51pt4_b1d1vtqu__bfcbbf25{padding:var(--plasma-toast-padding);border-radius:var(--plasma-toast-border-radius);max-width:var(--plasma-toast-max-width);-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-family:var(--plasma-toast-font-family);font-size:var(--plasma-toast-font-size);font-style:var(--plasma-toast-font-style);font-weight:var(--plasma-toast-font-weight);-webkit-letter-spacing:var(--plasma-toast-letter-spacing);-moz-letter-spacing:var(--plasma-toast-letter-spacing);-ms-letter-spacing:var(--plasma-toast-letter-spacing);letter-spacing:var(--plasma-toast-letter-spacing);line-height:var(--plasma-toast-lineheight);}
|
542
542
|
|
543
|
-
.
|
544
|
-
|
545
|
-
.
|
546
|
-
.
|
547
|
-
.
|
548
|
-
.
|
549
|
-
.
|
550
|
-
|
543
|
+
.base_13i59v3_bmt2xdv__6505c4ad.base_13i59v3_toastPilled__6505c4ad{--plasma_private-content-left-margin:var(--plasma-toast-content-left-margin);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);border-radius:var(--plasma-toast-pilled-border-radius);}
|
544
|
+
|
545
|
+
.Toast_styles_1kasmzh_b1xqk743__8ac79e0c{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;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);--plasma-button-width:1rem;}
|
546
|
+
.Toast_styles_1kasmzh_s1ajsqhx__8ac79e0c{position:fixed;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:9901;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:0;top:var(--s1ajsqhx-0);bottom:var(--s1ajsqhx-1);}.Toast_styles_1kasmzh_s1ajsqhx__8ac79e0c.Toast_styles_1kasmzh_toastShowed__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;}.Toast_styles_1kasmzh_s1ajsqhx__8ac79e0c.Toast_styles_1kasmzh_toastHidden__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c ease-out forwards;}@-webkit-keyframes Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c{0%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}80%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{opacity:1;}}@keyframes Toast_styles_1kasmzh_showToastAnimationS1ajsqhx__8ac79e0c{0%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}80%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{opacity:1;}}@-webkit-keyframes Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c{0%{opacity:1;}20%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}}@keyframes Toast_styles_1kasmzh_hideToastAnimationS1ajsqhx__8ac79e0c{0%{opacity:1;}20%{-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0.7;}100%{-webkit-transform:var(--s1ajsqhx-2);-ms-transform:var(--s1ajsqhx-2);transform:var(--s1ajsqhx-2);opacity:0;}}
|
547
|
+
.Toast_styles_1kasmzh_cb0tpdq__8ac79e0c{height:var(--plasma-toast-close-icon-button-size);--plasma_private-close-icon-margin:var(--plasma-toast-close-icon-margin);margin:var(--plasma_private-close-icon-margin);color:var(--plasma-toast-close-icon-color);}.Toast_styles_1kasmzh_cb0tpdq__8ac79e0c:hover{color:var(--plasma-toast-close-icon-color-on-hover);}
|
548
|
+
.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_toastFadeShowed__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c ease-out forwards;}.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_segu2tf__8ac79e0c.Toast_styles_1kasmzh_toastFadeHidden__8ac79e0c{-webkit-animation:0.3s Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c ease-out forwards;animation:0.3s Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c ease-out forwards;}@-webkit-keyframes Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c{0%{opacity:0;}100%{opacity:1;}}@keyframes Toast_styles_1kasmzh_showFadeAnimationSegu2tf__8ac79e0c{0%{opacity:0;}100%{opacity:1;}}@-webkit-keyframes Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c{0%{opacity:1;}100%{opacity:0;}}@keyframes Toast_styles_1kasmzh_hideFadeAnimationSegu2tf__8ac79e0c{0%{opacity:1;}100%{opacity:0;}}
|
549
|
+
.Toast_styles_1kasmzh_s1bt6ppa__8ac79e0c{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;--plasma_private-content-left-margin:var(--plasma-toast-content-left-margin);margin:var(--plasma_private-content-left-margin);color:var(--plasma-toast-content-left-color);}
|
550
|
+
.Toast_styles_1kasmzh_s1h44nk1__8ac79e0c{color:var(--s1h44nk1-0);}
|
551
551
|
|
552
552
|
.Overlay_styles_cxej3y_s1afr8la__70d4dd9a{position:fixed;inset:0;z-index:var(--s1afr8la-0);--plasma_private-overlay-background-color:var(--s1afr8la-1);--plasma_private-overlay-backdrop-filter:var(--s1afr8la-2);background:var(--s1afr8la-3);-webkit-backdrop-filter:var(--s1afr8la-4);backdrop-filter:var(--s1afr8la-4);cursor:var(--s1afr8la-5);}
|
553
553
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.253.0-canary.1719.13069931199.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": "
|
134
|
+
"gitHead": "aebc99249ab41cf444a49382f65ed3001e9a7696"
|
135
135
|
}
|
@@ -404,7 +404,7 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
|
|
404
404
|
ref: inputForkRef,
|
405
405
|
id: innerId,
|
406
406
|
value: outerValue,
|
407
|
-
required:
|
407
|
+
required: required,
|
408
408
|
"aria-labelledby": labelId,
|
409
409
|
"aria-describedby": helperTextId,
|
410
410
|
placeholder: innerPlaceholderValue,
|
@@ -15,7 +15,7 @@ var _base2 = /*#__PURE__*/require("./variations/_size/base");
|
|
15
15
|
var _base3 = /*#__PURE__*/require("./variations/_pilled/base");
|
16
16
|
var _base4 = /*#__PURE__*/require("./variations/_closeIconType/base");
|
17
17
|
var _Toast2 = /*#__PURE__*/require("./Toast.styles");
|
18
|
-
var _excluded = ["role", "width", "text", "hasClose", "contentLeft", "view", "size", "pilled", "className", "style", "closeIconType", "onCloseButtonClick"];
|
18
|
+
var _excluded = ["role", "width", "text", "hasClose", "contentLeft", "view", "size", "pilled", "className", "style", "closeIconType", "onCloseButtonClick", "textColor"];
|
19
19
|
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); }
|
20
20
|
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; }
|
21
21
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
@@ -42,6 +42,7 @@ var toastRoot = exports.toastRoot = function toastRoot(Root) {
|
|
42
42
|
style = props.style,
|
43
43
|
closeIconType = props.closeIconType,
|
44
44
|
onCloseButtonClick = props.onCloseButtonClick,
|
45
|
+
textColor = props.textColor,
|
45
46
|
rest = _objectWithoutProperties(props, _excluded);
|
46
47
|
var pilledClass = pilled ? _Toast.classes.toastPilled : undefined;
|
47
48
|
var fixedWidth = !Number.isNaN(Number(width)) ? "".concat(width, "%") : width;
|
@@ -65,7 +66,9 @@ var toastRoot = exports.toastRoot = function toastRoot(Root) {
|
|
65
66
|
role: role,
|
66
67
|
"aria-live": ariaLive,
|
67
68
|
"aria-atomic": ariaAtomic
|
68
|
-
}, rest), contentLeft && /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContentLeft, null, contentLeft), /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContent,
|
69
|
+
}, rest), contentLeft && /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContentLeft, null, contentLeft), /*#__PURE__*/_react["default"].createElement(_Toast2.StyledContent, {
|
70
|
+
textColor: textColor
|
71
|
+
}, text), hasClose && /*#__PURE__*/_react["default"].createElement(_Toast2.CloseIconWrapper, {
|
69
72
|
view: "clear",
|
70
73
|
size: "s",
|
71
74
|
onClick: onCloseButtonClick,
|
@@ -42,7 +42,10 @@ var StyledOverlay = exports.StyledOverlay = /*#__PURE__*/(0, _styledComponents["
|
|
42
42
|
})(["&&.", "{animation:0.3s showFadeAnimation ease-out forwards;}&&.", "{animation:0.3s hideFadeAnimation ease-out forwards;}@keyframes showFadeAnimation{0%{opacity:0;}100%{opacity:1;}}@keyframes hideFadeAnimation{0%{opacity:1;}100%{opacity:0;}}"], /*#__PURE__*/String(_Toast.classes.toastFadeShowed), /*#__PURE__*/String(_Toast.classes.toastFadeHidden));
|
43
43
|
var StyledContentLeft = exports.StyledContentLeft = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
44
44
|
componentId: "plasma-new-hope__sc-19l9ekl-3"
|
45
|
-
})(["display:flex;--plasma_private-left-
|
45
|
+
})(["display:flex;--plasma_private-content-left-margin:var(", ");margin:var(--plasma_private-content-left-margin);color:var(", ");"], _Toast.tokens.contentLeftMargin, _Toast.tokens.contentLeftColor);
|
46
46
|
var StyledContent = exports.StyledContent = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
47
47
|
componentId: "plasma-new-hope__sc-19l9ekl-4"
|
48
|
-
})([""])
|
48
|
+
})(["color:", ";"], function (_ref5) {
|
49
|
+
var textColor = _ref5.textColor;
|
50
|
+
return textColor || 'currentColor';
|
51
|
+
});
|
@@ -104,6 +104,10 @@ export interface ShowToastArgs {
|
|
104
104
|
* Время отображения подсказки. Если не передать значение, подсказка будет отображаться пока ее не закроют.
|
105
105
|
*/
|
106
106
|
timeout?: number;
|
107
|
+
/**
|
108
|
+
* Цвет текста (по умолчанию берётся цвет из view)
|
109
|
+
*/
|
110
|
+
textColor?: string;
|
107
111
|
/**
|
108
112
|
* callback срабатывающий в момент события hideToast
|
109
113
|
*/
|
@@ -117,9 +121,11 @@ export interface ShowToastArgs {
|
|
117
121
|
|
118
122
|
## Пример использования
|
119
123
|
|
124
|
+
Для изменения цветовой темы компонента `Toast` используйте свойство `view` компонента `ViewContainer`.
|
125
|
+
|
120
126
|
```jsx live
|
121
127
|
import React from 'react'
|
122
|
-
import { useToast, ToastProvider, Button } from '@salutejs/{{ package }}'
|
128
|
+
import { useToast, ToastProvider, Button, ViewContainer } from '@salutejs/{{ package }}'
|
123
129
|
|
124
130
|
export function App() {
|
125
131
|
|
@@ -130,12 +136,13 @@ export function App() {
|
|
130
136
|
const onHide = () => {}
|
131
137
|
const toastData = {
|
132
138
|
text: 'Подсказка вызванная showToast',
|
139
|
+
textColor: 'cyan',
|
133
140
|
position: 'bottom',
|
134
141
|
role: 'status',
|
135
142
|
hasClose: true,
|
136
143
|
fade: false,
|
137
144
|
size: 'm',
|
138
|
-
view: '
|
145
|
+
view: 'default',
|
139
146
|
timeout: 3000,
|
140
147
|
onShow,
|
141
148
|
onHide
|
@@ -145,9 +152,19 @@ export function App() {
|
|
145
152
|
}
|
146
153
|
|
147
154
|
return (
|
148
|
-
<
|
149
|
-
<
|
150
|
-
|
155
|
+
<div style=\{{ display: 'flex', gap: '1rem' }}>
|
156
|
+
<ViewContainer view="onLight">
|
157
|
+
<ToastProvider>
|
158
|
+
<ToastExample />
|
159
|
+
</ToastProvider>
|
160
|
+
</ViewContainer>
|
161
|
+
|
162
|
+
<ViewContainer view="onDark">
|
163
|
+
<ToastProvider>
|
164
|
+
<ToastExample />
|
165
|
+
</ToastProvider>
|
166
|
+
</ViewContainer>
|
167
|
+
</div>
|
151
168
|
)
|
152
169
|
}
|
153
170
|
```
|
@@ -25,7 +25,8 @@ var tokens = exports.tokens = {
|
|
25
25
|
letterSpacing: '--plasma-toast-letter-spacing',
|
26
26
|
lineHeight: '--plasma-toast-lineheight',
|
27
27
|
pilledBorderRadius: '--plasma-toast-pilled-border-radius',
|
28
|
-
|
28
|
+
contentLeftMargin: '--plasma-toast-content-left-margin',
|
29
|
+
contentLeftColor: '--plasma-toast-content-left-color',
|
29
30
|
closeIconMargin: '--plasma-toast-close-icon-margin',
|
30
31
|
closeIconColor: '--plasma-toast-close-icon-color',
|
31
32
|
closeIconColorOnHover: '--plasma-toast-close-icon-color-on-hover',
|
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.ToastControllerHoc = void 0;
|
8
|
-
var _react = /*#__PURE__*/
|
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
|
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
|
}
|
@@ -126,6 +126,9 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
|
|
126
126
|
size = _getShowToastCallSign.size,
|
127
127
|
view = _getShowToastCallSign.view,
|
128
128
|
width = _getShowToastCallSign.width,
|
129
|
+
_getShowToastCallSign4 = _getShowToastCallSign.closeIconType,
|
130
|
+
closeIconType = _getShowToastCallSign4 === void 0 ? _utils.DEFAULT_CLOSE_ICON_TYPE : _getShowToastCallSign4,
|
131
|
+
textColor = _getShowToastCallSign.textColor,
|
129
132
|
onHide = _getShowToastCallSign.onHide,
|
130
133
|
onShow = _getShowToastCallSign.onShow;
|
131
134
|
setToastProps({
|
@@ -139,7 +142,9 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
|
|
139
142
|
pilled: pilled,
|
140
143
|
hasClose: hasClose,
|
141
144
|
size: size,
|
142
|
-
view: view
|
145
|
+
view: view,
|
146
|
+
closeIconType: closeIconType,
|
147
|
+
textColor: textColor
|
143
148
|
});
|
144
149
|
setToastInfo({
|
145
150
|
timeout: timeout,
|
@@ -153,13 +158,13 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
|
|
153
158
|
var onHide = toastInfo.onHide,
|
154
159
|
timeout = toastInfo.timeout;
|
155
160
|
var hideToast = (0, _react.useCallback)(function () {
|
156
|
-
if (!isVisible) {
|
157
|
-
return;
|
158
|
-
}
|
159
161
|
if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
|
160
162
|
clearTimeout(hideTimeout.current);
|
161
163
|
hideTimeout.current = null;
|
162
164
|
}
|
165
|
+
if (!isVisible) {
|
166
|
+
return;
|
167
|
+
}
|
163
168
|
onHide === null || onHide === void 0 || onHide();
|
164
169
|
setIsVisible(false);
|
165
170
|
animationRunTimeout.current = setTimeout(function () {
|
@@ -172,13 +177,26 @@ var ToastProviderHoc = exports.ToastProviderHoc = function ToastProviderHoc(Toas
|
|
172
177
|
clearTimeout(animationRunTimeout.current);
|
173
178
|
animationRunTimeout.current = null;
|
174
179
|
}
|
180
|
+
return function () {
|
181
|
+
if (animationRunTimeout !== null && animationRunTimeout !== void 0 && animationRunTimeout.current) {
|
182
|
+
clearTimeout(animationRunTimeout.current);
|
183
|
+
}
|
184
|
+
};
|
175
185
|
}, [timeout]);
|
186
|
+
|
187
|
+
// очистка таймаутов перенесена из ToastController, т. к. в StrictМоde react делает дополнительный unmount
|
176
188
|
(0, _react.useEffect)(function () {
|
177
189
|
if (timeout && isVisible) {
|
178
190
|
hideTimeout.current = setTimeout(function () {
|
179
191
|
hideToast();
|
180
192
|
}, timeout);
|
181
193
|
}
|
194
|
+
return function () {
|
195
|
+
if (hideTimeout !== null && hideTimeout !== void 0 && hideTimeout.current) {
|
196
|
+
clearTimeout(hideTimeout.current);
|
197
|
+
hideTimeout.current = null;
|
198
|
+
}
|
199
|
+
};
|
182
200
|
}, [isVisible, timeout]);
|
183
201
|
return /*#__PURE__*/_react["default"].createElement(ToastContext.Provider, {
|
184
202
|
value: {
|
@@ -3,11 +3,12 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.gradients = exports.TOAST_Z_INDEX = exports.TIMER_DELAY = exports.FADE_Z_INDEX = exports.DEFAULT_POSITION = exports.DEFAULT_FADE = exports.Button = void 0;
|
6
|
+
exports.gradients = exports.TOAST_Z_INDEX = exports.TIMER_DELAY = exports.FADE_Z_INDEX = exports.DEFAULT_POSITION = exports.DEFAULT_FADE = exports.DEFAULT_CLOSE_ICON_TYPE = exports.Button = void 0;
|
7
7
|
var _Button = /*#__PURE__*/require("../Button");
|
8
8
|
var _engines = /*#__PURE__*/require("../../engines");
|
9
9
|
var DEFAULT_FADE = exports.DEFAULT_FADE = true;
|
10
10
|
var DEFAULT_POSITION = exports.DEFAULT_POSITION = 'bottom';
|
11
|
+
var DEFAULT_CLOSE_ICON_TYPE = exports.DEFAULT_CLOSE_ICON_TYPE = 'default';
|
11
12
|
var TIMER_DELAY = exports.TIMER_DELAY = 300;
|
12
13
|
var FADE_Z_INDEX = exports.FADE_Z_INDEX = '9900';
|
13
14
|
var TOAST_Z_INDEX = exports.TOAST_Z_INDEX = '9901';
|
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.base = void 0;
|
7
7
|
var _styledComponents = /*#__PURE__*/require("styled-components");
|
8
8
|
var _Toast = /*#__PURE__*/require("../../Toast.tokens");
|
9
|
-
var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["&.", "{--plasma_private-left-
|
9
|
+
var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["&.", "{--plasma_private-content-left-margin:var(", ");--plasma_private-close-icon-margin:var(", ");border-radius:var(", ");}"], /*#__PURE__*/String(_Toast.classes.toastPilled), _Toast.tokens.contentLeftMargin, _Toast.tokens.closeIconMargin, _Toast.tokens.pilledBorderRadius);
|
@@ -15,14 +15,24 @@ var config = exports.config = {
|
|
15
15
|
variations: {
|
16
16
|
view: {
|
17
17
|
"default": /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-secondary);", ":var(--text-secondary);"], _Toast.toastTokens.color, _Toast.toastTokens.background, _Toast.toastTokens.closeIconColor, _Toast.toastTokens.closeIconColorOnHover),
|
18
|
+
positive: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-positive);", ":var(--text-secondary);", ":var(--text-secondary);"], _Toast.toastTokens.color, _Toast.toastTokens.background, _Toast.toastTokens.contentLeftColor, _Toast.toastTokens.closeIconColor, _Toast.toastTokens.closeIconColorOnHover),
|
19
|
+
negative: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-negative);", ":var(--text-secondary);", ":var(--text-secondary);"], _Toast.toastTokens.color, _Toast.toastTokens.background, _Toast.toastTokens.contentLeftColor, _Toast.toastTokens.closeIconColor, _Toast.toastTokens.closeIconColorOnHover),
|
20
|
+
/**
|
21
|
+
* @deprecated
|
22
|
+
* светлый и темный фон регулировать через `view` компонента `ViewContainer`
|
23
|
+
*/
|
18
24
|
dark: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--on-dark-surface-solid-primary-brightness);", ":var(--on-dark-text-secondary);", ":var(--on-dark-text-secondary);"], _Toast.toastTokens.color, _Toast.toastTokens.background, _Toast.toastTokens.closeIconColor, _Toast.toastTokens.closeIconColorOnHover),
|
25
|
+
/**
|
26
|
+
* @deprecated
|
27
|
+
* светлый и темный фон регулировать через `view` компонента `ViewContainer`
|
28
|
+
*/
|
19
29
|
light: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-light-text-primary);", ":var(--on-light-surface-solid-primary-brightness);", ":var(--on-light-text-secondary);", ":var(--on-light-text-secondary);"], _Toast.toastTokens.color, _Toast.toastTokens.background, _Toast.toastTokens.closeIconColor, _Toast.toastTokens.closeIconColorOnHover)
|
20
30
|
},
|
21
31
|
size: {
|
22
|
-
m: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.75rem;", ":calc(100vw - 5rem);", ":0.5625rem 0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", ":-0.0625rem -0.25rem -0.0625rem 0.5rem;"], _Toast.toastTokens.borderRadius, _Toast.toastTokens.maxWidth, _Toast.toastTokens.padding, _Toast.toastTokens.fontFamily, _Toast.toastTokens.fontSize, _Toast.toastTokens.fontStyle, _Toast.toastTokens.fontWeight, _Toast.toastTokens.letterSpacing, _Toast.toastTokens.lineHeight, _Toast.toastTokens.
|
32
|
+
m: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.75rem;", ":calc(100vw - 5rem);", ":0.5625rem 0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", ":-0.0625rem -0.25rem -0.0625rem 0.5rem;"], _Toast.toastTokens.borderRadius, _Toast.toastTokens.maxWidth, _Toast.toastTokens.padding, _Toast.toastTokens.fontFamily, _Toast.toastTokens.fontSize, _Toast.toastTokens.fontStyle, _Toast.toastTokens.fontWeight, _Toast.toastTokens.letterSpacing, _Toast.toastTokens.lineHeight, _Toast.toastTokens.contentLeftMargin, _Toast.toastTokens.closeIconMargin)
|
23
33
|
},
|
24
34
|
pilled: {
|
25
|
-
"true": /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;", ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", ":-0.0625rem -0.25rem -0.0625rem 0.375rem;"], _Toast.toastTokens.pilledBorderRadius, _Toast.toastTokens.
|
35
|
+
"true": /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;", ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", ":-0.0625rem -0.25rem -0.0625rem 0.375rem;"], _Toast.toastTokens.pilledBorderRadius, _Toast.toastTokens.contentLeftMargin, _Toast.toastTokens.closeIconMargin)
|
26
36
|
},
|
27
37
|
closeIconType: {
|
28
38
|
"default": /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.5rem;"], _Toast.toastTokens.closeIconButtonSize, _Toast.toastTokens.closeIconSize),
|