@cloudscape-design/components 3.0.1104 → 3.0.1105

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.
@@ -2043,5 +2043,5 @@
2043
2043
  }
2044
2044
  }
2045
2045
  :root {
2046
- --awsui-version-info-9ee78842: true;
2046
+ --awsui-version-info-9681b61a: true;
2047
2047
  }
@@ -1,6 +1,6 @@
1
1
  export var PACKAGE_SOURCE = "components";
2
- export var PACKAGE_VERSION = "3.0.0 (9ee78842)";
3
- export var GIT_SHA = "9ee78842";
2
+ export var PACKAGE_VERSION = "3.0.0 (9681b61a)";
3
+ export var GIT_SHA = "9681b61a";
4
4
  export var THEME = "open-source-visual-refresh";
5
5
  export var SYSTEM = "console";
6
6
  export var ALWAYS_VISUAL_REFRESH = true;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "PACKAGE_SOURCE": "components",
3
- "PACKAGE_VERSION": "3.0.0 (9ee78842)",
4
- "GIT_SHA": "9ee78842",
3
+ "PACKAGE_VERSION": "3.0.0 (9681b61a)",
4
+ "GIT_SHA": "9681b61a",
5
5
  "THEME": "open-source-visual-refresh",
6
6
  "SYSTEM": "console",
7
7
  "ALWAYS_VISUAL_REFRESH": true
@@ -1359,8 +1359,8 @@ module.exports.preset = {
1359
1359
  "dark": "{colorBorderDividerDefault}"
1360
1360
  },
1361
1361
  "colorBorderPopover": {
1362
- "light": "{colorGrey400}",
1363
- "dark": "{colorGrey600}"
1362
+ "light": "{colorBorderDropdownContainer}",
1363
+ "dark": "{colorBorderDropdownContainer}"
1364
1364
  },
1365
1365
  "colorBorderSegmentActive": {
1366
1366
  "light": "{colorBorderSegmentDefault}",
@@ -3643,8 +3643,8 @@ module.exports.preset = {
3643
3643
  "dark": "{colorBorderDividerDefault}"
3644
3644
  },
3645
3645
  "colorBorderPopover": {
3646
- "light": "{colorGrey600}",
3647
- "dark": "{colorGrey600}"
3646
+ "light": "{colorBorderDropdownContainer}",
3647
+ "dark": "{colorBorderDropdownContainer}"
3648
3648
  },
3649
3649
  "colorBorderSegmentActive": {
3650
3650
  "light": "{colorBorderSegmentDefault}",
@@ -4825,8 +4825,8 @@ module.exports.preset = {
4825
4825
  "dark": "{colorBorderDividerDefault}"
4826
4826
  },
4827
4827
  "colorBorderPopover": {
4828
- "light": "{colorGrey600}",
4829
- "dark": "{colorGrey600}"
4828
+ "light": "{colorBorderDropdownContainer}",
4829
+ "dark": "{colorBorderDropdownContainer}"
4830
4830
  },
4831
4831
  "colorBorderSegmentActive": {
4832
4832
  "light": "{colorBorderSegmentDefault}",
@@ -5939,8 +5939,8 @@ module.exports.preset = {
5939
5939
  "dark": "{colorBorderDividerDefault}"
5940
5940
  },
5941
5941
  "colorBorderPopover": {
5942
- "light": "{colorGrey400}",
5943
- "dark": "{colorGrey600}"
5942
+ "light": "{colorBorderDropdownContainer}",
5943
+ "dark": "{colorBorderDropdownContainer}"
5944
5944
  },
5945
5945
  "colorBorderSegmentActive": {
5946
5946
  "light": "{colorBorderSegmentDefault}",
@@ -7053,8 +7053,8 @@ module.exports.preset = {
7053
7053
  "dark": "{colorBorderDividerDefault}"
7054
7054
  },
7055
7055
  "colorBorderPopover": {
7056
- "light": "{colorGrey400}",
7057
- "dark": "{colorGrey600}"
7056
+ "light": "{colorBorderDropdownContainer}",
7057
+ "dark": "{colorBorderDropdownContainer}"
7058
7058
  },
7059
7059
  "colorBorderSegmentActive": {
7060
7060
  "light": "{colorBorderSegmentDefault}",
@@ -8167,8 +8167,8 @@ module.exports.preset = {
8167
8167
  "dark": "{colorBorderDividerDefault}"
8168
8168
  },
8169
8169
  "colorBorderPopover": {
8170
- "light": "{colorGrey400}",
8171
- "dark": "{colorGrey600}"
8170
+ "light": "{colorBorderDropdownContainer}",
8171
+ "dark": "{colorBorderDropdownContainer}"
8172
8172
  },
8173
8173
  "colorBorderSegmentActive": {
8174
8174
  "light": "{colorBorderSegmentDefault}",
@@ -9283,8 +9283,8 @@ module.exports.preset = {
9283
9283
  "dark": "{colorBorderDividerDefault}"
9284
9284
  },
9285
9285
  "colorBorderPopover": {
9286
- "light": "{colorGrey600}",
9287
- "dark": "{colorGrey600}"
9286
+ "light": "{colorBorderDropdownContainer}",
9287
+ "dark": "{colorBorderDropdownContainer}"
9288
9288
  },
9289
9289
  "colorBorderSegmentActive": {
9290
9290
  "light": "{colorBorderSegmentDefault}",
@@ -10572,12 +10572,14 @@ module.exports.preset = {
10572
10572
  "colorBorderControlDefault",
10573
10573
  "colorBorderDividerDefault",
10574
10574
  "colorBorderDividerSecondary",
10575
+ "colorBorderDropdownContainer",
10575
10576
  "colorBorderDropdownItemHover",
10576
10577
  "colorBorderInputDefault",
10577
10578
  "colorBorderInputFocused",
10578
10579
  "colorBorderItemFocused",
10579
10580
  "colorBorderDropdownItemFocused",
10580
10581
  "colorBorderItemSelected",
10582
+ "colorBorderPopover",
10581
10583
  "colorBorderSegmentActive",
10582
10584
  "colorBorderSegmentDefault",
10583
10585
  "colorBorderSegmentDisabled",
@@ -10933,12 +10935,14 @@ module.exports.preset = {
10933
10935
  "colorBorderControlDefault",
10934
10936
  "colorBorderDividerDefault",
10935
10937
  "colorBorderDividerSecondary",
10938
+ "colorBorderDropdownContainer",
10936
10939
  "colorBorderDropdownItemHover",
10937
10940
  "colorBorderInputDefault",
10938
10941
  "colorBorderInputFocused",
10939
10942
  "colorBorderItemFocused",
10940
10943
  "colorBorderDropdownItemFocused",
10941
10944
  "colorBorderItemSelected",
10945
+ "colorBorderPopover",
10942
10946
  "colorBorderSegmentActive",
10943
10947
  "colorBorderSegmentDefault",
10944
10948
  "colorBorderSegmentDisabled",
@@ -139,12 +139,14 @@ export declare interface TypedOverride {
139
139
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
140
140
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
141
141
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
142
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
142
143
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
143
144
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
144
145
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
145
146
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
146
147
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
147
148
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
149
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
148
150
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
149
151
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
150
152
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -406,12 +408,14 @@ export declare interface TypedOverride {
406
408
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
407
409
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
408
410
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
411
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
409
412
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
410
413
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
411
414
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
412
415
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
413
416
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
414
417
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
418
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
415
419
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
416
420
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
417
421
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -673,12 +677,14 @@ export declare interface TypedOverride {
673
677
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
674
678
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
675
679
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
680
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
676
681
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
677
682
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
678
683
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
679
684
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
680
685
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
681
686
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
687
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
682
688
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
683
689
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
684
690
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -940,12 +946,14 @@ export declare interface TypedOverride {
940
946
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
941
947
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
942
948
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
949
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
943
950
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
944
951
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
945
952
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
946
953
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
947
954
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
948
955
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
956
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
949
957
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
950
958
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
951
959
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1207,12 +1215,14 @@ export declare interface TypedOverride {
1207
1215
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1208
1216
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1209
1217
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1218
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1210
1219
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1211
1220
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1212
1221
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1213
1222
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1214
1223
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1215
1224
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1225
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1216
1226
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1217
1227
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1218
1228
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1474,12 +1484,14 @@ export declare interface TypedOverride {
1474
1484
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1475
1485
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1476
1486
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1487
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1477
1488
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1478
1489
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1479
1490
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1480
1491
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1481
1492
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1482
1493
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1494
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1483
1495
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1484
1496
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1485
1497
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1741,12 +1753,14 @@ export declare interface TypedOverride {
1741
1753
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1742
1754
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1743
1755
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1756
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1744
1757
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1745
1758
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1746
1759
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1747
1760
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1748
1761
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1749
1762
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1763
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1750
1764
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1751
1765
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1752
1766
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -2008,12 +2022,14 @@ export declare interface TypedOverride {
2008
2022
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2009
2023
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2010
2024
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2025
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2011
2026
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2012
2027
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2013
2028
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2014
2029
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2015
2030
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2016
2031
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2032
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2017
2033
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2018
2034
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2019
2035
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -2275,12 +2291,14 @@ export declare interface TypedOverride {
2275
2291
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2276
2292
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2277
2293
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2294
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2278
2295
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2279
2296
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2280
2297
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2281
2298
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2282
2299
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2283
2300
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2301
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2284
2302
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2285
2303
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2286
2304
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -139,12 +139,14 @@ export declare interface TypedOverride {
139
139
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
140
140
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
141
141
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
142
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
142
143
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
143
144
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
144
145
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
145
146
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
146
147
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
147
148
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
149
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
148
150
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
149
151
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
150
152
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -406,12 +408,14 @@ export declare interface TypedOverride {
406
408
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
407
409
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
408
410
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
411
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
409
412
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
410
413
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
411
414
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
412
415
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
413
416
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
414
417
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
418
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
415
419
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
416
420
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
417
421
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -673,12 +677,14 @@ export declare interface TypedOverride {
673
677
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
674
678
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
675
679
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
680
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
676
681
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
677
682
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
678
683
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
679
684
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
680
685
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
681
686
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
687
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
682
688
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
683
689
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
684
690
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -940,12 +946,14 @@ export declare interface TypedOverride {
940
946
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
941
947
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
942
948
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
949
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
943
950
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
944
951
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
945
952
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
946
953
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
947
954
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
948
955
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
956
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
949
957
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
950
958
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
951
959
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1207,12 +1215,14 @@ export declare interface TypedOverride {
1207
1215
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1208
1216
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1209
1217
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1218
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1210
1219
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1211
1220
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1212
1221
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1213
1222
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1214
1223
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1215
1224
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1225
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1216
1226
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1217
1227
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1218
1228
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1474,12 +1484,14 @@ export declare interface TypedOverride {
1474
1484
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1475
1485
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1476
1486
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1487
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1477
1488
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1478
1489
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1479
1490
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1480
1491
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1481
1492
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1482
1493
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1494
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1483
1495
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1484
1496
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1485
1497
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1741,12 +1753,14 @@ export declare interface TypedOverride {
1741
1753
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1742
1754
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1743
1755
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1756
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1744
1757
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1745
1758
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1746
1759
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1747
1760
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1748
1761
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1749
1762
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1763
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1750
1764
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1751
1765
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
1752
1766
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -2008,12 +2022,14 @@ export declare interface TypedOverride {
2008
2022
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2009
2023
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2010
2024
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2025
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2011
2026
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2012
2027
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2013
2028
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2014
2029
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2015
2030
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2016
2031
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2032
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2017
2033
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2018
2034
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2019
2035
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -2275,12 +2291,14 @@ export declare interface TypedOverride {
2275
2291
  colorBorderControlDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2276
2292
  colorBorderDividerDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2277
2293
  colorBorderDividerSecondary?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2294
+ colorBorderDropdownContainer?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2278
2295
  colorBorderDropdownItemHover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2279
2296
  colorBorderInputDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2280
2297
  colorBorderInputFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2281
2298
  colorBorderItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2282
2299
  colorBorderDropdownItemFocused?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2283
2300
  colorBorderItemSelected?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2301
+ colorBorderPopover?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2284
2302
  colorBorderSegmentActive?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2285
2303
  colorBorderSegmentDefault?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
2286
2304
  colorBorderSegmentDisabled?: GlobalValue | TypedModeValueOverride<'light' | 'dark'>;
@@ -1359,8 +1359,8 @@ export var preset = {
1359
1359
  "dark": "{colorBorderDividerDefault}"
1360
1360
  },
1361
1361
  "colorBorderPopover": {
1362
- "light": "{colorGrey400}",
1363
- "dark": "{colorGrey600}"
1362
+ "light": "{colorBorderDropdownContainer}",
1363
+ "dark": "{colorBorderDropdownContainer}"
1364
1364
  },
1365
1365
  "colorBorderSegmentActive": {
1366
1366
  "light": "{colorBorderSegmentDefault}",
@@ -3643,8 +3643,8 @@ export var preset = {
3643
3643
  "dark": "{colorBorderDividerDefault}"
3644
3644
  },
3645
3645
  "colorBorderPopover": {
3646
- "light": "{colorGrey600}",
3647
- "dark": "{colorGrey600}"
3646
+ "light": "{colorBorderDropdownContainer}",
3647
+ "dark": "{colorBorderDropdownContainer}"
3648
3648
  },
3649
3649
  "colorBorderSegmentActive": {
3650
3650
  "light": "{colorBorderSegmentDefault}",
@@ -4825,8 +4825,8 @@ export var preset = {
4825
4825
  "dark": "{colorBorderDividerDefault}"
4826
4826
  },
4827
4827
  "colorBorderPopover": {
4828
- "light": "{colorGrey600}",
4829
- "dark": "{colorGrey600}"
4828
+ "light": "{colorBorderDropdownContainer}",
4829
+ "dark": "{colorBorderDropdownContainer}"
4830
4830
  },
4831
4831
  "colorBorderSegmentActive": {
4832
4832
  "light": "{colorBorderSegmentDefault}",
@@ -5939,8 +5939,8 @@ export var preset = {
5939
5939
  "dark": "{colorBorderDividerDefault}"
5940
5940
  },
5941
5941
  "colorBorderPopover": {
5942
- "light": "{colorGrey400}",
5943
- "dark": "{colorGrey600}"
5942
+ "light": "{colorBorderDropdownContainer}",
5943
+ "dark": "{colorBorderDropdownContainer}"
5944
5944
  },
5945
5945
  "colorBorderSegmentActive": {
5946
5946
  "light": "{colorBorderSegmentDefault}",
@@ -7053,8 +7053,8 @@ export var preset = {
7053
7053
  "dark": "{colorBorderDividerDefault}"
7054
7054
  },
7055
7055
  "colorBorderPopover": {
7056
- "light": "{colorGrey400}",
7057
- "dark": "{colorGrey600}"
7056
+ "light": "{colorBorderDropdownContainer}",
7057
+ "dark": "{colorBorderDropdownContainer}"
7058
7058
  },
7059
7059
  "colorBorderSegmentActive": {
7060
7060
  "light": "{colorBorderSegmentDefault}",
@@ -8167,8 +8167,8 @@ export var preset = {
8167
8167
  "dark": "{colorBorderDividerDefault}"
8168
8168
  },
8169
8169
  "colorBorderPopover": {
8170
- "light": "{colorGrey400}",
8171
- "dark": "{colorGrey600}"
8170
+ "light": "{colorBorderDropdownContainer}",
8171
+ "dark": "{colorBorderDropdownContainer}"
8172
8172
  },
8173
8173
  "colorBorderSegmentActive": {
8174
8174
  "light": "{colorBorderSegmentDefault}",
@@ -9283,8 +9283,8 @@ export var preset = {
9283
9283
  "dark": "{colorBorderDividerDefault}"
9284
9284
  },
9285
9285
  "colorBorderPopover": {
9286
- "light": "{colorGrey600}",
9287
- "dark": "{colorGrey600}"
9286
+ "light": "{colorBorderDropdownContainer}",
9287
+ "dark": "{colorBorderDropdownContainer}"
9288
9288
  },
9289
9289
  "colorBorderSegmentActive": {
9290
9290
  "light": "{colorBorderSegmentDefault}",
@@ -10572,12 +10572,14 @@ export var preset = {
10572
10572
  "colorBorderControlDefault",
10573
10573
  "colorBorderDividerDefault",
10574
10574
  "colorBorderDividerSecondary",
10575
+ "colorBorderDropdownContainer",
10575
10576
  "colorBorderDropdownItemHover",
10576
10577
  "colorBorderInputDefault",
10577
10578
  "colorBorderInputFocused",
10578
10579
  "colorBorderItemFocused",
10579
10580
  "colorBorderDropdownItemFocused",
10580
10581
  "colorBorderItemSelected",
10582
+ "colorBorderPopover",
10581
10583
  "colorBorderSegmentActive",
10582
10584
  "colorBorderSegmentDefault",
10583
10585
  "colorBorderSegmentDisabled",
@@ -10933,12 +10935,14 @@ export var preset = {
10933
10935
  "colorBorderControlDefault",
10934
10936
  "colorBorderDividerDefault",
10935
10937
  "colorBorderDividerSecondary",
10938
+ "colorBorderDropdownContainer",
10936
10939
  "colorBorderDropdownItemHover",
10937
10940
  "colorBorderInputDefault",
10938
10941
  "colorBorderInputFocused",
10939
10942
  "colorBorderItemFocused",
10940
10943
  "colorBorderDropdownItemFocused",
10941
10944
  "colorBorderItemSelected",
10945
+ "colorBorderPopover",
10942
10946
  "colorBorderSegmentActive",
10943
10947
  "colorBorderSegmentDefault",
10944
10948
  "colorBorderSegmentDisabled",
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "9ee788421f5635b3db145489b04ec5181825deb2"
2
+ "commit": "9681b61a5fac8c59880143a463a30b8f6b2281f1"
3
3
  }
package/package.json CHANGED
@@ -151,7 +151,7 @@
151
151
  "./internal/base-component/index.js",
152
152
  "./internal/base-component/styles.css.js"
153
153
  ],
154
- "version": "3.0.1104",
154
+ "version": "3.0.1105",
155
155
  "repository": {
156
156
  "type": "git",
157
157
  "url": "https://github.com/cloudscape-design/components.git"
@@ -90,7 +90,7 @@ export function useSelect({ selectedOptions, updateSelectedOption, options, filt
90
90
  closeDropdown();
91
91
  }
92
92
  },
93
- preventNativeSpace: !hasFilter || !!highlightedOption,
93
+ preventNativeSpace: !hasFilter || (highlightedOption && highlightType.type === 'keyboard'),
94
94
  });
95
95
  const triggerKeyDownHandler = useTriggerKeyboard({
96
96
  openDropdown: () => openDropdown(true),
@@ -1 +1 @@
1
- {"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { RefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonTriggerProps } from '../../internal/components/button-trigger';\nimport { DropdownProps } from '../../internal/components/dropdown/interfaces';\nimport { DropdownStatusProps } from '../../internal/components/dropdown-status';\nimport { DropdownOption, OptionDefinition, OptionGroup } from '../../internal/components/option/interfaces';\nimport { isGroup, isGroupInteractive, isInteractive } from '../../internal/components/option/utils/filter-options';\nimport { OptionsListProps } from '../../internal/components/options-list';\nimport { useHighlightedOption } from '../../internal/components/options-list/utils/use-highlight-option';\nimport { getOptionId } from '../../internal/components/options-list/utils/use-ids';\nimport { useMenuKeyboard, useTriggerKeyboard } from '../../internal/components/options-list/utils/use-keyboard';\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { usePrevious } from '../../internal/hooks/use-previous';\nimport { FilterProps } from '../parts/filter';\nimport { ItemProps } from '../parts/item';\nimport { connectOptionsByValue } from './connect-options';\n\nexport type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLDivElement> };\nexport type GetOptionProps = (option: DropdownOption, index: number) => ItemProps;\n\ninterface UseSelectProps {\n selectedOptions: ReadonlyArray<OptionDefinition>;\n updateSelectedOption: (option: OptionDefinition) => void;\n options: ReadonlyArray<DropdownOption>;\n filteringType: string;\n keepOpen?: boolean;\n embedded?: boolean;\n onBlur?: NonCancelableEventHandler;\n onFocus?: NonCancelableEventHandler;\n externalRef: React.Ref<any>;\n fireLoadItems: (filteringText: string) => void;\n setFilteringValue?: (filteringText: string) => void;\n useInteractiveGroups?: boolean;\n statusType: DropdownStatusProps.StatusType;\n isAllSelected?: boolean;\n isSomeSelected?: boolean;\n toggleAll?: () => void;\n}\n\nexport interface SelectTriggerProps extends ButtonTriggerProps {\n ref: RefObject<HTMLButtonElement>;\n}\n\nexport function useSelect({\n selectedOptions,\n updateSelectedOption,\n options,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n keepOpen,\n embedded,\n fireLoadItems,\n setFilteringValue,\n useInteractiveGroups = false,\n statusType,\n isAllSelected,\n isSomeSelected,\n toggleAll,\n}: UseSelectProps) {\n const interactivityCheck = useInteractiveGroups ? isGroupInteractive : isInteractive;\n\n const isHighlightable = (option?: DropdownOption) => !!option && (useInteractiveGroups || option.type !== 'parent');\n\n const filterRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const hasFilter = filteringType !== 'none' && !embedded;\n const activeRef = hasFilter ? filterRef : menuRef;\n const __selectedOptions = connectOptionsByValue(options, selectedOptions);\n const __selectedValuesSet = selectedOptions.reduce((selectedValuesSet: Set<string>, item: OptionDefinition) => {\n if (item.value) {\n selectedValuesSet.add(item.value);\n }\n return selectedValuesSet;\n }, new Set<string>());\n const [\n { highlightType, highlightedOption, highlightedIndex },\n {\n moveHighlightWithKeyboard,\n resetHighlightWithKeyboard,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n highlightFirstOptionWithMouse,\n goHomeWithKeyboard,\n goEndWithKeyboard,\n },\n ] = useHighlightedOption({ options: options, isHighlightable });\n\n const { isOpen, openDropdown, closeDropdown, toggleDropdown, openedWithKeyboard } = useOpenState({\n defaultOpen: embedded,\n onOpen: () => fireLoadItems(''),\n onClose: () => {\n resetHighlightWithKeyboard();\n setFilteringValue?.('');\n },\n });\n\n const handleFocus = () => {\n fireNonCancelableEvent(onFocus, {});\n };\n\n const handleBlur = () => {\n fireNonCancelableEvent(onBlur, {});\n closeDropdown();\n };\n\n const hasSelectedOption = __selectedOptions.length > 0;\n const menuId = useUniqueId('option-list');\n const dialogId = useUniqueId('dialog');\n const highlightedOptionId = getOptionId(menuId, highlightedIndex);\n\n const closeDropdownIfNecessary = () => {\n if (!keepOpen) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n };\n\n const selectOption = (option?: DropdownOption) => {\n const optionToSelect = option || highlightedOption;\n if (!optionToSelect || !interactivityCheck(optionToSelect)) {\n return;\n }\n if (optionToSelect.type === 'select-all' && toggleAll) {\n toggleAll();\n } else {\n updateSelectedOption(optionToSelect.option);\n }\n closeDropdownIfNecessary();\n };\n\n const activeKeyDownHandler = useMenuKeyboard({\n goUp: () => {\n if (\n (!useInteractiveGroups && highlightedOption?.type === 'child' && highlightedIndex === 1) ||\n highlightedIndex === 0\n ) {\n goEndWithKeyboard();\n return;\n }\n moveHighlightWithKeyboard(-1);\n },\n goDown: () => {\n if (highlightedIndex === options.length - 1) {\n goHomeWithKeyboard();\n return;\n }\n\n moveHighlightWithKeyboard(1);\n },\n selectOption,\n goHome: goHomeWithKeyboard,\n goEnd: goEndWithKeyboard,\n closeDropdown: () => {\n if (!embedded) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n },\n preventNativeSpace: !hasFilter || !!highlightedOption,\n });\n\n const triggerKeyDownHandler = useTriggerKeyboard({\n openDropdown: () => openDropdown(true),\n goHome: goHomeWithKeyboard,\n });\n\n const getDropdownProps: () => Pick<\n DropdownProps,\n 'onFocus' | 'onBlur' | 'dropdownContentId' | 'dropdownContentRole'\n > = () => ({\n onFocus: handleFocus,\n onBlur: handleBlur,\n dropdownContentId: dialogId,\n dropdownContentRole: hasFilter ? 'dialog' : undefined,\n });\n\n const getTriggerProps = (disabled = false, autoFocus = false) => {\n const triggerProps: SelectTriggerProps = {\n ref: triggerRef,\n onFocus: () => closeDropdown(),\n autoFocus,\n ariaHasPopup: hasFilter ? 'dialog' : 'listbox',\n ariaControls: isOpen ? (hasFilter ? dialogId : menuId) : undefined,\n };\n if (!disabled) {\n triggerProps.onMouseDown = (event: CustomEvent) => {\n event.preventDefault(); // prevent current focus from blurring as it immediately closes the dropdown\n if (isOpen) {\n triggerRef.current?.focus();\n }\n toggleDropdown();\n };\n triggerProps.onKeyDown = triggerKeyDownHandler;\n }\n return triggerProps;\n };\n\n const getFilterProps = (): Partial<FilterProps> => {\n if (!hasFilter || !setFilteringValue) {\n return {};\n }\n\n return {\n ref: filterRef,\n onKeyDown: activeKeyDownHandler,\n onChange: event => {\n setFilteringValue(event.detail.value);\n resetHighlightWithKeyboard();\n },\n __onDelayedInput: event => {\n fireLoadItems(event.detail.value);\n },\n nativeInputAttributes: {\n 'aria-activedescendant': highlightedOptionId,\n ['aria-owns']: menuId,\n ['aria-controls']: menuId,\n },\n };\n };\n\n const getMenuProps = () => {\n const menuProps: MenuProps = {\n id: menuId,\n ref: menuRef,\n open: isOpen,\n onMouseUp: itemIndex => {\n if (itemIndex > -1) {\n selectOption(options[itemIndex]);\n }\n },\n onMouseMove: itemIndex => {\n if (itemIndex > -1) {\n setHighlightedIndexWithMouse(itemIndex);\n }\n },\n statusType,\n };\n if (!hasFilter) {\n menuProps.onKeyDown = activeKeyDownHandler;\n menuProps.nativeAttributes = {\n 'aria-activedescendant': highlightedOptionId,\n };\n }\n if (embedded) {\n menuProps.onFocus = () => {\n if (!highlightedOption) {\n goHomeWithKeyboard();\n }\n };\n menuProps.onBlur = () => {\n resetHighlightWithKeyboard();\n };\n }\n return menuProps;\n };\n const getGroupState = (option: OptionGroup) => {\n const totalSelected = option.options.filter(item => !!item.value && __selectedValuesSet.has(item.value)).length;\n const hasSelected = totalSelected > 0;\n const allSelected = totalSelected === option.options.length;\n return {\n selected: hasSelected && allSelected && useInteractiveGroups,\n indeterminate: hasSelected && !allSelected,\n };\n };\n\n const getOptionProps = (option: DropdownOption, index: number) => {\n const isSelectAll = option.type === 'select-all';\n const highlighted = option === highlightedOption;\n const groupState = isGroup(option.option) ? getGroupState(option.option) : undefined;\n const selected = isSelectAll ? isAllSelected : __selectedOptions.indexOf(option) > -1 || !!groupState?.selected;\n const nextOption = options[index + 1]?.option;\n const isNextSelected =\n !!nextOption && isGroup(nextOption)\n ? getGroupState(nextOption).selected\n : __selectedOptions.indexOf(options[index + 1]) > -1;\n const previousOption = options[index - 1]?.option;\n const isPreviousSelected =\n !!previousOption && isGroup(previousOption)\n ? getGroupState(previousOption).selected\n : __selectedOptions.indexOf(options[index - 1]) > -1;\n const optionProps: any = {\n key: index,\n option,\n highlighted,\n selected,\n isNextSelected,\n isPreviousSelected,\n indeterminate: !!groupState?.indeterminate || (isSelectAll && !isAllSelected && isSomeSelected),\n ['data-mouse-target']: isHighlightable(option) ? index : -1,\n id: getOptionId(menuId, index),\n };\n\n return optionProps;\n };\n\n const prevOpen = usePrevious<boolean>(isOpen);\n useEffect(() => {\n // highlight the first selected option, when opening the Select component without filter input\n // keep the focus in the filter input when opening, so that screenreader can recognize the combobox\n if (isOpen && !prevOpen && options.length > 0 && !hasFilter) {\n if (openedWithKeyboard) {\n if (__selectedOptions[0]) {\n highlightOptionWithKeyboard(__selectedOptions[0]);\n } else {\n goHomeWithKeyboard();\n }\n } else {\n if (!__selectedOptions[0] || !options.includes(__selectedOptions[0])) {\n highlightFirstOptionWithMouse();\n } else {\n const highlightedIndex = options.indexOf(__selectedOptions[0]);\n setHighlightedIndexWithMouse(highlightedIndex, true);\n }\n }\n }\n }, [\n isOpen,\n __selectedOptions,\n hasSelectedOption,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n highlightFirstOptionWithMouse,\n goHomeWithKeyboard,\n openedWithKeyboard,\n options,\n prevOpen,\n hasFilter,\n ]);\n\n useEffect(() => {\n if (isOpen && !embedded) {\n // dropdown-fit calculations ensure that the dropdown will fit inside the current\n // viewport, so prevent the browser from trying to scroll it into view (e.g. if\n // scroll-padding-top is set on a parent)\n activeRef.current?.focus({ preventScroll: true });\n }\n }, [isOpen, activeRef, embedded]);\n\n useForwardFocus(externalRef, triggerRef as React.RefObject<HTMLElement>);\n const highlightedGroupSelected =\n !!highlightedOption && isGroup(highlightedOption.option) && getGroupState(highlightedOption.option).selected;\n const announceSelected =\n !!highlightedOption && (__selectedOptions.indexOf(highlightedOption) > -1 || highlightedGroupSelected);\n\n return {\n isOpen,\n highlightedOption,\n highlightedIndex,\n highlightType,\n getTriggerProps,\n getDropdownProps,\n getMenuProps,\n getFilterProps,\n getOptionProps,\n highlightOption: highlightOptionWithKeyboard,\n selectOption,\n announceSelected,\n dialogId,\n };\n}\n"]}
1
+ {"version":3,"file":"use-select.js","sourceRoot":"","sources":["../../../../src/select/utils/use-select.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { RefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonTriggerProps } from '../../internal/components/button-trigger';\nimport { DropdownProps } from '../../internal/components/dropdown/interfaces';\nimport { DropdownStatusProps } from '../../internal/components/dropdown-status';\nimport { DropdownOption, OptionDefinition, OptionGroup } from '../../internal/components/option/interfaces';\nimport { isGroup, isGroupInteractive, isInteractive } from '../../internal/components/option/utils/filter-options';\nimport { OptionsListProps } from '../../internal/components/options-list';\nimport { useHighlightedOption } from '../../internal/components/options-list/utils/use-highlight-option';\nimport { getOptionId } from '../../internal/components/options-list/utils/use-ids';\nimport { useMenuKeyboard, useTriggerKeyboard } from '../../internal/components/options-list/utils/use-keyboard';\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport useForwardFocus from '../../internal/hooks/forward-focus';\nimport { usePrevious } from '../../internal/hooks/use-previous';\nimport { FilterProps } from '../parts/filter';\nimport { ItemProps } from '../parts/item';\nimport { connectOptionsByValue } from './connect-options';\n\nexport type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLDivElement> };\nexport type GetOptionProps = (option: DropdownOption, index: number) => ItemProps;\n\ninterface UseSelectProps {\n selectedOptions: ReadonlyArray<OptionDefinition>;\n updateSelectedOption: (option: OptionDefinition) => void;\n options: ReadonlyArray<DropdownOption>;\n filteringType: string;\n keepOpen?: boolean;\n embedded?: boolean;\n onBlur?: NonCancelableEventHandler;\n onFocus?: NonCancelableEventHandler;\n externalRef: React.Ref<any>;\n fireLoadItems: (filteringText: string) => void;\n setFilteringValue?: (filteringText: string) => void;\n useInteractiveGroups?: boolean;\n statusType: DropdownStatusProps.StatusType;\n isAllSelected?: boolean;\n isSomeSelected?: boolean;\n toggleAll?: () => void;\n}\n\nexport interface SelectTriggerProps extends ButtonTriggerProps {\n ref: RefObject<HTMLButtonElement>;\n}\n\nexport function useSelect({\n selectedOptions,\n updateSelectedOption,\n options,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n keepOpen,\n embedded,\n fireLoadItems,\n setFilteringValue,\n useInteractiveGroups = false,\n statusType,\n isAllSelected,\n isSomeSelected,\n toggleAll,\n}: UseSelectProps) {\n const interactivityCheck = useInteractiveGroups ? isGroupInteractive : isInteractive;\n\n const isHighlightable = (option?: DropdownOption) => !!option && (useInteractiveGroups || option.type !== 'parent');\n\n const filterRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuRef = useRef<HTMLDivElement>(null);\n const hasFilter = filteringType !== 'none' && !embedded;\n const activeRef = hasFilter ? filterRef : menuRef;\n const __selectedOptions = connectOptionsByValue(options, selectedOptions);\n const __selectedValuesSet = selectedOptions.reduce((selectedValuesSet: Set<string>, item: OptionDefinition) => {\n if (item.value) {\n selectedValuesSet.add(item.value);\n }\n return selectedValuesSet;\n }, new Set<string>());\n const [\n { highlightType, highlightedOption, highlightedIndex },\n {\n moveHighlightWithKeyboard,\n resetHighlightWithKeyboard,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n highlightFirstOptionWithMouse,\n goHomeWithKeyboard,\n goEndWithKeyboard,\n },\n ] = useHighlightedOption({ options: options, isHighlightable });\n\n const { isOpen, openDropdown, closeDropdown, toggleDropdown, openedWithKeyboard } = useOpenState({\n defaultOpen: embedded,\n onOpen: () => fireLoadItems(''),\n onClose: () => {\n resetHighlightWithKeyboard();\n setFilteringValue?.('');\n },\n });\n\n const handleFocus = () => {\n fireNonCancelableEvent(onFocus, {});\n };\n\n const handleBlur = () => {\n fireNonCancelableEvent(onBlur, {});\n closeDropdown();\n };\n\n const hasSelectedOption = __selectedOptions.length > 0;\n const menuId = useUniqueId('option-list');\n const dialogId = useUniqueId('dialog');\n const highlightedOptionId = getOptionId(menuId, highlightedIndex);\n\n const closeDropdownIfNecessary = () => {\n if (!keepOpen) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n };\n\n const selectOption = (option?: DropdownOption) => {\n const optionToSelect = option || highlightedOption;\n if (!optionToSelect || !interactivityCheck(optionToSelect)) {\n return;\n }\n if (optionToSelect.type === 'select-all' && toggleAll) {\n toggleAll();\n } else {\n updateSelectedOption(optionToSelect.option);\n }\n closeDropdownIfNecessary();\n };\n\n const activeKeyDownHandler = useMenuKeyboard({\n goUp: () => {\n if (\n (!useInteractiveGroups && highlightedOption?.type === 'child' && highlightedIndex === 1) ||\n highlightedIndex === 0\n ) {\n goEndWithKeyboard();\n return;\n }\n moveHighlightWithKeyboard(-1);\n },\n goDown: () => {\n if (highlightedIndex === options.length - 1) {\n goHomeWithKeyboard();\n return;\n }\n\n moveHighlightWithKeyboard(1);\n },\n selectOption,\n goHome: goHomeWithKeyboard,\n goEnd: goEndWithKeyboard,\n closeDropdown: () => {\n if (!embedded) {\n triggerRef.current?.focus();\n closeDropdown();\n }\n },\n preventNativeSpace: !hasFilter || (highlightedOption && highlightType.type === 'keyboard'),\n });\n\n const triggerKeyDownHandler = useTriggerKeyboard({\n openDropdown: () => openDropdown(true),\n goHome: goHomeWithKeyboard,\n });\n\n const getDropdownProps: () => Pick<\n DropdownProps,\n 'onFocus' | 'onBlur' | 'dropdownContentId' | 'dropdownContentRole'\n > = () => ({\n onFocus: handleFocus,\n onBlur: handleBlur,\n dropdownContentId: dialogId,\n dropdownContentRole: hasFilter ? 'dialog' : undefined,\n });\n\n const getTriggerProps = (disabled = false, autoFocus = false) => {\n const triggerProps: SelectTriggerProps = {\n ref: triggerRef,\n onFocus: () => closeDropdown(),\n autoFocus,\n ariaHasPopup: hasFilter ? 'dialog' : 'listbox',\n ariaControls: isOpen ? (hasFilter ? dialogId : menuId) : undefined,\n };\n if (!disabled) {\n triggerProps.onMouseDown = (event: CustomEvent) => {\n event.preventDefault(); // prevent current focus from blurring as it immediately closes the dropdown\n if (isOpen) {\n triggerRef.current?.focus();\n }\n toggleDropdown();\n };\n triggerProps.onKeyDown = triggerKeyDownHandler;\n }\n return triggerProps;\n };\n\n const getFilterProps = (): Partial<FilterProps> => {\n if (!hasFilter || !setFilteringValue) {\n return {};\n }\n\n return {\n ref: filterRef,\n onKeyDown: activeKeyDownHandler,\n onChange: event => {\n setFilteringValue(event.detail.value);\n resetHighlightWithKeyboard();\n },\n __onDelayedInput: event => {\n fireLoadItems(event.detail.value);\n },\n nativeInputAttributes: {\n 'aria-activedescendant': highlightedOptionId,\n ['aria-owns']: menuId,\n ['aria-controls']: menuId,\n },\n };\n };\n\n const getMenuProps = () => {\n const menuProps: MenuProps = {\n id: menuId,\n ref: menuRef,\n open: isOpen,\n onMouseUp: itemIndex => {\n if (itemIndex > -1) {\n selectOption(options[itemIndex]);\n }\n },\n onMouseMove: itemIndex => {\n if (itemIndex > -1) {\n setHighlightedIndexWithMouse(itemIndex);\n }\n },\n statusType,\n };\n if (!hasFilter) {\n menuProps.onKeyDown = activeKeyDownHandler;\n menuProps.nativeAttributes = {\n 'aria-activedescendant': highlightedOptionId,\n };\n }\n if (embedded) {\n menuProps.onFocus = () => {\n if (!highlightedOption) {\n goHomeWithKeyboard();\n }\n };\n menuProps.onBlur = () => {\n resetHighlightWithKeyboard();\n };\n }\n return menuProps;\n };\n const getGroupState = (option: OptionGroup) => {\n const totalSelected = option.options.filter(item => !!item.value && __selectedValuesSet.has(item.value)).length;\n const hasSelected = totalSelected > 0;\n const allSelected = totalSelected === option.options.length;\n return {\n selected: hasSelected && allSelected && useInteractiveGroups,\n indeterminate: hasSelected && !allSelected,\n };\n };\n\n const getOptionProps = (option: DropdownOption, index: number) => {\n const isSelectAll = option.type === 'select-all';\n const highlighted = option === highlightedOption;\n const groupState = isGroup(option.option) ? getGroupState(option.option) : undefined;\n const selected = isSelectAll ? isAllSelected : __selectedOptions.indexOf(option) > -1 || !!groupState?.selected;\n const nextOption = options[index + 1]?.option;\n const isNextSelected =\n !!nextOption && isGroup(nextOption)\n ? getGroupState(nextOption).selected\n : __selectedOptions.indexOf(options[index + 1]) > -1;\n const previousOption = options[index - 1]?.option;\n const isPreviousSelected =\n !!previousOption && isGroup(previousOption)\n ? getGroupState(previousOption).selected\n : __selectedOptions.indexOf(options[index - 1]) > -1;\n const optionProps: any = {\n key: index,\n option,\n highlighted,\n selected,\n isNextSelected,\n isPreviousSelected,\n indeterminate: !!groupState?.indeterminate || (isSelectAll && !isAllSelected && isSomeSelected),\n ['data-mouse-target']: isHighlightable(option) ? index : -1,\n id: getOptionId(menuId, index),\n };\n\n return optionProps;\n };\n\n const prevOpen = usePrevious<boolean>(isOpen);\n useEffect(() => {\n // highlight the first selected option, when opening the Select component without filter input\n // keep the focus in the filter input when opening, so that screenreader can recognize the combobox\n if (isOpen && !prevOpen && options.length > 0 && !hasFilter) {\n if (openedWithKeyboard) {\n if (__selectedOptions[0]) {\n highlightOptionWithKeyboard(__selectedOptions[0]);\n } else {\n goHomeWithKeyboard();\n }\n } else {\n if (!__selectedOptions[0] || !options.includes(__selectedOptions[0])) {\n highlightFirstOptionWithMouse();\n } else {\n const highlightedIndex = options.indexOf(__selectedOptions[0]);\n setHighlightedIndexWithMouse(highlightedIndex, true);\n }\n }\n }\n }, [\n isOpen,\n __selectedOptions,\n hasSelectedOption,\n setHighlightedIndexWithMouse,\n highlightOptionWithKeyboard,\n highlightFirstOptionWithMouse,\n goHomeWithKeyboard,\n openedWithKeyboard,\n options,\n prevOpen,\n hasFilter,\n ]);\n\n useEffect(() => {\n if (isOpen && !embedded) {\n // dropdown-fit calculations ensure that the dropdown will fit inside the current\n // viewport, so prevent the browser from trying to scroll it into view (e.g. if\n // scroll-padding-top is set on a parent)\n activeRef.current?.focus({ preventScroll: true });\n }\n }, [isOpen, activeRef, embedded]);\n\n useForwardFocus(externalRef, triggerRef as React.RefObject<HTMLElement>);\n const highlightedGroupSelected =\n !!highlightedOption && isGroup(highlightedOption.option) && getGroupState(highlightedOption.option).selected;\n const announceSelected =\n !!highlightedOption && (__selectedOptions.indexOf(highlightedOption) > -1 || highlightedGroupSelected);\n\n return {\n isOpen,\n highlightedOption,\n highlightedIndex,\n highlightType,\n getTriggerProps,\n getDropdownProps,\n getMenuProps,\n getFilterProps,\n getOptionProps,\n highlightOption: highlightOptionWithKeyboard,\n selectOption,\n announceSelected,\n dialogId,\n };\n}\n"]}