@bacon-pos/ui 0.2.1 → 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.
Files changed (80) hide show
  1. package/lib/commonjs/components/Dialog/Dialog.js +234 -0
  2. package/lib/commonjs/components/Dialog/Dialog.js.map +1 -0
  3. package/lib/commonjs/components/Dialog/Dialog.stories.js +217 -0
  4. package/lib/commonjs/components/Dialog/Dialog.stories.js.map +1 -0
  5. package/lib/commonjs/components/Dialog/Dialog.test.js +71 -0
  6. package/lib/commonjs/components/Dialog/Dialog.test.js.map +1 -0
  7. package/lib/commonjs/components/Dialog/index.js +13 -0
  8. package/lib/commonjs/components/Dialog/index.js.map +1 -0
  9. package/lib/commonjs/components/Toast/Toast.js +184 -0
  10. package/lib/commonjs/components/Toast/Toast.js.map +1 -0
  11. package/lib/commonjs/components/Toast/Toast.stories.js +109 -0
  12. package/lib/commonjs/components/Toast/Toast.stories.js.map +1 -0
  13. package/lib/commonjs/components/Toast/Toast.test.js +70 -0
  14. package/lib/commonjs/components/Toast/Toast.test.js.map +1 -0
  15. package/lib/commonjs/components/Toast/ToastProvider.js +95 -0
  16. package/lib/commonjs/components/Toast/ToastProvider.js.map +1 -0
  17. package/lib/commonjs/components/Toast/index.js +26 -0
  18. package/lib/commonjs/components/Toast/index.js.map +1 -0
  19. package/lib/commonjs/components/_internal/ScrollArea.js +96 -0
  20. package/lib/commonjs/components/_internal/ScrollArea.js.map +1 -0
  21. package/lib/commonjs/components/index.js +33 -11
  22. package/lib/commonjs/components/index.js.map +1 -1
  23. package/lib/module/components/Dialog/Dialog.js +230 -0
  24. package/lib/module/components/Dialog/Dialog.js.map +1 -0
  25. package/lib/module/components/Dialog/Dialog.stories.js +213 -0
  26. package/lib/module/components/Dialog/Dialog.stories.js.map +1 -0
  27. package/lib/module/components/Dialog/Dialog.test.js +70 -0
  28. package/lib/module/components/Dialog/Dialog.test.js.map +1 -0
  29. package/lib/module/components/Dialog/index.js +4 -0
  30. package/lib/module/components/Dialog/index.js.map +1 -0
  31. package/lib/module/components/Toast/Toast.js +180 -0
  32. package/lib/module/components/Toast/Toast.js.map +1 -0
  33. package/lib/module/components/Toast/Toast.stories.js +105 -0
  34. package/lib/module/components/Toast/Toast.stories.js.map +1 -0
  35. package/lib/module/components/Toast/Toast.test.js +69 -0
  36. package/lib/module/components/Toast/Toast.test.js.map +1 -0
  37. package/lib/module/components/Toast/ToastProvider.js +90 -0
  38. package/lib/module/components/Toast/ToastProvider.js.map +1 -0
  39. package/lib/module/components/Toast/index.js +5 -0
  40. package/lib/module/components/Toast/index.js.map +1 -0
  41. package/lib/module/components/_internal/ScrollArea.js +92 -0
  42. package/lib/module/components/_internal/ScrollArea.js.map +1 -0
  43. package/lib/module/components/index.js +2 -0
  44. package/lib/module/components/index.js.map +1 -1
  45. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +79 -0
  46. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts.map +1 -0
  47. package/lib/typescript/commonjs/components/Dialog/index.d.ts +2 -0
  48. package/lib/typescript/commonjs/components/Dialog/index.d.ts.map +1 -0
  49. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +40 -0
  50. package/lib/typescript/commonjs/components/Toast/Toast.d.ts.map +1 -0
  51. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +34 -0
  52. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts.map +1 -0
  53. package/lib/typescript/commonjs/components/Toast/index.d.ts +3 -0
  54. package/lib/typescript/commonjs/components/Toast/index.d.ts.map +1 -0
  55. package/lib/typescript/commonjs/components/_internal/ScrollArea.d.ts +20 -0
  56. package/lib/typescript/commonjs/components/_internal/ScrollArea.d.ts.map +1 -0
  57. package/lib/typescript/commonjs/components/index.d.ts +2 -0
  58. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  59. package/lib/typescript/module/components/Dialog/Dialog.d.ts +79 -0
  60. package/lib/typescript/module/components/Dialog/Dialog.d.ts.map +1 -0
  61. package/lib/typescript/module/components/Dialog/index.d.ts +2 -0
  62. package/lib/typescript/module/components/Dialog/index.d.ts.map +1 -0
  63. package/lib/typescript/module/components/Toast/Toast.d.ts +40 -0
  64. package/lib/typescript/module/components/Toast/Toast.d.ts.map +1 -0
  65. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +34 -0
  66. package/lib/typescript/module/components/Toast/ToastProvider.d.ts.map +1 -0
  67. package/lib/typescript/module/components/Toast/index.d.ts +3 -0
  68. package/lib/typescript/module/components/Toast/index.d.ts.map +1 -0
  69. package/lib/typescript/module/components/_internal/ScrollArea.d.ts +20 -0
  70. package/lib/typescript/module/components/_internal/ScrollArea.d.ts.map +1 -0
  71. package/lib/typescript/module/components/index.d.ts +2 -0
  72. package/lib/typescript/module/components/index.d.ts.map +1 -1
  73. package/package.json +1 -1
  74. package/src/components/Dialog/Dialog.tsx +299 -0
  75. package/src/components/Dialog/index.ts +6 -0
  76. package/src/components/Toast/Toast.tsx +173 -0
  77. package/src/components/Toast/ToastProvider.tsx +126 -0
  78. package/src/components/Toast/index.ts +7 -0
  79. package/src/components/_internal/ScrollArea.tsx +95 -0
  80. package/src/components/index.ts +2 -0
@@ -0,0 +1,234 @@
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
+ width,
41
+ fullscreen = false,
42
+ maxHeightRatio = 0.9,
43
+ scrollbarColor,
44
+ style
45
+ }) {
46
+ const theme = (0, _index.useTheme)();
47
+ const {
48
+ height
49
+ } = (0, _reactNative.useWindowDimensions)();
50
+ const indicatorColor = scrollbarColor ?? theme.colors.text.tertiary;
51
+ const closeBtn = showClose ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
52
+ onPress: onClose,
53
+ hitSlop: 8,
54
+ accessibilityRole: "button",
55
+ accessibilityLabel: "Close",
56
+ style: {
57
+ position: 'absolute',
58
+ top: padding,
59
+ right: padding,
60
+ padding: 4,
61
+ zIndex: 1
62
+ },
63
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
64
+ name: "close",
65
+ size: 24,
66
+ color: closeDestructive ? theme.colors.feedback.error : theme.colors.text.secondary
67
+ })
68
+ }) : null;
69
+ const header = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
70
+ style: {
71
+ paddingHorizontal: padding,
72
+ paddingTop: padding,
73
+ paddingBottom: contentSpacing
74
+ },
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
76
+ style: {
77
+ paddingRight: showClose ? 40 : 0,
78
+ gap: 4
79
+ },
80
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
81
+ variant: "h3",
82
+ weight: "semibold",
83
+ color: "primary",
84
+ children: title
85
+ }), subtitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
86
+ variant: "bodyLarge",
87
+ color: "secondary",
88
+ children: subtitle
89
+ }) : null]
90
+ })
91
+ });
92
+ const contentBody = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
93
+ style: {
94
+ paddingHorizontal: padding
95
+ },
96
+ children: children
97
+ });
98
+ const hasFooter = cancel != null || actions.length > 0;
99
+ const footer = hasFooter ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
100
+ style: {
101
+ flexDirection: 'row',
102
+ gap: 12,
103
+ paddingHorizontal: padding,
104
+ paddingBottom: padding,
105
+ paddingTop: contentSpacing
106
+ },
107
+ children: [cancel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
108
+ style: {
109
+ flex: 1
110
+ },
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
112
+ fullWidth: true,
113
+ variant: cancel.destructive ? 'destructive' : 'secondary',
114
+ label: cancel.label ?? 'Cancel',
115
+ onPress: cancel.onPress ?? onClose
116
+ })
117
+ }) : null, actions.map((action, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
118
+ style: {
119
+ flex: 1
120
+ },
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
122
+ fullWidth: true,
123
+ variant: action.variant ?? 'default',
124
+ label: action.label,
125
+ onPress: action.onPress,
126
+ loading: action.loading,
127
+ disabled: action.disabled
128
+ })
129
+ }, i))]
130
+ }) : null;
131
+ const cardBase = fullscreen ? {
132
+ flex: 1,
133
+ width: '100%',
134
+ backgroundColor: theme.colors.background.default,
135
+ borderRadius: 0
136
+ } : {
137
+ width: width ?? '100%',
138
+ maxWidth: width ? undefined : maxWidth,
139
+ backgroundColor: theme.colors.background.default,
140
+ borderRadius: radius,
141
+ overflow: 'hidden'
142
+ };
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, {
156
+ accessibilityViewIsModal: true,
157
+ style: [cardBase, style],
158
+ children: [closeBtn, header, contentBody, footer]
159
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
160
+ accessibilityViewIsModal: true,
161
+ style: [cardBase, {
162
+ maxHeight: height * maxHeightRatio
163
+ }, style],
164
+ children: [closeBtn, stickyHeader ? header : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ScrollArea.ScrollArea, {
165
+ indicatorColor: indicatorColor,
166
+ style: {
167
+ flexShrink: 1
168
+ },
169
+ keyboardShouldPersistTaps: "handled",
170
+ keyboardDismissMode: "interactive",
171
+ children: [!stickyHeader ? header : null, contentBody, !stickyFooter ? footer : null]
172
+ }), stickyFooter ? footer : null]
173
+ });
174
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
175
+ visible: visible,
176
+ transparent: true,
177
+ animationType: "fade",
178
+ statusBarTranslucent: true,
179
+ onRequestClose: onClose,
180
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.KeyboardAvoidingView, {
181
+ behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
182
+ style: {
183
+ flex: 1
184
+ },
185
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
186
+ style: {
187
+ flex: 1,
188
+ backgroundColor: 'rgba(16, 18, 20, 0.55)'
189
+ },
190
+ children: fullscreen ? card : scrollMode === 'page' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
191
+ style: {
192
+ flex: 1
193
+ },
194
+ contentContainerStyle: {
195
+ flexGrow: 1,
196
+ padding: 16
197
+ },
198
+ keyboardShouldPersistTaps: "handled",
199
+ showsVerticalScrollIndicator: false,
200
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
201
+ style: {
202
+ flexGrow: 1,
203
+ justifyContent: 'center',
204
+ alignItems: 'center'
205
+ },
206
+ onPress: dismissOnBackdrop ? onClose : undefined,
207
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
208
+ style: {
209
+ width: '100%',
210
+ alignItems: 'center'
211
+ },
212
+ onPress: () => {},
213
+ children: card
214
+ })
215
+ })
216
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
217
+ style: {
218
+ flex: 1,
219
+ justifyContent: 'center',
220
+ alignItems: 'center',
221
+ padding: 16
222
+ },
223
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
224
+ style: _reactNative.StyleSheet.absoluteFill,
225
+ onPress: dismissOnBackdrop ? onClose : undefined,
226
+ accessibilityElementsHidden: true,
227
+ importantForAccessibility: "no-hide-descendants"
228
+ }), card]
229
+ })
230
+ })
231
+ })
232
+ });
233
+ }
234
+ //# 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","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":[]}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Wide = exports.ThreeActions = exports.PageScroll = exports.LongScrollingForm = exports.Fullscreen = 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 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
+ };
168
+ const PageScroll = exports.PageScroll = {
169
+ render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
170
+ render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
171
+ visible: open,
172
+ onClose: close,
173
+ title: "Page scroll on short screens",
174
+ subtitle: "scrollMode='page' \u2014 the whole modal scrolls, nothing behind moves",
175
+ scrollMode: "page",
176
+ cancel: {},
177
+ actions: [{
178
+ label: 'Save',
179
+ onPress: close
180
+ }],
181
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
182
+ style: {
183
+ gap: 16
184
+ },
185
+ children: Array.from({
186
+ length: 10
187
+ }).map((_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, {
188
+ label: `Field ${i + 1}`,
189
+ placeholder: `Value ${i + 1}`
190
+ }, i))
191
+ })
192
+ })
193
+ })
194
+ };
195
+ const EverythingScrolls = exports.EverythingScrolls = {
196
+ render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Frame, {
197
+ render: (open, close) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.Dialog, {
198
+ visible: open,
199
+ onClose: close,
200
+ title: "Scrollable header & footer",
201
+ subtitle: "stickyHeader/stickyFooter = false",
202
+ stickyHeader: false,
203
+ stickyFooter: false,
204
+ cancel: {},
205
+ actions: [{
206
+ label: 'Done',
207
+ onPress: close
208
+ }],
209
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
210
+ variant: "bodyMedium",
211
+ color: "secondary",
212
+ children: 'Lorem ipsum dolor sit amet.\n'.repeat(20)
213
+ })
214
+ })
215
+ })
216
+ };
217
+ //# 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","Wide","width","Text","color","Fullscreen","fullscreen","PageScroll","scrollMode","EverythingScrolls","stickyHeader","stickyFooter","repeat"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Dialog/Dialog.stories.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAAoC,IAAAM,WAAA,GAAAN,OAAA;AAEpC,MAAMO,IAAI,GAAG;EACXC,KAAK,EAAE,mBAAmB;EAC1BC,SAAS,EAAEC;AACb,CAA+B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEjBN,IAAI;AAGnB,SAASO,KAAKA,CAAC;EAAEC;AAA0E,CAAC,EAAE;EAC5F,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,oBACE,IAAAZ,WAAA,CAAAa,IAAA,EAAClB,YAAA,CAAAmB,IAAI;IAACC,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAG,CAAE;IAAAC,QAAA,gBAC3B,IAAAjB,WAAA,CAAAkB,GAAA,EAACrB,OAAA,CAAAsB,MAAM;MAACC,KAAK,EAAC,aAAa;MAACC,OAAO,EAAEA,CAAA,KAAMV,OAAO,CAAC,IAAI;IAAE,CAAE,CAAC,EAC3DF,MAAM,CAACC,IAAI,EAAE,MAAMC,OAAO,CAAC,KAAK,CAAC,CAAC;EAAA,CAC/B,CAAC;AAEX;AAEO,MAAMW,KAAY,GAAAhB,OAAA,CAAAgB,KAAA,GAAG;EAC1Bb,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,gBAAgB;MACtBwB,QAAQ,EAAC,mCAAmC;MAC5CC,MAAM,EAAE,CAAC,CAAE;MACXC,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,QAAQ;QAAEC,OAAO,EAAEE;MAAM,CAAC,CAAE;MAAAN,QAAA,eAE/C,IAAAjB,WAAA,CAAAkB,GAAA,EAACpB,MAAA,CAAA+B,KAAK;QAACT,KAAK,EAAC,UAAU;QAACU,WAAW,EAAC,gBAAgB;QAACC,UAAU;MAAA,CAAE;IAAC,CAC5D;EACR,CACH;AAEL,CAAC;AAEM,MAAMC,iBAAwB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG;EACtCvB,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,eAAe;MACrBwB,QAAQ,EAAC,+BAA+B;MACxCO,gBAAgB;MAChBN,MAAM,EAAE;QAAEP,KAAK,EAAE,QAAQ;QAAEc,WAAW,EAAE,IAAI;QAAEb,OAAO,EAAEE;MAAM,CAAE;MAC/DK,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,MAAM;QAAEC,OAAO,EAAEE;MAAM,CAAC;IAAE,CAC9C;EACD,CACH;AAEL,CAAC;AAEM,MAAMY,YAAmB,GAAA7B,OAAA,CAAA6B,YAAA,GAAG;EACjC1B,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,kBAAkB;MACxB0B,OAAO,EAAE,CACP;QAAER,KAAK,EAAE,KAAK;QAAEgB,OAAO,EAAE,WAAW;QAAEf,OAAO,EAAEE;MAAM,CAAC,EACtD;QAAEH,KAAK,EAAE,KAAK;QAAEgB,OAAO,EAAE,SAAS;QAAEf,OAAO,EAAEE;MAAM,CAAC,EACpD;QAAEH,KAAK,EAAE,OAAO;QAAEC,OAAO,EAAEE;MAAM,CAAC;IAClC,CACH;EACD,CACH;AAEL,CAAC;AAEM,MAAMc,iBAAwB,GAAA/B,OAAA,CAAA+B,iBAAA,GAAG;EACtC5B,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,kBAAkB;MACxBwB,QAAQ,EAAC,+BAA+B;MACxCC,MAAM,EAAE,CAAC,CAAE;MACXC,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,MAAM;QAAEC,OAAO,EAAEE;MAAM,CAAC,CAAE;MAAAN,QAAA,eAE7C,IAAAjB,WAAA,CAAAkB,GAAA,EAACvB,YAAA,CAAAmB,IAAI;QAACC,KAAK,EAAE;UAAEuB,GAAG,EAAE;QAAG,CAAE;QAAArB,QAAA,EACtBsB,KAAK,CAACC,IAAI,CAAC;UAAEC,MAAM,EAAE;QAAE,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAClC,IAAA5C,WAAA,CAAAkB,GAAA,EAACpB,MAAA,CAAA+B,KAAK;UAAST,KAAK,EAAE,SAASwB,CAAC,GAAG,CAAC,EAAG;UAACd,WAAW,EAAE,SAASc,CAAC,GAAG,CAAC;QAAG,GAA1DA,CAA4D,CACzE;MAAC,CACE;IAAC,CACD;EACR,CACH;AAEL,CAAC;AAEM,MAAMC,IAAW,GAAAvC,OAAA,CAAAuC,IAAA,GAAG;EACzBpC,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,cAAc;MACpBwB,QAAQ,EAAC,0BAA0B;MACnCoB,KAAK,EAAE,GAAI;MACXnB,MAAM,EAAE,CAAC,CAAE;MACXC,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,IAAI;QAAEC,OAAO,EAAEE;MAAM,CAAC,CAAE;MAAAN,QAAA,eAE3C,IAAAjB,WAAA,CAAAkB,GAAA,EAACnB,KAAA,CAAAgD,IAAI;QAACX,OAAO,EAAC,YAAY;QAACY,KAAK,EAAC,WAAW;QAAA/B,QAAA,EAAC;MAAkC,CAAM;IAAC,CAChF;EACR,CACH;AAEL,CAAC;AAEM,MAAMgC,UAAiB,GAAA3C,OAAA,CAAA2C,UAAA,GAAG;EAC/BxC,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,mBAAmB;MACzBwB,QAAQ,EAAC,sDAAiD;MAC1DwB,UAAU;MACVvB,MAAM,EAAE,CAAC,CAAE;MACXC,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,MAAM;QAAEC,OAAO,EAAEE;MAAM,CAAC,CAAE;MAAAN,QAAA,eAE7C,IAAAjB,WAAA,CAAAkB,GAAA,EAACvB,YAAA,CAAAmB,IAAI;QAACC,KAAK,EAAE;UAAEuB,GAAG,EAAE;QAAG,CAAE;QAAArB,QAAA,EACtBsB,KAAK,CAACC,IAAI,CAAC;UAAEC,MAAM,EAAE;QAAE,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAClC,IAAA5C,WAAA,CAAAkB,GAAA,EAACpB,MAAA,CAAA+B,KAAK;UAAST,KAAK,EAAE,SAASwB,CAAC,GAAG,CAAC,EAAG;UAACd,WAAW,EAAE,SAASc,CAAC,GAAG,CAAC;QAAG,GAA1DA,CAA4D,CACzE;MAAC,CACE;IAAC,CACD;EACR,CACH;AAEL,CAAC;AAEM,MAAMO,UAAiB,GAAA7C,OAAA,CAAA6C,UAAA,GAAG;EAC/B1C,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,8BAA8B;MACpCwB,QAAQ,EAAC,wEAAmE;MAC5E0B,UAAU,EAAC,MAAM;MACjBzB,MAAM,EAAE,CAAC,CAAE;MACXC,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,MAAM;QAAEC,OAAO,EAAEE;MAAM,CAAC,CAAE;MAAAN,QAAA,eAE7C,IAAAjB,WAAA,CAAAkB,GAAA,EAACvB,YAAA,CAAAmB,IAAI;QAACC,KAAK,EAAE;UAAEuB,GAAG,EAAE;QAAG,CAAE;QAAArB,QAAA,EACtBsB,KAAK,CAACC,IAAI,CAAC;UAAEC,MAAM,EAAE;QAAG,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBACnC,IAAA5C,WAAA,CAAAkB,GAAA,EAACpB,MAAA,CAAA+B,KAAK;UAAST,KAAK,EAAE,SAASwB,CAAC,GAAG,CAAC,EAAG;UAACd,WAAW,EAAE,SAASc,CAAC,GAAG,CAAC;QAAG,GAA1DA,CAA4D,CACzE;MAAC,CACE;IAAC,CACD;EACR,CACH;AAEL,CAAC;AAEM,MAAMS,iBAAwB,GAAA/C,OAAA,CAAA+C,iBAAA,GAAG;EACtC5C,MAAM,EAAEA,CAAA,kBACN,IAAAT,WAAA,CAAAkB,GAAA,EAACV,KAAK;IACJC,MAAM,EAAEA,CAACC,IAAI,EAAEa,KAAK,kBAClB,IAAAvB,WAAA,CAAAkB,GAAA,EAACtB,OAAA,CAAAQ,MAAM;MACLoB,OAAO,EAAEd,IAAK;MACde,OAAO,EAAEF,KAAM;MACfrB,KAAK,EAAC,4BAA4B;MAClCwB,QAAQ,EAAC,mCAAmC;MAC5C4B,YAAY,EAAE,KAAM;MACpBC,YAAY,EAAE,KAAM;MACpB5B,MAAM,EAAE,CAAC,CAAE;MACXC,OAAO,EAAE,CAAC;QAAER,KAAK,EAAE,MAAM;QAAEC,OAAO,EAAEE;MAAM,CAAC,CAAE;MAAAN,QAAA,eAE7C,IAAAjB,WAAA,CAAAkB,GAAA,EAACnB,KAAA,CAAAgD,IAAI;QAACX,OAAO,EAAC,YAAY;QAACY,KAAK,EAAC,WAAW;QAAA/B,QAAA,EACzC,+BAA+B,CAACuC,MAAM,CAAC,EAAE;MAAC,CACvC;IAAC,CACD;EACR,CACH;AAEL,CAAC","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":[]}