@oxyhq/bloom 0.59.0 → 0.59.1
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/README.md +1 -0
- package/lib/commonjs/dialog/DialogContent.js +15 -4
- package/lib/commonjs/dialog/DialogContent.js.map +1 -1
- package/lib/module/dialog/DialogContent.js +16 -5
- package/lib/module/dialog/DialogContent.js.map +1 -1
- package/lib/typescript/commonjs/dialog/DialogContent.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/types.d.ts +5 -0
- package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
- package/lib/typescript/module/dialog/DialogContent.d.ts.map +1 -1
- package/lib/typescript/module/dialog/types.d.ts +5 -0
- package/lib/typescript/module/dialog/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/Dialog.test.tsx +33 -1
- package/src/dialog/DialogContent.tsx +16 -6
- package/src/dialog/types.ts +5 -0
package/README.md
CHANGED
|
@@ -200,6 +200,7 @@ Drop the declarative props entirely — `children` owns every pixel.
|
|
|
200
200
|
- `color?: 'default' | 'cancel' | 'destructive'` — defaults to `'default'`.
|
|
201
201
|
- `onPress?: (e) => void` — invoked after the dialog finishes closing.
|
|
202
202
|
- `disabled?: boolean`
|
|
203
|
+
- `loading?: boolean` — replaces the label with a spinner and disables the action.
|
|
203
204
|
- `shouldCloseOnPress?: boolean` — defaults to `true`. Set `false` while an async action is in flight.
|
|
204
205
|
- `testID?: string`
|
|
205
206
|
- `children?: React.ReactNode` — custom content rendered after the description.
|
|
@@ -83,11 +83,13 @@ function ActionButton({
|
|
|
83
83
|
const theme = (0, _useTheme.useTheme)();
|
|
84
84
|
const color = action.color ?? 'default';
|
|
85
85
|
const shouldCloseOnPress = action.shouldCloseOnPress ?? true;
|
|
86
|
+
const inactive = action.disabled === true || action.loading === true;
|
|
86
87
|
const {
|
|
87
88
|
background,
|
|
88
89
|
foreground
|
|
89
90
|
} = getActionPalette(color, theme.colors);
|
|
90
91
|
const handlePress = (0, _react.useCallback)(e => {
|
|
92
|
+
if (inactive) return;
|
|
91
93
|
const onPress = action.onPress;
|
|
92
94
|
if (color === 'cancel') {
|
|
93
95
|
// Cancel always dismisses; consumer's onPress (rare) runs after.
|
|
@@ -99,22 +101,31 @@ function ActionButton({
|
|
|
99
101
|
} else {
|
|
100
102
|
onPress?.(e);
|
|
101
103
|
}
|
|
102
|
-
}, [action.onPress, close, color, shouldCloseOnPress]);
|
|
104
|
+
}, [action.onPress, close, color, inactive, shouldCloseOnPress]);
|
|
103
105
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
104
106
|
style: {
|
|
105
107
|
borderRadius: 9999,
|
|
106
108
|
alignItems: 'center',
|
|
107
109
|
justifyContent: 'center',
|
|
108
110
|
backgroundColor: background,
|
|
109
|
-
opacity:
|
|
111
|
+
opacity: inactive ? 0.5 : 1,
|
|
110
112
|
paddingVertical: 12,
|
|
111
113
|
paddingHorizontal: 24
|
|
112
114
|
},
|
|
113
115
|
onPress: handlePress,
|
|
114
|
-
disabled:
|
|
116
|
+
disabled: inactive,
|
|
117
|
+
accessibilityState: {
|
|
118
|
+
disabled: inactive,
|
|
119
|
+
busy: action.loading === true
|
|
120
|
+
},
|
|
121
|
+
"aria-disabled": inactive,
|
|
122
|
+
"aria-busy": action.loading || undefined,
|
|
115
123
|
activeOpacity: 0.7,
|
|
116
124
|
testID: action.testID,
|
|
117
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.
|
|
125
|
+
children: action.loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
126
|
+
color: foreground,
|
|
127
|
+
size: "small"
|
|
128
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
118
129
|
style: {
|
|
119
130
|
fontSize: 16,
|
|
120
131
|
fontWeight: '500',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DialogBody","titleId","descriptionId","title","description","actions","children","theme","useTheme","jsxs","Fragment","jsx","Text","nativeID","style","fontSize","fontWeight","color","colors","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","View","width","gap","justifyContent","map","action","idx","ActionButton","label","close","useDialogContext","shouldCloseOnPress","background","foreground","getActionPalette","handlePress","useCallback","onPress","undefined","TouchableOpacity","borderRadius","alignItems","backgroundColor","opacity","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DialogBody","titleId","descriptionId","title","description","actions","children","theme","useTheme","jsxs","Fragment","jsx","Text","nativeID","style","fontSize","fontWeight","color","colors","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","View","width","gap","justifyContent","map","action","idx","ActionButton","label","close","useDialogContext","shouldCloseOnPress","inactive","disabled","loading","background","foreground","getActionPalette","handlePress","useCallback","onPress","undefined","TouchableOpacity","borderRadius","alignItems","backgroundColor","opacity","paddingVertical","paddingHorizontal","accessibilityState","busy","activeOpacity","testID","ActivityIndicator","size","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive"],"sourceRoot":"../../../src","sources":["dialog/DialogContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useCallback } from 'react';
|
|
4
|
-
import { Text, TouchableOpacity, View } from 'react-native';
|
|
4
|
+
import { ActivityIndicator, Text, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { useDialogContext } from "./context.js";
|
|
7
7
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -76,11 +76,13 @@ function ActionButton({
|
|
|
76
76
|
const theme = useTheme();
|
|
77
77
|
const color = action.color ?? 'default';
|
|
78
78
|
const shouldCloseOnPress = action.shouldCloseOnPress ?? true;
|
|
79
|
+
const inactive = action.disabled === true || action.loading === true;
|
|
79
80
|
const {
|
|
80
81
|
background,
|
|
81
82
|
foreground
|
|
82
83
|
} = getActionPalette(color, theme.colors);
|
|
83
84
|
const handlePress = useCallback(e => {
|
|
85
|
+
if (inactive) return;
|
|
84
86
|
const onPress = action.onPress;
|
|
85
87
|
if (color === 'cancel') {
|
|
86
88
|
// Cancel always dismisses; consumer's onPress (rare) runs after.
|
|
@@ -92,22 +94,31 @@ function ActionButton({
|
|
|
92
94
|
} else {
|
|
93
95
|
onPress?.(e);
|
|
94
96
|
}
|
|
95
|
-
}, [action.onPress, close, color, shouldCloseOnPress]);
|
|
97
|
+
}, [action.onPress, close, color, inactive, shouldCloseOnPress]);
|
|
96
98
|
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
97
99
|
style: {
|
|
98
100
|
borderRadius: 9999,
|
|
99
101
|
alignItems: 'center',
|
|
100
102
|
justifyContent: 'center',
|
|
101
103
|
backgroundColor: background,
|
|
102
|
-
opacity:
|
|
104
|
+
opacity: inactive ? 0.5 : 1,
|
|
103
105
|
paddingVertical: 12,
|
|
104
106
|
paddingHorizontal: 24
|
|
105
107
|
},
|
|
106
108
|
onPress: handlePress,
|
|
107
|
-
disabled:
|
|
109
|
+
disabled: inactive,
|
|
110
|
+
accessibilityState: {
|
|
111
|
+
disabled: inactive,
|
|
112
|
+
busy: action.loading === true
|
|
113
|
+
},
|
|
114
|
+
"aria-disabled": inactive,
|
|
115
|
+
"aria-busy": action.loading || undefined,
|
|
108
116
|
activeOpacity: 0.7,
|
|
109
117
|
testID: action.testID,
|
|
110
|
-
children: /*#__PURE__*/_jsx(
|
|
118
|
+
children: action.loading ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
119
|
+
color: foreground,
|
|
120
|
+
size: "small"
|
|
121
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
111
122
|
style: {
|
|
112
123
|
fontSize: 16,
|
|
113
124
|
fontWeight: '500',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","Text","TouchableOpacity","View","useTheme","useDialogContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DialogBody","titleId","descriptionId","title","description","actions","children","theme","nativeID","style","fontSize","fontWeight","color","colors","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","width","gap","justifyContent","map","action","idx","ActionButton","label","close","shouldCloseOnPress","background","foreground","getActionPalette","handlePress","e","onPress","undefined","borderRadius","alignItems","backgroundColor","opacity","
|
|
1
|
+
{"version":3,"names":["React","useCallback","ActivityIndicator","Text","TouchableOpacity","View","useTheme","useDialogContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DialogBody","titleId","descriptionId","title","description","actions","children","theme","nativeID","style","fontSize","fontWeight","color","colors","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","width","gap","justifyContent","map","action","idx","ActionButton","label","close","shouldCloseOnPress","inactive","disabled","loading","background","foreground","getActionPalette","handlePress","e","onPress","undefined","borderRadius","alignItems","backgroundColor","opacity","paddingVertical","paddingHorizontal","accessibilityState","busy","activeOpacity","testID","size","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive"],"sourceRoot":"../../../src","sources":["dialog/DialogContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;GAMG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,aAAa,EACb,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,2CAmCA;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,2CAQjE;AA2DD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,WAAW,GAClB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAiB5C"}
|
|
@@ -162,6 +162,11 @@ export type DialogAction = {
|
|
|
162
162
|
onPress?: (e: GestureResponderEvent) => void;
|
|
163
163
|
color?: DialogActionColor;
|
|
164
164
|
disabled?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Replaces the label with a progress indicator and disables interaction while
|
|
167
|
+
* an async action is in flight.
|
|
168
|
+
*/
|
|
169
|
+
loading?: boolean;
|
|
165
170
|
/**
|
|
166
171
|
* Defaults to `true`. When `true`, the dialog closes (and runs the close
|
|
167
172
|
* animation) before `onPress` is invoked, which gives the surrounding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;GAMG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,aAAa,EACb,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,2CAmCA;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,2CAQjE;AA2DD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,WAAW,GAClB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAiB5C"}
|
|
@@ -162,6 +162,11 @@ export type DialogAction = {
|
|
|
162
162
|
onPress?: (e: GestureResponderEvent) => void;
|
|
163
163
|
color?: DialogActionColor;
|
|
164
164
|
disabled?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Replaces the label with a progress indicator and disables interaction while
|
|
167
|
+
* an async action is in flight.
|
|
168
|
+
*/
|
|
169
|
+
loading?: boolean;
|
|
165
170
|
/**
|
|
166
171
|
* Defaults to `true`. When `true`, the dialog closes (and runs the close
|
|
167
172
|
* animation) before `onPress` is invoked, which gives the surrounding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Text } from 'react-native';
|
|
2
|
+
import { ActivityIndicator, Text } from 'react-native';
|
|
3
3
|
import { act, fireEvent, render } from '@testing-library/react-native';
|
|
4
4
|
|
|
5
5
|
import {
|
|
@@ -111,6 +111,38 @@ describe('Dialog (unified API)', () => {
|
|
|
111
111
|
});
|
|
112
112
|
expect(onConfirm).toHaveBeenCalledTimes(1);
|
|
113
113
|
});
|
|
114
|
+
|
|
115
|
+
it('renders a busy, non-interactive action while loading', () => {
|
|
116
|
+
let control: ReturnType<typeof useDialogControl> | undefined;
|
|
117
|
+
const onSave = jest.fn();
|
|
118
|
+
const { getByTestId, queryByText, UNSAFE_getByType } = renderWithTheme(
|
|
119
|
+
<Harness onControl={(c) => { control = c; }}>
|
|
120
|
+
{(c) => (
|
|
121
|
+
<Dialog
|
|
122
|
+
control={c}
|
|
123
|
+
title="Save changes?"
|
|
124
|
+
actions={[{
|
|
125
|
+
label: 'Save',
|
|
126
|
+
loading: true,
|
|
127
|
+
onPress: onSave,
|
|
128
|
+
shouldCloseOnPress: false,
|
|
129
|
+
testID: 'save-action',
|
|
130
|
+
}]}
|
|
131
|
+
/>
|
|
132
|
+
)}
|
|
133
|
+
</Harness>,
|
|
134
|
+
);
|
|
135
|
+
act(() => { control?.open(); });
|
|
136
|
+
|
|
137
|
+
const action = getByTestId('save-action');
|
|
138
|
+
expect(action.props.disabled).toBe(true);
|
|
139
|
+
expect(action.props.accessibilityState).toEqual({ disabled: true, busy: true });
|
|
140
|
+
expect(queryByText('Save')).toBeNull();
|
|
141
|
+
expect(UNSAFE_getByType(ActivityIndicator)).toBeTruthy();
|
|
142
|
+
|
|
143
|
+
fireEvent.press(action);
|
|
144
|
+
expect(onSave).not.toHaveBeenCalled();
|
|
145
|
+
});
|
|
114
146
|
});
|
|
115
147
|
|
|
116
148
|
describe('alert() helper', () => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
2
|
import {
|
|
3
|
+
ActivityIndicator,
|
|
3
4
|
Text,
|
|
4
5
|
TouchableOpacity,
|
|
5
6
|
View,
|
|
@@ -91,11 +92,13 @@ function ActionButton({ action }: { action: DialogAction }) {
|
|
|
91
92
|
const theme = useTheme();
|
|
92
93
|
const color: DialogActionColor = action.color ?? 'default';
|
|
93
94
|
const shouldCloseOnPress = action.shouldCloseOnPress ?? true;
|
|
95
|
+
const inactive = action.disabled === true || action.loading === true;
|
|
94
96
|
|
|
95
97
|
const { background, foreground } = getActionPalette(color, theme.colors);
|
|
96
98
|
|
|
97
99
|
const handlePress = useCallback(
|
|
98
100
|
(e: GestureResponderEvent) => {
|
|
101
|
+
if (inactive) return;
|
|
99
102
|
const onPress = action.onPress;
|
|
100
103
|
if (color === 'cancel') {
|
|
101
104
|
// Cancel always dismisses; consumer's onPress (rare) runs after.
|
|
@@ -108,7 +111,7 @@ function ActionButton({ action }: { action: DialogAction }) {
|
|
|
108
111
|
onPress?.(e);
|
|
109
112
|
}
|
|
110
113
|
},
|
|
111
|
-
[action.onPress, close, color, shouldCloseOnPress],
|
|
114
|
+
[action.onPress, close, color, inactive, shouldCloseOnPress],
|
|
112
115
|
);
|
|
113
116
|
|
|
114
117
|
return (
|
|
@@ -118,18 +121,25 @@ function ActionButton({ action }: { action: DialogAction }) {
|
|
|
118
121
|
alignItems: 'center',
|
|
119
122
|
justifyContent: 'center',
|
|
120
123
|
backgroundColor: background,
|
|
121
|
-
opacity:
|
|
124
|
+
opacity: inactive ? 0.5 : 1,
|
|
122
125
|
paddingVertical: 12,
|
|
123
126
|
paddingHorizontal: 24,
|
|
124
127
|
}}
|
|
125
128
|
onPress={handlePress}
|
|
126
|
-
disabled={
|
|
129
|
+
disabled={inactive}
|
|
130
|
+
accessibilityState={{ disabled: inactive, busy: action.loading === true }}
|
|
131
|
+
aria-disabled={inactive}
|
|
132
|
+
aria-busy={action.loading || undefined}
|
|
127
133
|
activeOpacity={0.7}
|
|
128
134
|
testID={action.testID}
|
|
129
135
|
>
|
|
130
|
-
|
|
131
|
-
{
|
|
132
|
-
|
|
136
|
+
{action.loading ? (
|
|
137
|
+
<ActivityIndicator color={foreground} size="small" />
|
|
138
|
+
) : (
|
|
139
|
+
<Text style={{ fontSize: 16, fontWeight: '500', color: foreground }}>
|
|
140
|
+
{action.label}
|
|
141
|
+
</Text>
|
|
142
|
+
)}
|
|
133
143
|
</TouchableOpacity>
|
|
134
144
|
);
|
|
135
145
|
}
|
package/src/dialog/types.ts
CHANGED
|
@@ -185,6 +185,11 @@ export type DialogAction = {
|
|
|
185
185
|
onPress?: (e: GestureResponderEvent) => void;
|
|
186
186
|
color?: DialogActionColor;
|
|
187
187
|
disabled?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Replaces the label with a progress indicator and disables interaction while
|
|
190
|
+
* an async action is in flight.
|
|
191
|
+
*/
|
|
192
|
+
loading?: boolean;
|
|
188
193
|
/**
|
|
189
194
|
* Defaults to `true`. When `true`, the dialog closes (and runs the close
|
|
190
195
|
* animation) before `onPress` is invoked, which gives the surrounding
|