@transferwise/components 0.0.0-experimental-bf3b43b → 0.0.0-experimental-cbc00a7
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/build/Snackbar/Snackbar.js +107 -105
- package/build/Snackbar/Snackbar.js.map +1 -1
- package/build/Snackbar/Snackbar.mjs +109 -104
- package/build/Snackbar/Snackbar.mjs.map +1 -1
- package/build/Snackbar/SnackbarContext.js.map +1 -1
- package/build/Snackbar/SnackbarContext.mjs.map +1 -1
- package/build/Snackbar/SnackbarPortal.js +12 -0
- package/build/Snackbar/SnackbarPortal.js.map +1 -0
- package/build/Snackbar/SnackbarPortal.mjs +8 -0
- package/build/Snackbar/SnackbarPortal.mjs.map +1 -0
- package/build/Snackbar/SnackbarProvider.js +23 -27
- package/build/Snackbar/SnackbarProvider.js.map +1 -1
- package/build/Snackbar/SnackbarProvider.mjs +24 -28
- package/build/Snackbar/SnackbarProvider.mjs.map +1 -1
- package/build/Snackbar/constants.js +8 -0
- package/build/Snackbar/constants.js.map +1 -0
- package/build/Snackbar/constants.mjs +5 -0
- package/build/Snackbar/constants.mjs.map +1 -0
- package/build/Snackbar/useSnackbarManager.js +119 -0
- package/build/Snackbar/useSnackbarManager.js.map +1 -0
- package/build/Snackbar/useSnackbarManager.mjs +115 -0
- package/build/Snackbar/useSnackbarManager.mjs.map +1 -0
- package/build/i18n/th.json +1 -1
- package/build/i18n/th.json.js +1 -1
- package/build/i18n/th.json.mjs +1 -1
- package/build/i18n/zh-CN.json +0 -1
- package/build/i18n/zh-CN.json.js +0 -1
- package/build/i18n/zh-CN.json.js.map +1 -1
- package/build/i18n/zh-CN.json.mjs +0 -1
- package/build/i18n/zh-CN.json.mjs.map +1 -1
- package/build/main.css +113 -61
- package/build/styles/Snackbar/Snackbar.css +116 -64
- package/build/styles/main.css +113 -61
- package/build/types/Body/Body.d.ts +2 -2
- package/build/types/IconButton/IconButton.d.ts +1 -1
- package/build/types/MoneyInput/MoneyInput.d.ts +1 -1
- package/build/types/MoneyInput/MoneyInput.d.ts.map +1 -1
- package/build/types/Snackbar/Snackbar.d.ts +10 -8
- package/build/types/Snackbar/Snackbar.d.ts.map +1 -1
- package/build/types/Snackbar/Snackbar.types.d.ts +19 -0
- package/build/types/Snackbar/Snackbar.types.d.ts.map +1 -0
- package/build/types/Snackbar/SnackbarContext.d.ts +2 -2
- package/build/types/Snackbar/SnackbarContext.d.ts.map +1 -1
- package/build/types/Snackbar/SnackbarPortal.d.ts +4 -0
- package/build/types/Snackbar/SnackbarPortal.d.ts.map +1 -0
- package/build/types/Snackbar/SnackbarProvider.d.ts.map +1 -1
- package/build/types/Snackbar/constants.d.ts +3 -0
- package/build/types/Snackbar/constants.d.ts.map +1 -0
- package/build/types/Snackbar/useSnackbar.d.ts +1 -1
- package/build/types/Snackbar/useSnackbar.d.ts.map +1 -1
- package/build/types/Snackbar/useSnackbarManager.d.ts +16 -0
- package/build/types/Snackbar/useSnackbarManager.d.ts.map +1 -0
- package/build/types/Title/Title.d.ts +2 -2
- package/build/types/Upload/Steps/UploadImageStep/UploadImageStep.d.ts +1 -1
- package/build/types/UploadInput/UploadItem/UploadItemLink.d.ts +1 -1
- package/package.json +3 -3
- package/src/Snackbar/Snackbar.css +116 -64
- package/src/Snackbar/Snackbar.less +121 -60
- package/src/Snackbar/Snackbar.test.tsx +122 -133
- package/src/Snackbar/Snackbar.tsx +95 -96
- package/src/Snackbar/Snackbar.types.ts +21 -0
- package/src/Snackbar/SnackbarContext.ts +2 -2
- package/src/Snackbar/SnackbarPortal.tsx +8 -0
- package/src/Snackbar/SnackbarProvider.test.tsx +289 -0
- package/src/Snackbar/SnackbarProvider.tsx +19 -18
- package/src/Snackbar/_stories/Snackbar.rtl.test.story.tsx +16 -6
- package/src/Snackbar/_stories/Snackbar.story.tsx +62 -1
- package/src/Snackbar/_stories/Snackbar.test.story.tsx +26 -5
- package/src/Snackbar/constants.ts +2 -0
- package/src/Snackbar/useSnackbarManager.ts +122 -0
- package/src/i18n/th.json +1 -1
- package/src/i18n/zh-CN.json +0 -1
- package/src/main.css +113 -61
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnackbarPortal.mjs","sources":["../../src/Snackbar/SnackbarPortal.tsx"],"sourcesContent":["import withNextPortal from '../WithNextPortal/WithNextPortal';\n\nimport { Snackbar } from './Snackbar';\n\n/** Renders the Snackbar into `document.body` after mount, so it's safe for SSR. */\nconst SnackbarPortal = withNextPortal(Snackbar);\n\nexport default SnackbarPortal;\n"],"names":["SnackbarPortal","withNextPortal","Snackbar"],"mappings":";;;AAIA;AACA,MAAMA,cAAc,GAAGC,qBAAc,CAACC,QAAQ;;"}
|
|
@@ -3,42 +3,38 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var
|
|
6
|
+
var SnackbarPortal = require('./SnackbarPortal.js');
|
|
7
7
|
var SnackbarContext = require('./SnackbarContext.js');
|
|
8
|
+
var useSnackbarManager = require('./useSnackbarManager.js');
|
|
8
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
10
|
|
|
10
11
|
function SnackbarProvider({
|
|
11
12
|
timeout = 4500,
|
|
12
13
|
children
|
|
13
14
|
}) {
|
|
14
|
-
const [state, setState] = React.useState({
|
|
15
|
-
text: '',
|
|
16
|
-
timestamp: 0
|
|
17
|
-
});
|
|
18
15
|
const {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
active,
|
|
17
|
+
announcementKey,
|
|
18
|
+
dismissSnackbar,
|
|
19
|
+
handleExited,
|
|
20
|
+
showSnackbar,
|
|
21
|
+
visible
|
|
22
|
+
} = useSnackbarManager.default();
|
|
23
|
+
const contextValue = React.useMemo(() => ({
|
|
24
|
+
createSnackbar: showSnackbar
|
|
25
|
+
}), [showSnackbar]);
|
|
23
26
|
return /*#__PURE__*/jsxRuntime.jsxs(SnackbarContext.SnackbarContext.Provider, {
|
|
24
|
-
value:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}), []),
|
|
36
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Snackbar.default, {
|
|
37
|
-
action: action,
|
|
38
|
-
text: text,
|
|
39
|
-
timestamp: timestamp,
|
|
40
|
-
timeout: timeout
|
|
41
|
-
}), children]
|
|
27
|
+
value: contextValue,
|
|
28
|
+
children: [active ? /*#__PURE__*/jsxRuntime.jsx(SnackbarPortal.default
|
|
29
|
+
// Each instance gets a fresh appear transition and live-region announcement.
|
|
30
|
+
, {
|
|
31
|
+
...active.props,
|
|
32
|
+
announcementKey: announcementKey,
|
|
33
|
+
timeout: timeout,
|
|
34
|
+
visible: visible,
|
|
35
|
+
onDismissRequest: dismissSnackbar,
|
|
36
|
+
onExited: handleExited
|
|
37
|
+
}, active.id) : null, children]
|
|
42
38
|
});
|
|
43
39
|
}
|
|
44
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarProvider.js","sources":["../../src/Snackbar/SnackbarProvider.tsx"],"sourcesContent":["import { useMemo
|
|
1
|
+
{"version":3,"file":"SnackbarProvider.js","sources":["../../src/Snackbar/SnackbarProvider.tsx"],"sourcesContent":["import { useMemo } from 'react';\n\nimport SnackbarPortal from './SnackbarPortal';\nimport { SnackbarContext } from './SnackbarContext';\nimport useSnackbarManager from './useSnackbarManager';\n\nexport interface SnackbarProviderProps {\n timeout?: number;\n children?: React.ReactNode;\n}\n\nexport default function SnackbarProvider({ timeout = 4500, children }: SnackbarProviderProps) {\n const { active, announcementKey, dismissSnackbar, handleExited, showSnackbar, visible } =\n useSnackbarManager();\n const contextValue = useMemo(() => ({ createSnackbar: showSnackbar }), [showSnackbar]);\n\n return (\n <SnackbarContext.Provider value={contextValue}>\n {active ? (\n <SnackbarPortal\n // Each instance gets a fresh appear transition and live-region announcement.\n key={active.id}\n {...active.props}\n announcementKey={announcementKey}\n timeout={timeout}\n visible={visible}\n onDismissRequest={dismissSnackbar}\n onExited={handleExited}\n />\n ) : null}\n {children}\n </SnackbarContext.Provider>\n );\n}\n"],"names":["SnackbarProvider","timeout","children","active","announcementKey","dismissSnackbar","handleExited","showSnackbar","visible","useSnackbarManager","contextValue","useMemo","createSnackbar","_jsxs","SnackbarContext","Provider","value","_jsx","SnackbarPortal","props","onDismissRequest","onExited","id"],"mappings":";;;;;;;;;;AAWc,SAAUA,gBAAgBA,CAAC;AAAEC,EAAAA,OAAO,GAAG,IAAI;AAAEC,EAAAA;AAAQ,CAAyB,EAAA;EAC1F,MAAM;IAAEC,MAAM;IAAEC,eAAe;IAAEC,eAAe;IAAEC,YAAY;IAAEC,YAAY;AAAEC,IAAAA;GAAS,GACrFC,0BAAkB,EAAE;AACtB,EAAA,MAAMC,YAAY,GAAGC,aAAO,CAAC,OAAO;AAAEC,IAAAA,cAAc,EAAEL;GAAc,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;AAEtF,EAAA,oBACEM,eAAA,CAACC,+BAAe,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEN,YAAa;AAAAR,IAAAA,QAAA,EAAA,CAC3CC,MAAM,gBACLc,cAAA,CAACC;AACC;AAAA,MAAA;MAAA,GAEIf,MAAM,CAACgB,KAAK;AAChBf,MAAAA,eAAe,EAAEA,eAAgB;AACjCH,MAAAA,OAAO,EAAEA,OAAQ;AACjBO,MAAAA,OAAO,EAAEA,OAAQ;AACjBY,MAAAA,gBAAgB,EAAEf,eAAgB;AAClCgB,MAAAA,QAAQ,EAAEf;AAAa,KAAA,EANlBH,MAAM,CAACmB,EAMW,CACvB,GACA,IAAI,EACPpB,QAAQ;AAAA,GACe,CAAC;AAE/B;;"}
|
|
@@ -1,40 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import SnackbarPortal from './
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import SnackbarPortal from './SnackbarPortal.mjs';
|
|
3
3
|
import { SnackbarContext } from './SnackbarContext.mjs';
|
|
4
|
+
import useSnackbarManager from './useSnackbarManager.mjs';
|
|
4
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
6
|
|
|
6
7
|
function SnackbarProvider({
|
|
7
8
|
timeout = 4500,
|
|
8
9
|
children
|
|
9
10
|
}) {
|
|
10
|
-
const [state, setState] = useState({
|
|
11
|
-
text: '',
|
|
12
|
-
timestamp: 0
|
|
13
|
-
});
|
|
14
11
|
const {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
active,
|
|
13
|
+
announcementKey,
|
|
14
|
+
dismissSnackbar,
|
|
15
|
+
handleExited,
|
|
16
|
+
showSnackbar,
|
|
17
|
+
visible
|
|
18
|
+
} = useSnackbarManager();
|
|
19
|
+
const contextValue = useMemo(() => ({
|
|
20
|
+
createSnackbar: showSnackbar
|
|
21
|
+
}), [showSnackbar]);
|
|
19
22
|
return /*#__PURE__*/jsxs(SnackbarContext.Provider, {
|
|
20
|
-
value:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}), []),
|
|
32
|
-
children: [/*#__PURE__*/jsx(SnackbarPortal, {
|
|
33
|
-
action: action,
|
|
34
|
-
text: text,
|
|
35
|
-
timestamp: timestamp,
|
|
36
|
-
timeout: timeout
|
|
37
|
-
}), children]
|
|
23
|
+
value: contextValue,
|
|
24
|
+
children: [active ? /*#__PURE__*/jsx(SnackbarPortal
|
|
25
|
+
// Each instance gets a fresh appear transition and live-region announcement.
|
|
26
|
+
, {
|
|
27
|
+
...active.props,
|
|
28
|
+
announcementKey: announcementKey,
|
|
29
|
+
timeout: timeout,
|
|
30
|
+
visible: visible,
|
|
31
|
+
onDismissRequest: dismissSnackbar,
|
|
32
|
+
onExited: handleExited
|
|
33
|
+
}, active.id) : null, children]
|
|
38
34
|
});
|
|
39
35
|
}
|
|
40
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarProvider.mjs","sources":["../../src/Snackbar/SnackbarProvider.tsx"],"sourcesContent":["import { useMemo
|
|
1
|
+
{"version":3,"file":"SnackbarProvider.mjs","sources":["../../src/Snackbar/SnackbarProvider.tsx"],"sourcesContent":["import { useMemo } from 'react';\n\nimport SnackbarPortal from './SnackbarPortal';\nimport { SnackbarContext } from './SnackbarContext';\nimport useSnackbarManager from './useSnackbarManager';\n\nexport interface SnackbarProviderProps {\n timeout?: number;\n children?: React.ReactNode;\n}\n\nexport default function SnackbarProvider({ timeout = 4500, children }: SnackbarProviderProps) {\n const { active, announcementKey, dismissSnackbar, handleExited, showSnackbar, visible } =\n useSnackbarManager();\n const contextValue = useMemo(() => ({ createSnackbar: showSnackbar }), [showSnackbar]);\n\n return (\n <SnackbarContext.Provider value={contextValue}>\n {active ? (\n <SnackbarPortal\n // Each instance gets a fresh appear transition and live-region announcement.\n key={active.id}\n {...active.props}\n announcementKey={announcementKey}\n timeout={timeout}\n visible={visible}\n onDismissRequest={dismissSnackbar}\n onExited={handleExited}\n />\n ) : null}\n {children}\n </SnackbarContext.Provider>\n );\n}\n"],"names":["SnackbarProvider","timeout","children","active","announcementKey","dismissSnackbar","handleExited","showSnackbar","visible","useSnackbarManager","contextValue","useMemo","createSnackbar","_jsxs","SnackbarContext","Provider","value","_jsx","SnackbarPortal","props","onDismissRequest","onExited","id"],"mappings":";;;;;;AAWc,SAAUA,gBAAgBA,CAAC;AAAEC,EAAAA,OAAO,GAAG,IAAI;AAAEC,EAAAA;AAAQ,CAAyB,EAAA;EAC1F,MAAM;IAAEC,MAAM;IAAEC,eAAe;IAAEC,eAAe;IAAEC,YAAY;IAAEC,YAAY;AAAEC,IAAAA;GAAS,GACrFC,kBAAkB,EAAE;AACtB,EAAA,MAAMC,YAAY,GAAGC,OAAO,CAAC,OAAO;AAAEC,IAAAA,cAAc,EAAEL;GAAc,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;AAEtF,EAAA,oBACEM,IAAA,CAACC,eAAe,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEN,YAAa;AAAAR,IAAAA,QAAA,EAAA,CAC3CC,MAAM,gBACLc,GAAA,CAACC;AACC;AAAA,MAAA;MAAA,GAEIf,MAAM,CAACgB,KAAK;AAChBf,MAAAA,eAAe,EAAEA,eAAgB;AACjCH,MAAAA,OAAO,EAAEA,OAAQ;AACjBO,MAAAA,OAAO,EAAEA,OAAQ;AACjBY,MAAAA,gBAAgB,EAAEf,eAAgB;AAClCgB,MAAAA,QAAQ,EAAEf;AAAa,KAAA,EANlBH,MAAM,CAACmB,EAMW,CACvB,GACA,IAAI,EACPpB,QAAQ;AAAA,GACe,CAAC;AAE/B;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/Snackbar/constants.ts"],"sourcesContent":["export const SNACKBAR_ENTER_DURATION = 300;\nexport const SNACKBAR_EXIT_DURATION = 150;\n"],"names":["SNACKBAR_ENTER_DURATION","SNACKBAR_EXIT_DURATION"],"mappings":";;AAAO,MAAMA,uBAAuB,GAAG;AAChC,MAAMC,sBAAsB,GAAG;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../src/Snackbar/constants.ts"],"sourcesContent":["export const SNACKBAR_ENTER_DURATION = 300;\nexport const SNACKBAR_EXIT_DURATION = 150;\n"],"names":["SNACKBAR_ENTER_DURATION","SNACKBAR_EXIT_DURATION"],"mappings":"AAAO,MAAMA,uBAAuB,GAAG;AAChC,MAAMC,sBAAsB,GAAG;;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
|
|
7
|
+
const emptyState = {
|
|
8
|
+
active: null,
|
|
9
|
+
activeHasRendered: false,
|
|
10
|
+
announcementKey: 0,
|
|
11
|
+
pending: null,
|
|
12
|
+
visible: false
|
|
13
|
+
};
|
|
14
|
+
const snackbarManagerReducer = (state, action) => {
|
|
15
|
+
switch (action.type) {
|
|
16
|
+
case 'show':
|
|
17
|
+
if (!state.active || !state.activeHasRendered) {
|
|
18
|
+
// Batched creates collapse to the latest instance before anything has entered.
|
|
19
|
+
return {
|
|
20
|
+
active: action.instance,
|
|
21
|
+
activeHasRendered: false,
|
|
22
|
+
announcementKey: state.announcementKey + 1,
|
|
23
|
+
pending: null,
|
|
24
|
+
visible: true
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// Keep the active content until it exits; newer creates replace only the pending instance.
|
|
28
|
+
return {
|
|
29
|
+
...state,
|
|
30
|
+
pending: action.instance,
|
|
31
|
+
visible: false
|
|
32
|
+
};
|
|
33
|
+
case 'rendered':
|
|
34
|
+
if (state.active?.id !== action.instanceId || state.activeHasRendered) {
|
|
35
|
+
return state;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
...state,
|
|
39
|
+
activeHasRendered: true
|
|
40
|
+
};
|
|
41
|
+
case 'dismiss':
|
|
42
|
+
if (!state.active) {
|
|
43
|
+
return state;
|
|
44
|
+
}
|
|
45
|
+
return state.activeHasRendered ? {
|
|
46
|
+
...state,
|
|
47
|
+
visible: false
|
|
48
|
+
} : {
|
|
49
|
+
...emptyState,
|
|
50
|
+
announcementKey: state.announcementKey
|
|
51
|
+
};
|
|
52
|
+
case 'exited':
|
|
53
|
+
// Ignore callbacks from an instance that has already been replaced.
|
|
54
|
+
if (state.active?.id !== action.instanceId) {
|
|
55
|
+
return state;
|
|
56
|
+
}
|
|
57
|
+
if (state.pending) {
|
|
58
|
+
return {
|
|
59
|
+
active: state.pending,
|
|
60
|
+
activeHasRendered: false,
|
|
61
|
+
announcementKey: state.announcementKey + 1,
|
|
62
|
+
pending: null,
|
|
63
|
+
visible: true
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
...emptyState,
|
|
68
|
+
announcementKey: state.announcementKey
|
|
69
|
+
};
|
|
70
|
+
default:
|
|
71
|
+
return state;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
/** Owns one active Snackbar and its latest replacement, waiting for exit before the next enters. */
|
|
75
|
+
const useSnackbarManager = () => {
|
|
76
|
+
const [state, dispatch] = React.useReducer(snackbarManagerReducer, emptyState);
|
|
77
|
+
const nextInstanceId = React.useRef(0);
|
|
78
|
+
const showSnackbar = React.useCallback(props => {
|
|
79
|
+
nextInstanceId.current += 1;
|
|
80
|
+
dispatch({
|
|
81
|
+
type: 'show',
|
|
82
|
+
instance: {
|
|
83
|
+
id: nextInstanceId.current,
|
|
84
|
+
props
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}, []);
|
|
88
|
+
const dismissSnackbar = React.useCallback(() => dispatch({
|
|
89
|
+
type: 'dismiss'
|
|
90
|
+
}), []);
|
|
91
|
+
const handleExited = React.useCallback(() => {
|
|
92
|
+
if (state.active) {
|
|
93
|
+
dispatch({
|
|
94
|
+
type: 'exited',
|
|
95
|
+
instanceId: state.active.id
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}, [state.active]);
|
|
99
|
+
React.useEffect(() => {
|
|
100
|
+
if (state.active && state.visible && !state.activeHasRendered) {
|
|
101
|
+
// Later creates can now wait for this instance's exit instead of coalescing before render.
|
|
102
|
+
dispatch({
|
|
103
|
+
type: 'rendered',
|
|
104
|
+
instanceId: state.active.id
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}, [state.active, state.activeHasRendered, state.visible]);
|
|
108
|
+
return {
|
|
109
|
+
active: state.active,
|
|
110
|
+
announcementKey: state.announcementKey,
|
|
111
|
+
dismissSnackbar,
|
|
112
|
+
handleExited,
|
|
113
|
+
showSnackbar,
|
|
114
|
+
visible: state.visible
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
exports.default = useSnackbarManager;
|
|
119
|
+
//# sourceMappingURL=useSnackbarManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSnackbarManager.js","sources":["../../src/Snackbar/useSnackbarManager.ts"],"sourcesContent":["import { useCallback, useEffect, useReducer, useRef } from 'react';\n\nimport type { SnackbarCreationProps } from './Snackbar.types';\n\ntype SnackbarInstance = {\n id: number;\n props: SnackbarCreationProps;\n};\n\ntype SnackbarManagerState = {\n active: SnackbarInstance | null;\n activeHasRendered: boolean;\n announcementKey: number;\n pending: SnackbarInstance | null;\n visible: boolean;\n};\n\ntype SnackbarManagerAction =\n | { type: 'show'; instance: SnackbarInstance }\n | { type: 'rendered'; instanceId: number }\n | { type: 'dismiss' }\n | { type: 'exited'; instanceId: number };\n\nconst emptyState: SnackbarManagerState = {\n active: null,\n activeHasRendered: false,\n announcementKey: 0,\n pending: null,\n visible: false,\n};\n\nconst snackbarManagerReducer = (\n state: SnackbarManagerState,\n action: SnackbarManagerAction,\n): SnackbarManagerState => {\n switch (action.type) {\n case 'show':\n if (!state.active || !state.activeHasRendered) {\n // Batched creates collapse to the latest instance before anything has entered.\n return {\n active: action.instance,\n activeHasRendered: false,\n announcementKey: state.announcementKey + 1,\n pending: null,\n visible: true,\n };\n }\n\n // Keep the active content until it exits; newer creates replace only the pending instance.\n return { ...state, pending: action.instance, visible: false };\n case 'rendered':\n if (state.active?.id !== action.instanceId || state.activeHasRendered) {\n return state;\n }\n\n return { ...state, activeHasRendered: true };\n case 'dismiss':\n if (!state.active) {\n return state;\n }\n\n return state.activeHasRendered\n ? { ...state, visible: false }\n : { ...emptyState, announcementKey: state.announcementKey };\n case 'exited':\n // Ignore callbacks from an instance that has already been replaced.\n if (state.active?.id !== action.instanceId) {\n return state;\n }\n\n if (state.pending) {\n return {\n active: state.pending,\n activeHasRendered: false,\n announcementKey: state.announcementKey + 1,\n pending: null,\n visible: true,\n };\n }\n\n return { ...emptyState, announcementKey: state.announcementKey };\n default:\n return state;\n }\n};\n\n/** Owns one active Snackbar and its latest replacement, waiting for exit before the next enters. */\nconst useSnackbarManager = () => {\n const [state, dispatch] = useReducer(snackbarManagerReducer, emptyState);\n const nextInstanceId = useRef(0);\n\n const showSnackbar = useCallback((props: SnackbarCreationProps) => {\n nextInstanceId.current += 1;\n dispatch({ type: 'show', instance: { id: nextInstanceId.current, props } });\n }, []);\n\n const dismissSnackbar = useCallback(() => dispatch({ type: 'dismiss' }), []);\n\n const handleExited = useCallback(() => {\n if (state.active) {\n dispatch({ type: 'exited', instanceId: state.active.id });\n }\n }, [state.active]);\n\n useEffect(() => {\n if (state.active && state.visible && !state.activeHasRendered) {\n // Later creates can now wait for this instance's exit instead of coalescing before render.\n dispatch({ type: 'rendered', instanceId: state.active.id });\n }\n }, [state.active, state.activeHasRendered, state.visible]);\n\n return {\n active: state.active,\n announcementKey: state.announcementKey,\n dismissSnackbar,\n handleExited,\n showSnackbar,\n visible: state.visible,\n };\n};\n\nexport default useSnackbarManager;\n"],"names":["emptyState","active","activeHasRendered","announcementKey","pending","visible","snackbarManagerReducer","state","action","type","instance","id","instanceId","useSnackbarManager","dispatch","useReducer","nextInstanceId","useRef","showSnackbar","useCallback","props","current","dismissSnackbar","handleExited","useEffect"],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { useReducer, useRef, useCallback, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
const emptyState = {
|
|
4
|
+
active: null,
|
|
5
|
+
activeHasRendered: false,
|
|
6
|
+
announcementKey: 0,
|
|
7
|
+
pending: null,
|
|
8
|
+
visible: false
|
|
9
|
+
};
|
|
10
|
+
const snackbarManagerReducer = (state, action) => {
|
|
11
|
+
switch (action.type) {
|
|
12
|
+
case 'show':
|
|
13
|
+
if (!state.active || !state.activeHasRendered) {
|
|
14
|
+
// Batched creates collapse to the latest instance before anything has entered.
|
|
15
|
+
return {
|
|
16
|
+
active: action.instance,
|
|
17
|
+
activeHasRendered: false,
|
|
18
|
+
announcementKey: state.announcementKey + 1,
|
|
19
|
+
pending: null,
|
|
20
|
+
visible: true
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// Keep the active content until it exits; newer creates replace only the pending instance.
|
|
24
|
+
return {
|
|
25
|
+
...state,
|
|
26
|
+
pending: action.instance,
|
|
27
|
+
visible: false
|
|
28
|
+
};
|
|
29
|
+
case 'rendered':
|
|
30
|
+
if (state.active?.id !== action.instanceId || state.activeHasRendered) {
|
|
31
|
+
return state;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
...state,
|
|
35
|
+
activeHasRendered: true
|
|
36
|
+
};
|
|
37
|
+
case 'dismiss':
|
|
38
|
+
if (!state.active) {
|
|
39
|
+
return state;
|
|
40
|
+
}
|
|
41
|
+
return state.activeHasRendered ? {
|
|
42
|
+
...state,
|
|
43
|
+
visible: false
|
|
44
|
+
} : {
|
|
45
|
+
...emptyState,
|
|
46
|
+
announcementKey: state.announcementKey
|
|
47
|
+
};
|
|
48
|
+
case 'exited':
|
|
49
|
+
// Ignore callbacks from an instance that has already been replaced.
|
|
50
|
+
if (state.active?.id !== action.instanceId) {
|
|
51
|
+
return state;
|
|
52
|
+
}
|
|
53
|
+
if (state.pending) {
|
|
54
|
+
return {
|
|
55
|
+
active: state.pending,
|
|
56
|
+
activeHasRendered: false,
|
|
57
|
+
announcementKey: state.announcementKey + 1,
|
|
58
|
+
pending: null,
|
|
59
|
+
visible: true
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
...emptyState,
|
|
64
|
+
announcementKey: state.announcementKey
|
|
65
|
+
};
|
|
66
|
+
default:
|
|
67
|
+
return state;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/** Owns one active Snackbar and its latest replacement, waiting for exit before the next enters. */
|
|
71
|
+
const useSnackbarManager = () => {
|
|
72
|
+
const [state, dispatch] = useReducer(snackbarManagerReducer, emptyState);
|
|
73
|
+
const nextInstanceId = useRef(0);
|
|
74
|
+
const showSnackbar = useCallback(props => {
|
|
75
|
+
nextInstanceId.current += 1;
|
|
76
|
+
dispatch({
|
|
77
|
+
type: 'show',
|
|
78
|
+
instance: {
|
|
79
|
+
id: nextInstanceId.current,
|
|
80
|
+
props
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}, []);
|
|
84
|
+
const dismissSnackbar = useCallback(() => dispatch({
|
|
85
|
+
type: 'dismiss'
|
|
86
|
+
}), []);
|
|
87
|
+
const handleExited = useCallback(() => {
|
|
88
|
+
if (state.active) {
|
|
89
|
+
dispatch({
|
|
90
|
+
type: 'exited',
|
|
91
|
+
instanceId: state.active.id
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}, [state.active]);
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
if (state.active && state.visible && !state.activeHasRendered) {
|
|
97
|
+
// Later creates can now wait for this instance's exit instead of coalescing before render.
|
|
98
|
+
dispatch({
|
|
99
|
+
type: 'rendered',
|
|
100
|
+
instanceId: state.active.id
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}, [state.active, state.activeHasRendered, state.visible]);
|
|
104
|
+
return {
|
|
105
|
+
active: state.active,
|
|
106
|
+
announcementKey: state.announcementKey,
|
|
107
|
+
dismissSnackbar,
|
|
108
|
+
handleExited,
|
|
109
|
+
showSnackbar,
|
|
110
|
+
visible: state.visible
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export { useSnackbarManager as default };
|
|
115
|
+
//# sourceMappingURL=useSnackbarManager.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSnackbarManager.mjs","sources":["../../src/Snackbar/useSnackbarManager.ts"],"sourcesContent":["import { useCallback, useEffect, useReducer, useRef } from 'react';\n\nimport type { SnackbarCreationProps } from './Snackbar.types';\n\ntype SnackbarInstance = {\n id: number;\n props: SnackbarCreationProps;\n};\n\ntype SnackbarManagerState = {\n active: SnackbarInstance | null;\n activeHasRendered: boolean;\n announcementKey: number;\n pending: SnackbarInstance | null;\n visible: boolean;\n};\n\ntype SnackbarManagerAction =\n | { type: 'show'; instance: SnackbarInstance }\n | { type: 'rendered'; instanceId: number }\n | { type: 'dismiss' }\n | { type: 'exited'; instanceId: number };\n\nconst emptyState: SnackbarManagerState = {\n active: null,\n activeHasRendered: false,\n announcementKey: 0,\n pending: null,\n visible: false,\n};\n\nconst snackbarManagerReducer = (\n state: SnackbarManagerState,\n action: SnackbarManagerAction,\n): SnackbarManagerState => {\n switch (action.type) {\n case 'show':\n if (!state.active || !state.activeHasRendered) {\n // Batched creates collapse to the latest instance before anything has entered.\n return {\n active: action.instance,\n activeHasRendered: false,\n announcementKey: state.announcementKey + 1,\n pending: null,\n visible: true,\n };\n }\n\n // Keep the active content until it exits; newer creates replace only the pending instance.\n return { ...state, pending: action.instance, visible: false };\n case 'rendered':\n if (state.active?.id !== action.instanceId || state.activeHasRendered) {\n return state;\n }\n\n return { ...state, activeHasRendered: true };\n case 'dismiss':\n if (!state.active) {\n return state;\n }\n\n return state.activeHasRendered\n ? { ...state, visible: false }\n : { ...emptyState, announcementKey: state.announcementKey };\n case 'exited':\n // Ignore callbacks from an instance that has already been replaced.\n if (state.active?.id !== action.instanceId) {\n return state;\n }\n\n if (state.pending) {\n return {\n active: state.pending,\n activeHasRendered: false,\n announcementKey: state.announcementKey + 1,\n pending: null,\n visible: true,\n };\n }\n\n return { ...emptyState, announcementKey: state.announcementKey };\n default:\n return state;\n }\n};\n\n/** Owns one active Snackbar and its latest replacement, waiting for exit before the next enters. */\nconst useSnackbarManager = () => {\n const [state, dispatch] = useReducer(snackbarManagerReducer, emptyState);\n const nextInstanceId = useRef(0);\n\n const showSnackbar = useCallback((props: SnackbarCreationProps) => {\n nextInstanceId.current += 1;\n dispatch({ type: 'show', instance: { id: nextInstanceId.current, props } });\n }, []);\n\n const dismissSnackbar = useCallback(() => dispatch({ type: 'dismiss' }), []);\n\n const handleExited = useCallback(() => {\n if (state.active) {\n dispatch({ type: 'exited', instanceId: state.active.id });\n }\n }, [state.active]);\n\n useEffect(() => {\n if (state.active && state.visible && !state.activeHasRendered) {\n // Later creates can now wait for this instance's exit instead of coalescing before render.\n dispatch({ type: 'rendered', instanceId: state.active.id });\n }\n }, [state.active, state.activeHasRendered, state.visible]);\n\n return {\n active: state.active,\n announcementKey: state.announcementKey,\n dismissSnackbar,\n handleExited,\n showSnackbar,\n visible: state.visible,\n };\n};\n\nexport default useSnackbarManager;\n"],"names":["emptyState","active","activeHasRendered","announcementKey","pending","visible","snackbarManagerReducer","state","action","type","instance","id","instanceId","useSnackbarManager","dispatch","useReducer","nextInstanceId","useRef","showSnackbar","useCallback","props","current","dismissSnackbar","handleExited","useEffect"],"mappings":"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"}
|
package/build/i18n/th.json
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"neptune.PhoneNumberInput.SelectInput.placeholder": "เลือกตัวเลือก...",
|
|
36
36
|
"neptune.PhoneNumberInput.countryCodeLabel": "รหัสประเทศ",
|
|
37
37
|
"neptune.PhoneNumberInput.phoneNumberLabel": "หมายเลขโทรศัพท์",
|
|
38
|
-
"neptune.PhoneNumberInput.phoneNumberPrefix": "
|
|
38
|
+
"neptune.PhoneNumberInput.phoneNumberPrefix": "คำนำหน้า",
|
|
39
39
|
"neptune.Select.searchPlaceholder": "ค้นหา...",
|
|
40
40
|
"neptune.SelectInput.noResultsFound": "ไม่พบผลลัพธ์",
|
|
41
41
|
"neptune.StatusIcon.iconLabel.error": "ข้อผิดพลาด:",
|
package/build/i18n/th.json.js
CHANGED
|
@@ -39,7 +39,7 @@ var th = {
|
|
|
39
39
|
"neptune.PhoneNumberInput.SelectInput.placeholder": "เลือกตัวเลือก...",
|
|
40
40
|
"neptune.PhoneNumberInput.countryCodeLabel": "รหัสประเทศ",
|
|
41
41
|
"neptune.PhoneNumberInput.phoneNumberLabel": "หมายเลขโทรศัพท์",
|
|
42
|
-
"neptune.PhoneNumberInput.phoneNumberPrefix": "
|
|
42
|
+
"neptune.PhoneNumberInput.phoneNumberPrefix": "คำนำหน้า",
|
|
43
43
|
"neptune.Select.searchPlaceholder": "ค้นหา...",
|
|
44
44
|
"neptune.SelectInput.noResultsFound": "ไม่พบผลลัพธ์",
|
|
45
45
|
"neptune.StatusIcon.iconLabel.error": "ข้อผิดพลาด:",
|
package/build/i18n/th.json.mjs
CHANGED
|
@@ -35,7 +35,7 @@ var th = {
|
|
|
35
35
|
"neptune.PhoneNumberInput.SelectInput.placeholder": "เลือกตัวเลือก...",
|
|
36
36
|
"neptune.PhoneNumberInput.countryCodeLabel": "รหัสประเทศ",
|
|
37
37
|
"neptune.PhoneNumberInput.phoneNumberLabel": "หมายเลขโทรศัพท์",
|
|
38
|
-
"neptune.PhoneNumberInput.phoneNumberPrefix": "
|
|
38
|
+
"neptune.PhoneNumberInput.phoneNumberPrefix": "คำนำหน้า",
|
|
39
39
|
"neptune.Select.searchPlaceholder": "ค้นหา...",
|
|
40
40
|
"neptune.SelectInput.noResultsFound": "ไม่พบผลลัพธ์",
|
|
41
41
|
"neptune.StatusIcon.iconLabel.error": "ข้อผิดพลาด:",
|
package/build/i18n/zh-CN.json
CHANGED
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
"neptune.PhoneNumberInput.SelectInput.placeholder": "选择其中一项...",
|
|
36
36
|
"neptune.PhoneNumberInput.countryCodeLabel": "国家/地区代码",
|
|
37
37
|
"neptune.PhoneNumberInput.phoneNumberLabel": "电话号码",
|
|
38
|
-
"neptune.PhoneNumberInput.phoneNumberPrefix": "前缀",
|
|
39
38
|
"neptune.Select.searchPlaceholder": "搜索",
|
|
40
39
|
"neptune.SelectInput.noResultsFound": "找不到结果",
|
|
41
40
|
"neptune.StatusIcon.iconLabel.error": "错误:",
|
package/build/i18n/zh-CN.json.js
CHANGED
|
@@ -39,7 +39,6 @@ var zhCN = {
|
|
|
39
39
|
"neptune.PhoneNumberInput.SelectInput.placeholder": "选择其中一项...",
|
|
40
40
|
"neptune.PhoneNumberInput.countryCodeLabel": "国家/地区代码",
|
|
41
41
|
"neptune.PhoneNumberInput.phoneNumberLabel": "电话号码",
|
|
42
|
-
"neptune.PhoneNumberInput.phoneNumberPrefix": "前缀",
|
|
43
42
|
"neptune.Select.searchPlaceholder": "搜索",
|
|
44
43
|
"neptune.SelectInput.noResultsFound": "找不到结果",
|
|
45
44
|
"neptune.StatusIcon.iconLabel.error": "错误:",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zh-CN.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -35,7 +35,6 @@ var zhCN = {
|
|
|
35
35
|
"neptune.PhoneNumberInput.SelectInput.placeholder": "选择其中一项...",
|
|
36
36
|
"neptune.PhoneNumberInput.countryCodeLabel": "国家/地区代码",
|
|
37
37
|
"neptune.PhoneNumberInput.phoneNumberLabel": "电话号码",
|
|
38
|
-
"neptune.PhoneNumberInput.phoneNumberPrefix": "前缀",
|
|
39
38
|
"neptune.Select.searchPlaceholder": "搜索",
|
|
40
39
|
"neptune.SelectInput.noResultsFound": "找不到结果",
|
|
41
40
|
"neptune.StatusIcon.iconLabel.error": "错误:",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zh-CN.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|