@bacon-pos/ui 0.3.0 → 0.4.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/lib/commonjs/components/Dialog/Dialog.js +23 -4
- package/lib/commonjs/components/Dialog/Dialog.js.map +1 -1
- package/lib/commonjs/components/Dialog/Dialog.stories.js +49 -1
- package/lib/commonjs/components/Dialog/Dialog.stories.js.map +1 -1
- package/lib/commonjs/components/Toast/Toast.js +184 -0
- package/lib/commonjs/components/Toast/Toast.js.map +1 -0
- package/lib/commonjs/components/Toast/Toast.stories.js +109 -0
- package/lib/commonjs/components/Toast/Toast.stories.js.map +1 -0
- package/lib/commonjs/components/Toast/Toast.test.js +70 -0
- package/lib/commonjs/components/Toast/Toast.test.js.map +1 -0
- package/lib/commonjs/components/Toast/ToastProvider.js +95 -0
- package/lib/commonjs/components/Toast/ToastProvider.js.map +1 -0
- package/lib/commonjs/components/Toast/index.js +26 -0
- package/lib/commonjs/components/Toast/index.js.map +1 -0
- package/lib/commonjs/components/index.js +11 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/module/components/Dialog/Dialog.js +23 -4
- package/lib/module/components/Dialog/Dialog.js.map +1 -1
- package/lib/module/components/Dialog/Dialog.stories.js +48 -0
- package/lib/module/components/Dialog/Dialog.stories.js.map +1 -1
- package/lib/module/components/Toast/Toast.js +180 -0
- package/lib/module/components/Toast/Toast.js.map +1 -0
- package/lib/module/components/Toast/Toast.stories.js +105 -0
- package/lib/module/components/Toast/Toast.stories.js.map +1 -0
- package/lib/module/components/Toast/Toast.test.js +69 -0
- package/lib/module/components/Toast/Toast.test.js.map +1 -0
- package/lib/module/components/Toast/ToastProvider.js +90 -0
- package/lib/module/components/Toast/ToastProvider.js.map +1 -0
- package/lib/module/components/Toast/index.js +5 -0
- package/lib/module/components/Toast/index.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +5 -1
- package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Toast/Toast.d.ts +40 -0
- package/lib/typescript/commonjs/components/Toast/Toast.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +34 -0
- package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Toast/index.d.ts +3 -0
- package/lib/typescript/commonjs/components/Toast/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/index.d.ts +1 -0
- package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
- package/lib/typescript/module/components/Dialog/Dialog.d.ts +5 -1
- package/lib/typescript/module/components/Dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/components/Toast/Toast.d.ts +40 -0
- package/lib/typescript/module/components/Toast/Toast.d.ts.map +1 -0
- package/lib/typescript/module/components/Toast/ToastProvider.d.ts +34 -0
- package/lib/typescript/module/components/Toast/ToastProvider.d.ts.map +1 -0
- package/lib/typescript/module/components/Toast/index.d.ts +3 -0
- package/lib/typescript/module/components/Toast/index.d.ts.map +1 -0
- package/lib/typescript/module/components/index.d.ts +1 -0
- package/lib/typescript/module/components/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Dialog/Dialog.tsx +40 -10
- package/src/components/Toast/Toast.tsx +173 -0
- package/src/components/Toast/ToastProvider.tsx +126 -0
- package/src/components/Toast/index.ts +7 -0
- package/src/components/index.ts +1 -0
|
@@ -37,6 +37,8 @@ function Dialog({
|
|
|
37
37
|
contentSpacing = 24,
|
|
38
38
|
radius = 24,
|
|
39
39
|
maxWidth = 560,
|
|
40
|
+
width,
|
|
41
|
+
fullscreen = false,
|
|
40
42
|
maxHeightRatio = 0.9,
|
|
41
43
|
scrollbarColor,
|
|
42
44
|
style
|
|
@@ -126,14 +128,31 @@ function Dialog({
|
|
|
126
128
|
})
|
|
127
129
|
}, i))]
|
|
128
130
|
}) : null;
|
|
129
|
-
const cardBase = {
|
|
131
|
+
const cardBase = fullscreen ? {
|
|
132
|
+
flex: 1,
|
|
130
133
|
width: '100%',
|
|
131
|
-
|
|
134
|
+
backgroundColor: theme.colors.background.default,
|
|
135
|
+
borderRadius: 0
|
|
136
|
+
} : {
|
|
137
|
+
width: width ?? '100%',
|
|
138
|
+
maxWidth: width ? undefined : maxWidth,
|
|
132
139
|
backgroundColor: theme.colors.background.default,
|
|
133
140
|
borderRadius: radius,
|
|
134
141
|
overflow: 'hidden'
|
|
135
142
|
};
|
|
136
|
-
const card =
|
|
143
|
+
const card = fullscreen ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
144
|
+
accessibilityViewIsModal: true,
|
|
145
|
+
style: [cardBase, style],
|
|
146
|
+
children: [closeBtn, stickyHeader ? header : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ScrollArea.ScrollArea, {
|
|
147
|
+
indicatorColor: indicatorColor,
|
|
148
|
+
style: {
|
|
149
|
+
flex: 1
|
|
150
|
+
},
|
|
151
|
+
keyboardShouldPersistTaps: "handled",
|
|
152
|
+
keyboardDismissMode: "interactive",
|
|
153
|
+
children: [!stickyHeader ? header : null, contentBody, !stickyFooter ? footer : null]
|
|
154
|
+
}), stickyFooter ? footer : null]
|
|
155
|
+
}) : scrollMode === 'page' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
137
156
|
accessibilityViewIsModal: true,
|
|
138
157
|
style: [cardBase, style],
|
|
139
158
|
children: [closeBtn, header, contentBody, footer]
|
|
@@ -168,7 +187,7 @@ function Dialog({
|
|
|
168
187
|
flex: 1,
|
|
169
188
|
backgroundColor: 'rgba(16, 18, 20, 0.55)'
|
|
170
189
|
},
|
|
171
|
-
children: scrollMode === 'page' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
190
|
+
children: fullscreen ? card : scrollMode === 'page' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
172
191
|
style: {
|
|
173
192
|
flex: 1
|
|
174
193
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_index","_Button","_Icon","_Text","_ScrollArea","_jsxRuntime","Dialog","visible","onClose","title","subtitle","children","actions","cancel","showClose","closeDestructive","dismissOnBackdrop","scrollMode","stickyHeader","stickyFooter","padding","contentSpacing","radius","maxWidth","maxHeightRatio","scrollbarColor","style","theme","useTheme","height","useWindowDimensions","indicatorColor","colors","text","tertiary","closeBtn","jsx","Pressable","onPress","hitSlop","accessibilityRole","accessibilityLabel","position","top","right","zIndex","Icon","name","size","color","feedback","error","secondary","header","View","paddingHorizontal","paddingTop","paddingBottom","jsxs","paddingRight","gap","Text","variant","weight","contentBody","hasFooter","length","footer","flexDirection","flex","Button","fullWidth","destructive","label","map","action","i","loading","disabled","cardBase","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_index","_Button","_Icon","_Text","_ScrollArea","_jsxRuntime","Dialog","visible","onClose","title","subtitle","children","actions","cancel","showClose","closeDestructive","dismissOnBackdrop","scrollMode","stickyHeader","stickyFooter","padding","contentSpacing","radius","maxWidth","width","fullscreen","maxHeightRatio","scrollbarColor","style","theme","useTheme","height","useWindowDimensions","indicatorColor","colors","text","tertiary","closeBtn","jsx","Pressable","onPress","hitSlop","accessibilityRole","accessibilityLabel","position","top","right","zIndex","Icon","name","size","color","feedback","error","secondary","header","View","paddingHorizontal","paddingTop","paddingBottom","jsxs","paddingRight","gap","Text","variant","weight","contentBody","hasFooter","length","footer","flexDirection","flex","Button","fullWidth","destructive","label","map","action","i","loading","disabled","cardBase","backgroundColor","background","default","borderRadius","undefined","overflow","card","accessibilityViewIsModal","ScrollArea","keyboardShouldPersistTaps","keyboardDismissMode","maxHeight","flexShrink","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","KeyboardAvoidingView","behavior","Platform","OS","ScrollView","contentContainerStyle","flexGrow","showsVerticalScrollIndicator","justifyContent","alignItems","StyleSheet","absoluteFill","accessibilityElementsHidden","importantForAccessibility"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = exports.ThreeActions = exports.PageScroll = exports.LongScrollingForm = exports.EverythingScrolls = exports.DestructiveCancel = exports.Basic = void 0;
|
|
6
|
+
exports.default = exports.Wide = exports.ThreeActions = exports.PageScroll = exports.LongScrollingForm = exports.Fullscreen = exports.EverythingScrolls = exports.DestructiveCancel = exports.Basic = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _Dialog = require("./Dialog.js");
|
|
@@ -117,6 +117,54 @@ const LongScrollingForm = exports.LongScrollingForm = {
|
|
|
117
117
|
})
|
|
118
118
|
})
|
|
119
119
|
};
|
|
120
|
+
const Wide = exports.Wide = {
|
|
121
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
122
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
123
|
+
visible: open,
|
|
124
|
+
onClose: close,
|
|
125
|
+
title: "Wider dialog",
|
|
126
|
+
subtitle: "width overrides maxWidth",
|
|
127
|
+
width: 760,
|
|
128
|
+
cancel: {},
|
|
129
|
+
actions: [{
|
|
130
|
+
label: 'OK',
|
|
131
|
+
onPress: close
|
|
132
|
+
}],
|
|
133
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
134
|
+
variant: "bodyMedium",
|
|
135
|
+
color: "secondary",
|
|
136
|
+
children: "A wider dialog for larger content."
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
};
|
|
141
|
+
const Fullscreen = exports.Fullscreen = {
|
|
142
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
143
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
144
|
+
visible: open,
|
|
145
|
+
onClose: close,
|
|
146
|
+
title: "Fullscreen dialog",
|
|
147
|
+
subtitle: "Fills the whole screen \u2014 good for small devices",
|
|
148
|
+
fullscreen: true,
|
|
149
|
+
cancel: {},
|
|
150
|
+
actions: [{
|
|
151
|
+
label: 'Save',
|
|
152
|
+
onPress: close
|
|
153
|
+
}],
|
|
154
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
155
|
+
style: {
|
|
156
|
+
gap: 16
|
|
157
|
+
},
|
|
158
|
+
children: Array.from({
|
|
159
|
+
length: 6
|
|
160
|
+
}).map((_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, {
|
|
161
|
+
label: `Field ${i + 1}`,
|
|
162
|
+
placeholder: `Value ${i + 1}`
|
|
163
|
+
}, i))
|
|
164
|
+
})
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
};
|
|
120
168
|
const PageScroll = exports.PageScroll = {
|
|
121
169
|
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
122
170
|
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_Dialog","_Button","_Input","_Text","_jsxRuntime","meta","title","component","Dialog","_default","exports","default","Frame","render","open","setOpen","useState","jsxs","View","style","padding","children","jsx","Button","label","onPress","Basic","close","visible","onClose","subtitle","cancel","actions","Input","placeholder","revealable","DestructiveCancel","closeDestructive","destructive","ThreeActions","variant","LongScrollingForm","gap","Array","from","length","map","_","i","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_Dialog","_Button","_Input","_Text","_jsxRuntime","meta","title","component","Dialog","_default","exports","default","Frame","render","open","setOpen","useState","jsxs","View","style","padding","children","jsx","Button","label","onPress","Basic","close","visible","onClose","subtitle","cancel","actions","Input","placeholder","revealable","DestructiveCancel","closeDestructive","destructive","ThreeActions","variant","LongScrollingForm","gap","Array","from","length","map","_","i","Wide","width","Text","color","Fullscreen","fullscreen","PageScroll","scrollMode","EverythingScrolls","stickyHeader","stickyFooter","repeat"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/Dialog.stories.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToastView = ToastView;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _index = require("../../theme/index.js");
|
|
10
|
+
var _palette = require("../../theme/palette.js");
|
|
11
|
+
var _Icon = require("../Icon/Icon.js");
|
|
12
|
+
var _Text = require("../Text/Text.js");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
/** Built-in statuses. More can be added later, or use custom colors. */
|
|
15
|
+
|
|
16
|
+
function statusColors(theme, status) {
|
|
17
|
+
switch (status) {
|
|
18
|
+
case 'success':
|
|
19
|
+
return {
|
|
20
|
+
bg: theme.colors.feedback.successSubtle,
|
|
21
|
+
fg: theme.colors.feedback.success
|
|
22
|
+
};
|
|
23
|
+
case 'error':
|
|
24
|
+
return {
|
|
25
|
+
bg: theme.colors.feedback.errorSubtle,
|
|
26
|
+
fg: theme.colors.feedback.error
|
|
27
|
+
};
|
|
28
|
+
case 'warning':
|
|
29
|
+
return {
|
|
30
|
+
bg: theme.colors.feedback.warningSubtle,
|
|
31
|
+
fg: _palette.palette.warning[600]
|
|
32
|
+
};
|
|
33
|
+
case 'info':
|
|
34
|
+
default:
|
|
35
|
+
return {
|
|
36
|
+
bg: theme.colors.background.subtle,
|
|
37
|
+
fg: _palette.palette.neutral[500]
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A single toast with an elegant slide + fade in/out. Self-contained: it runs
|
|
43
|
+
* its own duration timer and exit animation. Managed by `ToastProvider`.
|
|
44
|
+
*/
|
|
45
|
+
function ToastView({
|
|
46
|
+
id,
|
|
47
|
+
message,
|
|
48
|
+
status = 'info',
|
|
49
|
+
icon,
|
|
50
|
+
duration = 3000,
|
|
51
|
+
height,
|
|
52
|
+
width,
|
|
53
|
+
showProgress = false,
|
|
54
|
+
backgroundColor,
|
|
55
|
+
color,
|
|
56
|
+
progressColor,
|
|
57
|
+
position,
|
|
58
|
+
leaving,
|
|
59
|
+
onRequestClose,
|
|
60
|
+
onRemove,
|
|
61
|
+
maxWidth
|
|
62
|
+
}) {
|
|
63
|
+
const theme = (0, _index.useTheme)();
|
|
64
|
+
const base = statusColors(theme, status);
|
|
65
|
+
const bg = backgroundColor ?? base.bg;
|
|
66
|
+
const fg = color ?? base.fg;
|
|
67
|
+
const from = position === 'top' ? -12 : 12;
|
|
68
|
+
const translateY = (0, _react.useRef)(new _reactNative.Animated.Value(from)).current;
|
|
69
|
+
const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
70
|
+
const remaining = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
|
|
71
|
+
const [contentW, setContentW] = (0, _react.useState)(0);
|
|
72
|
+
const withProgress = showProgress && duration > 0;
|
|
73
|
+
(0, _react.useEffect)(() => {
|
|
74
|
+
_reactNative.Animated.parallel([_reactNative.Animated.timing(opacity, {
|
|
75
|
+
toValue: 1,
|
|
76
|
+
duration: 260,
|
|
77
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
|
|
78
|
+
useNativeDriver: true
|
|
79
|
+
}), _reactNative.Animated.timing(translateY, {
|
|
80
|
+
toValue: 0,
|
|
81
|
+
duration: 260,
|
|
82
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
|
|
83
|
+
useNativeDriver: true
|
|
84
|
+
})]).start();
|
|
85
|
+
if (withProgress) {
|
|
86
|
+
_reactNative.Animated.timing(remaining, {
|
|
87
|
+
toValue: 0,
|
|
88
|
+
duration,
|
|
89
|
+
easing: _reactNative.Easing.linear,
|
|
90
|
+
useNativeDriver: false
|
|
91
|
+
}).start();
|
|
92
|
+
}
|
|
93
|
+
if (duration > 0) {
|
|
94
|
+
const timer = setTimeout(() => onRequestClose(id), duration);
|
|
95
|
+
return () => clearTimeout(timer);
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
// Mount only.
|
|
99
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
100
|
+
}, []);
|
|
101
|
+
(0, _react.useEffect)(() => {
|
|
102
|
+
if (!leaving) return;
|
|
103
|
+
_reactNative.Animated.parallel([_reactNative.Animated.timing(opacity, {
|
|
104
|
+
toValue: 0,
|
|
105
|
+
duration: 200,
|
|
106
|
+
easing: _reactNative.Easing.in(_reactNative.Easing.cubic),
|
|
107
|
+
useNativeDriver: true
|
|
108
|
+
}), _reactNative.Animated.timing(translateY, {
|
|
109
|
+
toValue: from,
|
|
110
|
+
duration: 200,
|
|
111
|
+
easing: _reactNative.Easing.in(_reactNative.Easing.cubic),
|
|
112
|
+
useNativeDriver: true
|
|
113
|
+
})]).start(() => onRemove(id));
|
|
114
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
115
|
+
}, [leaving]);
|
|
116
|
+
const pressStyle = {
|
|
117
|
+
flexDirection: 'row',
|
|
118
|
+
alignItems: 'center',
|
|
119
|
+
justifyContent: 'center',
|
|
120
|
+
gap: 12,
|
|
121
|
+
paddingHorizontal: 20,
|
|
122
|
+
paddingVertical: height ? 0 : 20,
|
|
123
|
+
borderRadius: 16,
|
|
124
|
+
backgroundColor: bg,
|
|
125
|
+
overflow: 'hidden',
|
|
126
|
+
...(height ? {
|
|
127
|
+
height
|
|
128
|
+
} : null)
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
// Fixed width if given, otherwise full width (capped by the provider maxWidth).
|
|
132
|
+
const outerWidth = width != null ? {
|
|
133
|
+
width
|
|
134
|
+
} : {
|
|
135
|
+
width: '100%',
|
|
136
|
+
maxWidth
|
|
137
|
+
};
|
|
138
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
139
|
+
accessibilityRole: "alert",
|
|
140
|
+
accessibilityLiveRegion: "polite",
|
|
141
|
+
style: {
|
|
142
|
+
opacity,
|
|
143
|
+
transform: [{
|
|
144
|
+
translateY
|
|
145
|
+
}],
|
|
146
|
+
...outerWidth
|
|
147
|
+
},
|
|
148
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
149
|
+
onPress: () => onRequestClose(id),
|
|
150
|
+
onLayout: e => setContentW(e.nativeEvent.layout.width),
|
|
151
|
+
style: pressStyle,
|
|
152
|
+
children: [icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
153
|
+
name: icon,
|
|
154
|
+
size: 24,
|
|
155
|
+
color: fg
|
|
156
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
157
|
+
variant: "bodyLarge",
|
|
158
|
+
weight: "medium",
|
|
159
|
+
color: fg,
|
|
160
|
+
numberOfLines: 1,
|
|
161
|
+
align: "center",
|
|
162
|
+
style: {
|
|
163
|
+
flexShrink: 1
|
|
164
|
+
},
|
|
165
|
+
children: message
|
|
166
|
+
}), withProgress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
167
|
+
pointerEvents: "none",
|
|
168
|
+
style: {
|
|
169
|
+
position: 'absolute',
|
|
170
|
+
left: 0,
|
|
171
|
+
bottom: 0,
|
|
172
|
+
height: 3,
|
|
173
|
+
borderRadius: 3,
|
|
174
|
+
backgroundColor: progressColor ?? fg,
|
|
175
|
+
width: remaining.interpolate({
|
|
176
|
+
inputRange: [0, 1],
|
|
177
|
+
outputRange: [0, contentW]
|
|
178
|
+
})
|
|
179
|
+
}
|
|
180
|
+
}) : null]
|
|
181
|
+
})
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_index","_palette","_Icon","_Text","_jsxRuntime","statusColors","theme","status","bg","colors","feedback","successSubtle","fg","success","errorSubtle","error","warningSubtle","palette","warning","background","subtle","neutral","ToastView","id","message","icon","duration","height","width","showProgress","backgroundColor","color","progressColor","position","leaving","onRequestClose","onRemove","maxWidth","useTheme","base","from","translateY","useRef","Animated","Value","current","opacity","remaining","contentW","setContentW","useState","withProgress","useEffect","parallel","timing","toValue","easing","Easing","out","cubic","useNativeDriver","start","linear","timer","setTimeout","clearTimeout","undefined","in","pressStyle","flexDirection","alignItems","justifyContent","gap","paddingHorizontal","paddingVertical","borderRadius","overflow","outerWidth","jsx","View","accessibilityRole","accessibilityLiveRegion","style","transform","children","jsxs","Pressable","onPress","onLayout","e","nativeEvent","layout","Icon","name","size","Text","variant","weight","numberOfLines","align","flexShrink","pointerEvents","left","bottom","interpolate","inputRange","outputRange"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Toast/Toast.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.Top = exports.Bottom = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _ToastProvider = require("./ToastProvider.js");
|
|
9
|
+
var _Button = require("../Button/Button.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
const meta = {
|
|
12
|
+
title: 'Components/Toast',
|
|
13
|
+
component: _ToastProvider.ToastProvider
|
|
14
|
+
};
|
|
15
|
+
var _default = exports.default = meta;
|
|
16
|
+
function Triggers() {
|
|
17
|
+
const {
|
|
18
|
+
show,
|
|
19
|
+
hideAll
|
|
20
|
+
} = (0, _ToastProvider.useToast)();
|
|
21
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
22
|
+
style: {
|
|
23
|
+
gap: 12,
|
|
24
|
+
padding: 24
|
|
25
|
+
},
|
|
26
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
27
|
+
label: "Success",
|
|
28
|
+
variant: "success",
|
|
29
|
+
onPress: () => show({
|
|
30
|
+
message: 'Clocked out successfully. 11:58 AM',
|
|
31
|
+
status: 'success',
|
|
32
|
+
icon: 'check'
|
|
33
|
+
})
|
|
34
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
35
|
+
label: "Error",
|
|
36
|
+
variant: "destructive",
|
|
37
|
+
onPress: () => show({
|
|
38
|
+
message: 'Something went wrong, please try again',
|
|
39
|
+
status: 'error',
|
|
40
|
+
icon: 'close'
|
|
41
|
+
})
|
|
42
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
43
|
+
label: "Warning",
|
|
44
|
+
variant: "secondary",
|
|
45
|
+
onPress: () => show({
|
|
46
|
+
message: 'Your session is about to expire',
|
|
47
|
+
status: 'warning',
|
|
48
|
+
icon: 'info'
|
|
49
|
+
})
|
|
50
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
51
|
+
label: "Info (no icon)",
|
|
52
|
+
variant: "secondary",
|
|
53
|
+
onPress: () => show({
|
|
54
|
+
message: 'A new update is available',
|
|
55
|
+
status: 'info'
|
|
56
|
+
})
|
|
57
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
58
|
+
label: "Long text (ellipsis)",
|
|
59
|
+
variant: "secondary",
|
|
60
|
+
onPress: () => show({
|
|
61
|
+
message: 'This is a very long toast message that should be truncated with an ellipsis when it exceeds the available width of the toast',
|
|
62
|
+
status: 'info'
|
|
63
|
+
})
|
|
64
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
65
|
+
label: "With countdown bar",
|
|
66
|
+
variant: "secondary",
|
|
67
|
+
onPress: () => show({
|
|
68
|
+
message: 'Saving… this will dismiss soon',
|
|
69
|
+
status: 'success',
|
|
70
|
+
icon: 'check',
|
|
71
|
+
showProgress: true,
|
|
72
|
+
duration: 4000
|
|
73
|
+
})
|
|
74
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
75
|
+
label: "Custom width (280)",
|
|
76
|
+
variant: "secondary",
|
|
77
|
+
onPress: () => show({
|
|
78
|
+
message: 'Compact toast',
|
|
79
|
+
status: 'info',
|
|
80
|
+
width: 280
|
|
81
|
+
})
|
|
82
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
83
|
+
label: "Sticky (duration 0)",
|
|
84
|
+
variant: "secondary",
|
|
85
|
+
onPress: () => show({
|
|
86
|
+
message: 'I stay until dismissed — tap me',
|
|
87
|
+
status: 'warning',
|
|
88
|
+
duration: 0
|
|
89
|
+
})
|
|
90
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
91
|
+
label: "Hide all",
|
|
92
|
+
variant: "inverse",
|
|
93
|
+
onPress: hideAll
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const Bottom = exports.Bottom = {
|
|
98
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToastProvider.ToastProvider, {
|
|
99
|
+
position: "bottom",
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Triggers, {})
|
|
101
|
+
})
|
|
102
|
+
};
|
|
103
|
+
const Top = exports.Top = {
|
|
104
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToastProvider.ToastProvider, {
|
|
105
|
+
position: "top",
|
|
106
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Triggers, {})
|
|
107
|
+
})
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=Toast.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_ToastProvider","_Button","_jsxRuntime","meta","title","component","ToastProvider","_default","exports","default","Triggers","show","hideAll","useToast","jsxs","View","style","gap","padding","children","jsx","Button","label","variant","onPress","message","status","icon","showProgress","duration","width","Bottom","render","position","Top"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Toast/Toast.stories.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _reactNative = require("@testing-library/react-native");
|
|
5
|
+
var _ToastProvider = require("./ToastProvider.js");
|
|
6
|
+
var _Button = require("../Button/Button.js");
|
|
7
|
+
var _index = require("../../theme/index.js");
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function Harness() {
|
|
11
|
+
const {
|
|
12
|
+
show,
|
|
13
|
+
hideAll
|
|
14
|
+
} = (0, _ToastProvider.useToast)();
|
|
15
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
16
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
17
|
+
label: "add",
|
|
18
|
+
onPress: () => show({
|
|
19
|
+
message: `Toast ${Date.now()}`,
|
|
20
|
+
duration: 0
|
|
21
|
+
})
|
|
22
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
23
|
+
label: "named",
|
|
24
|
+
onPress: () => show({
|
|
25
|
+
message: 'Saved!',
|
|
26
|
+
status: 'success',
|
|
27
|
+
duration: 0
|
|
28
|
+
})
|
|
29
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
30
|
+
label: "clear",
|
|
31
|
+
onPress: hideAll
|
|
32
|
+
})]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function renderProvider(maxVisible = 2) {
|
|
36
|
+
return (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
|
|
37
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToastProvider.ToastProvider, {
|
|
38
|
+
maxVisible: maxVisible,
|
|
39
|
+
duration: 0,
|
|
40
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Harness, {})
|
|
41
|
+
})
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
describe('Toast', () => {
|
|
45
|
+
it('shows a toast when triggered', () => {
|
|
46
|
+
renderProvider();
|
|
47
|
+
_reactNative.fireEvent.press(_reactNative.screen.getByText('named'));
|
|
48
|
+
expect(_reactNative.screen.getByText('Saved!')).toBeTruthy();
|
|
49
|
+
});
|
|
50
|
+
it('keeps at most maxVisible toasts', () => {
|
|
51
|
+
renderProvider(2);
|
|
52
|
+
const add = _reactNative.screen.getByText('add');
|
|
53
|
+
_reactNative.fireEvent.press(add);
|
|
54
|
+
_reactNative.fireEvent.press(add);
|
|
55
|
+
_reactNative.fireEvent.press(add);
|
|
56
|
+
// 3 shown, but only 2 remain (plus the two trigger buttons' labels aren't "Toast ...")
|
|
57
|
+
const toasts = _reactNative.screen.queryAllByText(/^Toast /);
|
|
58
|
+
expect(toasts.length).toBe(2);
|
|
59
|
+
});
|
|
60
|
+
it('useToast throws outside a provider', () => {
|
|
61
|
+
const Boom = () => {
|
|
62
|
+
(0, _ToastProvider.useToast)();
|
|
63
|
+
return null;
|
|
64
|
+
};
|
|
65
|
+
const spy = jest.spyOn(console, 'error').mockImplementation(() => {});
|
|
66
|
+
expect(() => (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Boom, {}))).toThrow(/ToastProvider/);
|
|
67
|
+
spy.mockRestore();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=Toast.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ToastProvider","_Button","_index","_jsxRuntime","e","__esModule","default","Harness","show","hideAll","useToast","jsxs","Fragment","children","jsx","Button","label","onPress","message","Date","now","duration","status","renderProvider","maxVisible","render","ThemeProvider","ToastProvider","describe","it","fireEvent","press","screen","getByText","expect","toBeTruthy","add","toasts","queryAllByText","length","toBe","Boom","spy","jest","spyOn","console","mockImplementation","toThrow","mockRestore"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Toast/Toast.test.tsx"],"mappings":"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","ignoreList":[]}
|