@bacon-pos/ui 0.2.1 → 0.3.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 +215 -0
- package/lib/commonjs/components/Dialog/Dialog.js.map +1 -0
- package/lib/commonjs/components/Dialog/Dialog.stories.js +169 -0
- package/lib/commonjs/components/Dialog/Dialog.stories.js.map +1 -0
- package/lib/commonjs/components/Dialog/Dialog.test.js +71 -0
- package/lib/commonjs/components/Dialog/Dialog.test.js.map +1 -0
- package/lib/commonjs/components/Dialog/index.js +13 -0
- package/lib/commonjs/components/Dialog/index.js.map +1 -0
- package/lib/commonjs/components/_internal/ScrollArea.js +96 -0
- package/lib/commonjs/components/_internal/ScrollArea.js.map +1 -0
- package/lib/commonjs/components/index.js +22 -11
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/module/components/Dialog/Dialog.js +211 -0
- package/lib/module/components/Dialog/Dialog.js.map +1 -0
- package/lib/module/components/Dialog/Dialog.stories.js +165 -0
- package/lib/module/components/Dialog/Dialog.stories.js.map +1 -0
- package/lib/module/components/Dialog/Dialog.test.js +70 -0
- package/lib/module/components/Dialog/Dialog.test.js.map +1 -0
- package/lib/module/components/Dialog/index.js +4 -0
- package/lib/module/components/Dialog/index.js.map +1 -0
- package/lib/module/components/_internal/ScrollArea.js +92 -0
- package/lib/module/components/_internal/ScrollArea.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 +75 -0
- package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Dialog/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Dialog/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/_internal/ScrollArea.d.ts +20 -0
- package/lib/typescript/commonjs/components/_internal/ScrollArea.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 +75 -0
- package/lib/typescript/module/components/Dialog/Dialog.d.ts.map +1 -0
- package/lib/typescript/module/components/Dialog/index.d.ts +2 -0
- package/lib/typescript/module/components/Dialog/index.d.ts.map +1 -0
- package/lib/typescript/module/components/_internal/ScrollArea.d.ts +20 -0
- package/lib/typescript/module/components/_internal/ScrollArea.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 +269 -0
- package/src/components/Dialog/index.ts +6 -0
- package/src/components/_internal/ScrollArea.tsx +95 -0
- package/src/components/index.ts +1 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Dialog = Dialog;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _index = require("../../theme/index.js");
|
|
9
|
+
var _Button = require("../Button/Button.js");
|
|
10
|
+
var _Icon = require("../Icon/Icon.js");
|
|
11
|
+
var _Text = require("../Text/Text.js");
|
|
12
|
+
var _ScrollArea = require("../_internal/ScrollArea.js");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
/**
|
|
15
|
+
* Dialog — an accessible, keyboard-aware modal that can hold anything from a
|
|
16
|
+
* short message to a full form (selects, date pickers, etc. keep working thanks
|
|
17
|
+
* to `keyboardShouldPersistTaps`). Content scrolls with an elegant thin,
|
|
18
|
+
* auto-hiding indicator. `scrollMode="page"` scrolls the whole modal on short
|
|
19
|
+
* screens instead of scrolling inside the card. Footer composes the
|
|
20
|
+
* design-system `Button`.
|
|
21
|
+
*/
|
|
22
|
+
function Dialog({
|
|
23
|
+
visible,
|
|
24
|
+
onClose,
|
|
25
|
+
title,
|
|
26
|
+
subtitle,
|
|
27
|
+
children,
|
|
28
|
+
actions = [],
|
|
29
|
+
cancel,
|
|
30
|
+
showClose = true,
|
|
31
|
+
closeDestructive = false,
|
|
32
|
+
dismissOnBackdrop = false,
|
|
33
|
+
scrollMode = 'inner',
|
|
34
|
+
stickyHeader = true,
|
|
35
|
+
stickyFooter = true,
|
|
36
|
+
padding = 24,
|
|
37
|
+
contentSpacing = 24,
|
|
38
|
+
radius = 24,
|
|
39
|
+
maxWidth = 560,
|
|
40
|
+
maxHeightRatio = 0.9,
|
|
41
|
+
scrollbarColor,
|
|
42
|
+
style
|
|
43
|
+
}) {
|
|
44
|
+
const theme = (0, _index.useTheme)();
|
|
45
|
+
const {
|
|
46
|
+
height
|
|
47
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
48
|
+
const indicatorColor = scrollbarColor ?? theme.colors.text.tertiary;
|
|
49
|
+
const closeBtn = showClose ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
50
|
+
onPress: onClose,
|
|
51
|
+
hitSlop: 8,
|
|
52
|
+
accessibilityRole: "button",
|
|
53
|
+
accessibilityLabel: "Close",
|
|
54
|
+
style: {
|
|
55
|
+
position: 'absolute',
|
|
56
|
+
top: padding,
|
|
57
|
+
right: padding,
|
|
58
|
+
padding: 4,
|
|
59
|
+
zIndex: 1
|
|
60
|
+
},
|
|
61
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
62
|
+
name: "close",
|
|
63
|
+
size: 24,
|
|
64
|
+
color: closeDestructive ? theme.colors.feedback.error : theme.colors.text.secondary
|
|
65
|
+
})
|
|
66
|
+
}) : null;
|
|
67
|
+
const header = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
68
|
+
style: {
|
|
69
|
+
paddingHorizontal: padding,
|
|
70
|
+
paddingTop: padding,
|
|
71
|
+
paddingBottom: contentSpacing
|
|
72
|
+
},
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
74
|
+
style: {
|
|
75
|
+
paddingRight: showClose ? 40 : 0,
|
|
76
|
+
gap: 4
|
|
77
|
+
},
|
|
78
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
79
|
+
variant: "h3",
|
|
80
|
+
weight: "semibold",
|
|
81
|
+
color: "primary",
|
|
82
|
+
children: title
|
|
83
|
+
}), subtitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
84
|
+
variant: "bodyLarge",
|
|
85
|
+
color: "secondary",
|
|
86
|
+
children: subtitle
|
|
87
|
+
}) : null]
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
const contentBody = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
91
|
+
style: {
|
|
92
|
+
paddingHorizontal: padding
|
|
93
|
+
},
|
|
94
|
+
children: children
|
|
95
|
+
});
|
|
96
|
+
const hasFooter = cancel != null || actions.length > 0;
|
|
97
|
+
const footer = hasFooter ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
98
|
+
style: {
|
|
99
|
+
flexDirection: 'row',
|
|
100
|
+
gap: 12,
|
|
101
|
+
paddingHorizontal: padding,
|
|
102
|
+
paddingBottom: padding,
|
|
103
|
+
paddingTop: contentSpacing
|
|
104
|
+
},
|
|
105
|
+
children: [cancel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
106
|
+
style: {
|
|
107
|
+
flex: 1
|
|
108
|
+
},
|
|
109
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
110
|
+
fullWidth: true,
|
|
111
|
+
variant: cancel.destructive ? 'destructive' : 'secondary',
|
|
112
|
+
label: cancel.label ?? 'Cancel',
|
|
113
|
+
onPress: cancel.onPress ?? onClose
|
|
114
|
+
})
|
|
115
|
+
}) : null, actions.map((action, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
116
|
+
style: {
|
|
117
|
+
flex: 1
|
|
118
|
+
},
|
|
119
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
120
|
+
fullWidth: true,
|
|
121
|
+
variant: action.variant ?? 'default',
|
|
122
|
+
label: action.label,
|
|
123
|
+
onPress: action.onPress,
|
|
124
|
+
loading: action.loading,
|
|
125
|
+
disabled: action.disabled
|
|
126
|
+
})
|
|
127
|
+
}, i))]
|
|
128
|
+
}) : null;
|
|
129
|
+
const cardBase = {
|
|
130
|
+
width: '100%',
|
|
131
|
+
maxWidth,
|
|
132
|
+
backgroundColor: theme.colors.background.default,
|
|
133
|
+
borderRadius: radius,
|
|
134
|
+
overflow: 'hidden'
|
|
135
|
+
};
|
|
136
|
+
const card = scrollMode === 'page' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
137
|
+
accessibilityViewIsModal: true,
|
|
138
|
+
style: [cardBase, style],
|
|
139
|
+
children: [closeBtn, header, contentBody, footer]
|
|
140
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
141
|
+
accessibilityViewIsModal: true,
|
|
142
|
+
style: [cardBase, {
|
|
143
|
+
maxHeight: height * maxHeightRatio
|
|
144
|
+
}, style],
|
|
145
|
+
children: [closeBtn, stickyHeader ? header : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ScrollArea.ScrollArea, {
|
|
146
|
+
indicatorColor: indicatorColor,
|
|
147
|
+
style: {
|
|
148
|
+
flexShrink: 1
|
|
149
|
+
},
|
|
150
|
+
keyboardShouldPersistTaps: "handled",
|
|
151
|
+
keyboardDismissMode: "interactive",
|
|
152
|
+
children: [!stickyHeader ? header : null, contentBody, !stickyFooter ? footer : null]
|
|
153
|
+
}), stickyFooter ? footer : null]
|
|
154
|
+
});
|
|
155
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
156
|
+
visible: visible,
|
|
157
|
+
transparent: true,
|
|
158
|
+
animationType: "fade",
|
|
159
|
+
statusBarTranslucent: true,
|
|
160
|
+
onRequestClose: onClose,
|
|
161
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.KeyboardAvoidingView, {
|
|
162
|
+
behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
|
|
163
|
+
style: {
|
|
164
|
+
flex: 1
|
|
165
|
+
},
|
|
166
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
167
|
+
style: {
|
|
168
|
+
flex: 1,
|
|
169
|
+
backgroundColor: 'rgba(16, 18, 20, 0.55)'
|
|
170
|
+
},
|
|
171
|
+
children: scrollMode === 'page' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
172
|
+
style: {
|
|
173
|
+
flex: 1
|
|
174
|
+
},
|
|
175
|
+
contentContainerStyle: {
|
|
176
|
+
flexGrow: 1,
|
|
177
|
+
padding: 16
|
|
178
|
+
},
|
|
179
|
+
keyboardShouldPersistTaps: "handled",
|
|
180
|
+
showsVerticalScrollIndicator: false,
|
|
181
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
182
|
+
style: {
|
|
183
|
+
flexGrow: 1,
|
|
184
|
+
justifyContent: 'center',
|
|
185
|
+
alignItems: 'center'
|
|
186
|
+
},
|
|
187
|
+
onPress: dismissOnBackdrop ? onClose : undefined,
|
|
188
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
189
|
+
style: {
|
|
190
|
+
width: '100%',
|
|
191
|
+
alignItems: 'center'
|
|
192
|
+
},
|
|
193
|
+
onPress: () => {},
|
|
194
|
+
children: card
|
|
195
|
+
})
|
|
196
|
+
})
|
|
197
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
198
|
+
style: {
|
|
199
|
+
flex: 1,
|
|
200
|
+
justifyContent: 'center',
|
|
201
|
+
alignItems: 'center',
|
|
202
|
+
padding: 16
|
|
203
|
+
},
|
|
204
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
205
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
206
|
+
onPress: dismissOnBackdrop ? onClose : undefined,
|
|
207
|
+
accessibilityElementsHidden: true,
|
|
208
|
+
importantForAccessibility: "no-hide-descendants"
|
|
209
|
+
}), card]
|
|
210
|
+
})
|
|
211
|
+
})
|
|
212
|
+
})
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=Dialog.js.map
|
|
@@ -0,0 +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","width","backgroundColor","background","default","borderRadius","overflow","card","accessibilityViewIsModal","maxHeight","ScrollArea","flexShrink","keyboardShouldPersistTaps","keyboardDismissMode","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","KeyboardAvoidingView","behavior","Platform","OS","undefined","ScrollView","contentContainerStyle","flexGrow","showsVerticalScrollIndicator","justifyContent","alignItems","StyleSheet","absoluteFill","accessibilityElementsHidden","importantForAccessibility"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.ThreeActions = exports.PageScroll = exports.LongScrollingForm = exports.EverythingScrolls = exports.DestructiveCancel = exports.Basic = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _Dialog = require("./Dialog.js");
|
|
10
|
+
var _Button = require("../Button/Button.js");
|
|
11
|
+
var _Input = require("../Input/Input.js");
|
|
12
|
+
var _Text = require("../Text/Text.js");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
const meta = {
|
|
15
|
+
title: 'Components/Dialog',
|
|
16
|
+
component: _Dialog.Dialog
|
|
17
|
+
};
|
|
18
|
+
var _default = exports.default = meta;
|
|
19
|
+
function Frame({
|
|
20
|
+
render
|
|
21
|
+
}) {
|
|
22
|
+
const [open, setOpen] = (0, _react.useState)(false);
|
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
24
|
+
style: {
|
|
25
|
+
padding: 24
|
|
26
|
+
},
|
|
27
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
28
|
+
label: "Open dialog",
|
|
29
|
+
onPress: () => setOpen(true)
|
|
30
|
+
}), render(open, () => setOpen(false))]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const Basic = exports.Basic = {
|
|
34
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
35
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
36
|
+
visible: open,
|
|
37
|
+
onClose: close,
|
|
38
|
+
title: "Enter password",
|
|
39
|
+
subtitle: "Enter password for Universum WiFi",
|
|
40
|
+
cancel: {},
|
|
41
|
+
actions: [{
|
|
42
|
+
label: 'Update',
|
|
43
|
+
onPress: close
|
|
44
|
+
}],
|
|
45
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, {
|
|
46
|
+
label: "Password",
|
|
47
|
+
placeholder: "Enter password",
|
|
48
|
+
revealable: true
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
};
|
|
53
|
+
const DestructiveCancel = exports.DestructiveCancel = {
|
|
54
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
55
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
56
|
+
visible: open,
|
|
57
|
+
onClose: close,
|
|
58
|
+
title: "Delete order?",
|
|
59
|
+
subtitle: "This action cannot be undone.",
|
|
60
|
+
closeDestructive: true,
|
|
61
|
+
cancel: {
|
|
62
|
+
label: 'Delete',
|
|
63
|
+
destructive: true,
|
|
64
|
+
onPress: close
|
|
65
|
+
},
|
|
66
|
+
actions: [{
|
|
67
|
+
label: 'Keep',
|
|
68
|
+
onPress: close
|
|
69
|
+
}]
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
const ThreeActions = exports.ThreeActions = {
|
|
74
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
75
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
76
|
+
visible: open,
|
|
77
|
+
onClose: close,
|
|
78
|
+
title: "Choose an option",
|
|
79
|
+
actions: [{
|
|
80
|
+
label: 'One',
|
|
81
|
+
variant: 'secondary',
|
|
82
|
+
onPress: close
|
|
83
|
+
}, {
|
|
84
|
+
label: 'Two',
|
|
85
|
+
variant: 'inverse',
|
|
86
|
+
onPress: close
|
|
87
|
+
}, {
|
|
88
|
+
label: 'Three',
|
|
89
|
+
onPress: close
|
|
90
|
+
}]
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
};
|
|
94
|
+
const LongScrollingForm = exports.LongScrollingForm = {
|
|
95
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
96
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
97
|
+
visible: open,
|
|
98
|
+
onClose: close,
|
|
99
|
+
title: "Customer details",
|
|
100
|
+
subtitle: "Fill in the information below",
|
|
101
|
+
cancel: {},
|
|
102
|
+
actions: [{
|
|
103
|
+
label: 'Save',
|
|
104
|
+
onPress: close
|
|
105
|
+
}],
|
|
106
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
107
|
+
style: {
|
|
108
|
+
gap: 16
|
|
109
|
+
},
|
|
110
|
+
children: Array.from({
|
|
111
|
+
length: 8
|
|
112
|
+
}).map((_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, {
|
|
113
|
+
label: `Field ${i + 1}`,
|
|
114
|
+
placeholder: `Value ${i + 1}`
|
|
115
|
+
}, i))
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
})
|
|
119
|
+
};
|
|
120
|
+
const PageScroll = exports.PageScroll = {
|
|
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: "Page scroll on short screens",
|
|
126
|
+
subtitle: "scrollMode='page' \u2014 the whole modal scrolls, nothing behind moves",
|
|
127
|
+
scrollMode: "page",
|
|
128
|
+
cancel: {},
|
|
129
|
+
actions: [{
|
|
130
|
+
label: 'Save',
|
|
131
|
+
onPress: close
|
|
132
|
+
}],
|
|
133
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
134
|
+
style: {
|
|
135
|
+
gap: 16
|
|
136
|
+
},
|
|
137
|
+
children: Array.from({
|
|
138
|
+
length: 10
|
|
139
|
+
}).map((_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, {
|
|
140
|
+
label: `Field ${i + 1}`,
|
|
141
|
+
placeholder: `Value ${i + 1}`
|
|
142
|
+
}, i))
|
|
143
|
+
})
|
|
144
|
+
})
|
|
145
|
+
})
|
|
146
|
+
};
|
|
147
|
+
const EverythingScrolls = exports.EverythingScrolls = {
|
|
148
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
|
|
149
|
+
render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
150
|
+
visible: open,
|
|
151
|
+
onClose: close,
|
|
152
|
+
title: "Scrollable header & footer",
|
|
153
|
+
subtitle: "stickyHeader/stickyFooter = false",
|
|
154
|
+
stickyHeader: false,
|
|
155
|
+
stickyFooter: false,
|
|
156
|
+
cancel: {},
|
|
157
|
+
actions: [{
|
|
158
|
+
label: 'Done',
|
|
159
|
+
onPress: close
|
|
160
|
+
}],
|
|
161
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
162
|
+
variant: "bodyMedium",
|
|
163
|
+
color: "secondary",
|
|
164
|
+
children: 'Lorem ipsum dolor sit amet.\n'.repeat(20)
|
|
165
|
+
})
|
|
166
|
+
})
|
|
167
|
+
})
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=Dialog.stories.js.map
|
|
@@ -0,0 +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","PageScroll","scrollMode","EverythingScrolls","stickyHeader","stickyFooter","Text","color","repeat"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/Dialog.stories.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _reactNative = require("@testing-library/react-native");
|
|
5
|
+
var _Dialog = require("./Dialog.js");
|
|
6
|
+
var _index = require("../../theme/index.js");
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function renderWithTheme(ui) {
|
|
10
|
+
return (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
|
|
11
|
+
children: ui
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
describe('Dialog', () => {
|
|
15
|
+
it('renders title, subtitle and content when visible', () => {
|
|
16
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
17
|
+
visible: true,
|
|
18
|
+
onClose: () => {},
|
|
19
|
+
title: "Enter password",
|
|
20
|
+
subtitle: "For WiFi",
|
|
21
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {})
|
|
22
|
+
}));
|
|
23
|
+
expect(_reactNative.screen.getByText('Enter password')).toBeTruthy();
|
|
24
|
+
expect(_reactNative.screen.getByText('For WiFi')).toBeTruthy();
|
|
25
|
+
});
|
|
26
|
+
it('fires an action press', () => {
|
|
27
|
+
const onPress = jest.fn();
|
|
28
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
29
|
+
visible: true,
|
|
30
|
+
onClose: () => {},
|
|
31
|
+
title: "T",
|
|
32
|
+
actions: [{
|
|
33
|
+
label: 'Update',
|
|
34
|
+
onPress
|
|
35
|
+
}]
|
|
36
|
+
}));
|
|
37
|
+
_reactNative.fireEvent.press(_reactNative.screen.getByText('Update'));
|
|
38
|
+
expect(onPress).toHaveBeenCalledTimes(1);
|
|
39
|
+
});
|
|
40
|
+
it('cancel defaults to onClose', () => {
|
|
41
|
+
const onClose = jest.fn();
|
|
42
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
43
|
+
visible: true,
|
|
44
|
+
onClose: onClose,
|
|
45
|
+
title: "T",
|
|
46
|
+
cancel: {}
|
|
47
|
+
}));
|
|
48
|
+
_reactNative.fireEvent.press(_reactNative.screen.getByText('Cancel'));
|
|
49
|
+
expect(onClose).toHaveBeenCalledTimes(1);
|
|
50
|
+
});
|
|
51
|
+
it('close button calls onClose', () => {
|
|
52
|
+
const onClose = jest.fn();
|
|
53
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
54
|
+
visible: true,
|
|
55
|
+
onClose: onClose,
|
|
56
|
+
title: "T"
|
|
57
|
+
}));
|
|
58
|
+
_reactNative.fireEvent.press(_reactNative.screen.getByLabelText('Close'));
|
|
59
|
+
expect(onClose).toHaveBeenCalledTimes(1);
|
|
60
|
+
});
|
|
61
|
+
it('hides the close button when showClose is false', () => {
|
|
62
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
|
|
63
|
+
visible: true,
|
|
64
|
+
onClose: () => {},
|
|
65
|
+
title: "T",
|
|
66
|
+
showClose: false
|
|
67
|
+
}));
|
|
68
|
+
expect(_reactNative.screen.queryByLabelText('Close')).toBeNull();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=Dialog.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Dialog","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","Dialog","visible","onClose","title","subtitle","Fragment","expect","screen","getByText","toBeTruthy","onPress","jest","fn","actions","label","fireEvent","press","toHaveBeenCalledTimes","cancel","getByLabelText","showClose","queryByLabelText","toBeNull"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/Dialog.test.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Dialog", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Dialog.Dialog;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Dialog = require("./Dialog.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Dialog","require"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ScrollArea = ScrollArea;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* ScrollView with an elegant custom vertical indicator: thin, rounded, colored,
|
|
12
|
+
* and only visible while scrolling (fades out when idle). The native indicator
|
|
13
|
+
* is hidden so it looks the same on iOS, Android and web.
|
|
14
|
+
*/
|
|
15
|
+
function ScrollArea({
|
|
16
|
+
children,
|
|
17
|
+
indicatorColor,
|
|
18
|
+
indicatorWidth = 4,
|
|
19
|
+
keyboardShouldPersistTaps,
|
|
20
|
+
keyboardDismissMode,
|
|
21
|
+
style,
|
|
22
|
+
contentContainerStyle
|
|
23
|
+
}) {
|
|
24
|
+
const [viewportH, setViewportH] = (0, _react.useState)(0);
|
|
25
|
+
const [contentH, setContentH] = (0, _react.useState)(0);
|
|
26
|
+
const scrollY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
27
|
+
const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
28
|
+
const hideTimer = (0, _react.useRef)(null);
|
|
29
|
+
const scrollable = contentH > viewportH + 1;
|
|
30
|
+
const thumbH = scrollable ? Math.max(24, viewportH / contentH * viewportH) : 0;
|
|
31
|
+
const maxScroll = Math.max(1, contentH - viewportH);
|
|
32
|
+
const translateY = scrollY.interpolate({
|
|
33
|
+
inputRange: [0, maxScroll],
|
|
34
|
+
outputRange: [0, viewportH - thumbH],
|
|
35
|
+
extrapolate: 'clamp'
|
|
36
|
+
});
|
|
37
|
+
const reveal = () => {
|
|
38
|
+
_reactNative.Animated.timing(opacity, {
|
|
39
|
+
toValue: 1,
|
|
40
|
+
duration: 120,
|
|
41
|
+
useNativeDriver: true
|
|
42
|
+
}).start();
|
|
43
|
+
if (hideTimer.current) clearTimeout(hideTimer.current);
|
|
44
|
+
hideTimer.current = setTimeout(() => {
|
|
45
|
+
_reactNative.Animated.timing(opacity, {
|
|
46
|
+
toValue: 0,
|
|
47
|
+
duration: 400,
|
|
48
|
+
useNativeDriver: true
|
|
49
|
+
}).start();
|
|
50
|
+
}, 900);
|
|
51
|
+
};
|
|
52
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
53
|
+
style: [{
|
|
54
|
+
position: 'relative'
|
|
55
|
+
}, style],
|
|
56
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.ScrollView, {
|
|
57
|
+
style: {
|
|
58
|
+
flexShrink: 1
|
|
59
|
+
},
|
|
60
|
+
contentContainerStyle: contentContainerStyle,
|
|
61
|
+
showsVerticalScrollIndicator: false,
|
|
62
|
+
scrollEventThrottle: 16,
|
|
63
|
+
keyboardShouldPersistTaps: keyboardShouldPersistTaps,
|
|
64
|
+
keyboardDismissMode: keyboardDismissMode,
|
|
65
|
+
onLayout: e => setViewportH(e.nativeEvent.layout.height),
|
|
66
|
+
onContentSizeChange: (_w, h) => setContentH(h),
|
|
67
|
+
onScroll: _reactNative.Animated.event([{
|
|
68
|
+
nativeEvent: {
|
|
69
|
+
contentOffset: {
|
|
70
|
+
y: scrollY
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}], {
|
|
74
|
+
useNativeDriver: true,
|
|
75
|
+
listener: _e => reveal()
|
|
76
|
+
}),
|
|
77
|
+
children: children
|
|
78
|
+
}), scrollable ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
79
|
+
pointerEvents: "none",
|
|
80
|
+
style: {
|
|
81
|
+
position: 'absolute',
|
|
82
|
+
top: 0,
|
|
83
|
+
right: 2,
|
|
84
|
+
width: indicatorWidth,
|
|
85
|
+
height: thumbH,
|
|
86
|
+
borderRadius: indicatorWidth / 2,
|
|
87
|
+
backgroundColor: indicatorColor,
|
|
88
|
+
opacity,
|
|
89
|
+
transform: [{
|
|
90
|
+
translateY
|
|
91
|
+
}]
|
|
92
|
+
}
|
|
93
|
+
}) : null]
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=ScrollArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_jsxRuntime","ScrollArea","children","indicatorColor","indicatorWidth","keyboardShouldPersistTaps","keyboardDismissMode","style","contentContainerStyle","viewportH","setViewportH","useState","contentH","setContentH","scrollY","useRef","Animated","Value","current","opacity","hideTimer","scrollable","thumbH","Math","max","maxScroll","translateY","interpolate","inputRange","outputRange","extrapolate","reveal","timing","toValue","duration","useNativeDriver","start","clearTimeout","setTimeout","jsxs","View","position","jsx","ScrollView","flexShrink","showsVerticalScrollIndicator","scrollEventThrottle","onLayout","e","nativeEvent","layout","height","onContentSizeChange","_w","h","onScroll","event","contentOffset","y","listener","_e","pointerEvents","top","right","width","borderRadius","backgroundColor","transform"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/_internal/ScrollArea.tsx"],"mappings":"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","ignoreList":[]}
|