react-native-ui-lib 7.39.0-snapshot.6532 → 7.39.0-snapshot.6539
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/package.json +1 -5
- package/scripts/docs/buildDocsCommon.js +10 -36
- package/src/assets/{internal/icons → icons}/index.js +3 -15
- package/src/assets/images/index.js +5 -0
- package/src/assets/index.js +5 -2
- package/src/commons/Constants.d.ts +0 -1
- package/src/commons/Constants.js +2 -4
- package/src/components/card/index.js +1 -1
- package/src/components/checkbox/index.js +1 -1
- package/src/components/chip/index.js +1 -1
- package/src/components/chipsInput/index.js +2 -2
- package/src/components/colorPicker/ColorPickerDialogHeader.js +2 -2
- package/src/components/colorPicker/ColorPickerPreview.js +2 -2
- package/src/components/colorPicker/index.js +1 -1
- package/src/components/colorSwatch/index.js +3 -2
- package/src/components/dateTimePicker/index.js +2 -2
- package/src/components/hint/index.js +3 -2
- package/src/components/image/index.js +1 -1
- package/src/components/modal/TopBar.js +1 -1
- package/src/components/modal/api/modalTopBar.api.json +1 -1
- package/src/components/overlay/index.js +6 -4
- package/src/components/picker/PickerItem.js +1 -1
- package/src/components/picker/PickerItemsList.js +8 -2
- package/src/components/picker/PickerSelectionStatusToolbar.d.ts +8 -0
- package/src/components/picker/PickerSelectionStatusToolbar.js +63 -0
- package/src/components/picker/helpers/useFieldType.js +2 -2
- package/src/components/picker/helpers/usePickerSelection.d.ts +4 -1
- package/src/components/picker/helpers/usePickerSelection.js +13 -3
- package/src/components/picker/index.d.ts +3 -2
- package/src/components/picker/index.js +15 -7
- package/src/components/picker/types.d.ts +60 -1
- package/src/components/picker/types.js +5 -0
- package/src/components/scrollBar/index.js +2 -2
- package/src/components/test.api.json +32 -0
- package/src/components/textField/ClearButton.js +1 -1
- package/src/components/timeline/timeline.api.json +106 -57
- package/src/components/toast/index.js +1 -1
- package/src/components/wizard/WizardStates.js +4 -3
- package/src/incubator/dialog/useDialogContent.js +1 -1
- package/src/incubator/slider/Thumb.js +1 -8
- package/src/incubator/toast/toast.api.json +1 -1
- package/src/index.d.ts +1 -1
- package/src/index.js +7 -0
- package/src/assets/index.web.d.ts +0 -3
- package/src/assets/index.web.js +0 -9
- package/src/assets/internal/icons/index.web.d.ts +0 -86
- package/src/assets/internal/icons/index.web.js +0 -110
- package/src/assets/internal/images/index.js +0 -26
- package/src/assets/internal/images/index.web.d.ts +0 -58
- package/src/assets/internal/images/index.web.js +0 -74
- package/src/assets/internal/index.d.ts +0 -4
- package/src/assets/internal/index.js +0 -8
- package/src/assets/internal/index.web.d.ts +0 -4
- package/src/assets/internal/index.web.js +0 -8
- /package/src/assets/{internal/icons/checkSmall.png → icons/check-small.png} +0 -0
- /package/src/assets/{internal/icons/checkSmall@1.5x.png → icons/check-small@1.5x.png} +0 -0
- /package/src/assets/{internal/icons/checkSmall@2x.png → icons/check-small@2x.png} +0 -0
- /package/src/assets/{internal/icons/checkSmall@3x.png → icons/check-small@3x.png} +0 -0
- /package/src/assets/{internal/icons/checkSmall@4x.png → icons/check-small@4x.png} +0 -0
- /package/src/assets/{internal/icons → icons}/check.png +0 -0
- /package/src/assets/{internal/icons → icons}/check@1.5x.png +0 -0
- /package/src/assets/{internal/icons → icons}/check@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/check@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/check@4x.png +0 -0
- /package/src/assets/{internal/icons → icons}/minusSmall.png +0 -0
- /package/src/assets/{internal/icons → icons}/minusSmall@1.5x.png +0 -0
- /package/src/assets/{internal/icons → icons}/minusSmall@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/minusSmall@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/minusSmall@4x.png +0 -0
- /package/src/assets/{internal/icons → icons}/plusSmall.png +0 -0
- /package/src/assets/{internal/icons → icons}/plusSmall@1.5x.png +0 -0
- /package/src/assets/{internal/icons → icons}/plusSmall@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/plusSmall@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/plusSmall@4x.png +0 -0
- /package/src/assets/{internal/icons → icons}/search.png +0 -0
- /package/src/assets/{internal/icons → icons}/search@1.5x.png +0 -0
- /package/src/assets/{internal/icons → icons}/search@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/search@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/search@4x.png +0 -0
- /package/src/assets/{internal/icons → icons}/x.png +0 -0
- /package/src/assets/{internal/icons → icons}/x@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/x@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xFlat.png +0 -0
- /package/src/assets/{internal/icons → icons}/xFlat@1.5x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xFlat@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xFlat@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xFlat@4x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xMedium.png +0 -0
- /package/src/assets/{internal/icons → icons}/xMedium@1.5x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xMedium@2x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xMedium@3x.png +0 -0
- /package/src/assets/{internal/icons → icons}/xMedium@4x.png +0 -0
- /package/src/assets/{internal/images → images}/gradient.png +0 -0
- /package/src/{assets/internal/icons → components/chipsInput/assets}/xSmall.png +0 -0
- /package/src/{assets/internal/icons → components/chipsInput/assets}/xSmall@1.5x.png +0 -0
- /package/src/{assets/internal/icons → components/chipsInput/assets}/xSmall@2x.png +0 -0
- /package/src/{assets/internal/icons → components/chipsInput/assets}/xSmall@3x.png +0 -0
- /package/src/{assets/internal/icons → components/chipsInput/assets}/xSmall@4x.png +0 -0
- /package/src/{assets/internal/images/transparentSwatch.png → components/colorSwatch/assets/transparentSwatch/TransparentSwatch.png} +0 -0
- /package/src/{assets/internal/images/transparentSwatch@1.5x.png → components/colorSwatch/assets/transparentSwatch/TransparentSwatch@1.5x.png} +0 -0
- /package/src/{assets/internal/images/transparentSwatch@2x.png → components/colorSwatch/assets/transparentSwatch/TransparentSwatch@2x.png} +0 -0
- /package/src/{assets/internal/images/transparentSwatch@3x.png → components/colorSwatch/assets/transparentSwatch/TransparentSwatch@3x.png} +0 -0
- /package/src/{assets/internal/images/transparentSwatch@4x.png → components/colorSwatch/assets/transparentSwatch/TransparentSwatch@4x.png} +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipMiddle.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipMiddle@1.5x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipMiddle@2x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipMiddle@3x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipMiddle@4x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipSide.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipSide@1.5x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipSide@2x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipSide@3x.png +0 -0
- /package/src/{assets/internal/images → components/hint/assets}/hintTipSide@4x.png +0 -0
- /package/src/{assets/internal/images/gradientOverlayHigh.png → components/overlay/assets/GradientOverlayHigh.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayHigh@1.5x.png → components/overlay/assets/GradientOverlayHigh@1.5x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayHigh@2x.png → components/overlay/assets/GradientOverlayHigh@2x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayHigh@3x.png → components/overlay/assets/GradientOverlayHigh@3x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayHigh@4x.png → components/overlay/assets/GradientOverlayHigh@4x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayLow.png → components/overlay/assets/GradientOverlayLow.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayLow@1.5x.png → components/overlay/assets/GradientOverlayLow@1.5x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayLow@2x.png → components/overlay/assets/GradientOverlayLow@2x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayLow@3x.png → components/overlay/assets/GradientOverlayLow@3x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayLow@4x.png → components/overlay/assets/GradientOverlayLow@4x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayMedium.png → components/overlay/assets/GradientOverlayMedium.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayMedium@1.5x.png → components/overlay/assets/GradientOverlayMedium@1.5x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayMedium@2x.png → components/overlay/assets/GradientOverlayMedium@2x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayMedium@3x.png → components/overlay/assets/GradientOverlayMedium@3x.png} +0 -0
- /package/src/{assets/internal/images/gradientOverlayMedium@4x.png → components/overlay/assets/GradientOverlayMedium@4x.png} +0 -0
- /package/src/{assets/internal/icons/chevronDown.png → components/picker/assets/dropdown.png} +0 -0
- /package/src/{assets/internal/icons/chevronDown@1.5x.png → components/picker/assets/dropdown@1.5x.png} +0 -0
- /package/src/{assets/internal/icons/chevronDown@2x.png → components/picker/assets/dropdown@2x.png} +0 -0
- /package/src/{assets/internal/icons/chevronDown@3x.png → components/picker/assets/dropdown@3x.png} +0 -0
- /package/src/{assets/internal/icons/chevronDown@4x.png → components/picker/assets/dropdown@4x.png} +0 -0
- /package/src/{assets/internal/images → components/scrollBar/assets}/gradientOverlay.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/checkMarkSmall.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/checkMarkSmall@1.5x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/checkMarkSmall@2x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/checkMarkSmall@3x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/checkMarkSmall@4x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/exclamationSmall.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/exclamationSmall@1.5x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/exclamationSmall@2x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/exclamationSmall@3x.png +0 -0
- /package/src/{assets/internal/icons → components/wizard/assets}/exclamationSmall@4x.png +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ui-lib",
|
|
3
|
-
"version": "7.39.0-snapshot.
|
|
3
|
+
"version": "7.39.0-snapshot.6539",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"types": "src/index.d.ts",
|
|
6
6
|
"author": "Ethan Sharabi <ethan.shar@gmail.com>",
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
"url": "https://github.com/wix/react-native-ui-lib"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"update-web-assets": "node scripts/assets/extract-dimensions.ts",
|
|
18
17
|
"start": "watchman watch-del-all && react-native start",
|
|
19
18
|
"start:web": "npm --prefix webDemo run start",
|
|
20
19
|
"ios": "react-native run-ios",
|
|
@@ -84,7 +83,6 @@
|
|
|
84
83
|
"@types/hoist-non-react-statics": "^3.3.1",
|
|
85
84
|
"@types/jest": "^29.2.1",
|
|
86
85
|
"@types/lodash": "^4.0.0",
|
|
87
|
-
"@types/mime-types": "^2.1.4",
|
|
88
86
|
"@types/prop-types": "^15.5.3",
|
|
89
87
|
"@types/react": "18.3.7",
|
|
90
88
|
"@types/react-native": "0.73.0",
|
|
@@ -102,11 +100,9 @@
|
|
|
102
100
|
"eslint-plugin-react": "^7.24.0",
|
|
103
101
|
"eslint-plugin-react-hooks": "^4.0.4",
|
|
104
102
|
"eslint-plugin-react-native": "^4.0.0",
|
|
105
|
-
"image-size": "^2.0.1",
|
|
106
103
|
"jest": "^29.6.3",
|
|
107
104
|
"light-date": "^1.2.0",
|
|
108
105
|
"metro-react-native-babel-preset": "0.73.10",
|
|
109
|
-
"mime-types": "^2.1.35",
|
|
110
106
|
"moment": "^2.24.0",
|
|
111
107
|
"object-hash": "^3.0.0",
|
|
112
108
|
"postcss": "^8.4.21",
|
|
@@ -7,7 +7,6 @@ const fs = require('fs');
|
|
|
7
7
|
|
|
8
8
|
const COMPONENTS_DOCS_DIR = './docs/components';
|
|
9
9
|
const SERVICES_DOCS_DIR = './docs/services';
|
|
10
|
-
const FOUNDATION_DOCS_DIR = './docs/foundation';
|
|
11
10
|
|
|
12
11
|
const VALID_COMPONENTS_CATEGORIES = [
|
|
13
12
|
'foundation',
|
|
@@ -31,9 +30,6 @@ const VALID_COMPONENTS_CATEGORIES = [
|
|
|
31
30
|
|
|
32
31
|
function buildDocs(apiFolders, componentsPreProcess) {
|
|
33
32
|
let components = readComponentsFromApiFiles(apiFolders);
|
|
34
|
-
|
|
35
|
-
logStatistics(components);
|
|
36
|
-
|
|
37
33
|
components = componentsPreProcess?.(components) ?? components;
|
|
38
34
|
resetDocsDir();
|
|
39
35
|
processComponents(components);
|
|
@@ -96,22 +92,14 @@ function processComponents(components) {
|
|
|
96
92
|
content += `${buildOldDocs(component)}\n`;
|
|
97
93
|
}
|
|
98
94
|
|
|
95
|
+
|
|
99
96
|
let dirPath;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
dirPath = `${FOUNDATION_DOCS_DIR}`;
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
default: {
|
|
110
|
-
const componentParentDir =
|
|
111
|
-
componentParentName || isParentComponent ? `/${componentParentName || componentName}` : '';
|
|
112
|
-
dirPath = `${COMPONENTS_DOCS_DIR}/${component.category}${componentParentDir}`;
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
97
|
+
if (component.category === 'services') {
|
|
98
|
+
dirPath = `${SERVICES_DOCS_DIR}`;
|
|
99
|
+
} else {
|
|
100
|
+
const componentParentDir =
|
|
101
|
+
componentParentName || isParentComponent ? `/${componentParentName || componentName}` : '';
|
|
102
|
+
dirPath = `${COMPONENTS_DOCS_DIR}/${component.category}${componentParentDir}`;
|
|
115
103
|
}
|
|
116
104
|
|
|
117
105
|
if (!fs.existsSync(dirPath)) {
|
|
@@ -137,22 +125,6 @@ function generateExtendsLink(extendsLink) {
|
|
|
137
125
|
return extendsText;
|
|
138
126
|
}
|
|
139
127
|
|
|
140
|
-
function logStatistics(components) {
|
|
141
|
-
const groupedComponents = _.countBy(components, 'name');
|
|
142
|
-
const duplicateComponents = Object.entries(groupedComponents)
|
|
143
|
-
.filter(([_, count]) => count > 1)
|
|
144
|
-
.map(([name, count]) => `${name} (${count} times)`);
|
|
145
|
-
|
|
146
|
-
if (duplicateComponents.length > 0) {
|
|
147
|
-
console.log('Components with multiple occurrences:\n-', duplicateComponents.join('\n- '));
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
const componentsWithoutSnippet = components.filter(c => !c.snippet).map(c => c.name);
|
|
151
|
-
if (componentsWithoutSnippet.length > 0) {
|
|
152
|
-
console.log('Components missing snippet:\n-', componentsWithoutSnippet.join('\n- '));
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
128
|
function buildOldDocs(component) {
|
|
157
129
|
let content = '';
|
|
158
130
|
content += `import UILivePreview from '@site/src/components/UILivePreview';\n\n`;
|
|
@@ -212,10 +184,12 @@ function buildOldDocs(component) {
|
|
|
212
184
|
/* Snippet */
|
|
213
185
|
if (component.snippet) {
|
|
214
186
|
content += `### Usage\n`;
|
|
215
|
-
content += `<UILivePreview
|
|
187
|
+
content += `<UILivePreview code={\`${component.snippet
|
|
216
188
|
?.map(item => _.replace(item, new RegExp(/\$[1-9]/, 'g'), ''))
|
|
217
189
|
.join('\n')
|
|
218
190
|
.toString()}\`}/>\n\n`;
|
|
191
|
+
} else {
|
|
192
|
+
console.warn(`${component.name} does not have a snippet`);
|
|
219
193
|
}
|
|
220
194
|
|
|
221
195
|
/* Props */
|
|
@@ -2,17 +2,8 @@ export const icons = {
|
|
|
2
2
|
get check() {
|
|
3
3
|
return require('./check.png');
|
|
4
4
|
},
|
|
5
|
-
get checkMarkSmall() {
|
|
6
|
-
return require('./checkMarkSmall.png');
|
|
7
|
-
},
|
|
8
5
|
get checkSmall() {
|
|
9
|
-
return require('./
|
|
10
|
-
},
|
|
11
|
-
get chevronDown() {
|
|
12
|
-
return require('./chevronDown.png');
|
|
13
|
-
},
|
|
14
|
-
get exclamationSmall() {
|
|
15
|
-
return require('./exclamationSmall.png');
|
|
6
|
+
return require('./check-small.png');
|
|
16
7
|
},
|
|
17
8
|
get minusSmall() {
|
|
18
9
|
return require('./minusSmall.png');
|
|
@@ -26,13 +17,10 @@ export const icons = {
|
|
|
26
17
|
get x() {
|
|
27
18
|
return require('./x.png');
|
|
28
19
|
},
|
|
29
|
-
get xFlat() {
|
|
30
|
-
return require('./xFlat.png');
|
|
31
|
-
},
|
|
32
20
|
get xMedium() {
|
|
33
21
|
return require('./xMedium.png');
|
|
34
22
|
},
|
|
35
|
-
get
|
|
36
|
-
return require('./
|
|
23
|
+
get xFlat() {
|
|
24
|
+
return require('./xFlat.png');
|
|
37
25
|
}
|
|
38
26
|
};
|
package/src/assets/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Assets } from "./Assets";
|
|
2
2
|
export default new Assets().loadAssetsGroup('', {
|
|
3
|
+
get icons() {
|
|
4
|
+
return require("./icons").icons;
|
|
5
|
+
},
|
|
3
6
|
get emojis() {
|
|
4
7
|
return require("./emojis").emojis;
|
|
5
8
|
},
|
|
6
|
-
get
|
|
7
|
-
return require("./
|
|
9
|
+
get images() {
|
|
10
|
+
return require("./images").images;
|
|
8
11
|
}
|
|
9
12
|
});
|
package/src/commons/Constants.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Platform, Dimensions, NativeModules, I18nManager, AccessibilityInfo, StatusBar
|
|
1
|
+
import { Platform, Dimensions, NativeModules, I18nManager, AccessibilityInfo, StatusBar } from 'react-native';
|
|
2
2
|
export let orientations = /*#__PURE__*/function (orientations) {
|
|
3
3
|
orientations["PORTRAIT"] = "portrait";
|
|
4
4
|
orientations["LANDSCAPE"] = "landscape";
|
|
@@ -166,9 +166,7 @@ const constants = {
|
|
|
166
166
|
},
|
|
167
167
|
/* Keyboard */
|
|
168
168
|
backspaceKey: 'Backspace',
|
|
169
|
-
enterKey: 'Enter'
|
|
170
|
-
/* Font scale */
|
|
171
|
-
getFontScale: PixelRatio.getFontScale
|
|
169
|
+
enterKey: 'Enter'
|
|
172
170
|
};
|
|
173
171
|
setStatusBarHeight();
|
|
174
172
|
Dimensions.addEventListener('change', updateConstants);
|
|
@@ -22,7 +22,7 @@ const DEFAULT_SELECTION_PROPS = {
|
|
|
22
22
|
borderWidth: 2,
|
|
23
23
|
color: Colors.$backgroundPrimaryHeavy,
|
|
24
24
|
indicatorSize: 20,
|
|
25
|
-
icon: Assets.
|
|
25
|
+
icon: Assets.icons.checkSmall,
|
|
26
26
|
iconColor: Colors.$iconDefaultLight,
|
|
27
27
|
hideIndicator: false
|
|
28
28
|
};
|
|
@@ -167,7 +167,7 @@ class Checkbox extends Component {
|
|
|
167
167
|
}]}>
|
|
168
168
|
<AnimatedIcon style={[this.styles.selectedIcon, {
|
|
169
169
|
transform: this.animationStyle.transform
|
|
170
|
-
}]} source={indeterminate ? Assets.
|
|
170
|
+
}]} source={indeterminate ? Assets.icons.minusSmall : selectedIcon || Assets.icons.checkSmall} testID={`${testID}.selected`} tintColor={this.getTintColor()} />
|
|
171
171
|
</Animated.View>}
|
|
172
172
|
</TouchableOpacity>
|
|
173
173
|
);
|
|
@@ -5,8 +5,8 @@ import { StyleSheet } from 'react-native';
|
|
|
5
5
|
import { Constants } from "../../commons/new";
|
|
6
6
|
import { useCombinedRefs, useDidUpdate } from "../../hooks";
|
|
7
7
|
import TextField from "../textField";
|
|
8
|
-
import Assets from "../../assets";
|
|
9
8
|
import Chip from "../chip";
|
|
9
|
+
const removeIcon = require("./assets/xSmall.png");
|
|
10
10
|
export let ChipsInputChangeReason = /*#__PURE__*/function (ChipsInputChangeReason) {
|
|
11
11
|
ChipsInputChangeReason["Added"] = "added";
|
|
12
12
|
ChipsInputChangeReason["Removed"] = "removed";
|
|
@@ -85,7 +85,7 @@ const ChipsInput = forwardRef((props, refToForward) => {
|
|
|
85
85
|
return <Chip key={index} customValue={index}
|
|
86
86
|
// resetSpacings
|
|
87
87
|
// paddingH-s2
|
|
88
|
-
marginR-s2 marginB-s2 dismissIcon={
|
|
88
|
+
marginR-s2 marginB-s2 dismissIcon={removeIcon} recorderTag={'mask'} {...defaultChipProps} {...chip.invalid ? invalidChipProps : undefined} {...chip} onPress={onChipPress} onDismiss={isMarkedForRemoval ? removeMarkedChip : undefined} />;
|
|
89
89
|
};
|
|
90
90
|
const chipList = useMemo(() => {
|
|
91
91
|
return <>
|
|
@@ -16,10 +16,10 @@ const ColorPickerDialogHeader = props => {
|
|
|
16
16
|
onDonePressed
|
|
17
17
|
} = props;
|
|
18
18
|
return <View row spread bg-$backgroundDefault paddingH-20 style={styles.header}>
|
|
19
|
-
<Button link iconSource={Assets.
|
|
19
|
+
<Button link iconSource={Assets.icons.x} iconStyle={{
|
|
20
20
|
tintColor: Colors.$iconDefault
|
|
21
21
|
}} onPress={onDismiss} accessibilityLabel={_get(accessibilityLabels, 'dismissButton')} testID={`${testID}.dialog.cancel`} />
|
|
22
|
-
<Button color={doneButtonColor} disabled={!valid} link iconSource={Assets.
|
|
22
|
+
<Button color={doneButtonColor} disabled={!valid} link iconSource={Assets.icons.check} onPress={onDonePressed} accessibilityLabel={_get(accessibilityLabels, 'doneButton')} testID={`${testID}.dialog.done`} />
|
|
23
23
|
</View>;
|
|
24
24
|
};
|
|
25
25
|
export default ColorPickerDialogHeader;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useRef } from 'react';
|
|
2
|
-
import { StyleSheet, TextInput, I18nManager } from 'react-native';
|
|
2
|
+
import { StyleSheet, TextInput, PixelRatio, I18nManager } from 'react-native';
|
|
3
3
|
import { Colors, Typography } from "../../style";
|
|
4
4
|
import { BORDER_RADIUS, getHexString, getTextColor } from "./ColorPickerPresenter";
|
|
5
5
|
import View from "../view";
|
|
@@ -19,7 +19,7 @@ const ColorPickerPreview = props => {
|
|
|
19
19
|
const textInput = useRef(null);
|
|
20
20
|
const hex = getHexString(color);
|
|
21
21
|
const textColor = getTextColor(hex);
|
|
22
|
-
const fontScale =
|
|
22
|
+
const fontScale = PixelRatio.getFontScale();
|
|
23
23
|
const value = Colors.isTransparent(text) ? '000000' : text;
|
|
24
24
|
return <View style={[styles.preview, {
|
|
25
25
|
backgroundColor: hex
|
|
@@ -42,7 +42,7 @@ const ColorPicker = props => {
|
|
|
42
42
|
<View style={[styles.buttonContainer, {
|
|
43
43
|
backgroundColor
|
|
44
44
|
}]}>
|
|
45
|
-
<Button color={Colors.$textDefault} outlineColor={Colors.$textDefault} style={styles.button} round outline iconSource={Assets.
|
|
45
|
+
<Button color={Colors.$textDefault} outlineColor={Colors.$textDefault} style={styles.button} round outline iconSource={Assets.icons.plusSmall} onPress={showDialog} testID={`${testID}-button`} accessibilityLabel={accessibilityLabels?.addButton} />
|
|
46
46
|
</View>
|
|
47
47
|
<ColorPickerDialog {...props} key={initialColor} visible={show} onDismiss={hideDialog} accessibilityLabels={{
|
|
48
48
|
dismissButton: accessibilityLabels?.dismissButton,
|
|
@@ -6,6 +6,7 @@ import { asBaseComponent, Constants } from "../../commons/new";
|
|
|
6
6
|
import View from "../view";
|
|
7
7
|
import TouchableOpacity from "../touchableOpacity";
|
|
8
8
|
import Image from "../image";
|
|
9
|
+
const transparentImage = require("./assets/transparentSwatch/TransparentSwatch.png");
|
|
9
10
|
const DEFAULT_SIZE = Constants.isTablet ? 44 : 36;
|
|
10
11
|
export const SWATCH_MARGIN = 12;
|
|
11
12
|
export const SWATCH_SIZE = DEFAULT_SIZE;
|
|
@@ -140,10 +141,10 @@ class ColorSwatch extends PureComponent {
|
|
|
140
141
|
height: size,
|
|
141
142
|
borderRadius: size / 2
|
|
142
143
|
}, style]} onLayout={this.onLayout} {...this.getAccessibilityInfo()}>
|
|
143
|
-
{Colors.isTransparent(this.color) && <Image source={
|
|
144
|
+
{Colors.isTransparent(this.color) && <Image source={transparentImage} style={this.styles.transparentImage} resizeMode={'cover'} />}
|
|
144
145
|
{unavailable ? <View style={[this.styles.unavailable, {
|
|
145
146
|
backgroundColor: tintColor
|
|
146
|
-
}]} /> : <Animated.Image source={Assets.
|
|
147
|
+
}]} /> : <Animated.Image source={Assets.icons.check} style={{
|
|
147
148
|
tintColor,
|
|
148
149
|
opacity: isSelected,
|
|
149
150
|
transform: [{
|
|
@@ -137,10 +137,10 @@ const DateTimePicker = forwardRef((props, ref) => {
|
|
|
137
137
|
}, [onDonePressed, toggleExpandableOverlay]);
|
|
138
138
|
const renderHeader = () => {
|
|
139
139
|
return <View row spread bg-$backgroundDefault backgroundColor={backgroundColor} paddingH-20 style={[styles.header, headerStyle]} testID={`${testID}.header`}>
|
|
140
|
-
<Button link iconSource={Assets.
|
|
140
|
+
<Button link iconSource={Assets.icons.x} iconStyle={{
|
|
141
141
|
tintColor: Colors.$iconDefault
|
|
142
142
|
}} testID={`${testID}.cancel`} {...cancelButtonProps} onPress={toggleExpandableOverlay} />
|
|
143
|
-
<Button link iconSource={Assets.
|
|
143
|
+
<Button link iconSource={Assets.icons.check} testID={`${testID}.done`} {...confirmButtonProps} onPress={onDonePressed} />
|
|
144
144
|
</View>;
|
|
145
145
|
};
|
|
146
146
|
const renderDateTimePicker = useCallback(() => {
|
|
@@ -6,7 +6,6 @@ import View from "../view";
|
|
|
6
6
|
import Image from "../image";
|
|
7
7
|
import Modal from "../modal";
|
|
8
8
|
import TouchableOpacity from "../touchableOpacity";
|
|
9
|
-
import Assets from "../../assets";
|
|
10
9
|
import { HintPositions, HintProps, TargetAlignments } from "./types";
|
|
11
10
|
import useHintVisibility from "./hooks/useHintVisibility";
|
|
12
11
|
import useHintLayout from "./hooks/useHintLayout";
|
|
@@ -15,6 +14,8 @@ import useHintPosition from "./hooks/useHintPosition";
|
|
|
15
14
|
import HintMockChildren from "./HintMockChildren";
|
|
16
15
|
import HintAnchor from "./HintAnchor";
|
|
17
16
|
import HintBubble from "./HintBubble";
|
|
17
|
+
const sideTip = require("./assets/hintTipSide.png");
|
|
18
|
+
const middleTip = require("./assets/hintTipMiddle.png");
|
|
18
19
|
const DEFAULT_COLOR = Colors.$backgroundPrimaryHeavy;
|
|
19
20
|
const DEFAULT_HINT_OFFSET = Spacings.s4;
|
|
20
21
|
const DEFAULT_EDGE_MARGINS = Spacings.s5;
|
|
@@ -124,7 +125,7 @@ const Hint = props => {
|
|
|
124
125
|
}
|
|
125
126
|
};
|
|
126
127
|
const renderHintTip = () => {
|
|
127
|
-
const source = useSideTip ?
|
|
128
|
+
const source = useSideTip ? sideTip : middleTip;
|
|
128
129
|
const flipVertically = position === HintPositions.TOP;
|
|
129
130
|
const flipHorizontally = targetAlignmentOnScreen === TargetAlignments.RIGHT;
|
|
130
131
|
const flipStyle = {
|
|
@@ -156,7 +156,7 @@ class Image extends PureComponent {
|
|
|
156
156
|
} = modifiers;
|
|
157
157
|
return (
|
|
158
158
|
// @ts-ignore
|
|
159
|
-
<ImageView style={[
|
|
159
|
+
<ImageView style={[tintColor && {
|
|
160
160
|
tintColor
|
|
161
161
|
}, shouldFlipRTL && styles.rtlFlipped, width && {
|
|
162
162
|
width
|
|
@@ -21,7 +21,7 @@ class TopBar extends Component {
|
|
|
21
21
|
static displayName = 'Modal.TopBar';
|
|
22
22
|
static defaultProps = {
|
|
23
23
|
doneLabel: 'Save',
|
|
24
|
-
cancelIcon: Assets.
|
|
24
|
+
cancelIcon: Assets.icons.x,
|
|
25
25
|
doneButtonProps: {},
|
|
26
26
|
cancelButtonProps: {},
|
|
27
27
|
includeStatusBar: Constants.isIOS
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"name": "cancelIcon",
|
|
30
30
|
"type": "ImageSource",
|
|
31
31
|
"description": "Cancel action icon",
|
|
32
|
-
"default": "Assets.
|
|
32
|
+
"default": "Assets.icons.x"
|
|
33
33
|
},
|
|
34
34
|
{"name": "onCancel", "type": "(props?: any) => void", "description": "Cancel action callback"},
|
|
35
35
|
{
|
|
@@ -3,7 +3,9 @@ import React, { PureComponent } from 'react';
|
|
|
3
3
|
import { StyleSheet, Image } from 'react-native';
|
|
4
4
|
import { Colors } from "../../style";
|
|
5
5
|
import View from "../view";
|
|
6
|
-
|
|
6
|
+
const gradientImageLow = require("./assets/GradientOverlayLow.png");
|
|
7
|
+
const gradientImageMed = require("./assets/GradientOverlayMedium.png");
|
|
8
|
+
const gradientImageHigh = require("./assets/GradientOverlayHigh.png");
|
|
7
9
|
const OVERLY_TYPES = {
|
|
8
10
|
VERTICAL: 'vertical',
|
|
9
11
|
TOP: 'top',
|
|
@@ -75,11 +77,11 @@ class Overlay extends PureComponent {
|
|
|
75
77
|
getImageSource = (type, intensity) => {
|
|
76
78
|
if (type !== OVERLY_TYPES.SOLID) {
|
|
77
79
|
if (intensity === OverlayIntensityType.MEDIUM) {
|
|
78
|
-
return
|
|
80
|
+
return gradientImageMed;
|
|
79
81
|
} else if (intensity === OverlayIntensityType.HIGH) {
|
|
80
|
-
return
|
|
82
|
+
return gradientImageHigh;
|
|
81
83
|
} else {
|
|
82
|
-
return
|
|
84
|
+
return gradientImageLow;
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
};
|
|
@@ -15,6 +15,7 @@ import { PickerModes } from "./types";
|
|
|
15
15
|
import PickerContext from "./PickerContext";
|
|
16
16
|
import PickerItem from "./PickerItem";
|
|
17
17
|
import { Constants } from "../../commons/new";
|
|
18
|
+
import PickerSelectionStatusToolbar from "./PickerSelectionStatusToolbar";
|
|
18
19
|
const keyExtractor = (_item, index) => index.toString();
|
|
19
20
|
const PickerItemsList = props => {
|
|
20
21
|
const {
|
|
@@ -35,7 +36,8 @@ const PickerItemsList = props => {
|
|
|
35
36
|
testID,
|
|
36
37
|
showLoader,
|
|
37
38
|
customLoaderElement,
|
|
38
|
-
renderCustomTopElement
|
|
39
|
+
renderCustomTopElement,
|
|
40
|
+
selectionStatus
|
|
39
41
|
} = props;
|
|
40
42
|
const context = useContext(PickerContext);
|
|
41
43
|
const [wheelPickerValue, setWheelPickerValue] = useState(context.value ?? items?.[0]?.value);
|
|
@@ -45,7 +47,7 @@ const PickerItemsList = props => {
|
|
|
45
47
|
return renderCustomSearch(props);
|
|
46
48
|
}
|
|
47
49
|
return <View style={styles.searchInputContainer}>
|
|
48
|
-
<Icon style={styles.searchIcon} tintColor={Colors.$iconDefault} source={searchStyle.icon || Assets.
|
|
50
|
+
<Icon style={styles.searchIcon} tintColor={Colors.$iconDefault} source={searchStyle.icon || Assets.icons.search} />
|
|
49
51
|
<TextInput testID={testID}
|
|
50
52
|
// ref={r => (this.search = r)}
|
|
51
53
|
style={[styles.searchInput, {
|
|
@@ -130,10 +132,14 @@ const PickerItemsList = props => {
|
|
|
130
132
|
<ActivityIndicator />
|
|
131
133
|
</View>;
|
|
132
134
|
};
|
|
135
|
+
const renderSelectionStatus = useMemo(() => {
|
|
136
|
+
return <PickerSelectionStatusToolbar {...selectionStatus} availableItems={context?.availableItems} value={context?.value} toggleAllItemsSelection={context?.toggleAllItemsSelection} />;
|
|
137
|
+
}, [selectionStatus, context?.value, context?.availableItems, context?.toggleAllItemsSelection]);
|
|
133
138
|
const renderContent = () => {
|
|
134
139
|
return useWheelPicker ? renderWheel() : <>
|
|
135
140
|
{renderSearchInput()}
|
|
136
141
|
{renderCustomTopElement?.(context.value)}
|
|
142
|
+
{mode === PickerModes.MULTI && selectionStatus && renderSelectionStatus}
|
|
137
143
|
{renderList()}
|
|
138
144
|
</>;
|
|
139
145
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PickerProps, PickerContextProps, PickerMultiValue, ButtonSelectionStatus, CheckboxSelectionStatus } from './types';
|
|
3
|
+
export type PickerSelectionStatusToolbarBaseProps = PickerProps['selectionStatus'] & {
|
|
4
|
+
value?: PickerMultiValue;
|
|
5
|
+
availableItems?: PickerMultiValue;
|
|
6
|
+
};
|
|
7
|
+
export type PickerSelectionStatusToolbarProps = (Partial<PickerContextProps> & (ButtonSelectionStatus & PickerSelectionStatusToolbarBaseProps)) | (Partial<PickerContextProps> & (CheckboxSelectionStatus & PickerSelectionStatusToolbarBaseProps));
|
|
8
|
+
export default function PickerSelectionStatusToolbar(props: PickerSelectionStatusToolbarProps): React.JSX.Element;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import Button from "../button";
|
|
3
|
+
import Checkbox from "../checkbox";
|
|
4
|
+
import View from "../view";
|
|
5
|
+
import Text from "../text";
|
|
6
|
+
import { PickerSelectAllType } from "./types";
|
|
7
|
+
export default function PickerSelectionStatusToolbar(props) {
|
|
8
|
+
const {
|
|
9
|
+
containerStyle,
|
|
10
|
+
getLabel,
|
|
11
|
+
availableItems = [],
|
|
12
|
+
selectAllType = 'none',
|
|
13
|
+
showLabel = true,
|
|
14
|
+
toggleAllItemsSelection,
|
|
15
|
+
value = [],
|
|
16
|
+
renderTopCustomElement,
|
|
17
|
+
renderBottomCustomElement
|
|
18
|
+
} = props;
|
|
19
|
+
const isAllSelected = value.length === availableItems.length;
|
|
20
|
+
const checkboxIndeterminate = value.length > 0 && value.length < availableItems.length;
|
|
21
|
+
const label = getLabel?.({
|
|
22
|
+
selectedCount: value.length,
|
|
23
|
+
value,
|
|
24
|
+
isAllSelected
|
|
25
|
+
}) ?? `${value.length} Selected ${isAllSelected ? '(All)' : ''}`;
|
|
26
|
+
let buttonProps;
|
|
27
|
+
let checkboxProps;
|
|
28
|
+
switch (props.selectAllType) {
|
|
29
|
+
case PickerSelectAllType.button:
|
|
30
|
+
buttonProps = props.buttonProps;
|
|
31
|
+
break;
|
|
32
|
+
case PickerSelectAllType.checkbox:
|
|
33
|
+
checkboxProps = props.checkboxProps;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
const handlePress = useCallback(() => {
|
|
37
|
+
const newSelectionState = !isAllSelected;
|
|
38
|
+
toggleAllItemsSelection?.(newSelectionState);
|
|
39
|
+
buttonProps?.onPress?.(availableItems);
|
|
40
|
+
checkboxProps?.onValueChange?.(newSelectionState);
|
|
41
|
+
}, [isAllSelected, toggleAllItemsSelection, availableItems, buttonProps, checkboxProps]);
|
|
42
|
+
const renderSelectionStatus = () => {
|
|
43
|
+
if (selectAllType === 'button') {
|
|
44
|
+
return <Button label={isAllSelected ? 'Deselect All' : 'Select All'} link {...buttonProps} onPress={handlePress} />;
|
|
45
|
+
} else if (selectAllType === 'checkbox') {
|
|
46
|
+
return <Checkbox {...checkboxProps} value={value.length > 0} indeterminate={checkboxIndeterminate} onValueChange={handlePress} />;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const renderLabel = () => {
|
|
50
|
+
if (showLabel) {
|
|
51
|
+
return <Text>{label}</Text>;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
55
|
+
return <View>
|
|
56
|
+
{renderTopCustomElement?.()}
|
|
57
|
+
<View row spread centerV paddingH-page style={containerStyle}>
|
|
58
|
+
{renderLabel()}
|
|
59
|
+
{renderSelectionStatus()}
|
|
60
|
+
</View>
|
|
61
|
+
{renderBottomCustomElement?.()}
|
|
62
|
+
</View>;
|
|
63
|
+
}
|
|
@@ -4,8 +4,8 @@ import { Typography, Colors } from "../../../style";
|
|
|
4
4
|
import View from "../../view";
|
|
5
5
|
import Text from "../../text";
|
|
6
6
|
import Icon from "../../icon";
|
|
7
|
-
import Assets from "../../../assets";
|
|
8
7
|
import { PickerFieldTypes } from "../types";
|
|
8
|
+
const dropdown = require("../assets/dropdown.png");
|
|
9
9
|
const useFieldType = props => {
|
|
10
10
|
const {
|
|
11
11
|
fieldType,
|
|
@@ -30,7 +30,7 @@ const useFieldType = props => {
|
|
|
30
30
|
...Typography.text70,
|
|
31
31
|
color: Colors.$textNeutral
|
|
32
32
|
},
|
|
33
|
-
trailingAccessory: trailingAccessory ?? <Icon marginL-s1 source={
|
|
33
|
+
trailingAccessory: trailingAccessory ?? <Icon marginL-s1 source={dropdown} />
|
|
34
34
|
};
|
|
35
35
|
} else if (fieldType === PickerFieldTypes.settings) {
|
|
36
36
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
import { PickerProps, PickerValue, PickerSingleValue, PickerMultiValue } from '../types';
|
|
3
|
-
interface UsePickerSelectionProps extends Pick<PickerProps, 'migrate' | 'value' | 'onChange' | 'getItemValue' | 'topBarProps' | 'mode'> {
|
|
3
|
+
interface UsePickerSelectionProps extends Pick<PickerProps, 'migrate' | 'value' | 'onChange' | 'getItemValue' | 'topBarProps' | 'mode' | 'items'> {
|
|
4
4
|
pickerExpandableRef: RefObject<any>;
|
|
5
5
|
setSearchValue: (searchValue: string) => void;
|
|
6
6
|
}
|
|
@@ -9,5 +9,8 @@ declare const usePickerSelection: (props: UsePickerSelectionProps) => {
|
|
|
9
9
|
onDoneSelecting: (item: PickerValue) => void;
|
|
10
10
|
toggleItemSelection: (item: PickerSingleValue) => void;
|
|
11
11
|
cancelSelect: () => void;
|
|
12
|
+
setMultiFinalValue: import("react").Dispatch<import("react").SetStateAction<PickerMultiValue>>;
|
|
13
|
+
availableItems: PickerMultiValue;
|
|
14
|
+
toggleAllItemsSelection: (selectAll: boolean) => void;
|
|
12
15
|
};
|
|
13
16
|
export default usePickerSelection;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _xor from "lodash/xor";
|
|
2
2
|
import _xorBy from "lodash/xorBy";
|
|
3
|
-
import { useCallback, useState, useEffect } from 'react';
|
|
3
|
+
import { useCallback, useState, useEffect, useMemo } from 'react';
|
|
4
4
|
import { PickerModes } from "../types";
|
|
5
5
|
const usePickerSelection = props => {
|
|
6
6
|
const {
|
|
@@ -11,7 +11,8 @@ const usePickerSelection = props => {
|
|
|
11
11
|
pickerExpandableRef,
|
|
12
12
|
getItemValue,
|
|
13
13
|
setSearchValue,
|
|
14
|
-
mode
|
|
14
|
+
mode,
|
|
15
|
+
items
|
|
15
16
|
} = props;
|
|
16
17
|
const [multiDraftValue, setMultiDraftValue] = useState(value);
|
|
17
18
|
const [multiFinalValue, setMultiFinalValue] = useState(value);
|
|
@@ -43,11 +44,20 @@ const usePickerSelection = props => {
|
|
|
43
44
|
pickerExpandableRef.current?.closeExpandable?.();
|
|
44
45
|
topBarProps?.onCancel?.();
|
|
45
46
|
}, [multiFinalValue, topBarProps]);
|
|
47
|
+
const availableItems = useMemo(() => {
|
|
48
|
+
return items?.filter(item => !item.disabled).map(item => item.value) || [];
|
|
49
|
+
}, [items]);
|
|
50
|
+
const toggleAllItemsSelection = useCallback(selectAll => {
|
|
51
|
+
setMultiDraftValue(selectAll ? availableItems : []);
|
|
52
|
+
}, [availableItems]);
|
|
46
53
|
return {
|
|
47
54
|
multiDraftValue,
|
|
48
55
|
onDoneSelecting,
|
|
49
56
|
toggleItemSelection,
|
|
50
|
-
cancelSelect
|
|
57
|
+
cancelSelect,
|
|
58
|
+
setMultiFinalValue,
|
|
59
|
+
availableItems,
|
|
60
|
+
toggleAllItemsSelection
|
|
51
61
|
};
|
|
52
62
|
};
|
|
53
63
|
export default usePickerSelection;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PickerItem from './PickerItem';
|
|
3
3
|
import { extractPickerItems } from './PickerPresenter';
|
|
4
|
-
import { PickerProps, PickerItemProps, PickerValue, PickerModes, PickerFieldTypes, PickerSearchStyle, RenderCustomModalProps, PickerItemsListProps, PickerMethods } from './types';
|
|
4
|
+
import { PickerProps, PickerItemProps, PickerValue, PickerModes, PickerFieldTypes, PickerSearchStyle, RenderCustomModalProps, PickerItemsListProps, PickerMethods, PickerSelectAllType } from './types';
|
|
5
5
|
type PickerStatics = {
|
|
6
6
|
Item: typeof PickerItem;
|
|
7
7
|
modes: typeof PickerModes;
|
|
8
8
|
fieldTypes: typeof PickerFieldTypes;
|
|
9
9
|
extractPickerItems: typeof extractPickerItems;
|
|
10
|
+
selectAllType: typeof PickerSelectAllType;
|
|
10
11
|
};
|
|
11
12
|
declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
|
|
12
|
-
export { PickerProps, PickerItemProps, PickerValue, PickerModes, PickerFieldTypes, PickerSearchStyle, RenderCustomModalProps, PickerItemsListProps, PickerMethods };
|
|
13
|
+
export { PickerProps, PickerItemProps, PickerValue, PickerModes, PickerFieldTypes, PickerSearchStyle, RenderCustomModalProps, PickerItemsListProps, PickerMethods, PickerSelectAllType };
|
|
13
14
|
export { Picker };
|
|
14
15
|
declare const _default: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>> & PickerStatics;
|
|
15
16
|
export default _default;
|