@cloudscape-design/components 3.0.32 → 3.0.35
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/app-layout/interfaces.d.ts +2 -0
- package/app-layout/interfaces.d.ts.map +1 -1
- package/app-layout/interfaces.js.map +1 -1
- package/app-layout/styles.css.js +37 -37
- package/app-layout/styles.scoped.css +51 -51
- package/app-layout/styles.selectors.js +37 -37
- package/app-layout/visual-refresh/styles.css.js +59 -59
- package/app-layout/visual-refresh/styles.scoped.css +147 -147
- package/app-layout/visual-refresh/styles.selectors.js +59 -59
- package/autosuggest/autosuggest-option.d.ts +2 -1
- package/autosuggest/autosuggest-option.d.ts.map +1 -1
- package/autosuggest/autosuggest-option.js +2 -2
- package/autosuggest/autosuggest-option.js.map +1 -1
- package/autosuggest/controller.d.ts +3 -3
- package/autosuggest/controller.d.ts.map +1 -1
- package/autosuggest/controller.js +2 -4
- package/autosuggest/controller.js.map +1 -1
- package/autosuggest/internal.d.ts.map +1 -1
- package/autosuggest/internal.js +13 -15
- package/autosuggest/internal.js.map +1 -1
- package/autosuggest/options-controller.d.ts +9 -13
- package/autosuggest/options-controller.d.ts.map +1 -1
- package/autosuggest/options-controller.js +10 -15
- package/autosuggest/options-controller.js.map +1 -1
- package/autosuggest/options-list.d.ts +4 -7
- package/autosuggest/options-list.d.ts.map +1 -1
- package/autosuggest/options-list.js +8 -9
- package/autosuggest/options-list.js.map +1 -1
- package/autosuggest/plain-list.d.ts +4 -6
- package/autosuggest/plain-list.d.ts.map +1 -1
- package/autosuggest/plain-list.js +7 -7
- package/autosuggest/plain-list.js.map +1 -1
- package/autosuggest/virtual-list.d.ts +1 -1
- package/autosuggest/virtual-list.d.ts.map +1 -1
- package/autosuggest/virtual-list.js +9 -9
- package/autosuggest/virtual-list.js.map +1 -1
- package/breadcrumb-group/item/item.d.ts.map +1 -1
- package/breadcrumb-group/item/item.js +1 -1
- package/breadcrumb-group/item/item.js.map +1 -1
- package/checkbox/internal.js +1 -1
- package/checkbox/internal.js.map +1 -1
- package/checkbox/styles.css.js +3 -3
- package/checkbox/styles.scoped.css +5 -8
- package/checkbox/styles.selectors.js +3 -3
- package/{internal/components/content-layout → content-layout}/index.d.ts +1 -1
- package/content-layout/index.d.ts.map +1 -0
- package/content-layout/index.js +39 -0
- package/content-layout/index.js.map +1 -0
- package/content-layout/interfaces.d.ts +19 -0
- package/content-layout/interfaces.d.ts.map +1 -0
- package/{internal/components/content-layout → content-layout}/interfaces.js +0 -0
- package/content-layout/interfaces.js.map +1 -0
- package/content-layout/styles.css.js +12 -0
- package/{internal/components/content-layout → content-layout}/styles.scoped.css +21 -16
- package/content-layout/styles.selectors.js +13 -0
- package/date-range-picker/embedded.d.ts.map +1 -1
- package/date-range-picker/embedded.js +3 -4
- package/date-range-picker/embedded.js.map +1 -1
- package/date-range-picker/index.d.ts.map +1 -1
- package/date-range-picker/index.js +7 -6
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/time-offset.d.ts +2 -2
- package/date-range-picker/time-offset.d.ts.map +1 -1
- package/date-range-picker/time-offset.js +2 -3
- package/date-range-picker/time-offset.js.map +1 -1
- package/date-range-picker/use-date-range-picker.d.ts +1 -1
- package/date-range-picker/use-date-range-picker.d.ts.map +1 -1
- package/date-range-picker/use-date-range-picker.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/base-component/styles.scoped.css +2 -2
- package/internal/components/abstract-switch/index.d.ts +2 -1
- package/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/internal/components/abstract-switch/index.js +3 -3
- package/internal/components/abstract-switch/index.js.map +1 -1
- package/internal/components/abstract-switch/styles.css.js +12 -11
- package/internal/components/abstract-switch/styles.scoped.css +27 -17
- package/internal/components/abstract-switch/styles.selectors.js +12 -11
- package/internal/components/options-list/utils/use-highlight-option.d.ts +17 -15
- package/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
- package/internal/components/options-list/utils/use-highlight-option.js +36 -37
- package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
- package/internal/components/options-list/utils/use-keyboard.d.ts +0 -2
- package/internal/components/options-list/utils/use-keyboard.d.ts.map +1 -1
- package/internal/components/options-list/utils/use-keyboard.js +4 -6
- package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
- package/internal/components/selectable-item/index.d.ts +2 -1
- package/internal/components/selectable-item/index.d.ts.map +1 -1
- package/internal/components/selectable-item/index.js +2 -2
- package/internal/components/selectable-item/index.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/generated/theming/index.cjs +6 -6
- package/internal/generated/theming/index.js +6 -6
- package/internal/utils/date-time/format-timezone-offset.d.ts +1 -1
- package/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -1
- package/internal/utils/date-time/format-timezone-offset.js +2 -1
- package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
- package/internal/utils/date-time/index.d.ts +0 -1
- package/internal/utils/date-time/index.d.ts.map +1 -1
- package/internal/utils/date-time/index.js +0 -1
- package/internal/utils/date-time/index.js.map +1 -1
- package/internal/utils/date-time/parse-timezone-offset.d.ts +1 -1
- package/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -1
- package/internal/utils/date-time/parse-timezone-offset.js +7 -7
- package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
- package/internal/utils/date-time/shift-timezone-offset.d.ts +1 -1
- package/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -1
- package/internal/utils/date-time/shift-timezone-offset.js +2 -1
- package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
- package/multiselect/internal.d.ts.map +1 -1
- package/multiselect/internal.js +2 -3
- package/multiselect/internal.js.map +1 -1
- package/package.json +2 -1
- package/property-filter/controller.d.ts +2 -2
- package/property-filter/controller.d.ts.map +1 -1
- package/property-filter/controller.js +6 -1
- package/property-filter/controller.js.map +1 -1
- package/property-filter/interfaces.d.ts +5 -1
- package/property-filter/interfaces.d.ts.map +1 -1
- package/property-filter/interfaces.js.map +1 -1
- package/property-filter/property-filter-autosuggest.d.ts.map +1 -1
- package/property-filter/property-filter-autosuggest.js +12 -14
- package/property-filter/property-filter-autosuggest.js.map +1 -1
- package/property-filter/token-editor.d.ts +3 -2
- package/property-filter/token-editor.d.ts.map +1 -1
- package/property-filter/token-editor.js +66 -76
- package/property-filter/token-editor.js.map +1 -1
- package/property-filter/use-load-items.d.ts +1 -1
- package/radio-group/radio-button.js +1 -1
- package/radio-group/radio-button.js.map +1 -1
- package/radio-group/styles.css.js +9 -9
- package/radio-group/styles.scoped.css +15 -18
- package/radio-group/styles.selectors.js +9 -9
- package/select/internal.d.ts.map +1 -1
- package/select/internal.js +3 -4
- package/select/internal.js.map +1 -1
- package/select/parts/item.d.ts +2 -1
- package/select/parts/item.d.ts.map +1 -1
- package/select/parts/item.js +2 -2
- package/select/parts/item.js.map +1 -1
- package/select/parts/multiselect-item.d.ts +2 -1
- package/select/parts/multiselect-item.d.ts.map +1 -1
- package/select/parts/multiselect-item.js +2 -2
- package/select/parts/multiselect-item.js.map +1 -1
- package/select/parts/plain-list.d.ts +2 -1
- package/select/parts/plain-list.d.ts.map +1 -1
- package/select/parts/plain-list.js +4 -4
- package/select/parts/plain-list.js.map +1 -1
- package/select/parts/virtual-list.js +4 -4
- package/select/parts/virtual-list.js.map +1 -1
- package/select/utils/render-options.d.ts +3 -2
- package/select/utils/render-options.d.ts.map +1 -1
- package/select/utils/render-options.js +2 -2
- package/select/utils/render-options.js.map +1 -1
- package/select/utils/use-native-search.d.ts +1 -2
- package/select/utils/use-native-search.d.ts.map +1 -1
- package/select/utils/use-native-search.js +1 -2
- package/select/utils/use-native-search.js.map +1 -1
- package/select/utils/use-select.d.ts +2 -3
- package/select/utils/use-select.d.ts.map +1 -1
- package/select/utils/use-select.js +16 -22
- package/select/utils/use-select.js.map +1 -1
- package/tabs/tab-header-bar.d.ts.map +1 -1
- package/tabs/tab-header-bar.js +2 -2
- package/tabs/tab-header-bar.js.map +1 -1
- package/test-utils/dom/content-layout/index.d.ts +6 -0
- package/test-utils/dom/content-layout/index.js +37 -0
- package/test-utils/dom/content-layout/index.js.map +1 -0
- package/test-utils/dom/index.d.ts +3 -0
- package/test-utils/dom/index.js +10 -2
- package/test-utils/dom/index.js.map +1 -1
- package/test-utils/selectors/content-layout/index.d.ts +6 -0
- package/test-utils/selectors/content-layout/index.js +37 -0
- package/test-utils/selectors/content-layout/index.js.map +1 -0
- package/test-utils/selectors/index.d.ts +3 -0
- package/test-utils/selectors/index.js +10 -2
- package/test-utils/selectors/index.js.map +1 -1
- package/test-utils/tsconfig.tsbuildinfo +1 -1
- package/toggle/internal.js +1 -1
- package/toggle/internal.js.map +1 -1
- package/toggle/styles.css.js +8 -8
- package/toggle/styles.scoped.css +13 -16
- package/toggle/styles.selectors.js +8 -8
- package/internal/components/content-layout/index.d.ts.map +0 -1
- package/internal/components/content-layout/index.js +0 -24
- package/internal/components/content-layout/index.js.map +0 -1
- package/internal/components/content-layout/interfaces.d.ts +0 -7
- package/internal/components/content-layout/interfaces.d.ts.map +0 -1
- package/internal/components/content-layout/interfaces.js.map +0 -1
- package/internal/components/content-layout/styles.css.js +0 -12
- package/internal/components/content-layout/styles.selectors.js +0 -13
- package/internal/utils/date-time/get-browser-timezone-offset.d.ts +0 -7
- package/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +0 -1
- package/internal/utils/date-time/get-browser-timezone-offset.js +0 -11
- package/internal/utils/date-time/get-browser-timezone-offset.js.map +0 -1
|
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
90
90
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
91
91
|
SPDX-License-Identifier: Apache-2.0
|
|
92
92
|
*/
|
|
93
|
-
.
|
|
93
|
+
.awsui_root_1mabk_1y9l8_93:not(#\9) {
|
|
94
94
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
95
95
|
border-collapse: separate;
|
|
96
96
|
border-spacing: 0;
|
|
@@ -128,19 +128,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
128
128
|
display: block;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
.
|
|
131
|
+
.awsui_radio_1mabk_1y9l8_105:not(#\9) {
|
|
132
132
|
/*used in test-utils*/
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
.
|
|
135
|
+
.awsui_radio_1mabk_1y9l8_105 + .awsui_radio_1mabk_1y9l8_105:not(#\9) {
|
|
136
136
|
margin-top: var(--space-scaled-xxs-95dhkm, 4px);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
.awsui_radio--has-
|
|
139
|
+
.awsui_radio--has-description_1mabk_1y9l8_113 + .awsui_radio_1mabk_1y9l8_105:not(#\9) {
|
|
140
140
|
margin-top: var(--space-scaled-xs-6859qs, 8px);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
.awsui_radio-
|
|
143
|
+
.awsui_radio-control_1mabk_1y9l8_117:not(#\9) {
|
|
144
144
|
margin-top: calc((var(--font-body-m-line-height-i7xxvv, 22px) - var(--size-control-n9i4yo, 16px)) / 2);
|
|
145
145
|
min-height: var(--size-control-n9i4yo, 16px);
|
|
146
146
|
min-width: var(--size-control-n9i4yo, 16px);
|
|
@@ -148,17 +148,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
148
148
|
width: var(--size-control-n9i4yo, 16px);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
.
|
|
152
|
-
/* stylelint-disable-next-line selector-max-type, @cloudscape-design/no-implicit-descendant */
|
|
153
|
-
}
|
|
154
|
-
.awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus + span {
|
|
151
|
+
.awsui_outline_1mabk_1y9l8_125:not(#\9) {
|
|
155
152
|
position: relative;
|
|
156
153
|
}
|
|
157
|
-
.
|
|
154
|
+
.awsui_outline_1mabk_1y9l8_125:not(#\9) {
|
|
158
155
|
outline: 2px dotted transparent;
|
|
159
156
|
outline-offset: calc(2px - 1px);
|
|
160
157
|
}
|
|
161
|
-
.
|
|
158
|
+
.awsui_outline_1mabk_1y9l8_125:not(#\9)::before {
|
|
162
159
|
content: " ";
|
|
163
160
|
display: block;
|
|
164
161
|
position: absolute;
|
|
@@ -170,35 +167,35 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
170
167
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
|
|
171
168
|
}
|
|
172
169
|
|
|
173
|
-
.awsui_styled-circle-
|
|
170
|
+
.awsui_styled-circle-border_1mabk_1y9l8_144:not(#\9) {
|
|
174
171
|
stroke: var(--color-border-control-default-m3lmsh, #7d8998);
|
|
175
172
|
fill: var(--color-background-control-default-4pa05r, #ffffff);
|
|
176
173
|
}
|
|
177
|
-
.awsui_styled-circle-
|
|
174
|
+
.awsui_styled-circle-border_1mabk_1y9l8_144.awsui_styled-circle-disabled_1mabk_1y9l8_148:not(#\9) {
|
|
178
175
|
fill: var(--color-background-control-disabled-zplipy, #d1d5db);
|
|
179
176
|
stroke: var(--color-background-control-disabled-zplipy, #d1d5db);
|
|
180
177
|
}
|
|
181
178
|
|
|
182
|
-
.awsui_styled-circle-
|
|
179
|
+
.awsui_styled-circle-fill_1mabk_1y9l8_153:not(#\9) {
|
|
183
180
|
stroke: var(--color-background-control-checked-9admlu, #0972d3);
|
|
184
181
|
fill: var(--color-foreground-control-default-7ajdem, #ffffff);
|
|
185
182
|
opacity: 0;
|
|
186
183
|
transition: opacity var(--motion-duration-transition-quick-x85tae, 90ms) var(--motion-easing-transition-quick-lukbd8, linear);
|
|
187
184
|
}
|
|
188
|
-
.awsui_styled-circle-
|
|
185
|
+
.awsui_styled-circle-fill_1mabk_1y9l8_153.awsui_styled-circle-checked_1mabk_1y9l8_159:not(#\9) {
|
|
189
186
|
opacity: 1;
|
|
190
187
|
}
|
|
191
|
-
.awsui_styled-circle-
|
|
188
|
+
.awsui_styled-circle-fill_1mabk_1y9l8_153.awsui_styled-circle-disabled_1mabk_1y9l8_148:not(#\9) {
|
|
192
189
|
fill: var(--color-foreground-control-disabled-v6a97u, #ffffff);
|
|
193
190
|
stroke: var(--color-background-control-disabled-zplipy, #d1d5db);
|
|
194
191
|
}
|
|
195
192
|
@media (prefers-reduced-motion: reduce) {
|
|
196
|
-
.awsui_styled-circle-
|
|
193
|
+
.awsui_styled-circle-fill_1mabk_1y9l8_153:not(#\9) {
|
|
197
194
|
animation: none;
|
|
198
195
|
transition: none;
|
|
199
196
|
}
|
|
200
197
|
}
|
|
201
|
-
.awsui-motion-disabled .awsui_styled-circle-
|
|
198
|
+
.awsui-motion-disabled .awsui_styled-circle-fill_1mabk_1y9l8_153:not(#\9), .awsui-mode-entering .awsui_styled-circle-fill_1mabk_1y9l8_153:not(#\9) {
|
|
202
199
|
animation: none;
|
|
203
200
|
transition: none;
|
|
204
201
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"radio": "
|
|
7
|
-
"radio--has-description": "awsui_radio--has-
|
|
8
|
-
"radio-control": "awsui_radio-
|
|
9
|
-
"
|
|
10
|
-
"styled-circle-border": "awsui_styled-circle-
|
|
11
|
-
"styled-circle-disabled": "awsui_styled-circle-
|
|
12
|
-
"styled-circle-fill": "awsui_styled-circle-
|
|
13
|
-
"styled-circle-checked": "awsui_styled-circle-
|
|
5
|
+
"root": "awsui_root_1mabk_1y9l8_93",
|
|
6
|
+
"radio": "awsui_radio_1mabk_1y9l8_105",
|
|
7
|
+
"radio--has-description": "awsui_radio--has-description_1mabk_1y9l8_113",
|
|
8
|
+
"radio-control": "awsui_radio-control_1mabk_1y9l8_117",
|
|
9
|
+
"outline": "awsui_outline_1mabk_1y9l8_125",
|
|
10
|
+
"styled-circle-border": "awsui_styled-circle-border_1mabk_1y9l8_144",
|
|
11
|
+
"styled-circle-disabled": "awsui_styled-circle-disabled_1mabk_1y9l8_148",
|
|
12
|
+
"styled-circle-fill": "awsui_styled-circle-fill_1mabk_1y9l8_153",
|
|
13
|
+
"styled-circle-checked": "awsui_styled-circle-checked_1mabk_1y9l8_159"
|
|
14
14
|
};
|
|
15
15
|
|
package/select/internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/select/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAW3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,0BAA0B;IAC3G,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/select/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAW3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,0BAA0B;IAC3G,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,cAAc,6FAiMnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/select/internal.js
CHANGED
|
@@ -52,13 +52,12 @@ var InternalSelect = React.forwardRef(function (_a, externalRef) {
|
|
|
52
52
|
externalRef: externalRef,
|
|
53
53
|
fireLoadItems: fireLoadItems,
|
|
54
54
|
setFilteringValue: setFilteringValue
|
|
55
|
-
}), isOpen = _k.isOpen,
|
|
55
|
+
}), isOpen = _k.isOpen, highlightType = _k.highlightType, highlightedOption = _k.highlightedOption, highlightedIndex = _k.highlightedIndex, getTriggerProps = _k.getTriggerProps, getFilterProps = _k.getFilterProps, getMenuProps = _k.getMenuProps, getOptionProps = _k.getOptionProps, highlightOption = _k.highlightOption, selectOption = _k.selectOption, announceSelected = _k.announceSelected;
|
|
56
56
|
var handleNativeSearch = useNativeSearch({
|
|
57
57
|
isEnabled: filteringType === 'none',
|
|
58
58
|
options: filteredOptions,
|
|
59
59
|
highlightOption: !isOpen ? selectOption : highlightOption,
|
|
60
|
-
highlightedOption: !isOpen ? selectedOption : highlightedOption === null || highlightedOption === void 0 ? void 0 : highlightedOption.option
|
|
61
|
-
isKeyboard: isKeyboard
|
|
60
|
+
highlightedOption: !isOpen ? selectedOption : highlightedOption === null || highlightedOption === void 0 ? void 0 : highlightedOption.option
|
|
62
61
|
});
|
|
63
62
|
useEffect(function () {
|
|
64
63
|
var _a;
|
|
@@ -99,7 +98,7 @@ var InternalSelect = React.forwardRef(function (_a, externalRef) {
|
|
|
99
98
|
var mergedRef = useMergeRefs(rootRef, __internalRootRef);
|
|
100
99
|
return (React.createElement("div", __assign({}, baseProps, { ref: mergedRef, className: clsx(styles.root, baseProps.className), onKeyPress: handleNativeSearch }),
|
|
101
100
|
React.createElement(Dropdown, { open: isOpen, stretchTriggerHeight: __inFilteringToken, trigger: trigger, header: filter, onMouseDown: handleMouseDown, footer: dropdownStatus.isSticky ? React.createElement(DropdownFooter, { content: dropdownStatus.content }) : null, expandToViewport: expandToViewport },
|
|
102
|
-
React.createElement(ListComponent, { listBottom: !dropdownStatus.isSticky ? React.createElement(DropdownFooter, { content: dropdownStatus.content }) : null, menuProps: menuProps, getOptionProps: getOptionProps, filteredOptions: filteredOptions, filteringValue: filteringValue, ref: scrollToIndex, hasDropdownStatus: dropdownStatus.content !== null, screenReaderContent: announcement,
|
|
101
|
+
React.createElement(ListComponent, { listBottom: !dropdownStatus.isSticky ? React.createElement(DropdownFooter, { content: dropdownStatus.content }) : null, menuProps: menuProps, getOptionProps: getOptionProps, filteredOptions: filteredOptions, filteringValue: filteringValue, ref: scrollToIndex, hasDropdownStatus: dropdownStatus.content !== null, screenReaderContent: announcement, highlightType: highlightType }))));
|
|
103
102
|
});
|
|
104
103
|
export default InternalSelect;
|
|
105
104
|
//# sourceMappingURL=internal.js.map
|
package/select/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/select/internal.tsx"],"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, { useState, useRef, useEffect } from 'react';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\n\nimport Dropdown from '../internal/components/dropdown';\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport Filter from './parts/filter';\nimport Trigger from './parts/trigger';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { SelectProps } from './interfaces';\nimport { prepareOptions } from '../internal/components/option/utils/prepare-options';\nimport { useSelect } from './utils/use-select';\nimport { checkOptionValueField } from './utils/check-option-value-field';\nimport { useNativeSearch } from './utils/use-native-search';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useLoadItems } from './utils/use-load-items';\nimport { useAnnouncement } from './utils/use-announcement';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport PlainList, { SelectListProps } from './parts/plain-list';\nimport VirtualList from './parts/virtual-list';\nimport DropdownFooter from '../internal/components/dropdown-footer';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { OptionGroup } from '../internal/components/option/interfaces.js';\nimport { SomeRequired } from '../internal/types.js';\n\nexport interface InternalSelectProps extends SomeRequired<SelectProps, 'options'>, InternalBaseComponentProps {\n __inFilteringToken?: boolean;\n}\n\nconst InternalSelect = React.forwardRef(\n (\n {\n options,\n filteringType = 'none',\n filteringPlaceholder,\n filteringAriaLabel,\n ariaRequired,\n placeholder,\n disabled,\n ariaLabel,\n statusType = 'finished',\n empty,\n loadingText,\n finishedText,\n errorText,\n recoveryText,\n noMatch,\n triggerVariant = 'label',\n selectedAriaLabel,\n renderHighlightedAriaLive,\n selectedOption,\n onBlur,\n onFocus,\n onLoadItems,\n onChange,\n virtualScroll,\n expandToViewport,\n __inFilteringToken,\n __internalRootRef = null,\n ...restProps\n }: InternalSelectProps,\n externalRef: React.Ref<SelectProps.Ref>\n ) => {\n const baseProps = getBaseProps(restProps);\n const formFieldContext = useFormFieldContext(restProps);\n\n const { handleLoadMore, handleRecoveryClick, fireLoadItems } = useLoadItems({\n onLoadItems,\n options,\n statusType,\n });\n\n checkControlled('Select', 'selectedOption', selectedOption, 'onChange', onChange);\n\n checkOptionValueField('Select', 'options', options);\n\n const [filteringValue, setFilteringValue] = useState('');\n\n const { filteredOptions, parentMap } = prepareOptions(options, filteringType, filteringValue);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const selfControlId = useUniqueId('trigger');\n const controlId = formFieldContext.controlId ?? selfControlId;\n\n const scrollToIndex = useRef<SelectListProps.SelectListRef>(null);\n const {\n isOpen,\n highlightedOption,\n highlightedIndex,\n highlightedType,\n getTriggerProps,\n getFilterProps,\n getMenuProps,\n getOptionProps,\n isKeyboard,\n highlightOption,\n selectOption,\n announceSelected,\n } = useSelect({\n selectedOptions: selectedOption ? [selectedOption] : [],\n updateSelectedOption: option => fireNonCancelableEvent(onChange, { selectedOption: option }),\n options: filteredOptions,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n fireLoadItems,\n setFilteringValue,\n });\n\n const handleNativeSearch = useNativeSearch({\n isEnabled: filteringType === 'none',\n options: filteredOptions,\n highlightOption: !isOpen ? selectOption : highlightOption,\n highlightedOption: !isOpen ? selectedOption : highlightedOption?.option,\n isKeyboard,\n });\n\n useEffect(() => {\n scrollToIndex.current?.(highlightedIndex);\n }, [highlightedIndex]);\n\n const filter = (\n <Filter\n filteringType={filteringType}\n placeholder={filteringPlaceholder}\n ariaLabel={filteringAriaLabel}\n ariaRequired={ariaRequired}\n value={filteringValue}\n {...getFilterProps()}\n />\n );\n\n const trigger = (\n <Trigger\n ref={triggerRef}\n placeholder={placeholder}\n disabled={disabled}\n ariaLabel={ariaLabel}\n triggerVariant={triggerVariant}\n triggerProps={getTriggerProps(disabled)}\n selectedOption={selectedOption}\n isOpen={isOpen}\n inFilteringToken={__inFilteringToken}\n {...formFieldContext}\n controlId={controlId}\n />\n );\n\n const menuProps = {\n ...getMenuProps(),\n onLoadMore: handleLoadMore,\n ariaLabelledby: controlId,\n };\n\n const isEmpty = !options || options.length === 0;\n const isNoMatch = filteredOptions && filteredOptions.length === 0;\n const dropdownStatus = useDropdownStatus({\n statusType,\n empty,\n loadingText,\n finishedText,\n errorText,\n recoveryText,\n isEmpty,\n isNoMatch,\n noMatch,\n onRecoveryClick: handleRecoveryClick,\n });\n\n const announcement = useAnnouncement({\n announceSelected,\n highlightedOption,\n getParent: option => parentMap.get(option)?.option as undefined | OptionGroup,\n selectedAriaLabel,\n renderHighlightedAriaLive,\n });\n\n const ListComponent = virtualScroll ? VirtualList : PlainList;\n\n const handleMouseDown = (event: React.MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (target !== document.activeElement) {\n // prevent currently focused element from losing it\n event.preventDefault();\n }\n };\n\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n return (\n <div\n {...baseProps}\n ref={mergedRef}\n className={clsx(styles.root, baseProps.className)}\n onKeyPress={handleNativeSearch}\n >\n <Dropdown\n open={isOpen}\n stretchTriggerHeight={__inFilteringToken}\n trigger={trigger}\n header={filter}\n onMouseDown={handleMouseDown}\n footer={dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n expandToViewport={expandToViewport}\n >\n <ListComponent\n listBottom={!dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n menuProps={menuProps}\n getOptionProps={getOptionProps}\n filteredOptions={filteredOptions}\n filteringValue={filteringValue}\n ref={scrollToIndex}\n hasDropdownStatus={dropdownStatus.content !== null}\n screenReaderContent={announcement}\n highlightedType={highlightedType}\n />\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalSelect;\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/select/internal.tsx"],"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, { useState, useRef, useEffect } from 'react';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\n\nimport Dropdown from '../internal/components/dropdown';\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport Filter from './parts/filter';\nimport Trigger from './parts/trigger';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { SelectProps } from './interfaces';\nimport { prepareOptions } from '../internal/components/option/utils/prepare-options';\nimport { useSelect } from './utils/use-select';\nimport { checkOptionValueField } from './utils/check-option-value-field';\nimport { useNativeSearch } from './utils/use-native-search';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useLoadItems } from './utils/use-load-items';\nimport { useAnnouncement } from './utils/use-announcement';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport PlainList, { SelectListProps } from './parts/plain-list';\nimport VirtualList from './parts/virtual-list';\nimport DropdownFooter from '../internal/components/dropdown-footer';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { OptionGroup } from '../internal/components/option/interfaces.js';\nimport { SomeRequired } from '../internal/types.js';\n\nexport interface InternalSelectProps extends SomeRequired<SelectProps, 'options'>, InternalBaseComponentProps {\n __inFilteringToken?: boolean;\n}\n\nconst InternalSelect = React.forwardRef(\n (\n {\n options,\n filteringType = 'none',\n filteringPlaceholder,\n filteringAriaLabel,\n ariaRequired,\n placeholder,\n disabled,\n ariaLabel,\n statusType = 'finished',\n empty,\n loadingText,\n finishedText,\n errorText,\n recoveryText,\n noMatch,\n triggerVariant = 'label',\n selectedAriaLabel,\n renderHighlightedAriaLive,\n selectedOption,\n onBlur,\n onFocus,\n onLoadItems,\n onChange,\n virtualScroll,\n expandToViewport,\n __inFilteringToken,\n __internalRootRef = null,\n ...restProps\n }: InternalSelectProps,\n externalRef: React.Ref<SelectProps.Ref>\n ) => {\n const baseProps = getBaseProps(restProps);\n const formFieldContext = useFormFieldContext(restProps);\n\n const { handleLoadMore, handleRecoveryClick, fireLoadItems } = useLoadItems({\n onLoadItems,\n options,\n statusType,\n });\n\n checkControlled('Select', 'selectedOption', selectedOption, 'onChange', onChange);\n\n checkOptionValueField('Select', 'options', options);\n\n const [filteringValue, setFilteringValue] = useState('');\n\n const { filteredOptions, parentMap } = prepareOptions(options, filteringType, filteringValue);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const selfControlId = useUniqueId('trigger');\n const controlId = formFieldContext.controlId ?? selfControlId;\n\n const scrollToIndex = useRef<SelectListProps.SelectListRef>(null);\n const {\n isOpen,\n highlightType,\n highlightedOption,\n highlightedIndex,\n getTriggerProps,\n getFilterProps,\n getMenuProps,\n getOptionProps,\n highlightOption,\n selectOption,\n announceSelected,\n } = useSelect({\n selectedOptions: selectedOption ? [selectedOption] : [],\n updateSelectedOption: option => fireNonCancelableEvent(onChange, { selectedOption: option }),\n options: filteredOptions,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n fireLoadItems,\n setFilteringValue,\n });\n\n const handleNativeSearch = useNativeSearch({\n isEnabled: filteringType === 'none',\n options: filteredOptions,\n highlightOption: !isOpen ? selectOption : highlightOption,\n highlightedOption: !isOpen ? selectedOption : highlightedOption?.option,\n });\n\n useEffect(() => {\n scrollToIndex.current?.(highlightedIndex);\n }, [highlightedIndex]);\n\n const filter = (\n <Filter\n filteringType={filteringType}\n placeholder={filteringPlaceholder}\n ariaLabel={filteringAriaLabel}\n ariaRequired={ariaRequired}\n value={filteringValue}\n {...getFilterProps()}\n />\n );\n\n const trigger = (\n <Trigger\n ref={triggerRef}\n placeholder={placeholder}\n disabled={disabled}\n ariaLabel={ariaLabel}\n triggerVariant={triggerVariant}\n triggerProps={getTriggerProps(disabled)}\n selectedOption={selectedOption}\n isOpen={isOpen}\n inFilteringToken={__inFilteringToken}\n {...formFieldContext}\n controlId={controlId}\n />\n );\n\n const menuProps = {\n ...getMenuProps(),\n onLoadMore: handleLoadMore,\n ariaLabelledby: controlId,\n };\n\n const isEmpty = !options || options.length === 0;\n const isNoMatch = filteredOptions && filteredOptions.length === 0;\n const dropdownStatus = useDropdownStatus({\n statusType,\n empty,\n loadingText,\n finishedText,\n errorText,\n recoveryText,\n isEmpty,\n isNoMatch,\n noMatch,\n onRecoveryClick: handleRecoveryClick,\n });\n\n const announcement = useAnnouncement({\n announceSelected,\n highlightedOption,\n getParent: option => parentMap.get(option)?.option as undefined | OptionGroup,\n selectedAriaLabel,\n renderHighlightedAriaLive,\n });\n\n const ListComponent = virtualScroll ? VirtualList : PlainList;\n\n const handleMouseDown = (event: React.MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (target !== document.activeElement) {\n // prevent currently focused element from losing it\n event.preventDefault();\n }\n };\n\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n return (\n <div\n {...baseProps}\n ref={mergedRef}\n className={clsx(styles.root, baseProps.className)}\n onKeyPress={handleNativeSearch}\n >\n <Dropdown\n open={isOpen}\n stretchTriggerHeight={__inFilteringToken}\n trigger={trigger}\n header={filter}\n onMouseDown={handleMouseDown}\n footer={dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n expandToViewport={expandToViewport}\n >\n <ListComponent\n listBottom={!dropdownStatus.isSticky ? <DropdownFooter content={dropdownStatus.content} /> : null}\n menuProps={menuProps}\n getOptionProps={getOptionProps}\n filteredOptions={filteredOptions}\n filteringValue={filteringValue}\n ref={scrollToIndex}\n hasDropdownStatus={dropdownStatus.content !== null}\n screenReaderContent={announcement}\n highlightType={highlightType}\n />\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalSelect;\n"]}
|
package/select/parts/item.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DropdownOption } from '../../internal/components/option/interfaces';
|
|
3
|
+
import { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option.js';
|
|
3
4
|
export interface ItemProps {
|
|
4
5
|
option: DropdownOption;
|
|
5
6
|
highlighted?: boolean;
|
|
@@ -12,7 +13,7 @@ export interface ItemProps {
|
|
|
12
13
|
screenReaderContent?: string;
|
|
13
14
|
ariaPosinset?: number;
|
|
14
15
|
ariaSetsize?: number;
|
|
15
|
-
|
|
16
|
+
highlightType?: HighlightType;
|
|
16
17
|
}
|
|
17
18
|
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ItemProps & React.RefAttributes<HTMLDivElement>>>;
|
|
18
19
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,cAAc,EAAoB,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,cAAc,EAAoB,MAAM,6CAA6C,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,MAAM,sEAAsE,CAAC;AAErG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;;AAkED,wBAAkD"}
|
package/select/parts/item.js
CHANGED
|
@@ -9,13 +9,13 @@ import { getBaseProps } from '../../internal/base-component';
|
|
|
9
9
|
import CheckboxIcon from '../../internal/components/checkbox-icon';
|
|
10
10
|
import InternalIcon from '../../icon/internal.js';
|
|
11
11
|
var Item = function (_a, ref) {
|
|
12
|
-
var option = _a.option, highlighted = _a.highlighted, selected = _a.selected, filteringValue = _a.filteringValue, hasCheckbox = _a.hasCheckbox, virtualPosition = _a.virtualPosition, padBottom = _a.padBottom, isNextSelected = _a.isNextSelected, screenReaderContent = _a.screenReaderContent, ariaPosinset = _a.ariaPosinset, ariaSetsize = _a.ariaSetsize,
|
|
12
|
+
var option = _a.option, highlighted = _a.highlighted, selected = _a.selected, filteringValue = _a.filteringValue, hasCheckbox = _a.hasCheckbox, virtualPosition = _a.virtualPosition, padBottom = _a.padBottom, isNextSelected = _a.isNextSelected, screenReaderContent = _a.screenReaderContent, ariaPosinset = _a.ariaPosinset, ariaSetsize = _a.ariaSetsize, highlightType = _a.highlightType, restProps = __rest(_a, ["option", "highlighted", "selected", "filteringValue", "hasCheckbox", "virtualPosition", "padBottom", "isNextSelected", "screenReaderContent", "ariaPosinset", "ariaSetsize", "highlightType"]);
|
|
13
13
|
var baseProps = getBaseProps(restProps);
|
|
14
14
|
var isParent = option.type === 'parent';
|
|
15
15
|
var isChild = option.type === 'child';
|
|
16
16
|
var wrappedOption = option.option;
|
|
17
17
|
var disabled = option.disabled || wrappedOption.disabled;
|
|
18
|
-
return (React.createElement(SelectableItem, __assign({ ariaSelected: selected, selected: selected, isNextSelected: isNextSelected, highlighted: highlighted, disabled: option.disabled, isParent: isParent, isChild: isChild, ref: ref, virtualPosition: virtualPosition, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaPosinset: ariaPosinset, ariaSetsize: ariaSetsize,
|
|
18
|
+
return (React.createElement(SelectableItem, __assign({ ariaSelected: selected, selected: selected, isNextSelected: isNextSelected, highlighted: highlighted, disabled: option.disabled, isParent: isParent, isChild: isChild, ref: ref, virtualPosition: virtualPosition, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaPosinset: ariaPosinset, ariaSetsize: ariaSetsize, highlightType: highlightType }, baseProps),
|
|
19
19
|
React.createElement("div", { className: styles.item },
|
|
20
20
|
hasCheckbox && !isParent && (React.createElement("div", { className: styles.checkbox },
|
|
21
21
|
React.createElement(CheckboxIcon, { checked: selected || false, disabled: option.disabled }))),
|
package/select/parts/item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../src/select/parts/item.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,kCAAkC,CAAC;AACtD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,YAAY,MAAM,yCAAyC,CAAC;AACnE,OAAO,YAAY,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../src/select/parts/item.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,kCAAkC,CAAC;AACtD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,YAAY,MAAM,yCAAyC,CAAC;AACnE,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAkBlD,IAAM,IAAI,GAAG,UACX,EAcY,EACZ,GAA8B;IAd5B,IAAA,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,mBAAmB,yBAAA,EACnB,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,aAAa,mBAAA,EACV,SAAS,cAbd,+LAcC,CADa;IAId,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE1C,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC1C,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;IACxC,IAAM,aAAa,GAAqB,MAAM,CAAC,MAAM,CAAC;IACtD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC;IAE3D,OAAO,CACL,oBAAC,cAAc,aACb,YAAY,EAAE,QAAQ,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,IACxB,SAAS;QAEb,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI;YACxB,WAAW,IAAI,CAAC,QAAQ,IAAI,CAC3B,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC7B,oBAAC,YAAY,IAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAI,CACnE,CACP;YACA,QAAQ,CAAC,CAAC,CAAC,CACV,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAC3C,CAAC,CAAC,CAAC,CACF,oBAAC,MAAM,IAAC,MAAM,wBAAO,aAAa,KAAE,QAAQ,UAAA,KAAI,aAAa,EAAE,cAAc,GAAI,CAClF;YACA,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CACxC,6BAAK,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC;gBACrC,oBAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,CACzB,CACP,CACG,CACS,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport styles from './styles.css.js';\nimport Option from '../../internal/components/option';\nimport SelectableItem from '../../internal/components/selectable-item';\nimport { getBaseProps } from '../../internal/base-component';\nimport { DropdownOption, OptionDefinition } from '../../internal/components/option/interfaces';\nimport CheckboxIcon from '../../internal/components/checkbox-icon';\nimport InternalIcon from '../../icon/internal.js';\nimport { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option.js';\n\nexport interface ItemProps {\n option: DropdownOption;\n highlighted?: boolean;\n selected?: boolean;\n filteringValue?: string;\n hasCheckbox?: boolean;\n virtualPosition?: number;\n padBottom?: boolean;\n isNextSelected?: boolean;\n screenReaderContent?: string;\n ariaPosinset?: number;\n ariaSetsize?: number;\n highlightType?: HighlightType;\n}\n\nconst Item = (\n {\n option,\n highlighted,\n selected,\n filteringValue,\n hasCheckbox,\n virtualPosition,\n padBottom,\n isNextSelected,\n screenReaderContent,\n ariaPosinset,\n ariaSetsize,\n highlightType,\n ...restProps\n }: ItemProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const baseProps = getBaseProps(restProps);\n\n const isParent = option.type === 'parent';\n const isChild = option.type === 'child';\n const wrappedOption: OptionDefinition = option.option;\n const disabled = option.disabled || wrappedOption.disabled;\n\n return (\n <SelectableItem\n ariaSelected={selected}\n selected={selected}\n isNextSelected={isNextSelected}\n highlighted={highlighted}\n disabled={option.disabled}\n isParent={isParent}\n isChild={isChild}\n ref={ref}\n virtualPosition={virtualPosition}\n padBottom={padBottom}\n screenReaderContent={screenReaderContent}\n ariaPosinset={ariaPosinset}\n ariaSetsize={ariaSetsize}\n highlightType={highlightType}\n {...baseProps}\n >\n <div className={styles.item}>\n {hasCheckbox && !isParent && (\n <div className={styles.checkbox}>\n <CheckboxIcon checked={selected || false} disabled={option.disabled} />\n </div>\n )}\n {isParent ? (\n wrappedOption.label || wrappedOption.value\n ) : (\n <Option option={{ ...wrappedOption, disabled }} highlightText={filteringValue} />\n )}\n {!hasCheckbox && !isParent && selected && (\n <div className={styles['selected-icon']}>\n <InternalIcon name=\"check\" />\n </div>\n )}\n </div>\n </SelectableItem>\n );\n};\n\nexport default React.memo(React.forwardRef(Item));\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DropdownOption } from '../../internal/components/option/interfaces';
|
|
3
|
+
import { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option.js';
|
|
3
4
|
export interface ItemProps {
|
|
4
5
|
option: DropdownOption;
|
|
5
6
|
highlighted?: boolean;
|
|
@@ -13,7 +14,7 @@ export interface ItemProps {
|
|
|
13
14
|
screenReaderContent?: string;
|
|
14
15
|
ariaPosinset?: number;
|
|
15
16
|
ariaSetsize?: number;
|
|
16
|
-
|
|
17
|
+
highlightType?: HighlightType;
|
|
17
18
|
}
|
|
18
19
|
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<ItemProps & React.RefAttributes<HTMLDivElement>>>;
|
|
19
20
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiselect-item.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/multiselect-item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,cAAc,EAAoB,MAAM,6CAA6C,CAAC;AAE/F,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"multiselect-item.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/multiselect-item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,cAAc,EAAoB,MAAM,6CAA6C,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,MAAM,sEAAsE,CAAC;AACrG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;;AA8DD,wBAA6D"}
|
|
@@ -10,7 +10,7 @@ import { getBaseProps } from '../../internal/base-component';
|
|
|
10
10
|
import CheckboxIcon from '../../internal/components/checkbox-icon';
|
|
11
11
|
var MultiSelectItem = function (_a, ref) {
|
|
12
12
|
var _b;
|
|
13
|
-
var option = _a.option, highlighted = _a.highlighted, selected = _a.selected, filteringValue = _a.filteringValue, hasCheckbox = _a.hasCheckbox, virtualPosition = _a.virtualPosition, padBottom = _a.padBottom, isNextSelected = _a.isNextSelected, indeterminate = _a.indeterminate, screenReaderContent = _a.screenReaderContent, ariaPosinset = _a.ariaPosinset, ariaSetsize = _a.ariaSetsize,
|
|
13
|
+
var option = _a.option, highlighted = _a.highlighted, selected = _a.selected, filteringValue = _a.filteringValue, hasCheckbox = _a.hasCheckbox, virtualPosition = _a.virtualPosition, padBottom = _a.padBottom, isNextSelected = _a.isNextSelected, indeterminate = _a.indeterminate, screenReaderContent = _a.screenReaderContent, ariaPosinset = _a.ariaPosinset, ariaSetsize = _a.ariaSetsize, highlightType = _a.highlightType, restProps = __rest(_a, ["option", "highlighted", "selected", "filteringValue", "hasCheckbox", "virtualPosition", "padBottom", "isNextSelected", "indeterminate", "screenReaderContent", "ariaPosinset", "ariaSetsize", "highlightType"]);
|
|
14
14
|
var baseProps = getBaseProps(restProps);
|
|
15
15
|
var isParent = option.type === 'parent';
|
|
16
16
|
var isChild = option.type === 'child';
|
|
@@ -19,7 +19,7 @@ var MultiSelectItem = function (_a, ref) {
|
|
|
19
19
|
var className = clsx(styles.item, (_b = {},
|
|
20
20
|
_b[styles.disabled] = disabled,
|
|
21
21
|
_b));
|
|
22
|
-
return (React.createElement(SelectableItem, __assign({ ariaChecked: selected, selected: selected, isNextSelected: isNextSelected, highlighted: highlighted, disabled: disabled, isParent: isParent, isChild: isChild,
|
|
22
|
+
return (React.createElement(SelectableItem, __assign({ ariaChecked: selected, selected: selected, isNextSelected: isNextSelected, highlighted: highlighted, disabled: disabled, isParent: isParent, isChild: isChild, highlightType: highlightType, ref: ref, virtualPosition: virtualPosition, padBottom: padBottom, useInteractiveGroups: true, screenReaderContent: screenReaderContent, ariaPosinset: ariaPosinset, ariaSetsize: ariaSetsize }, baseProps),
|
|
23
23
|
React.createElement("div", { className: className },
|
|
24
24
|
hasCheckbox && (React.createElement("div", { className: styles.checkbox },
|
|
25
25
|
React.createElement(CheckboxIcon, { checked: selected, indeterminate: isParent && indeterminate, disabled: option.disabled }))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiselect-item.js","sourceRoot":"","sources":["../../../../src/select/parts/multiselect-item.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,kCAAkC,CAAC;AACtD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,YAAY,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"multiselect-item.js","sourceRoot":"","sources":["../../../../src/select/parts/multiselect-item.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,kCAAkC,CAAC;AACtD,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,YAAY,MAAM,yCAAyC,CAAC;AAkBnE,IAAM,eAAe,GAAG,UACtB,EAeY,EACZ,GAA8B;;IAf5B,IAAA,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,aAAa,mBAAA,EACb,mBAAmB,yBAAA,EACnB,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,aAAa,mBAAA,EACV,SAAS,cAdd,gNAeC,CADa;IAId,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE1C,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC1C,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;IACxC,IAAM,aAAa,GAAqB,MAAM,CAAC,MAAM,CAAC;IACtD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC;IAC3D,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;QAChC,GAAC,MAAM,CAAC,QAAQ,IAAG,QAAQ;YAC3B,CAAC;IAEH,OAAO,CACL,oBAAC,cAAc,aACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,IAAI,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,IACpB,SAAS;QAEb,6BAAK,SAAS,EAAE,SAAS;YACtB,WAAW,IAAI,CACd,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC7B,oBAAC,YAAY,IAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,IAAI,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAI,CACpG,CACP;YACD,oBAAC,MAAM,IAAC,MAAM,wBAAO,aAAa,KAAE,QAAQ,UAAA,KAAI,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,GAAI,CACtG,CACS,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport Option from '../../internal/components/option';\nimport SelectableItem from '../../internal/components/selectable-item';\nimport { getBaseProps } from '../../internal/base-component';\nimport { DropdownOption, OptionDefinition } from '../../internal/components/option/interfaces';\nimport CheckboxIcon from '../../internal/components/checkbox-icon';\nimport { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option.js';\nexport interface ItemProps {\n option: DropdownOption;\n highlighted?: boolean;\n selected?: boolean;\n indeterminate?: boolean;\n filteringValue?: string;\n hasCheckbox?: boolean;\n virtualPosition?: number;\n padBottom?: boolean;\n isNextSelected?: boolean;\n screenReaderContent?: string;\n ariaPosinset?: number;\n ariaSetsize?: number;\n highlightType?: HighlightType;\n}\n\nconst MultiSelectItem = (\n {\n option,\n highlighted,\n selected,\n filteringValue,\n hasCheckbox,\n virtualPosition,\n padBottom,\n isNextSelected,\n indeterminate,\n screenReaderContent,\n ariaPosinset,\n ariaSetsize,\n highlightType,\n ...restProps\n }: ItemProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n const baseProps = getBaseProps(restProps);\n\n const isParent = option.type === 'parent';\n const isChild = option.type === 'child';\n const wrappedOption: OptionDefinition = option.option;\n const disabled = option.disabled || wrappedOption.disabled;\n const className = clsx(styles.item, {\n [styles.disabled]: disabled,\n });\n\n return (\n <SelectableItem\n ariaChecked={selected}\n selected={selected}\n isNextSelected={isNextSelected}\n highlighted={highlighted}\n disabled={disabled}\n isParent={isParent}\n isChild={isChild}\n highlightType={highlightType}\n ref={ref}\n virtualPosition={virtualPosition}\n padBottom={padBottom}\n useInteractiveGroups={true}\n screenReaderContent={screenReaderContent}\n ariaPosinset={ariaPosinset}\n ariaSetsize={ariaSetsize}\n {...baseProps}\n >\n <div className={className}>\n {hasCheckbox && (\n <div className={styles.checkbox}>\n <CheckboxIcon checked={selected} indeterminate={isParent && indeterminate} disabled={option.disabled} />\n </div>\n )}\n <Option option={{ ...wrappedOption, disabled }} highlightText={filteringValue} isGroupOption={isParent} />\n </div>\n </SelectableItem>\n );\n};\n\nexport default React.memo(React.forwardRef(MultiSelectItem));\n"]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { MenuProps, GetOptionProps } from '../utils/use-select';
|
|
3
3
|
import { DropdownOption } from '../../internal/components/option/interfaces';
|
|
4
|
+
import { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option';
|
|
4
5
|
export interface SelectListProps {
|
|
5
6
|
menuProps: MenuProps;
|
|
6
7
|
getOptionProps: GetOptionProps;
|
|
7
8
|
filteredOptions: ReadonlyArray<DropdownOption>;
|
|
8
9
|
filteringValue: string;
|
|
9
|
-
|
|
10
|
+
highlightType: HighlightType;
|
|
10
11
|
checkboxes?: boolean;
|
|
11
12
|
hasDropdownStatus?: boolean;
|
|
12
13
|
listBottom?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-list.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/plain-list.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"plain-list.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/plain-list.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAI7E,OAAO,EAAE,aAAa,EAAE,MAAM,mEAAmE,CAAC;AAElG,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,yBAAiB,eAAe,CAAC;IAC/B,KAAY,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;;AAkDD,wBAAqC"}
|
|
@@ -7,21 +7,21 @@ import { renderOptions } from '../utils/render-options';
|
|
|
7
7
|
import { scrollUntilVisible } from '../../internal/utils/scrollable-containers';
|
|
8
8
|
import styles from './styles.css.js';
|
|
9
9
|
var PlainList = function (_a, ref) {
|
|
10
|
-
var menuProps = _a.menuProps, getOptionProps = _a.getOptionProps, filteredOptions = _a.filteredOptions, filteringValue = _a.filteringValue,
|
|
10
|
+
var menuProps = _a.menuProps, getOptionProps = _a.getOptionProps, filteredOptions = _a.filteredOptions, filteringValue = _a.filteringValue, highlightType = _a.highlightType, checkboxes = _a.checkboxes, hasDropdownStatus = _a.hasDropdownStatus, listBottom = _a.listBottom, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent;
|
|
11
11
|
var menuRef = menuProps.ref;
|
|
12
12
|
useImperativeHandle(ref, function () { return function (index) {
|
|
13
13
|
var _a;
|
|
14
14
|
var item = (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.querySelector("[data-mouse-target=\"".concat(index, "\"]"));
|
|
15
|
-
if (
|
|
15
|
+
if (highlightType === 'keyboard' && item) {
|
|
16
16
|
scrollUntilVisible(item);
|
|
17
17
|
}
|
|
18
|
-
}; }, [
|
|
18
|
+
}; }, [highlightType, menuRef]);
|
|
19
19
|
return (React.createElement(OptionsList, __assign({}, menuProps),
|
|
20
20
|
renderOptions({
|
|
21
21
|
options: filteredOptions,
|
|
22
22
|
getOptionProps: getOptionProps,
|
|
23
23
|
filteringValue: filteringValue,
|
|
24
|
-
|
|
24
|
+
highlightType: highlightType,
|
|
25
25
|
checkboxes: checkboxes,
|
|
26
26
|
hasDropdownStatus: hasDropdownStatus,
|
|
27
27
|
useInteractiveGroups: useInteractiveGroups,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-list.js","sourceRoot":"","sources":["../../../../src/select/parts/plain-list.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,MAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"plain-list.js","sourceRoot":"","sources":["../../../../src/select/parts/plain-list.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAoBrC,IAAM,SAAS,GAAG,UAChB,EAWkB,EAClB,GAA6C;QAX3C,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,aAAa,mBAAA,EACb,UAAU,gBAAA,EACV,iBAAiB,uBAAA,EACjB,UAAU,gBAAA,EACV,oBAAoB,0BAAA,EACpB,mBAAmB,yBAAA;IAIrB,IAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC;IAC9B,mBAAmB,CACjB,GAAG,EACH,cAAM,OAAA,UAAC,KAAa;;QAClB,IAAM,IAAI,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,aAAa,CAAC,+BAAuB,KAAK,QAAI,CAAC,CAAC;QAC9E,IAAI,aAAa,KAAK,UAAU,IAAI,IAAI,EAAE;YACxC,kBAAkB,CAAC,IAAmB,CAAC,CAAC;SACzC;IACH,CAAC,EALK,CAKL,EACD,CAAC,aAAa,EAAE,OAAO,CAAC,CACzB,CAAC;IAEF,OAAO,CACL,oBAAC,WAAW,eAAK,SAAS;QACvB,aAAa,CAAC;YACb,OAAO,EAAE,eAAe;YACxB,cAAc,gBAAA;YACd,cAAc,gBAAA;YACd,aAAa,eAAA;YACb,UAAU,YAAA;YACV,iBAAiB,mBAAA;YACjB,oBAAoB,sBAAA;YACpB,mBAAmB,qBAAA;SACpB,CAAC;QACD,UAAU,CAAC,CAAC,CAAC,CACZ,4BAAI,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,IAC/C,UAAU,CACR,CACN,CAAC,CAAC,CAAC,IAAI,CACI,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC,SAAS,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport OptionsList from '../../internal/components/options-list';\nimport React, { forwardRef, useImperativeHandle } from 'react';\nimport { renderOptions } from '../utils/render-options';\nimport { MenuProps, GetOptionProps } from '../utils/use-select';\nimport { DropdownOption } from '../../internal/components/option/interfaces';\nimport { scrollUntilVisible } from '../../internal/utils/scrollable-containers';\n\nimport styles from './styles.css.js';\nimport { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option';\n\nexport interface SelectListProps {\n menuProps: MenuProps;\n getOptionProps: GetOptionProps;\n filteredOptions: ReadonlyArray<DropdownOption>;\n filteringValue: string;\n highlightType: HighlightType;\n checkboxes?: boolean;\n hasDropdownStatus?: boolean;\n listBottom?: React.ReactNode;\n useInteractiveGroups?: boolean;\n screenReaderContent?: string;\n}\n\nexport namespace SelectListProps {\n export type SelectListRef = (index: number) => void;\n}\n\nconst PlainList = (\n {\n menuProps,\n getOptionProps,\n filteredOptions,\n filteringValue,\n highlightType,\n checkboxes,\n hasDropdownStatus,\n listBottom,\n useInteractiveGroups,\n screenReaderContent,\n }: SelectListProps,\n ref: React.Ref<SelectListProps.SelectListRef>\n) => {\n const menuRef = menuProps.ref;\n useImperativeHandle(\n ref,\n () => (index: number) => {\n const item = menuRef.current?.querySelector(`[data-mouse-target=\"${index}\"]`);\n if (highlightType === 'keyboard' && item) {\n scrollUntilVisible(item as HTMLElement);\n }\n },\n [highlightType, menuRef]\n );\n\n return (\n <OptionsList {...menuProps}>\n {renderOptions({\n options: filteredOptions,\n getOptionProps,\n filteringValue,\n highlightType,\n checkboxes,\n hasDropdownStatus,\n useInteractiveGroups,\n screenReaderContent,\n })}\n {listBottom ? (\n <li role=\"option\" className={styles['list-bottom']}>\n {listBottom}\n </li>\n ) : null}\n </OptionsList>\n );\n};\n\nexport default forwardRef(PlainList);\n"]}
|
|
@@ -12,7 +12,7 @@ var VirtualList = function (props, ref) {
|
|
|
12
12
|
return props.menuProps.open ? React.createElement(VirtualListOpen, __assign({}, props, { ref: ref })) : React.createElement(VirtualListClosed, __assign({}, props, { ref: ref }));
|
|
13
13
|
};
|
|
14
14
|
var VirtualListOpen = forwardRef(function (_a, ref) {
|
|
15
|
-
var menuProps = _a.menuProps, getOptionProps = _a.getOptionProps, filteredOptions = _a.filteredOptions, filteringValue = _a.filteringValue,
|
|
15
|
+
var menuProps = _a.menuProps, getOptionProps = _a.getOptionProps, filteredOptions = _a.filteredOptions, filteringValue = _a.filteringValue, highlightType = _a.highlightType, checkboxes = _a.checkboxes, hasDropdownStatus = _a.hasDropdownStatus, listBottom = _a.listBottom, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent;
|
|
16
16
|
// update component, when it gets wider or narrower to reposition items
|
|
17
17
|
var _b = useContainerQuery(function (rect) { return rect.width; }, []), width = _b[0], menuMeasureRef = _b[1];
|
|
18
18
|
var menuRefObject = useRef(null);
|
|
@@ -29,10 +29,10 @@ var VirtualListOpen = forwardRef(function (_a, ref) {
|
|
|
29
29
|
overscan: 5
|
|
30
30
|
}), virtualItems = _c.virtualItems, totalSize = _c.totalSize, scrollToIndex = _c.scrollToIndex;
|
|
31
31
|
useImperativeHandle(ref, function () { return function (index) {
|
|
32
|
-
if (
|
|
32
|
+
if (highlightType === 'keyboard') {
|
|
33
33
|
scrollToIndex(index);
|
|
34
34
|
}
|
|
35
|
-
}; }, [
|
|
35
|
+
}; }, [highlightType, scrollToIndex]);
|
|
36
36
|
var finalOptions = renderOptions({
|
|
37
37
|
options: virtualItems.map(function (_a) {
|
|
38
38
|
var index = _a.index;
|
|
@@ -40,7 +40,7 @@ var VirtualListOpen = forwardRef(function (_a, ref) {
|
|
|
40
40
|
}),
|
|
41
41
|
getOptionProps: getOptionProps,
|
|
42
42
|
filteringValue: filteringValue,
|
|
43
|
-
|
|
43
|
+
highlightType: highlightType,
|
|
44
44
|
checkboxes: checkboxes,
|
|
45
45
|
hasDropdownStatus: hasDropdownStatus,
|
|
46
46
|
virtualItems: virtualItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-list.js","sourceRoot":"","sources":["../../../../src/select/parts/virtual-list.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpF,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,IAAM,WAAW,GAAG,UAAC,KAAsB,EAAE,GAA6C;IACxF,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,eAAe,eAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAC,iBAAiB,eAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtH,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG,UAAU,CAChC,UACE,EAWkB,EAClB,GAA6C;QAX3C,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,
|
|
1
|
+
{"version":3,"file":"virtual-list.js","sourceRoot":"","sources":["../../../../src/select/parts/virtual-list.tsx"],"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 { useMergeRefs } from '../../internal/hooks/use-merge-refs';\nimport React, { forwardRef, useCallback, useImperativeHandle, useRef } from 'react';\nimport OptionsList from '../../internal/components/options-list';\nimport { renderOptions } from '../utils/render-options';\nimport { useVirtual } from 'react-virtual';\nimport { SelectListProps } from './plain-list';\nimport { useContainerQuery } from '../../internal/hooks/container-queries';\n\nimport styles from './styles.css.js';\n\nconst VirtualList = (props: SelectListProps, ref: React.Ref<SelectListProps.SelectListRef>) => {\n return props.menuProps.open ? <VirtualListOpen {...props} ref={ref} /> : <VirtualListClosed {...props} ref={ref} />;\n};\n\nconst VirtualListOpen = forwardRef(\n (\n {\n menuProps,\n getOptionProps,\n filteredOptions,\n filteringValue,\n highlightType,\n checkboxes,\n hasDropdownStatus,\n listBottom,\n useInteractiveGroups,\n screenReaderContent,\n }: SelectListProps,\n ref: React.Ref<SelectListProps.SelectListRef>\n ) => {\n // update component, when it gets wider or narrower to reposition items\n const [width, menuMeasureRef] = useContainerQuery(rect => rect.width, []);\n const menuRefObject = useRef(null);\n const menuRef = useMergeRefs(menuMeasureRef, menuRefObject, menuProps.ref);\n\n const { virtualItems, totalSize, scrollToIndex } = useVirtual({\n size: filteredOptions.length,\n parentRef: menuRefObject,\n // estimateSize is a dependency of measurements memo. We update it to force full recalculation\n // when the height of any option could have changed:\n // 1: because the component got resized (width property got updated)\n // 2: because the option changed its content (filteringValue property controls the highlight and the visibility of hidden tags)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n estimateSize: useCallback(() => 31, [width, filteringValue]),\n overscan: 5,\n });\n useImperativeHandle(\n ref,\n () => (index: number) => {\n if (highlightType === 'keyboard') {\n scrollToIndex(index);\n }\n },\n [highlightType, scrollToIndex]\n );\n const finalOptions = renderOptions({\n options: virtualItems.map(({ index }) => filteredOptions[index]),\n getOptionProps,\n filteringValue,\n highlightType,\n checkboxes,\n hasDropdownStatus,\n virtualItems,\n useInteractiveGroups,\n screenReaderContent,\n ariaSetsize: filteredOptions.length,\n });\n return (\n <OptionsList {...menuProps} ref={menuRef}>\n <div aria-hidden=\"true\" key=\"total-size\" className={styles['layout-strut']} style={{ height: totalSize }} />\n {finalOptions}\n {listBottom ? (\n <li role=\"option\" className={styles['list-bottom']}>\n {listBottom}\n </li>\n ) : null}\n </OptionsList>\n );\n }\n);\n\nconst VirtualListClosed = forwardRef(\n ({ menuProps, listBottom }: SelectListProps, ref: React.Ref<SelectListProps.SelectListRef>) => {\n useImperativeHandle(ref, () => () => {}, []);\n return (\n <OptionsList {...menuProps} ref={menuProps.ref}>\n {listBottom ? (\n <li role=\"option\" className={styles['list-bottom']}>\n {listBottom}\n </li>\n ) : null}\n </OptionsList>\n );\n }\n);\n\nexport default forwardRef(VirtualList);\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { VirtualItem } from 'react-virtual';
|
|
2
2
|
import { DropdownOption } from '../../internal/components/option/interfaces';
|
|
3
|
+
import { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option';
|
|
3
4
|
export interface RenderOptionProps {
|
|
4
5
|
options: ReadonlyArray<DropdownOption>;
|
|
5
6
|
getOptionProps: any;
|
|
6
7
|
filteringValue: string;
|
|
7
|
-
|
|
8
|
+
highlightType: HighlightType;
|
|
8
9
|
checkboxes?: boolean;
|
|
9
10
|
hasDropdownStatus?: boolean;
|
|
10
11
|
virtualItems?: VirtualItem[];
|
|
@@ -12,5 +13,5 @@ export interface RenderOptionProps {
|
|
|
12
13
|
screenReaderContent?: string;
|
|
13
14
|
ariaSetsize?: number;
|
|
14
15
|
}
|
|
15
|
-
export declare const renderOptions: ({ options, getOptionProps, filteringValue,
|
|
16
|
+
export declare const renderOptions: ({ options, getOptionProps, filteringValue, highlightType, checkboxes, hasDropdownStatus, virtualItems, useInteractiveGroups, screenReaderContent, ariaSetsize, }: RenderOptionProps) => JSX.Element[];
|
|
16
17
|
//# sourceMappingURL=render-options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"render-options.d.ts","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,mEAAmE,CAAC;AAElG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,qKAWvB,iBAAiB,kBA8BnB,CAAC"}
|
|
@@ -6,7 +6,7 @@ import Item from '../parts/item';
|
|
|
6
6
|
import MutliselectItem from '../parts/multiselect-item';
|
|
7
7
|
import { getItemProps } from './get-item-props';
|
|
8
8
|
export var renderOptions = function (_a) {
|
|
9
|
-
var options = _a.options, getOptionProps = _a.getOptionProps, filteringValue = _a.filteringValue,
|
|
9
|
+
var options = _a.options, getOptionProps = _a.getOptionProps, filteringValue = _a.filteringValue, highlightType = _a.highlightType, _b = _a.checkboxes, checkboxes = _b === void 0 ? false : _b, hasDropdownStatus = _a.hasDropdownStatus, virtualItems = _a.virtualItems, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent, ariaSetsize = _a.ariaSetsize;
|
|
10
10
|
return options.map(function (option, index) {
|
|
11
11
|
var virtualItem = virtualItems && virtualItems[index];
|
|
12
12
|
var globalIndex = virtualItem ? virtualItem.index : index;
|
|
@@ -20,7 +20,7 @@ export var renderOptions = function (_a) {
|
|
|
20
20
|
var isLastItem = index === options.length - 1;
|
|
21
21
|
var padBottom = !hasDropdownStatus && isLastItem;
|
|
22
22
|
var ListItem = useInteractiveGroups ? MutliselectItem : Item;
|
|
23
|
-
return (React.createElement(ListItem, __assign({ key: globalIndex }, props, { virtualPosition: virtualItem && virtualItem.start, ref: virtualItem && virtualItem.measureRef, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaPosinset: globalIndex + 1, ariaSetsize: ariaSetsize,
|
|
23
|
+
return (React.createElement(ListItem, __assign({ key: globalIndex }, props, { virtualPosition: virtualItem && virtualItem.start, ref: virtualItem && virtualItem.measureRef, padBottom: padBottom, screenReaderContent: screenReaderContent, ariaPosinset: globalIndex + 1, ariaSetsize: ariaSetsize, highlightType: highlightType })));
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=render-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-options.js","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"render-options.js","sourceRoot":"","sources":["../../../../src/select/utils/render-options.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBhD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAWV;QAVlB,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,aAAa,mBAAA,EACb,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,uBAAA,EACjB,YAAY,kBAAA,EACZ,oBAAoB,0BAAA,EACpB,mBAAmB,yBAAA,EACnB,WAAW,iBAAA;IAEX,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK;QAC/B,IAAM,WAAW,GAAG,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD,IAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5D,IAAM,KAAK,GAAG,YAAY,CAAC;YACzB,MAAM,QAAA;YACN,KAAK,EAAE,WAAW;YAClB,cAAc,gBAAA;YACd,cAAc,gBAAA;YACd,UAAU,YAAA;SACX,CAAC,CAAC;QAEH,IAAM,UAAU,GAAG,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAM,SAAS,GAAG,CAAC,iBAAiB,IAAI,UAAU,CAAC;QACnD,IAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/D,OAAO,CACL,oBAAC,QAAQ,aACP,GAAG,EAAE,WAAW,IACZ,KAAK,IACT,eAAe,EAAE,WAAW,IAAI,WAAW,CAAC,KAAK,EACjD,GAAG,EAAE,WAAW,IAAI,WAAW,CAAC,UAAU,EAC1C,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,WAAW,GAAG,CAAC,EAC7B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,IAC5B,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { VirtualItem } from 'react-virtual';\nimport Item from '../parts/item';\nimport MutliselectItem from '../parts/multiselect-item';\nimport { DropdownOption } from '../../internal/components/option/interfaces';\nimport { getItemProps } from './get-item-props';\nimport { HighlightType } from '../../internal/components/options-list/utils/use-highlight-option';\n\nexport interface RenderOptionProps {\n options: ReadonlyArray<DropdownOption>;\n getOptionProps: any;\n filteringValue: string;\n highlightType: HighlightType;\n checkboxes?: boolean;\n hasDropdownStatus?: boolean;\n virtualItems?: VirtualItem[];\n useInteractiveGroups?: boolean;\n screenReaderContent?: string;\n ariaSetsize?: number;\n}\n\nexport const renderOptions = ({\n options,\n getOptionProps,\n filteringValue,\n highlightType,\n checkboxes = false,\n hasDropdownStatus,\n virtualItems,\n useInteractiveGroups,\n screenReaderContent,\n ariaSetsize,\n}: RenderOptionProps) => {\n return options.map((option, index) => {\n const virtualItem = virtualItems && virtualItems[index];\n const globalIndex = virtualItem ? virtualItem.index : index;\n const props = getItemProps({\n option,\n index: globalIndex,\n getOptionProps,\n filteringValue,\n checkboxes,\n });\n\n const isLastItem = index === options.length - 1;\n const padBottom = !hasDropdownStatus && isLastItem;\n const ListItem = useInteractiveGroups ? MutliselectItem : Item;\n\n return (\n <ListItem\n key={globalIndex}\n {...props}\n virtualPosition={virtualItem && virtualItem.start}\n ref={virtualItem && virtualItem.measureRef}\n padBottom={padBottom}\n screenReaderContent={screenReaderContent}\n ariaPosinset={globalIndex + 1}\n ariaSetsize={ariaSetsize}\n highlightType={highlightType}\n />\n );\n });\n};\n"]}
|
|
@@ -4,12 +4,11 @@ export declare const isChar: (keyCode: number) => boolean;
|
|
|
4
4
|
export declare const isRepeatedChar: (str: string) => boolean;
|
|
5
5
|
interface UseNativeSearchProps {
|
|
6
6
|
isEnabled: boolean;
|
|
7
|
-
isKeyboard: React.MutableRefObject<boolean>;
|
|
8
7
|
options: ReadonlyArray<DropdownOption>;
|
|
9
8
|
highlightOption: (option: DropdownOption) => void;
|
|
10
9
|
highlightedOption: OptionDefinition | undefined | null;
|
|
11
10
|
useInteractiveGroups?: boolean;
|
|
12
11
|
}
|
|
13
|
-
export declare function useNativeSearch({ isEnabled, options,
|
|
12
|
+
export declare function useNativeSearch({ isEnabled, options, highlightOption, highlightedOption, useInteractiveGroups, }: UseNativeSearchProps): (event: React.KeyboardEvent) => void;
|
|
14
13
|
export {};
|
|
15
14
|
//# sourceMappingURL=use-native-search.d.ts.map
|