@react-spectrum/combobox 3.16.6 → 3.17.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/dist/import.mjs +5 -3
- package/dist/main.js +7 -5
- package/dist/main.js.map +1 -1
- package/dist/module.js +5 -3
- package/dist/module.js.map +1 -1
- package/dist/types/src/index.d.ts +4 -0
- package/package.json +14 -49
- package/src/index.ts +5 -3
- package/dist/ComboBox.main.js +0 -305
- package/dist/ComboBox.main.js.map +0 -1
- package/dist/ComboBox.mjs +0 -300
- package/dist/ComboBox.module.js +0 -300
- package/dist/ComboBox.module.js.map +0 -1
- package/dist/MobileComboBox.main.js +0 -432
- package/dist/MobileComboBox.main.js.map +0 -1
- package/dist/MobileComboBox.mjs +0 -427
- package/dist/MobileComboBox.module.js +0 -427
- package/dist/MobileComboBox.module.js.map +0 -1
- package/dist/ar-AE.main.js +0 -10
- package/dist/ar-AE.main.js.map +0 -1
- package/dist/ar-AE.mjs +0 -12
- package/dist/ar-AE.module.js +0 -12
- package/dist/ar-AE.module.js.map +0 -1
- package/dist/bg-BG.main.js +0 -10
- package/dist/bg-BG.main.js.map +0 -1
- package/dist/bg-BG.mjs +0 -12
- package/dist/bg-BG.module.js +0 -12
- package/dist/bg-BG.module.js.map +0 -1
- package/dist/button_vars_css.main.js +0 -125
- package/dist/button_vars_css.main.js.map +0 -1
- package/dist/button_vars_css.mjs +0 -127
- package/dist/button_vars_css.module.js +0 -127
- package/dist/button_vars_css.module.js.map +0 -1
- package/dist/combobox.1c1869da.css +0 -50
- package/dist/combobox.1c1869da.css.map +0 -1
- package/dist/combobox.32e7c48f.css +0 -550
- package/dist/combobox.32e7c48f.css.map +0 -1
- package/dist/combobox.8958325b.css +0 -1669
- package/dist/combobox.8958325b.css.map +0 -1
- package/dist/combobox.a38acc5c.css +0 -649
- package/dist/combobox.a38acc5c.css.map +0 -1
- package/dist/combobox.cab3a9ff.css +0 -271
- package/dist/combobox.cab3a9ff.css.map +0 -1
- package/dist/combobox.cce0a74c.css +0 -223
- package/dist/combobox.cce0a74c.css.map +0 -1
- package/dist/combobox_css.main.js +0 -35
- package/dist/combobox_css.main.js.map +0 -1
- package/dist/combobox_css.mjs +0 -37
- package/dist/combobox_css.module.js +0 -37
- package/dist/combobox_css.module.js.map +0 -1
- package/dist/cs-CZ.main.js +0 -10
- package/dist/cs-CZ.main.js.map +0 -1
- package/dist/cs-CZ.mjs +0 -12
- package/dist/cs-CZ.module.js +0 -12
- package/dist/cs-CZ.module.js.map +0 -1
- package/dist/da-DK.main.js +0 -10
- package/dist/da-DK.main.js.map +0 -1
- package/dist/da-DK.mjs +0 -12
- package/dist/da-DK.module.js +0 -12
- package/dist/da-DK.module.js.map +0 -1
- package/dist/de-DE.main.js +0 -10
- package/dist/de-DE.main.js.map +0 -1
- package/dist/de-DE.mjs +0 -12
- package/dist/de-DE.module.js +0 -12
- package/dist/de-DE.module.js.map +0 -1
- package/dist/el-GR.main.js +0 -10
- package/dist/el-GR.main.js.map +0 -1
- package/dist/el-GR.mjs +0 -12
- package/dist/el-GR.module.js +0 -12
- package/dist/el-GR.module.js.map +0 -1
- package/dist/en-US.main.js +0 -10
- package/dist/en-US.main.js.map +0 -1
- package/dist/en-US.mjs +0 -12
- package/dist/en-US.module.js +0 -12
- package/dist/en-US.module.js.map +0 -1
- package/dist/es-ES.main.js +0 -10
- package/dist/es-ES.main.js.map +0 -1
- package/dist/es-ES.mjs +0 -12
- package/dist/es-ES.module.js +0 -12
- package/dist/es-ES.module.js.map +0 -1
- package/dist/et-EE.main.js +0 -10
- package/dist/et-EE.main.js.map +0 -1
- package/dist/et-EE.mjs +0 -12
- package/dist/et-EE.module.js +0 -12
- package/dist/et-EE.module.js.map +0 -1
- package/dist/fi-FI.main.js +0 -10
- package/dist/fi-FI.main.js.map +0 -1
- package/dist/fi-FI.mjs +0 -12
- package/dist/fi-FI.module.js +0 -12
- package/dist/fi-FI.module.js.map +0 -1
- package/dist/fieldlabel_vars_css.main.js +0 -95
- package/dist/fieldlabel_vars_css.main.js.map +0 -1
- package/dist/fieldlabel_vars_css.mjs +0 -97
- package/dist/fieldlabel_vars_css.module.js +0 -97
- package/dist/fieldlabel_vars_css.module.js.map +0 -1
- package/dist/fr-FR.main.js +0 -10
- package/dist/fr-FR.main.js.map +0 -1
- package/dist/fr-FR.mjs +0 -12
- package/dist/fr-FR.module.js +0 -12
- package/dist/fr-FR.module.js.map +0 -1
- package/dist/he-IL.main.js +0 -10
- package/dist/he-IL.main.js.map +0 -1
- package/dist/he-IL.mjs +0 -12
- package/dist/he-IL.module.js +0 -12
- package/dist/he-IL.module.js.map +0 -1
- package/dist/hr-HR.main.js +0 -10
- package/dist/hr-HR.main.js.map +0 -1
- package/dist/hr-HR.mjs +0 -12
- package/dist/hr-HR.module.js +0 -12
- package/dist/hr-HR.module.js.map +0 -1
- package/dist/hu-HU.main.js +0 -10
- package/dist/hu-HU.main.js.map +0 -1
- package/dist/hu-HU.mjs +0 -12
- package/dist/hu-HU.module.js +0 -12
- package/dist/hu-HU.module.js.map +0 -1
- package/dist/inputgroup_vars_css.main.js +0 -86
- package/dist/inputgroup_vars_css.main.js.map +0 -1
- package/dist/inputgroup_vars_css.mjs +0 -88
- package/dist/inputgroup_vars_css.module.js +0 -88
- package/dist/inputgroup_vars_css.module.js.map +0 -1
- package/dist/intlStrings.main.js +0 -108
- package/dist/intlStrings.main.js.map +0 -1
- package/dist/intlStrings.mjs +0 -110
- package/dist/intlStrings.module.js +0 -110
- package/dist/intlStrings.module.js.map +0 -1
- package/dist/it-IT.main.js +0 -10
- package/dist/it-IT.main.js.map +0 -1
- package/dist/it-IT.mjs +0 -12
- package/dist/it-IT.module.js +0 -12
- package/dist/it-IT.module.js.map +0 -1
- package/dist/ja-JP.main.js +0 -10
- package/dist/ja-JP.main.js.map +0 -1
- package/dist/ja-JP.mjs +0 -12
- package/dist/ja-JP.module.js +0 -12
- package/dist/ja-JP.module.js.map +0 -1
- package/dist/ko-KR.main.js +0 -10
- package/dist/ko-KR.main.js.map +0 -1
- package/dist/ko-KR.mjs +0 -12
- package/dist/ko-KR.module.js +0 -12
- package/dist/ko-KR.module.js.map +0 -1
- package/dist/lt-LT.main.js +0 -10
- package/dist/lt-LT.main.js.map +0 -1
- package/dist/lt-LT.mjs +0 -12
- package/dist/lt-LT.module.js +0 -12
- package/dist/lt-LT.module.js.map +0 -1
- package/dist/lv-LV.main.js +0 -10
- package/dist/lv-LV.main.js.map +0 -1
- package/dist/lv-LV.mjs +0 -12
- package/dist/lv-LV.module.js +0 -12
- package/dist/lv-LV.module.js.map +0 -1
- package/dist/nb-NO.main.js +0 -10
- package/dist/nb-NO.main.js.map +0 -1
- package/dist/nb-NO.mjs +0 -12
- package/dist/nb-NO.module.js +0 -12
- package/dist/nb-NO.module.js.map +0 -1
- package/dist/nl-NL.main.js +0 -10
- package/dist/nl-NL.main.js.map +0 -1
- package/dist/nl-NL.mjs +0 -12
- package/dist/nl-NL.module.js +0 -12
- package/dist/nl-NL.module.js.map +0 -1
- package/dist/pl-PL.main.js +0 -10
- package/dist/pl-PL.main.js.map +0 -1
- package/dist/pl-PL.mjs +0 -12
- package/dist/pl-PL.module.js +0 -12
- package/dist/pl-PL.module.js.map +0 -1
- package/dist/pt-BR.main.js +0 -10
- package/dist/pt-BR.main.js.map +0 -1
- package/dist/pt-BR.mjs +0 -12
- package/dist/pt-BR.module.js +0 -12
- package/dist/pt-BR.module.js.map +0 -1
- package/dist/pt-PT.main.js +0 -10
- package/dist/pt-PT.main.js.map +0 -1
- package/dist/pt-PT.mjs +0 -12
- package/dist/pt-PT.module.js +0 -12
- package/dist/pt-PT.module.js.map +0 -1
- package/dist/ro-RO.main.js +0 -10
- package/dist/ro-RO.main.js.map +0 -1
- package/dist/ro-RO.mjs +0 -12
- package/dist/ro-RO.module.js +0 -12
- package/dist/ro-RO.module.js.map +0 -1
- package/dist/ru-RU.main.js +0 -10
- package/dist/ru-RU.main.js.map +0 -1
- package/dist/ru-RU.mjs +0 -12
- package/dist/ru-RU.module.js +0 -12
- package/dist/ru-RU.module.js.map +0 -1
- package/dist/search_vars_css.main.js +0 -53
- package/dist/search_vars_css.main.js.map +0 -1
- package/dist/search_vars_css.mjs +0 -55
- package/dist/search_vars_css.module.js +0 -55
- package/dist/search_vars_css.module.js.map +0 -1
- package/dist/sk-SK.main.js +0 -10
- package/dist/sk-SK.main.js.map +0 -1
- package/dist/sk-SK.mjs +0 -12
- package/dist/sk-SK.module.js +0 -12
- package/dist/sk-SK.module.js.map +0 -1
- package/dist/sl-SI.main.js +0 -10
- package/dist/sl-SI.main.js.map +0 -1
- package/dist/sl-SI.mjs +0 -12
- package/dist/sl-SI.module.js +0 -12
- package/dist/sl-SI.module.js.map +0 -1
- package/dist/sr-SP.main.js +0 -10
- package/dist/sr-SP.main.js.map +0 -1
- package/dist/sr-SP.mjs +0 -12
- package/dist/sr-SP.module.js +0 -12
- package/dist/sr-SP.module.js.map +0 -1
- package/dist/sv-SE.main.js +0 -10
- package/dist/sv-SE.main.js.map +0 -1
- package/dist/sv-SE.mjs +0 -12
- package/dist/sv-SE.module.js +0 -12
- package/dist/sv-SE.module.js.map +0 -1
- package/dist/textfield_vars_css.main.js +0 -74
- package/dist/textfield_vars_css.main.js.map +0 -1
- package/dist/textfield_vars_css.mjs +0 -76
- package/dist/textfield_vars_css.module.js +0 -76
- package/dist/textfield_vars_css.module.js.map +0 -1
- package/dist/tr-TR.main.js +0 -10
- package/dist/tr-TR.main.js.map +0 -1
- package/dist/tr-TR.mjs +0 -12
- package/dist/tr-TR.module.js +0 -12
- package/dist/tr-TR.module.js.map +0 -1
- package/dist/types.d.ts +0 -13
- package/dist/types.d.ts.map +0 -1
- package/dist/uk-UA.main.js +0 -10
- package/dist/uk-UA.main.js.map +0 -1
- package/dist/uk-UA.mjs +0 -12
- package/dist/uk-UA.module.js +0 -12
- package/dist/uk-UA.module.js.map +0 -1
- package/dist/zh-CN.main.js +0 -10
- package/dist/zh-CN.main.js.map +0 -1
- package/dist/zh-CN.mjs +0 -12
- package/dist/zh-CN.module.js +0 -12
- package/dist/zh-CN.module.js.map +0 -1
- package/dist/zh-TW.main.js +0 -10
- package/dist/zh-TW.main.js.map +0 -1
- package/dist/zh-TW.mjs +0 -12
- package/dist/zh-TW.module.js +0 -12
- package/dist/zh-TW.module.js.map +0 -1
- package/src/ComboBox.tsx +0 -376
- package/src/MobileComboBox.tsx +0 -571
- package/src/combobox.css +0 -65
package/dist/import.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {ComboBox as $
|
|
2
|
-
import {Item as $
|
|
1
|
+
import {ComboBox as $8f061b800813ddea$re_export$ComboBox} from "@adobe/react-spectrum/ComboBox";
|
|
2
|
+
import {Item as $8f061b800813ddea$re_export$Item} from "react-stately/Item";
|
|
3
|
+
import {Section as $8f061b800813ddea$re_export$Section} from "react-stately/Section";
|
|
3
4
|
|
|
4
5
|
/*
|
|
5
6
|
* Copyright 2020 Adobe. All rights reserved.
|
|
@@ -16,5 +17,6 @@ import {Item as $6ea56810956c2335$re_export$Item, Section as $6ea56810956c2335$r
|
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
|
|
21
|
+
export {$8f061b800813ddea$re_export$ComboBox as ComboBox, $8f061b800813ddea$re_export$Item as Item, $8f061b800813ddea$re_export$Section as Section};
|
|
20
22
|
//# sourceMappingURL=module.js.map
|
package/dist/main.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
var $
|
|
2
|
-
var $
|
|
1
|
+
var $2DW4o$adobereactspectrumComboBox = require("@adobe/react-spectrum/ComboBox");
|
|
2
|
+
var $2DW4o$reactstatelyItem = require("react-stately/Item");
|
|
3
|
+
var $2DW4o$reactstatelySection = require("react-stately/Section");
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
function $parcel$export(e, n, v, s) {
|
|
6
7
|
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
$parcel$export(module.exports, "ComboBox", ()
|
|
10
|
-
$parcel$export(module.exports, "Item", ()
|
|
11
|
-
$parcel$export(module.exports, "Section", ()
|
|
10
|
+
$parcel$export(module.exports, "ComboBox", function () { return $2DW4o$adobereactspectrumComboBox.ComboBox; });
|
|
11
|
+
$parcel$export(module.exports, "Item", function () { return $2DW4o$reactstatelyItem.Item; });
|
|
12
|
+
$parcel$export(module.exports, "Section", function () { return $2DW4o$reactstatelySection.Section; });
|
|
12
13
|
/*
|
|
13
14
|
* Copyright 2020 Adobe. All rights reserved.
|
|
14
15
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
@@ -24,4 +25,5 @@ $parcel$export(module.exports, "Section", () => $15RmB$reactstatelycollections.S
|
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
|
|
28
|
+
|
|
27
29
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;CAUC,GAED,0CAA0C","sources":["packages/@react-spectrum/combobox/src/index.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {ComboBox} from '@adobe/react-spectrum/ComboBox';\n\nexport type {SpectrumComboBoxProps} from '@adobe/react-spectrum/ComboBox';\nexport {Item} from 'react-stately/Item';\nexport {Section} from 'react-stately/Section';\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {ComboBox as $
|
|
2
|
-
import {Item as $
|
|
1
|
+
import {ComboBox as $8f061b800813ddea$re_export$ComboBox} from "@adobe/react-spectrum/ComboBox";
|
|
2
|
+
import {Item as $8f061b800813ddea$re_export$Item} from "react-stately/Item";
|
|
3
|
+
import {Section as $8f061b800813ddea$re_export$Section} from "react-stately/Section";
|
|
3
4
|
|
|
4
5
|
/*
|
|
5
6
|
* Copyright 2020 Adobe. All rights reserved.
|
|
@@ -16,5 +17,6 @@ import {Item as $6ea56810956c2335$re_export$Item, Section as $6ea56810956c2335$r
|
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
|
|
21
|
+
export {$8f061b800813ddea$re_export$ComboBox as ComboBox, $8f061b800813ddea$re_export$Item as Item, $8f061b800813ddea$re_export$Section as Section};
|
|
20
22
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":";;;;AAAA;;;;;;;;;;CAUC,GAED,0CAA0C","sources":["packages/@react-spectrum/combobox/src/index.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {ComboBox} from '@adobe/react-spectrum/ComboBox';\n\nexport type {SpectrumComboBoxProps} from '@adobe/react-spectrum/ComboBox';\nexport {Item} from 'react-stately/Item';\nexport {Section} from 'react-stately/Section';\n"],"names":[],"version":3,"file":"module.js.map"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/combobox",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.17.0",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
7
7
|
"module": "dist/module.js",
|
|
8
8
|
"exports": {
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
"./dist/types.d.ts",
|
|
12
|
-
"./
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
9
|
+
".": {
|
|
10
|
+
"source": "./src/index.ts",
|
|
11
|
+
"types": "./dist/types/src/index.d.ts",
|
|
12
|
+
"import": "./dist/import.mjs",
|
|
13
|
+
"require": "./dist/main.js"
|
|
14
|
+
},
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
|
-
"types": "dist/types.d.ts",
|
|
17
|
+
"types": "dist/types/src/index.d.ts",
|
|
18
18
|
"source": "src/index.ts",
|
|
19
19
|
"files": [
|
|
20
20
|
"dist",
|
|
@@ -24,58 +24,23 @@
|
|
|
24
24
|
"*.css"
|
|
25
25
|
],
|
|
26
26
|
"targets": {
|
|
27
|
-
"
|
|
28
|
-
"includeNodeModules": [
|
|
29
|
-
"@adobe/spectrum-css-temp"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
"module": {
|
|
33
|
-
"includeNodeModules": [
|
|
34
|
-
"@adobe/spectrum-css-temp"
|
|
35
|
-
]
|
|
36
|
-
}
|
|
27
|
+
"types": false
|
|
37
28
|
},
|
|
38
29
|
"repository": {
|
|
39
30
|
"type": "git",
|
|
40
31
|
"url": "https://github.com/adobe/react-spectrum"
|
|
41
32
|
},
|
|
42
33
|
"dependencies": {
|
|
43
|
-
"@react-
|
|
44
|
-
"@
|
|
45
|
-
"
|
|
46
|
-
"@react-aria/focus": "^3.21.4",
|
|
47
|
-
"@react-aria/form": "^3.1.4",
|
|
48
|
-
"@react-aria/i18n": "^3.12.15",
|
|
49
|
-
"@react-aria/interactions": "^3.27.0",
|
|
50
|
-
"@react-aria/label": "^3.7.24",
|
|
51
|
-
"@react-aria/overlays": "^3.31.1",
|
|
52
|
-
"@react-aria/utils": "^3.33.0",
|
|
53
|
-
"@react-spectrum/button": "^3.17.6",
|
|
54
|
-
"@react-spectrum/form": "^3.7.21",
|
|
55
|
-
"@react-spectrum/label": "^3.16.21",
|
|
56
|
-
"@react-spectrum/listbox": "^3.15.10",
|
|
57
|
-
"@react-spectrum/overlays": "^5.9.2",
|
|
58
|
-
"@react-spectrum/progress": "^3.7.22",
|
|
59
|
-
"@react-spectrum/textfield": "^3.14.4",
|
|
60
|
-
"@react-spectrum/utils": "^3.12.11",
|
|
61
|
-
"@react-stately/collections": "^3.12.9",
|
|
62
|
-
"@react-stately/combobox": "^3.12.2",
|
|
63
|
-
"@react-types/button": "^3.15.0",
|
|
64
|
-
"@react-types/combobox": "^3.13.11",
|
|
65
|
-
"@react-types/shared": "^3.33.0",
|
|
66
|
-
"@spectrum-icons/ui": "^3.6.22",
|
|
67
|
-
"@swc/helpers": "^0.5.0"
|
|
68
|
-
},
|
|
69
|
-
"devDependencies": {
|
|
70
|
-
"@adobe/spectrum-css-temp": "3.0.0-alpha.1"
|
|
34
|
+
"@adobe/react-spectrum": "3.47.0",
|
|
35
|
+
"@swc/helpers": "^0.5.0",
|
|
36
|
+
"react-stately": "3.46.0"
|
|
71
37
|
},
|
|
72
38
|
"peerDependencies": {
|
|
73
|
-
"@react-spectrum/provider": "^3.0.0",
|
|
74
39
|
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
|
|
75
40
|
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
|
|
76
41
|
},
|
|
77
42
|
"publishConfig": {
|
|
78
43
|
"access": "public"
|
|
79
44
|
},
|
|
80
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "a6999bdf494a2e9c0381a5881908328bdd22ddae"
|
|
81
46
|
}
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
/// <reference types="css-module-types" />
|
|
14
14
|
|
|
15
|
-
export {ComboBox} from '
|
|
16
|
-
|
|
17
|
-
export type {SpectrumComboBoxProps} from '@react-
|
|
15
|
+
export {ComboBox} from '@adobe/react-spectrum/ComboBox';
|
|
16
|
+
|
|
17
|
+
export type {SpectrumComboBoxProps} from '@adobe/react-spectrum/ComboBox';
|
|
18
|
+
export {Item} from 'react-stately/Item';
|
|
19
|
+
export {Section} from 'react-stately/Section';
|
package/dist/ComboBox.main.js
DELETED
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
require("./combobox.1c1869da.css");
|
|
2
|
-
var $41fae9390a5a37fa$exports = require("./combobox_css.main.js");
|
|
3
|
-
var $9e627d9ac6346a53$exports = require("./intlStrings.main.js");
|
|
4
|
-
var $e514018f82d1b067$exports = require("./MobileComboBox.main.js");
|
|
5
|
-
require("./combobox.a38acc5c.css");
|
|
6
|
-
var $2f86633ce5b04f1e$exports = require("./inputgroup_vars_css.main.js");
|
|
7
|
-
require("./combobox.32e7c48f.css");
|
|
8
|
-
var $40cb3a00c193680f$exports = require("./textfield_vars_css.main.js");
|
|
9
|
-
var $XxzjX$spectrumiconsuiChevronDownMedium = require("@spectrum-icons/ui/ChevronDownMedium");
|
|
10
|
-
var $XxzjX$reactspectrumutils = require("@react-spectrum/utils");
|
|
11
|
-
var $XxzjX$reactspectrumlabel = require("@react-spectrum/label");
|
|
12
|
-
var $XxzjX$reactspectrumbutton = require("@react-spectrum/button");
|
|
13
|
-
var $XxzjX$reactariafocus = require("@react-aria/focus");
|
|
14
|
-
var $XxzjX$reactspectrumlistbox = require("@react-spectrum/listbox");
|
|
15
|
-
var $XxzjX$reactspectrumoverlays = require("@react-spectrum/overlays");
|
|
16
|
-
var $XxzjX$reactariainteractions = require("@react-aria/interactions");
|
|
17
|
-
var $XxzjX$reactspectrumprogress = require("@react-spectrum/progress");
|
|
18
|
-
var $XxzjX$react = require("react");
|
|
19
|
-
var $XxzjX$reactspectrumtextfield = require("@react-spectrum/textfield");
|
|
20
|
-
var $XxzjX$reactariacombobox = require("@react-aria/combobox");
|
|
21
|
-
var $XxzjX$reactstatelycombobox = require("@react-stately/combobox");
|
|
22
|
-
var $XxzjX$reactariai18n = require("@react-aria/i18n");
|
|
23
|
-
var $XxzjX$reactspectrumform = require("@react-spectrum/form");
|
|
24
|
-
var $XxzjX$reactariautils = require("@react-aria/utils");
|
|
25
|
-
var $XxzjX$reactspectrumprovider = require("@react-spectrum/provider");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
function $parcel$interopDefault(a) {
|
|
29
|
-
return a && a.__esModule ? a.default : a;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function $parcel$export(e, n, v, s) {
|
|
33
|
-
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
$parcel$export(module.exports, "ComboBox", () => $e4f518eb9b010873$export$72b9695b8216309a);
|
|
37
|
-
/*
|
|
38
|
-
* Copyright 2020 Adobe. All rights reserved.
|
|
39
|
-
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
40
|
-
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
41
|
-
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
42
|
-
*
|
|
43
|
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
44
|
-
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
45
|
-
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
46
|
-
* governing permissions and limitations under the License.
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const $e4f518eb9b010873$export$72b9695b8216309a = /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).forwardRef(function ComboBox(props, ref) {
|
|
70
|
-
props = (0, $XxzjX$reactspectrumprovider.useProviderProps)(props);
|
|
71
|
-
props = (0, $XxzjX$reactspectrumform.useFormProps)(props);
|
|
72
|
-
let hasWarned = (0, $XxzjX$react.useRef)(false);
|
|
73
|
-
(0, $XxzjX$react.useEffect)(()=>{
|
|
74
|
-
if (props.placeholder && !hasWarned.current && process.env.NODE_ENV !== 'production') {
|
|
75
|
-
console.warn('Placeholders are deprecated due to accessibility issues. Please use help text instead. See the docs for details: https://react-spectrum.adobe.com/react-spectrum/ComboBox.html#help-text');
|
|
76
|
-
hasWarned.current = true;
|
|
77
|
-
}
|
|
78
|
-
}, [
|
|
79
|
-
props.placeholder
|
|
80
|
-
]);
|
|
81
|
-
let isMobile = (0, $XxzjX$reactspectrumutils.useIsMobileDevice)();
|
|
82
|
-
if (isMobile) // menuTrigger=focus/manual don't apply to mobile combobox
|
|
83
|
-
return /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $e514018f82d1b067$exports.MobileComboBox), {
|
|
84
|
-
...props,
|
|
85
|
-
menuTrigger: "input",
|
|
86
|
-
ref: ref
|
|
87
|
-
});
|
|
88
|
-
else return /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement($e4f518eb9b010873$var$ComboBoxBase, {
|
|
89
|
-
...props,
|
|
90
|
-
ref: ref
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
const $e4f518eb9b010873$var$ComboBoxBase = /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).forwardRef(function ComboBoxBase(props, ref) {
|
|
94
|
-
let { menuTrigger: menuTrigger = 'input', shouldFlip: shouldFlip = true, direction: direction = 'bottom', align: align = 'start', isQuiet: isQuiet, loadingState: loadingState, onLoadMore: onLoadMore, allowsCustomValue: allowsCustomValue, menuWidth: customMenuWidth, name: name, formValue: formValue = 'text' } = props;
|
|
95
|
-
if (allowsCustomValue) formValue = 'text';
|
|
96
|
-
let stringFormatter = (0, $XxzjX$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($9e627d9ac6346a53$exports))), '@react-spectrum/combobox');
|
|
97
|
-
let isAsync = loadingState != null;
|
|
98
|
-
let popoverRef = (0, $XxzjX$react.useRef)(null);
|
|
99
|
-
let unwrappedPopoverRef = (0, $XxzjX$reactspectrumutils.useUnwrapDOMRef)(popoverRef);
|
|
100
|
-
let buttonRef = (0, $XxzjX$react.useRef)(null);
|
|
101
|
-
let unwrappedButtonRef = (0, $XxzjX$reactspectrumutils.useUnwrapDOMRef)(buttonRef);
|
|
102
|
-
let listBoxRef = (0, $XxzjX$react.useRef)(null);
|
|
103
|
-
let inputRef = (0, $XxzjX$react.useRef)(null);
|
|
104
|
-
// serve as the new popover `triggerRef` instead of `unwrappedButtonRef` before for better positioning.
|
|
105
|
-
let inputGroupRef = (0, $XxzjX$react.useRef)(null);
|
|
106
|
-
let domRef = (0, $XxzjX$reactspectrumutils.useFocusableRef)(ref, inputRef);
|
|
107
|
-
let { contains: contains } = (0, $XxzjX$reactariai18n.useFilter)({
|
|
108
|
-
sensitivity: 'base'
|
|
109
|
-
});
|
|
110
|
-
let state = (0, $XxzjX$reactstatelycombobox.useComboBoxState)({
|
|
111
|
-
...props,
|
|
112
|
-
defaultFilter: contains,
|
|
113
|
-
allowsEmptyCollection: isAsync
|
|
114
|
-
});
|
|
115
|
-
let layout = (0, $XxzjX$reactspectrumlistbox.useListBoxLayout)();
|
|
116
|
-
let { buttonProps: buttonProps, inputProps: inputProps, listBoxProps: listBoxProps, labelProps: labelProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = (0, $XxzjX$reactariacombobox.useComboBox)({
|
|
117
|
-
...props,
|
|
118
|
-
layoutDelegate: layout,
|
|
119
|
-
buttonRef: unwrappedButtonRef,
|
|
120
|
-
popoverRef: unwrappedPopoverRef,
|
|
121
|
-
listBoxRef: listBoxRef,
|
|
122
|
-
inputRef: inputRef,
|
|
123
|
-
menuTrigger: menuTrigger,
|
|
124
|
-
name: formValue === 'text' ? name : undefined
|
|
125
|
-
}, state);
|
|
126
|
-
// Measure the width of the inputfield and the button to inform the width of the menu (below).
|
|
127
|
-
let [menuWidth, setMenuWidth] = (0, $XxzjX$react.useState)(undefined);
|
|
128
|
-
let { scale: scale } = (0, $XxzjX$reactspectrumprovider.useProvider)();
|
|
129
|
-
let onResize = (0, $XxzjX$react.useCallback)(()=>{
|
|
130
|
-
if (unwrappedButtonRef.current && inputRef.current) {
|
|
131
|
-
let buttonWidth = unwrappedButtonRef.current.offsetWidth;
|
|
132
|
-
let inputWidth = inputRef.current.offsetWidth;
|
|
133
|
-
setMenuWidth(buttonWidth + inputWidth);
|
|
134
|
-
}
|
|
135
|
-
}, [
|
|
136
|
-
unwrappedButtonRef,
|
|
137
|
-
inputRef,
|
|
138
|
-
setMenuWidth
|
|
139
|
-
]);
|
|
140
|
-
(0, $XxzjX$reactspectrumutils.useResizeObserver)({
|
|
141
|
-
ref: domRef,
|
|
142
|
-
onResize: onResize
|
|
143
|
-
});
|
|
144
|
-
(0, $XxzjX$reactariautils.useLayoutEffect)(onResize, [
|
|
145
|
-
scale,
|
|
146
|
-
onResize
|
|
147
|
-
]);
|
|
148
|
-
let width = isQuiet ? undefined : menuWidth;
|
|
149
|
-
let style = {
|
|
150
|
-
width: customMenuWidth ? (0, $XxzjX$reactspectrumutils.dimensionValue)(customMenuWidth) : width,
|
|
151
|
-
minWidth: isQuiet ? `calc(${menuWidth}px + calc(2 * var(--spectrum-dropdown-quiet-offset)))` : menuWidth
|
|
152
|
-
};
|
|
153
|
-
let cbInputProps = {
|
|
154
|
-
...props,
|
|
155
|
-
children: null
|
|
156
|
-
};
|
|
157
|
-
var _state_selectedKey;
|
|
158
|
-
return /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, ($parcel$interopDefault($XxzjX$react))).Fragment, null, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactspectrumlabel.Field), {
|
|
159
|
-
...props,
|
|
160
|
-
descriptionProps: descriptionProps,
|
|
161
|
-
errorMessageProps: errorMessageProps,
|
|
162
|
-
isInvalid: isInvalid,
|
|
163
|
-
validationErrors: validationErrors,
|
|
164
|
-
validationDetails: validationDetails,
|
|
165
|
-
labelProps: labelProps,
|
|
166
|
-
ref: domRef
|
|
167
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement($e4f518eb9b010873$var$ComboBoxInput, {
|
|
168
|
-
...cbInputProps,
|
|
169
|
-
isOpen: state.isOpen,
|
|
170
|
-
loadingState: loadingState,
|
|
171
|
-
inputProps: inputProps,
|
|
172
|
-
inputRef: inputRef,
|
|
173
|
-
triggerProps: buttonProps,
|
|
174
|
-
triggerRef: buttonRef,
|
|
175
|
-
validationState: props.validationState || (isInvalid ? 'invalid' : undefined),
|
|
176
|
-
ref: inputGroupRef
|
|
177
|
-
})), name && formValue === 'key' && /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement("input", {
|
|
178
|
-
type: "hidden",
|
|
179
|
-
name: name,
|
|
180
|
-
form: props.form,
|
|
181
|
-
value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : ''
|
|
182
|
-
}), /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactspectrumoverlays.Popover), {
|
|
183
|
-
state: state,
|
|
184
|
-
UNSAFE_style: style,
|
|
185
|
-
UNSAFE_className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-popover', {
|
|
186
|
-
'spectrum-InputGroup-popover--quiet': isQuiet
|
|
187
|
-
}),
|
|
188
|
-
ref: popoverRef,
|
|
189
|
-
triggerRef: inputGroupRef,
|
|
190
|
-
scrollRef: listBoxRef,
|
|
191
|
-
placement: `${direction} ${align}`,
|
|
192
|
-
hideArrow: true,
|
|
193
|
-
isNonModal: true,
|
|
194
|
-
shouldFlip: shouldFlip
|
|
195
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactspectrumlistbox.ListBoxBase), {
|
|
196
|
-
...listBoxProps,
|
|
197
|
-
ref: listBoxRef,
|
|
198
|
-
disallowEmptySelection: true,
|
|
199
|
-
shouldSelectOnPressUp: true,
|
|
200
|
-
focusOnPointerEnter: true,
|
|
201
|
-
layout: layout,
|
|
202
|
-
state: state,
|
|
203
|
-
shouldUseVirtualFocus: true,
|
|
204
|
-
isLoading: loadingState === 'loading' || loadingState === 'loadingMore',
|
|
205
|
-
showLoadingSpinner: loadingState === 'loadingMore',
|
|
206
|
-
onLoadMore: onLoadMore,
|
|
207
|
-
renderEmptyState: ()=>isAsync && /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement("span", {
|
|
208
|
-
className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($41fae9390a5a37fa$exports))), 'no-results')
|
|
209
|
-
}, loadingState === 'loading' ? stringFormatter.format('loading') : stringFormatter.format('noResults'))
|
|
210
|
-
})));
|
|
211
|
-
});
|
|
212
|
-
const $e4f518eb9b010873$var$ComboBoxInput = /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).forwardRef(function ComboBoxInput(props, ref) {
|
|
213
|
-
let { isQuiet: isQuiet, isDisabled: isDisabled, validationState: validationState, inputProps: inputProps, inputRef: inputRef, triggerProps: triggerProps, triggerRef: triggerRef, autoFocus: autoFocus, style: style, className: className, loadingState: loadingState, isOpen: isOpen, menuTrigger: menuTrigger } = props;
|
|
214
|
-
let { hoverProps: hoverProps, isHovered: isHovered } = (0, $XxzjX$reactariainteractions.useHover)({});
|
|
215
|
-
let stringFormatter = (0, $XxzjX$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($9e627d9ac6346a53$exports))), '@react-spectrum/combobox');
|
|
216
|
-
let timeout = (0, $XxzjX$react.useRef)(null);
|
|
217
|
-
let [showLoading, setShowLoading] = (0, $XxzjX$react.useState)(false);
|
|
218
|
-
let loadingCircle = /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactspectrumprogress.ProgressCircle), {
|
|
219
|
-
"aria-label": stringFormatter.format('loading'),
|
|
220
|
-
size: "S",
|
|
221
|
-
isIndeterminate: true,
|
|
222
|
-
UNSAFE_className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($40cb3a00c193680f$exports))), 'spectrum-Textfield-circleLoader', (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-input-circleLoader'))
|
|
223
|
-
});
|
|
224
|
-
let isLoading = loadingState === 'loading' || loadingState === 'filtering';
|
|
225
|
-
let inputValue = inputProps.value;
|
|
226
|
-
let lastInputValue = (0, $XxzjX$react.useRef)(inputValue);
|
|
227
|
-
(0, $XxzjX$react.useEffect)(()=>{
|
|
228
|
-
if (isLoading && !showLoading) {
|
|
229
|
-
if (timeout.current === null) timeout.current = setTimeout(()=>{
|
|
230
|
-
setShowLoading(true);
|
|
231
|
-
}, 500);
|
|
232
|
-
// If user is typing, clear the timer and restart since it is a new request
|
|
233
|
-
if (inputValue !== lastInputValue.current) {
|
|
234
|
-
clearTimeout(timeout.current);
|
|
235
|
-
timeout.current = setTimeout(()=>{
|
|
236
|
-
setShowLoading(true);
|
|
237
|
-
}, 500);
|
|
238
|
-
}
|
|
239
|
-
} else if (!isLoading) {
|
|
240
|
-
if (timeout.current) clearTimeout(timeout.current);
|
|
241
|
-
timeout.current = null;
|
|
242
|
-
}
|
|
243
|
-
lastInputValue.current = inputValue;
|
|
244
|
-
}, [
|
|
245
|
-
isLoading,
|
|
246
|
-
showLoading,
|
|
247
|
-
inputValue
|
|
248
|
-
]);
|
|
249
|
-
let [prevIsLoading, setPrevIsLoading] = (0, $XxzjX$react.useState)(isLoading);
|
|
250
|
-
if (prevIsLoading !== isLoading && !isLoading) {
|
|
251
|
-
setShowLoading(false);
|
|
252
|
-
setPrevIsLoading(isLoading);
|
|
253
|
-
}
|
|
254
|
-
(0, $XxzjX$react.useEffect)(()=>{
|
|
255
|
-
return ()=>{
|
|
256
|
-
if (timeout.current) clearTimeout(timeout.current);
|
|
257
|
-
timeout.current = null;
|
|
258
|
-
};
|
|
259
|
-
}, []);
|
|
260
|
-
return /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactariafocus.FocusRing), {
|
|
261
|
-
within: true,
|
|
262
|
-
isTextInput: true,
|
|
263
|
-
focusClass: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'is-focused'),
|
|
264
|
-
focusRingClass: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'focus-ring'),
|
|
265
|
-
autoFocus: autoFocus
|
|
266
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement("div", {
|
|
267
|
-
...hoverProps,
|
|
268
|
-
ref: ref,
|
|
269
|
-
style: style,
|
|
270
|
-
className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup', {
|
|
271
|
-
'spectrum-InputGroup--quiet': isQuiet,
|
|
272
|
-
'is-disabled': isDisabled,
|
|
273
|
-
'spectrum-InputGroup--invalid': validationState === 'invalid' && !isDisabled,
|
|
274
|
-
'is-hovered': isHovered
|
|
275
|
-
}, className)
|
|
276
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactspectrumtextfield.TextFieldBase), {
|
|
277
|
-
inputProps: inputProps,
|
|
278
|
-
inputRef: inputRef,
|
|
279
|
-
UNSAFE_className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-field'),
|
|
280
|
-
inputClassName: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-input'),
|
|
281
|
-
validationIconClassName: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-InputGroup-input-validationIcon'),
|
|
282
|
-
isDisabled: isDisabled,
|
|
283
|
-
isQuiet: isQuiet,
|
|
284
|
-
validationState: validationState,
|
|
285
|
-
// loading circle should only be displayed if menu is open, if menuTrigger is "manual", or first time load (to stop circle from showing up when user selects an option)
|
|
286
|
-
// TODO: add special case for completionMode: complete as well
|
|
287
|
-
isLoading: showLoading && (isOpen || menuTrigger === 'manual' || loadingState === 'loading'),
|
|
288
|
-
loadingIndicator: loadingState != null ? loadingCircle : undefined,
|
|
289
|
-
disableFocusRing: true
|
|
290
|
-
}), /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactariainteractions.PressResponder), {
|
|
291
|
-
preventFocusOnPress: true,
|
|
292
|
-
isPressed: isOpen
|
|
293
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, $XxzjX$reactspectrumbutton.FieldButton), {
|
|
294
|
-
...triggerProps,
|
|
295
|
-
ref: triggerRef,
|
|
296
|
-
UNSAFE_className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-FieldButton'),
|
|
297
|
-
isQuiet: isQuiet,
|
|
298
|
-
validationState: validationState
|
|
299
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($XxzjX$react))).createElement((0, ($parcel$interopDefault($XxzjX$spectrumiconsuiChevronDownMedium))), {
|
|
300
|
-
UNSAFE_className: (0, $XxzjX$reactspectrumutils.classNames)((0, ($parcel$interopDefault($2f86633ce5b04f1e$exports))), 'spectrum-Dropdown-chevron')
|
|
301
|
-
})))));
|
|
302
|
-
});
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
//# sourceMappingURL=ComboBox.main.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/combobox/src/ComboBox.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaButtonProps} from '@react-types/button';\nimport ChevronDownMedium from '@spectrum-icons/ui/ChevronDownMedium';\nimport {\n classNames,\n dimensionValue,\n useFocusableRef,\n useIsMobileDevice,\n useResizeObserver,\n useUnwrapDOMRef\n} from '@react-spectrum/utils';\nimport comboboxStyles from './combobox.css';\nimport {DOMRefValue, FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {Field} from '@react-spectrum/label';\nimport {FieldButton} from '@react-spectrum/button';\nimport {FocusRing} from '@react-aria/focus';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport {ListBoxBase, useListBoxLayout} from '@react-spectrum/listbox';\nimport {MobileComboBox} from './MobileComboBox';\nimport {Popover} from '@react-spectrum/overlays';\nimport {PressResponder, useHover} from '@react-aria/interactions';\nimport {ProgressCircle} from '@react-spectrum/progress';\nimport React, {\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n useState\n} from 'react';\nimport {SpectrumComboBoxProps} from '@react-types/combobox';\nimport styles from '@adobe/spectrum-css-temp/components/inputgroup/vars.css';\nimport {TextFieldBase} from '@react-spectrum/textfield';\nimport textfieldStyles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\nimport {useComboBox} from '@react-aria/combobox';\nimport {useComboBoxState} from '@react-stately/combobox';\nimport {useFilter, useLocalizedStringFormatter} from '@react-aria/i18n';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useProvider, useProviderProps} from '@react-spectrum/provider';\n\n/**\n * ComboBoxes combine a text entry with a picker menu, allowing users to filter longer lists to only the selections matching a query.\n */\nexport const ComboBox = React.forwardRef(function ComboBox<T extends object>(props: SpectrumComboBoxProps<T>, ref: FocusableRef<HTMLElement>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n\n let hasWarned = useRef(false);\n useEffect(() => {\n if (props.placeholder && !hasWarned.current && process.env.NODE_ENV !== 'production') {\n console.warn('Placeholders are deprecated due to accessibility issues. Please use help text instead. See the docs for details: https://react-spectrum.adobe.com/react-spectrum/ComboBox.html#help-text');\n hasWarned.current = true;\n }\n }, [props.placeholder]);\n\n let isMobile = useIsMobileDevice();\n if (isMobile) {\n // menuTrigger=focus/manual don't apply to mobile combobox\n return <MobileComboBox {...props} menuTrigger=\"input\" ref={ref} />;\n } else {\n return <ComboBoxBase {...props} ref={ref} />;\n }\n}) as <T>(props: SpectrumComboBoxProps<T> & {ref?: FocusableRef<HTMLElement>}) => ReactElement;\n\nconst ComboBoxBase = React.forwardRef(function ComboBoxBase(props: SpectrumComboBoxProps<any>, ref: FocusableRef<HTMLElement>) {\n let {\n menuTrigger = 'input',\n shouldFlip = true,\n direction = 'bottom',\n align = 'start',\n isQuiet,\n loadingState,\n onLoadMore,\n allowsCustomValue,\n menuWidth: customMenuWidth,\n name,\n formValue = 'text'\n } = props;\n if (allowsCustomValue) {\n formValue = 'text';\n }\n\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/combobox');\n let isAsync = loadingState != null;\n let popoverRef = useRef<DOMRefValue<HTMLDivElement>>(null);\n let unwrappedPopoverRef = useUnwrapDOMRef(popoverRef);\n let buttonRef = useRef<FocusableRefValue<HTMLElement>>(null);\n let unwrappedButtonRef = useUnwrapDOMRef(buttonRef);\n let listBoxRef = useRef(null);\n let inputRef = useRef<HTMLInputElement>(null);\n // serve as the new popover `triggerRef` instead of `unwrappedButtonRef` before for better positioning.\n let inputGroupRef = useRef<HTMLDivElement>(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n let {contains} = useFilter({sensitivity: 'base'});\n let state = useComboBoxState(\n {\n ...props,\n defaultFilter: contains,\n allowsEmptyCollection: isAsync\n }\n );\n let layout = useListBoxLayout();\n\n let {buttonProps, inputProps, listBoxProps, labelProps, descriptionProps, errorMessageProps, isInvalid, validationErrors, validationDetails} = useComboBox(\n {\n ...props,\n layoutDelegate: layout,\n buttonRef: unwrappedButtonRef,\n popoverRef: unwrappedPopoverRef,\n listBoxRef,\n inputRef: inputRef,\n menuTrigger,\n name: formValue === 'text' ? name : undefined\n },\n state\n );\n\n // Measure the width of the inputfield and the button to inform the width of the menu (below).\n let [menuWidth, setMenuWidth] = useState<number | undefined>(undefined);\n let {scale} = useProvider();\n\n let onResize = useCallback(() => {\n if (unwrappedButtonRef.current && inputRef.current) {\n let buttonWidth = unwrappedButtonRef.current.offsetWidth;\n let inputWidth = inputRef.current.offsetWidth;\n setMenuWidth(buttonWidth + inputWidth);\n }\n }, [unwrappedButtonRef, inputRef, setMenuWidth]);\n\n useResizeObserver({\n ref: domRef,\n onResize: onResize\n });\n\n useLayoutEffect(onResize, [scale, onResize]);\n\n let width = isQuiet ? undefined : menuWidth;\n let style = {\n width: customMenuWidth ? dimensionValue(customMenuWidth) : width,\n minWidth: isQuiet ? `calc(${menuWidth}px + calc(2 * var(--spectrum-dropdown-quiet-offset)))` : menuWidth\n };\n let cbInputProps = {...props, children: null};\n\n return (\n <>\n <Field\n {...props}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n isInvalid={isInvalid}\n validationErrors={validationErrors}\n validationDetails={validationDetails}\n labelProps={labelProps}\n ref={domRef}>\n <ComboBoxInput\n {...cbInputProps}\n isOpen={state.isOpen}\n loadingState={loadingState}\n inputProps={inputProps}\n inputRef={inputRef}\n triggerProps={buttonProps}\n triggerRef={buttonRef}\n validationState={props.validationState || (isInvalid ? 'invalid' : undefined)}\n ref={inputGroupRef} />\n </Field>\n {name && formValue === 'key' && <input type=\"hidden\" name={name} form={props.form} value={state.selectedKey ?? ''} />}\n <Popover\n state={state}\n UNSAFE_style={style}\n UNSAFE_className={classNames(styles, 'spectrum-InputGroup-popover', {'spectrum-InputGroup-popover--quiet': isQuiet})}\n ref={popoverRef}\n triggerRef={inputGroupRef}\n scrollRef={listBoxRef}\n placement={`${direction} ${align}`}\n hideArrow\n isNonModal\n shouldFlip={shouldFlip}>\n <ListBoxBase\n {...listBoxProps}\n ref={listBoxRef}\n disallowEmptySelection\n shouldSelectOnPressUp\n focusOnPointerEnter\n layout={layout}\n state={state}\n shouldUseVirtualFocus\n isLoading={loadingState === 'loading' || loadingState === 'loadingMore'}\n showLoadingSpinner={loadingState === 'loadingMore'}\n onLoadMore={onLoadMore}\n renderEmptyState={() => isAsync && (\n <span className={classNames(comboboxStyles, 'no-results')}>\n {loadingState === 'loading' ? stringFormatter.format('loading') : stringFormatter.format('noResults')}\n </span>\n )} />\n </Popover>\n </>\n );\n});\n\ninterface ComboBoxInputProps extends SpectrumComboBoxProps<unknown> {\n inputProps: InputHTMLAttributes<HTMLInputElement>,\n inputRef: RefObject<HTMLInputElement | HTMLTextAreaElement | null>,\n triggerProps: AriaButtonProps,\n triggerRef: RefObject<FocusableRefValue<HTMLElement> | null>,\n style?: React.CSSProperties,\n className?: string,\n isOpen?: boolean\n}\n\nconst ComboBoxInput = React.forwardRef(function ComboBoxInput(props: ComboBoxInputProps, ref: ForwardedRef<HTMLElement | null>) {\n let {\n isQuiet,\n isDisabled,\n validationState,\n inputProps,\n inputRef,\n triggerProps,\n triggerRef,\n autoFocus,\n style,\n className,\n loadingState,\n isOpen,\n menuTrigger\n } = props;\n let {hoverProps, isHovered} = useHover({});\n let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-spectrum/combobox');\n let timeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n let [showLoading, setShowLoading] = useState(false);\n\n let loadingCircle = (\n <ProgressCircle\n aria-label={stringFormatter.format('loading')}\n size=\"S\"\n isIndeterminate\n UNSAFE_className={classNames(\n textfieldStyles,\n 'spectrum-Textfield-circleLoader',\n classNames(\n styles,\n 'spectrum-InputGroup-input-circleLoader'\n )\n )} />\n );\n\n let isLoading = loadingState === 'loading' || loadingState === 'filtering';\n let inputValue = inputProps.value;\n let lastInputValue = useRef(inputValue);\n useEffect(() => {\n if (isLoading && !showLoading) {\n if (timeout.current === null) {\n timeout.current = setTimeout(() => {\n setShowLoading(true);\n }, 500);\n }\n\n // If user is typing, clear the timer and restart since it is a new request\n if (inputValue !== lastInputValue.current) {\n clearTimeout(timeout.current);\n timeout.current = setTimeout(() => {\n setShowLoading(true);\n }, 500);\n }\n } else if (!isLoading) {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = null;\n }\n\n lastInputValue.current = inputValue;\n }, [isLoading, showLoading, inputValue]);\n\n let [prevIsLoading, setPrevIsLoading] = useState(isLoading);\n if (prevIsLoading !== isLoading && !isLoading) {\n setShowLoading(false);\n setPrevIsLoading(isLoading);\n }\n\n useEffect(() => {\n return () => {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = null;\n };\n }, []);\n\n return (\n (<FocusRing\n within\n isTextInput\n focusClass={classNames(styles, 'is-focused')}\n focusRingClass={classNames(styles, 'focus-ring')}\n autoFocus={autoFocus}>\n <div\n {...hoverProps}\n ref={ref as RefObject<HTMLDivElement | null>}\n style={style}\n className={\n classNames(\n styles,\n 'spectrum-InputGroup',\n {\n 'spectrum-InputGroup--quiet': isQuiet,\n 'is-disabled': isDisabled,\n 'spectrum-InputGroup--invalid': validationState === 'invalid' && !isDisabled,\n 'is-hovered': isHovered\n },\n className\n )\n }>\n <TextFieldBase\n inputProps={inputProps}\n inputRef={inputRef}\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-InputGroup-field'\n )\n }\n inputClassName={\n classNames(\n styles,\n 'spectrum-InputGroup-input'\n )\n }\n validationIconClassName={\n classNames(\n styles,\n 'spectrum-InputGroup-input-validationIcon'\n )\n }\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n validationState={validationState}\n // loading circle should only be displayed if menu is open, if menuTrigger is \"manual\", or first time load (to stop circle from showing up when user selects an option)\n // TODO: add special case for completionMode: complete as well\n isLoading={showLoading && (isOpen || menuTrigger === 'manual' || loadingState === 'loading')}\n loadingIndicator={loadingState != null ? loadingCircle : undefined}\n disableFocusRing />\n <PressResponder preventFocusOnPress isPressed={isOpen}>\n <FieldButton\n {...triggerProps}\n ref={triggerRef}\n UNSAFE_className={\n classNames(\n styles,\n 'spectrum-FieldButton'\n )\n }\n isQuiet={isQuiet}\n validationState={validationState}>\n <ChevronDownMedium UNSAFE_className={classNames(styles, 'spectrum-Dropdown-chevron')} />\n </FieldButton>\n </PressResponder>\n </div>\n </FocusRing>)\n );\n});\n"],"names":[],"version":3,"file":"ComboBox.main.js.map"}
|