@cloudscape-design/components 3.0.34 → 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.
Files changed (179) hide show
  1. package/app-layout/interfaces.d.ts +2 -0
  2. package/app-layout/interfaces.d.ts.map +1 -1
  3. package/app-layout/interfaces.js.map +1 -1
  4. package/app-layout/styles.css.js +37 -37
  5. package/app-layout/styles.scoped.css +51 -51
  6. package/app-layout/styles.selectors.js +37 -37
  7. package/app-layout/visual-refresh/styles.css.js +59 -59
  8. package/app-layout/visual-refresh/styles.scoped.css +147 -147
  9. package/app-layout/visual-refresh/styles.selectors.js +59 -59
  10. package/autosuggest/autosuggest-option.d.ts +2 -1
  11. package/autosuggest/autosuggest-option.d.ts.map +1 -1
  12. package/autosuggest/autosuggest-option.js +2 -2
  13. package/autosuggest/autosuggest-option.js.map +1 -1
  14. package/autosuggest/controller.d.ts +3 -3
  15. package/autosuggest/controller.d.ts.map +1 -1
  16. package/autosuggest/controller.js +2 -4
  17. package/autosuggest/controller.js.map +1 -1
  18. package/autosuggest/internal.d.ts.map +1 -1
  19. package/autosuggest/internal.js +13 -15
  20. package/autosuggest/internal.js.map +1 -1
  21. package/autosuggest/options-controller.d.ts +9 -13
  22. package/autosuggest/options-controller.d.ts.map +1 -1
  23. package/autosuggest/options-controller.js +10 -15
  24. package/autosuggest/options-controller.js.map +1 -1
  25. package/autosuggest/options-list.d.ts +4 -7
  26. package/autosuggest/options-list.d.ts.map +1 -1
  27. package/autosuggest/options-list.js +8 -9
  28. package/autosuggest/options-list.js.map +1 -1
  29. package/autosuggest/plain-list.d.ts +4 -6
  30. package/autosuggest/plain-list.d.ts.map +1 -1
  31. package/autosuggest/plain-list.js +7 -7
  32. package/autosuggest/plain-list.js.map +1 -1
  33. package/autosuggest/virtual-list.d.ts +1 -1
  34. package/autosuggest/virtual-list.d.ts.map +1 -1
  35. package/autosuggest/virtual-list.js +9 -9
  36. package/autosuggest/virtual-list.js.map +1 -1
  37. package/checkbox/internal.js +1 -1
  38. package/checkbox/internal.js.map +1 -1
  39. package/checkbox/styles.css.js +3 -3
  40. package/checkbox/styles.scoped.css +5 -8
  41. package/checkbox/styles.selectors.js +3 -3
  42. package/{internal/components/content-layout → content-layout}/index.d.ts +1 -1
  43. package/content-layout/index.d.ts.map +1 -0
  44. package/content-layout/index.js +39 -0
  45. package/content-layout/index.js.map +1 -0
  46. package/content-layout/interfaces.d.ts +19 -0
  47. package/content-layout/interfaces.d.ts.map +1 -0
  48. package/{internal/components/content-layout → content-layout}/interfaces.js +0 -0
  49. package/content-layout/interfaces.js.map +1 -0
  50. package/content-layout/styles.css.js +12 -0
  51. package/{internal/components/content-layout → content-layout}/styles.scoped.css +21 -16
  52. package/content-layout/styles.selectors.js +13 -0
  53. package/date-range-picker/embedded.d.ts.map +1 -1
  54. package/date-range-picker/embedded.js +3 -4
  55. package/date-range-picker/embedded.js.map +1 -1
  56. package/date-range-picker/index.d.ts.map +1 -1
  57. package/date-range-picker/index.js +7 -6
  58. package/date-range-picker/index.js.map +1 -1
  59. package/date-range-picker/time-offset.d.ts +2 -2
  60. package/date-range-picker/time-offset.d.ts.map +1 -1
  61. package/date-range-picker/time-offset.js +2 -3
  62. package/date-range-picker/time-offset.js.map +1 -1
  63. package/date-range-picker/use-date-range-picker.d.ts +1 -1
  64. package/date-range-picker/use-date-range-picker.d.ts.map +1 -1
  65. package/date-range-picker/use-date-range-picker.js.map +1 -1
  66. package/index.d.ts +1 -0
  67. package/index.d.ts.map +1 -1
  68. package/index.js +1 -0
  69. package/index.js.map +1 -1
  70. package/internal/base-component/styles.scoped.css +2 -2
  71. package/internal/components/abstract-switch/index.d.ts +2 -1
  72. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  73. package/internal/components/abstract-switch/index.js +3 -3
  74. package/internal/components/abstract-switch/index.js.map +1 -1
  75. package/internal/components/abstract-switch/styles.css.js +12 -11
  76. package/internal/components/abstract-switch/styles.scoped.css +27 -17
  77. package/internal/components/abstract-switch/styles.selectors.js +12 -11
  78. package/internal/components/options-list/utils/use-highlight-option.d.ts +17 -15
  79. package/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
  80. package/internal/components/options-list/utils/use-highlight-option.js +36 -37
  81. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  82. package/internal/components/options-list/utils/use-keyboard.d.ts +0 -2
  83. package/internal/components/options-list/utils/use-keyboard.d.ts.map +1 -1
  84. package/internal/components/options-list/utils/use-keyboard.js +4 -6
  85. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  86. package/internal/components/selectable-item/index.d.ts +2 -1
  87. package/internal/components/selectable-item/index.d.ts.map +1 -1
  88. package/internal/components/selectable-item/index.js +2 -2
  89. package/internal/components/selectable-item/index.js.map +1 -1
  90. package/internal/environment.js +1 -1
  91. package/internal/generated/theming/index.cjs +6 -6
  92. package/internal/generated/theming/index.js +6 -6
  93. package/internal/utils/date-time/format-timezone-offset.d.ts +1 -1
  94. package/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -1
  95. package/internal/utils/date-time/format-timezone-offset.js +2 -1
  96. package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
  97. package/internal/utils/date-time/index.d.ts +0 -1
  98. package/internal/utils/date-time/index.d.ts.map +1 -1
  99. package/internal/utils/date-time/index.js +0 -1
  100. package/internal/utils/date-time/index.js.map +1 -1
  101. package/internal/utils/date-time/parse-timezone-offset.d.ts +1 -1
  102. package/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -1
  103. package/internal/utils/date-time/parse-timezone-offset.js +7 -7
  104. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
  105. package/internal/utils/date-time/shift-timezone-offset.d.ts +1 -1
  106. package/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -1
  107. package/internal/utils/date-time/shift-timezone-offset.js +2 -1
  108. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
  109. package/multiselect/internal.d.ts.map +1 -1
  110. package/multiselect/internal.js +2 -3
  111. package/multiselect/internal.js.map +1 -1
  112. package/package.json +2 -1
  113. package/property-filter/property-filter-autosuggest.d.ts.map +1 -1
  114. package/property-filter/property-filter-autosuggest.js +12 -14
  115. package/property-filter/property-filter-autosuggest.js.map +1 -1
  116. package/radio-group/radio-button.js +1 -1
  117. package/radio-group/radio-button.js.map +1 -1
  118. package/radio-group/styles.css.js +9 -9
  119. package/radio-group/styles.scoped.css +15 -18
  120. package/radio-group/styles.selectors.js +9 -9
  121. package/select/internal.d.ts.map +1 -1
  122. package/select/internal.js +3 -4
  123. package/select/internal.js.map +1 -1
  124. package/select/parts/item.d.ts +2 -1
  125. package/select/parts/item.d.ts.map +1 -1
  126. package/select/parts/item.js +2 -2
  127. package/select/parts/item.js.map +1 -1
  128. package/select/parts/multiselect-item.d.ts +2 -1
  129. package/select/parts/multiselect-item.d.ts.map +1 -1
  130. package/select/parts/multiselect-item.js +2 -2
  131. package/select/parts/multiselect-item.js.map +1 -1
  132. package/select/parts/plain-list.d.ts +2 -1
  133. package/select/parts/plain-list.d.ts.map +1 -1
  134. package/select/parts/plain-list.js +4 -4
  135. package/select/parts/plain-list.js.map +1 -1
  136. package/select/parts/virtual-list.js +4 -4
  137. package/select/parts/virtual-list.js.map +1 -1
  138. package/select/utils/render-options.d.ts +3 -2
  139. package/select/utils/render-options.d.ts.map +1 -1
  140. package/select/utils/render-options.js +2 -2
  141. package/select/utils/render-options.js.map +1 -1
  142. package/select/utils/use-native-search.d.ts +1 -2
  143. package/select/utils/use-native-search.d.ts.map +1 -1
  144. package/select/utils/use-native-search.js +1 -2
  145. package/select/utils/use-native-search.js.map +1 -1
  146. package/select/utils/use-select.d.ts +2 -3
  147. package/select/utils/use-select.d.ts.map +1 -1
  148. package/select/utils/use-select.js +16 -22
  149. package/select/utils/use-select.js.map +1 -1
  150. package/test-utils/dom/content-layout/index.d.ts +6 -0
  151. package/test-utils/dom/content-layout/index.js +37 -0
  152. package/test-utils/dom/content-layout/index.js.map +1 -0
  153. package/test-utils/dom/index.d.ts +3 -0
  154. package/test-utils/dom/index.js +10 -2
  155. package/test-utils/dom/index.js.map +1 -1
  156. package/test-utils/selectors/content-layout/index.d.ts +6 -0
  157. package/test-utils/selectors/content-layout/index.js +37 -0
  158. package/test-utils/selectors/content-layout/index.js.map +1 -0
  159. package/test-utils/selectors/index.d.ts +3 -0
  160. package/test-utils/selectors/index.js +10 -2
  161. package/test-utils/selectors/index.js.map +1 -1
  162. package/test-utils/tsconfig.tsbuildinfo +1 -1
  163. package/toggle/internal.js +1 -1
  164. package/toggle/internal.js.map +1 -1
  165. package/toggle/styles.css.js +8 -8
  166. package/toggle/styles.scoped.css +13 -16
  167. package/toggle/styles.selectors.js +8 -8
  168. package/internal/components/content-layout/index.d.ts.map +0 -1
  169. package/internal/components/content-layout/index.js +0 -24
  170. package/internal/components/content-layout/index.js.map +0 -1
  171. package/internal/components/content-layout/interfaces.d.ts +0 -7
  172. package/internal/components/content-layout/interfaces.d.ts.map +0 -1
  173. package/internal/components/content-layout/interfaces.js.map +0 -1
  174. package/internal/components/content-layout/styles.css.js +0 -12
  175. package/internal/components/content-layout/styles.selectors.js +0 -13
  176. package/internal/utils/date-time/get-browser-timezone-offset.d.ts +0 -7
  177. package/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +0 -1
  178. package/internal/utils/date-time/get-browser-timezone-offset.js +0 -11
  179. 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
- .awsui_root_1mabk_r7q1e_93:not(#\9) {
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
- .awsui_radio_1mabk_r7q1e_105:not(#\9) {
131
+ .awsui_radio_1mabk_1y9l8_105:not(#\9) {
132
132
  /*used in test-utils*/
133
133
  }
134
134
 
135
- .awsui_radio_1mabk_r7q1e_105 + .awsui_radio_1mabk_r7q1e_105:not(#\9) {
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-description_1mabk_r7q1e_113 + .awsui_radio_1mabk_r7q1e_105:not(#\9) {
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-control_1mabk_r7q1e_117:not(#\9) {
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
- .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus {
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
- .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus + span {
154
+ .awsui_outline_1mabk_1y9l8_125:not(#\9) {
158
155
  outline: 2px dotted transparent;
159
156
  outline-offset: calc(2px - 1px);
160
157
  }
161
- .awsui_input_1mabk_r7q1e_125[data-awsui-focus-visible=true]:not(#\9):focus + span::before {
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-border_1mabk_r7q1e_147:not(#\9) {
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-border_1mabk_r7q1e_147.awsui_styled-circle-disabled_1mabk_r7q1e_151:not(#\9) {
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-fill_1mabk_r7q1e_156:not(#\9) {
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-fill_1mabk_r7q1e_156.awsui_styled-circle-checked_1mabk_r7q1e_162:not(#\9) {
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-fill_1mabk_r7q1e_156.awsui_styled-circle-disabled_1mabk_r7q1e_151:not(#\9) {
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-fill_1mabk_r7q1e_156:not(#\9) {
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-fill_1mabk_r7q1e_156:not(#\9), .awsui-mode-entering .awsui_styled-circle-fill_1mabk_r7q1e_156:not(#\9) {
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": "awsui_root_1mabk_r7q1e_93",
6
- "radio": "awsui_radio_1mabk_r7q1e_105",
7
- "radio--has-description": "awsui_radio--has-description_1mabk_r7q1e_113",
8
- "radio-control": "awsui_radio-control_1mabk_r7q1e_117",
9
- "input": "awsui_input_1mabk_r7q1e_125",
10
- "styled-circle-border": "awsui_styled-circle-border_1mabk_r7q1e_147",
11
- "styled-circle-disabled": "awsui_styled-circle-disabled_1mabk_r7q1e_151",
12
- "styled-circle-fill": "awsui_styled-circle-fill_1mabk_r7q1e_156",
13
- "styled-circle-checked": "awsui_styled-circle-checked_1mabk_r7q1e_162"
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
 
@@ -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,6FAmMnB,CAAC;AAEF,eAAe,cAAc,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"}
@@ -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, highlightedOption = _k.highlightedOption, highlightedIndex = _k.highlightedIndex, highlightedType = _k.highlightedType, getTriggerProps = _k.getTriggerProps, getFilterProps = _k.getFilterProps, getMenuProps = _k.getMenuProps, getOptionProps = _k.getOptionProps, isKeyboard = _k.isKeyboard, highlightOption = _k.highlightOption, selectOption = _k.selectOption, announceSelected = _k.announceSelected;
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, highlightedType: highlightedType }))));
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
@@ -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"]}
@@ -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
- highlightedType?: 'mouse' | 'keyboard';
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;AAI/F,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,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CACxC;;AAkED,wBAAkD"}
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"}
@@ -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, highlightedType = _a.highlightedType, restProps = __rest(_a, ["option", "highlighted", "selected", "filteringValue", "hasCheckbox", "virtualPosition", "padBottom", "isNextSelected", "screenReaderContent", "ariaPosinset", "ariaSetsize", "highlightedType"]);
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, highlightedType: highlightedType }, baseProps),
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 }))),
@@ -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;AAiBlD,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,eAAe,qBAAA,EACZ,SAAS,cAbd,iMAcC,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,eAAe,EAAE,eAAe,IAC5B,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';\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 highlightedType?: 'mouse' | 'keyboard';\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 highlightedType,\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 highlightedType={highlightedType}\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
+ {"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
- highlightedType?: 'mouse' | 'keyboard';
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,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CACxC;;AA8DD,wBAA6D"}
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, highlightedType = _a.highlightedType, restProps = __rest(_a, ["option", "highlighted", "selected", "filteringValue", "hasCheckbox", "virtualPosition", "padBottom", "isNextSelected", "indeterminate", "screenReaderContent", "ariaPosinset", "ariaSetsize", "highlightedType"]);
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, highlightedType: highlightedType, ref: ref, virtualPosition: virtualPosition, padBottom: padBottom, useInteractiveGroups: true, screenReaderContent: screenReaderContent, ariaPosinset: ariaPosinset, ariaSetsize: ariaSetsize }, baseProps),
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;AAiBnE,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,eAAe,qBAAA,EACZ,SAAS,cAdd,kNAeC,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,eAAe,EAAE,eAAe,EAChC,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';\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 highlightedType?: 'mouse' | 'keyboard';\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 highlightedType,\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 highlightedType={highlightedType}\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
+ {"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
- highlightedType: 'mouse' | 'keyboard';
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;AAK7E,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,eAAe,EAAE,OAAO,GAAG,UAAU,CAAC;IACtC,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"}
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, highlightedType = _a.highlightedType, checkboxes = _a.checkboxes, hasDropdownStatus = _a.hasDropdownStatus, listBottom = _a.listBottom, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent;
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 (highlightedType === 'keyboard' && item) {
15
+ if (highlightType === 'keyboard' && item) {
16
16
  scrollUntilVisible(item);
17
17
  }
18
- }; }, [highlightedType, menuRef]);
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
- highlightedType: highlightedType,
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;AAmBrC,IAAM,SAAS,GAAG,UAChB,EAWkB,EAClB,GAA6C;QAX3C,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,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,eAAe,KAAK,UAAU,IAAI,IAAI,EAAE;YAC1C,kBAAkB,CAAC,IAAmB,CAAC,CAAC;SACzC;IACH,CAAC,EALK,CAKL,EACD,CAAC,eAAe,EAAE,OAAO,CAAC,CAC3B,CAAC;IAEF,OAAO,CACL,oBAAC,WAAW,eAAK,SAAS;QACvB,aAAa,CAAC;YACb,OAAO,EAAE,eAAe;YACxB,cAAc,gBAAA;YACd,cAAc,gBAAA;YACd,eAAe,iBAAA;YACf,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';\n\nexport interface SelectListProps {\n menuProps: MenuProps;\n getOptionProps: GetOptionProps;\n filteredOptions: ReadonlyArray<DropdownOption>;\n filteringValue: string;\n highlightedType: 'mouse' | 'keyboard';\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 highlightedType,\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 (highlightedType === 'keyboard' && item) {\n scrollUntilVisible(item as HTMLElement);\n }\n },\n [highlightedType, menuRef]\n );\n\n return (\n <OptionsList {...menuProps}>\n {renderOptions({\n options: filteredOptions,\n getOptionProps,\n filteringValue,\n highlightedType,\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"]}
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, highlightedType = _a.highlightedType, checkboxes = _a.checkboxes, hasDropdownStatus = _a.hasDropdownStatus, listBottom = _a.listBottom, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent;
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 (highlightedType === 'keyboard') {
32
+ if (highlightType === 'keyboard') {
33
33
  scrollToIndex(index);
34
34
  }
35
- }; }, [highlightedType, scrollToIndex]);
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
- highlightedType: highlightedType,
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,eAAe,qBAAA,EACf,UAAU,gBAAA,EACV,iBAAiB,uBAAA,EACjB,UAAU,gBAAA,EACV,oBAAoB,0BAAA,EACpB,mBAAmB,yBAAA;IAIrB,uEAAuE;IACjE,IAAA,KAA0B,iBAAiB,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU,EAAE,EAAE,CAAC,EAAlE,KAAK,QAAA,EAAE,cAAc,QAA6C,CAAC;IAC1E,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,IAAM,OAAO,GAAG,YAAY,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAErE,IAAA,KAA6C,UAAU,CAAC;QAC5D,IAAI,EAAE,eAAe,CAAC,MAAM;QAC5B,SAAS,EAAE,aAAa;QACxB,8FAA8F;QAC9F,oDAAoD;QACpD,oEAAoE;QACpE,+HAA+H;QAC/H,uDAAuD;QACvD,YAAY,EAAE,WAAW,CAAC,cAAM,OAAA,EAAE,EAAF,CAAE,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5D,QAAQ,EAAE,CAAC;KACZ,CAAC,EAVM,YAAY,kBAAA,EAAE,SAAS,eAAA,EAAE,aAAa,mBAU5C,CAAC;IACH,mBAAmB,CACjB,GAAG,EACH,cAAM,OAAA,UAAC,KAAa;QAClB,IAAI,eAAe,KAAK,UAAU,EAAE;YAClC,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,EAJK,CAIL,EACD,CAAC,eAAe,EAAE,aAAa,CAAC,CACjC,CAAC;IACF,IAAM,YAAY,GAAG,aAAa,CAAC;QACjC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,UAAC,EAAS;gBAAP,KAAK,WAAA;YAAO,OAAA,eAAe,CAAC,KAAK,CAAC;QAAtB,CAAsB,CAAC;QAChE,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,UAAU,YAAA;QACV,iBAAiB,mBAAA;QACjB,YAAY,cAAA;QACZ,oBAAoB,sBAAA;QACpB,mBAAmB,qBAAA;QACnB,WAAW,EAAE,eAAe,CAAC,MAAM;KACpC,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,WAAW,eAAK,SAAS,IAAE,GAAG,EAAE,OAAO;QACtC,4CAAiB,MAAM,EAAC,GAAG,EAAC,YAAY,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAI;QAC3G,YAAY;QACZ,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,CACF,CAAC;AAEF,IAAM,iBAAiB,GAAG,UAAU,CAClC,UAAC,EAA0C,EAAE,GAA6C;QAAvF,SAAS,eAAA,EAAE,UAAU,gBAAA;IACtB,mBAAmB,CAAC,GAAG,EAAE,cAAM,OAAA,cAAO,CAAC,EAAR,CAAQ,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,CACL,oBAAC,WAAW,eAAK,SAAS,IAAE,GAAG,EAAE,SAAS,CAAC,GAAG,KAC3C,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,CACF,CAAC;AAEF,eAAe,UAAU,CAAC,WAAW,CAAC,CAAC","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 highlightedType,\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 (highlightedType === 'keyboard') {\n scrollToIndex(index);\n }\n },\n [highlightedType, scrollToIndex]\n );\n const finalOptions = renderOptions({\n options: virtualItems.map(({ index }) => filteredOptions[index]),\n getOptionProps,\n filteringValue,\n highlightedType,\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
+ {"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
- highlightedType: 'mouse' | 'keyboard';
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, highlightedType, checkboxes, hasDropdownStatus, virtualItems, useInteractiveGroups, screenReaderContent, ariaSetsize, }: RenderOptionProps) => JSX.Element[];
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;AAG7E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,GAAG,UAAU,CAAC;IACtC,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,uKAWvB,iBAAiB,kBA8BnB,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, highlightedType = _a.highlightedType, _b = _a.checkboxes, checkboxes = _b === void 0 ? false : _b, hasDropdownStatus = _a.hasDropdownStatus, virtualItems = _a.virtualItems, useInteractiveGroups = _a.useInteractiveGroups, screenReaderContent = _a.screenReaderContent, ariaSetsize = _a.ariaSetsize;
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, highlightedType: highlightedType })));
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;AAehD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAWV;QAVlB,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,eAAe,qBAAA,EACf,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,eAAe,EAAE,eAAe,IAChC,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';\n\nexport interface RenderOptionProps {\n options: ReadonlyArray<DropdownOption>;\n getOptionProps: any;\n filteringValue: string;\n highlightedType: 'mouse' | 'keyboard';\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 highlightedType,\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 highlightedType={highlightedType}\n />\n );\n });\n};\n"]}
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, isKeyboard, highlightOption, highlightedOption, useInteractiveGroups, }: UseNativeSearchProps): (event: React.KeyboardEvent) => void;
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