@cloudscape-design/components 3.0.29 → 3.0.32

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 (185) hide show
  1. package/app-layout/index.d.ts.map +1 -1
  2. package/app-layout/index.js +6 -21
  3. package/app-layout/index.js.map +1 -1
  4. package/app-layout/notifications/index.d.ts.map +1 -1
  5. package/app-layout/notifications/index.js +5 -16
  6. package/app-layout/notifications/index.js.map +1 -1
  7. package/app-layout/notifications/styles.css.js +1 -1
  8. package/app-layout/notifications/styles.scoped.css +2 -1
  9. package/app-layout/notifications/styles.selectors.js +1 -1
  10. package/app-layout/visual-refresh/styles.css.js +59 -59
  11. package/app-layout/visual-refresh/styles.scoped.css +146 -146
  12. package/app-layout/visual-refresh/styles.selectors.js +59 -59
  13. package/autosuggest/autosuggest-option.d.ts +1 -0
  14. package/autosuggest/autosuggest-option.d.ts.map +1 -1
  15. package/autosuggest/autosuggest-option.js +2 -2
  16. package/autosuggest/autosuggest-option.js.map +1 -1
  17. package/autosuggest/controller.d.ts +2 -5
  18. package/autosuggest/controller.d.ts.map +1 -1
  19. package/autosuggest/controller.js +5 -49
  20. package/autosuggest/controller.js.map +1 -1
  21. package/autosuggest/internal.d.ts +0 -7
  22. package/autosuggest/internal.d.ts.map +1 -1
  23. package/autosuggest/internal.js +23 -40
  24. package/autosuggest/internal.js.map +1 -1
  25. package/autosuggest/options-controller.d.ts +25 -0
  26. package/autosuggest/options-controller.d.ts.map +1 -0
  27. package/autosuggest/options-controller.js +64 -0
  28. package/autosuggest/options-controller.js.map +1 -0
  29. package/autosuggest/options-list.d.ts +3 -2
  30. package/autosuggest/options-list.d.ts.map +1 -1
  31. package/autosuggest/options-list.js +8 -7
  32. package/autosuggest/options-list.js.map +1 -1
  33. package/autosuggest/plain-list.d.ts +2 -2
  34. package/autosuggest/plain-list.d.ts.map +1 -1
  35. package/autosuggest/plain-list.js +4 -4
  36. package/autosuggest/plain-list.js.map +1 -1
  37. package/autosuggest/virtual-list.d.ts +1 -1
  38. package/autosuggest/virtual-list.d.ts.map +1 -1
  39. package/autosuggest/virtual-list.js +4 -4
  40. package/autosuggest/virtual-list.js.map +1 -1
  41. package/button-dropdown/category-elements/category-element.d.ts +1 -1
  42. package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
  43. package/button-dropdown/category-elements/category-element.js +2 -2
  44. package/button-dropdown/category-elements/category-element.js.map +1 -1
  45. package/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
  46. package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  47. package/button-dropdown/category-elements/expandable-category-element.js +4 -2
  48. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  49. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
  50. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  51. package/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
  52. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  53. package/button-dropdown/category-elements/styles.css.js +13 -12
  54. package/button-dropdown/category-elements/styles.scoped.css +26 -22
  55. package/button-dropdown/category-elements/styles.selectors.js +13 -12
  56. package/button-dropdown/interfaces.d.ts +2 -0
  57. package/button-dropdown/interfaces.d.ts.map +1 -1
  58. package/button-dropdown/interfaces.js.map +1 -1
  59. package/button-dropdown/internal.d.ts.map +1 -1
  60. package/button-dropdown/internal.js +5 -10
  61. package/button-dropdown/internal.js.map +1 -1
  62. package/button-dropdown/item-element/index.d.ts +1 -1
  63. package/button-dropdown/item-element/index.d.ts.map +1 -1
  64. package/button-dropdown/item-element/index.js +2 -1
  65. package/button-dropdown/item-element/index.js.map +1 -1
  66. package/button-dropdown/item-element/styles.css.js +14 -13
  67. package/button-dropdown/item-element/styles.scoped.css +21 -17
  68. package/button-dropdown/item-element/styles.selectors.js +14 -13
  69. package/button-dropdown/items-list.d.ts +1 -1
  70. package/button-dropdown/items-list.d.ts.map +1 -1
  71. package/button-dropdown/items-list.js +4 -4
  72. package/button-dropdown/items-list.js.map +1 -1
  73. package/button-dropdown/utils/use-button-dropdown.d.ts +2 -2
  74. package/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
  75. package/button-dropdown/utils/use-button-dropdown.js +7 -5
  76. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  77. package/button-dropdown/utils/use-highlighted-menu.d.ts +1 -0
  78. package/button-dropdown/utils/use-highlighted-menu.d.ts.map +1 -1
  79. package/button-dropdown/utils/use-highlighted-menu.js +11 -3
  80. package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
  81. package/checkbox/styles.css.js +3 -3
  82. package/checkbox/styles.scoped.css +6 -6
  83. package/checkbox/styles.selectors.js +3 -3
  84. package/date-range-picker/dropdown.d.ts +1 -0
  85. package/date-range-picker/dropdown.d.ts.map +1 -1
  86. package/date-range-picker/dropdown.js +18 -30
  87. package/date-range-picker/dropdown.js.map +1 -1
  88. package/date-range-picker/embedded.d.ts +7 -0
  89. package/date-range-picker/embedded.d.ts.map +1 -0
  90. package/date-range-picker/embedded.js +46 -0
  91. package/date-range-picker/embedded.js.map +1 -0
  92. package/date-range-picker/index.d.ts.map +1 -1
  93. package/date-range-picker/index.js +2 -15
  94. package/date-range-picker/index.js.map +1 -1
  95. package/date-range-picker/interfaces.d.ts +46 -44
  96. package/date-range-picker/interfaces.d.ts.map +1 -1
  97. package/date-range-picker/interfaces.js.map +1 -1
  98. package/date-range-picker/use-date-range-picker.d.ts +29 -0
  99. package/date-range-picker/use-date-range-picker.d.ts.map +1 -0
  100. package/date-range-picker/use-date-range-picker.js +58 -0
  101. package/date-range-picker/use-date-range-picker.js.map +1 -0
  102. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  103. package/internal/components/abstract-switch/index.js +5 -5
  104. package/internal/components/abstract-switch/index.js.map +1 -1
  105. package/internal/components/abstract-switch/styles.css.js +11 -11
  106. package/internal/components/abstract-switch/styles.scoped.css +20 -13
  107. package/internal/components/abstract-switch/styles.selectors.js +11 -11
  108. package/internal/components/options-list/utils/use-highlight-option.d.ts +7 -2
  109. package/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
  110. package/internal/components/options-list/utils/use-highlight-option.js +10 -3
  111. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  112. package/internal/components/selectable-item/index.d.ts +1 -1
  113. package/internal/components/selectable-item/index.d.ts.map +1 -1
  114. package/internal/components/selectable-item/index.js +2 -2
  115. package/internal/components/selectable-item/index.js.map +1 -1
  116. package/internal/components/selectable-item/styles.css.js +16 -16
  117. package/internal/components/selectable-item/styles.scoped.css +29 -30
  118. package/internal/components/selectable-item/styles.selectors.js +16 -16
  119. package/internal/environment.js +1 -1
  120. package/multiselect/internal.d.ts.map +1 -1
  121. package/multiselect/internal.js +2 -2
  122. package/multiselect/internal.js.map +1 -1
  123. package/package.json +1 -1
  124. package/property-filter/controller.d.ts +2 -2
  125. package/property-filter/controller.js +3 -3
  126. package/property-filter/controller.js.map +1 -1
  127. package/property-filter/index.d.ts.map +1 -1
  128. package/property-filter/index.js +3 -3
  129. package/property-filter/index.js.map +1 -1
  130. package/property-filter/property-filter-autosuggest.d.ts +14 -0
  131. package/property-filter/property-filter-autosuggest.d.ts.map +1 -0
  132. package/property-filter/property-filter-autosuggest.js +143 -0
  133. package/property-filter/property-filter-autosuggest.js.map +1 -0
  134. package/radio-group/styles.css.js +9 -9
  135. package/radio-group/styles.scoped.css +16 -16
  136. package/radio-group/styles.selectors.js +9 -9
  137. package/select/internal.d.ts.map +1 -1
  138. package/select/internal.js +2 -2
  139. package/select/internal.js.map +1 -1
  140. package/select/parts/item.d.ts +1 -1
  141. package/select/parts/item.d.ts.map +1 -1
  142. package/select/parts/item.js +6 -3
  143. package/select/parts/item.js.map +1 -1
  144. package/select/parts/multiselect-item.d.ts +1 -1
  145. package/select/parts/multiselect-item.d.ts.map +1 -1
  146. package/select/parts/multiselect-item.js +2 -2
  147. package/select/parts/multiselect-item.js.map +1 -1
  148. package/select/parts/plain-list.d.ts +1 -1
  149. package/select/parts/plain-list.d.ts.map +1 -1
  150. package/select/parts/plain-list.js +4 -4
  151. package/select/parts/plain-list.js.map +1 -1
  152. package/select/parts/styles.css.js +8 -7
  153. package/select/parts/styles.scoped.css +12 -7
  154. package/select/parts/styles.selectors.js +8 -7
  155. package/select/parts/virtual-list.js +4 -4
  156. package/select/parts/virtual-list.js.map +1 -1
  157. package/select/utils/get-item-props.d.ts +1 -2
  158. package/select/utils/get-item-props.d.ts.map +1 -1
  159. package/select/utils/get-item-props.js +3 -3
  160. package/select/utils/get-item-props.js.map +1 -1
  161. package/select/utils/render-options.d.ts +2 -2
  162. package/select/utils/render-options.d.ts.map +1 -1
  163. package/select/utils/render-options.js +2 -3
  164. package/select/utils/render-options.js.map +1 -1
  165. package/select/utils/use-select.d.ts +1 -0
  166. package/select/utils/use-select.d.ts.map +1 -1
  167. package/select/utils/use-select.js +2 -1
  168. package/select/utils/use-select.js.map +1 -1
  169. package/toggle/internal.d.ts.map +1 -1
  170. package/toggle/internal.js +3 -1
  171. package/toggle/internal.js.map +1 -1
  172. package/toggle/styles.css.js +8 -8
  173. package/toggle/styles.scoped.css +15 -14
  174. package/toggle/styles.selectors.js +8 -8
  175. package/app-layout/dark-header/index.d.ts +0 -11
  176. package/app-layout/dark-header/index.d.ts.map +0 -1
  177. package/app-layout/dark-header/index.js +0 -10
  178. package/app-layout/dark-header/index.js.map +0 -1
  179. package/app-layout/dark-header/styles.css.js +0 -6
  180. package/app-layout/dark-header/styles.scoped.css +0 -13
  181. package/app-layout/dark-header/styles.selectors.js +0 -7
  182. package/app-layout/utils/use-sticky-position.d.ts +0 -2
  183. package/app-layout/utils/use-sticky-position.d.ts.map +0 -1
  184. package/app-layout/utils/use-sticky-position.js +0 -54
  185. package/app-layout/utils/use-sticky-position.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_item-element_93a1u_1cg8g_93:not(#\9) {
93
+ .awsui_item-element_93a1u_lwral_93:not(#\9) {
94
94
  position: relative;
95
95
  z-index: 1;
96
96
  border: var(--border-item-width-qbbbsa, 2px) solid transparent;
@@ -100,48 +100,52 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
100
100
  margin-top: calc(-1 * var(--border-field-width-idlekx, 2px));
101
101
  cursor: pointer;
102
102
  }
103
- .awsui_item-element_93a1u_1cg8g_93.awsui_disabled_93a1u_1cg8g_103:not(#\9) {
103
+ .awsui_item-element_93a1u_lwral_93.awsui_disabled_93a1u_lwral_103:not(#\9) {
104
104
  cursor: default;
105
105
  color: var(--color-text-dropdown-item-disabled-varol7, #9ba7b6);
106
106
  }
107
- .awsui_item-element_93a1u_1cg8g_93:not(#\9):first-child {
107
+ .awsui_item-element_93a1u_lwral_93:not(#\9):first-child {
108
108
  margin-top: 0;
109
109
  }
110
- .awsui_item-element_93a1u_1cg8g_93.awsui_last_93a1u_1cg8g_110:not(#\9) {
110
+ .awsui_item-element_93a1u_lwral_93.awsui_last_93a1u_lwral_110:not(#\9) {
111
111
  border-bottom: var(--border-item-width-qbbbsa, 2px) solid var(--color-border-dropdown-group-0utpsr, #e9ebed);
112
112
  }
113
- .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113:not(#\9) {
113
+ .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113:not(#\9) {
114
114
  color: var(--color-text-dropdown-item-highlighted-oaabyk, #000716);
115
115
  z-index: 2;
116
116
  }
117
- .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113.awsui_variant-icon_93a1u_1cg8g_117:not(#\9), .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113.awsui_variant-normal_93a1u_1cg8g_117:not(#\9), .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113.awsui_variant-primary_93a1u_1cg8g_117:not(#\9) {
117
+ .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-icon_93a1u_lwral_117:not(#\9), .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-normal_93a1u_lwral_117:not(#\9), .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-primary_93a1u_lwral_117:not(#\9) {
118
118
  background-color: var(--color-background-dropdown-item-hover-mqsxkv, #f4f4f4);
119
119
  border-color: var(--color-border-dropdown-item-hover-tyzq9m, #7d8998);
120
120
  border-radius: var(--border-radius-item-u2ibpi, 8px);
121
121
  }
122
- .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113.awsui_variant-icon_93a1u_1cg8g_117.awsui_disabled_93a1u_1cg8g_103:not(#\9), .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113.awsui_variant-normal_93a1u_1cg8g_117.awsui_disabled_93a1u_1cg8g_103:not(#\9), .awsui_item-element_93a1u_1cg8g_93.awsui_highlighted_93a1u_1cg8g_113.awsui_variant-primary_93a1u_1cg8g_117.awsui_disabled_93a1u_1cg8g_103:not(#\9) {
122
+ .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-icon_93a1u_lwral_117.awsui_disabled_93a1u_lwral_103:not(#\9), .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-normal_93a1u_lwral_117.awsui_disabled_93a1u_lwral_103:not(#\9), .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-primary_93a1u_lwral_117.awsui_disabled_93a1u_lwral_103:not(#\9) {
123
123
  color: var(--color-text-dropdown-item-dimmed-jyqdrs, #9ba7b6);
124
124
  border-color: var(--color-border-dropdown-item-dimmed-hover-6dhy15, #7d8998);
125
125
  background-color: var(--color-background-dropdown-item-dimmed-qw48ma, transparent);
126
126
  }
127
- .awsui_item-element_93a1u_1cg8g_93.awsui_variant-navigation_93a1u_1cg8g_127.awsui_highlighted_93a1u_1cg8g_113:not(#\9) {
127
+ .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-icon_93a1u_lwral_117.awsui_is-focused_93a1u_lwral_127:not(#\9), .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-normal_93a1u_lwral_117.awsui_is-focused_93a1u_lwral_127:not(#\9), .awsui_item-element_93a1u_lwral_93.awsui_highlighted_93a1u_lwral_113.awsui_variant-primary_93a1u_lwral_117.awsui_is-focused_93a1u_lwral_127:not(#\9) {
128
+ border-color: var(--color-border-item-focused-ap3b6s, #0972d3);
129
+ box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-srzyiu, 0px) var(--color-border-item-focused-ap3b6s, #0972d3);
130
+ }
131
+ .awsui_item-element_93a1u_lwral_93.awsui_variant-navigation_93a1u_lwral_131.awsui_highlighted_93a1u_lwral_113:not(#\9) {
128
132
  color: var(--color-text-accent-s1eqko, #0972d3);
129
133
  }
130
- .awsui_item-element_93a1u_1cg8g_93.awsui_variant-navigation_93a1u_1cg8g_127.awsui_first_93a1u_1cg8g_130:not(#\9):not(.awsui_has-category-header_93a1u_1cg8g_130) {
134
+ .awsui_item-element_93a1u_lwral_93.awsui_variant-navigation_93a1u_lwral_131.awsui_first_93a1u_lwral_134:not(#\9):not(.awsui_has-category-header_93a1u_lwral_134) {
131
135
  padding-top: var(--space-xxs-ynfts5, 4px);
132
136
  }
133
- .awsui_item-element_93a1u_1cg8g_93.awsui_variant-navigation_93a1u_1cg8g_127.awsui_last_93a1u_1cg8g_110:not(#\9) {
137
+ .awsui_item-element_93a1u_lwral_93.awsui_variant-navigation_93a1u_lwral_131.awsui_last_93a1u_lwral_110:not(#\9) {
134
138
  padding-bottom: var(--space-xxs-ynfts5, 4px);
135
139
  }
136
- .awsui_item-element_93a1u_1cg8g_93.awsui_variant-navigation_93a1u_1cg8g_127.awsui_first_93a1u_1cg8g_130.awsui_last_93a1u_1cg8g_110:not(#\9) {
140
+ .awsui_item-element_93a1u_lwral_93.awsui_variant-navigation_93a1u_lwral_131.awsui_first_93a1u_lwral_134.awsui_last_93a1u_lwral_110:not(#\9) {
137
141
  padding-bottom: var(--space-xxs-ynfts5, 4px);
138
142
  padding-top: var(--space-xxs-ynfts5, 4px);
139
143
  }
140
- .awsui_item-element_93a1u_1cg8g_93.awsui_variant-navigation_93a1u_1cg8g_127.awsui_last_93a1u_1cg8g_110:not(#\9):last-child {
144
+ .awsui_item-element_93a1u_lwral_93.awsui_variant-navigation_93a1u_lwral_131.awsui_last_93a1u_lwral_110:not(#\9):last-child {
141
145
  padding-bottom: var(--space-xxs-ynfts5, 4px);
142
146
  }
143
147
 
144
- .awsui_menu-item_93a1u_1cg8g_144:not(#\9) {
148
+ .awsui_menu-item_93a1u_lwral_148:not(#\9) {
145
149
  min-width: 0;
146
150
  -ms-word-break: break-all;
147
151
  word-break: break-word;
@@ -152,18 +156,18 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
152
156
  text-decoration: none;
153
157
  /* stylelint-disable-next-line selector-max-type */
154
158
  }
155
- .awsui_menu-item_93a1u_1cg8g_144:not(#\9):focus {
159
+ .awsui_menu-item_93a1u_lwral_148:not(#\9):focus {
156
160
  outline: none;
157
161
  }
158
- .awsui_has-category-header_93a1u_1cg8g_130 > .awsui_menu-item_93a1u_1cg8g_144:not(#\9), .awsui_has-category-header_93a1u_1cg8g_130 > span > .awsui_menu-item_93a1u_1cg8g_144:not(#\9) {
162
+ .awsui_has-category-header_93a1u_lwral_134 > .awsui_menu-item_93a1u_lwral_148:not(#\9), .awsui_has-category-header_93a1u_lwral_134 > span > .awsui_menu-item_93a1u_lwral_148:not(#\9) {
159
163
  padding-left: var(--space-xxl-2nvmf1, 32px);
160
164
  }
161
165
 
162
- .awsui_icon_93a1u_1cg8g_162:not(#\9) {
166
+ .awsui_icon_93a1u_lwral_166:not(#\9) {
163
167
  padding-right: var(--space-xs-rsr2qu, 8px);
164
168
  flex-shrink: 0;
165
169
  }
166
170
 
167
- .awsui_external-icon_93a1u_1cg8g_167:not(#\9) {
171
+ .awsui_external-icon_93a1u_lwral_171:not(#\9) {
168
172
  margin-left: var(--space-xxs-ynfts5, 4px);
169
173
  }
@@ -2,18 +2,19 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "item-element": "awsui_item-element_93a1u_1cg8g_93",
6
- "disabled": "awsui_disabled_93a1u_1cg8g_103",
7
- "last": "awsui_last_93a1u_1cg8g_110",
8
- "highlighted": "awsui_highlighted_93a1u_1cg8g_113",
9
- "variant-icon": "awsui_variant-icon_93a1u_1cg8g_117",
10
- "variant-normal": "awsui_variant-normal_93a1u_1cg8g_117",
11
- "variant-primary": "awsui_variant-primary_93a1u_1cg8g_117",
12
- "variant-navigation": "awsui_variant-navigation_93a1u_1cg8g_127",
13
- "first": "awsui_first_93a1u_1cg8g_130",
14
- "has-category-header": "awsui_has-category-header_93a1u_1cg8g_130",
15
- "menu-item": "awsui_menu-item_93a1u_1cg8g_144",
16
- "icon": "awsui_icon_93a1u_1cg8g_162",
17
- "external-icon": "awsui_external-icon_93a1u_1cg8g_167"
5
+ "item-element": "awsui_item-element_93a1u_lwral_93",
6
+ "disabled": "awsui_disabled_93a1u_lwral_103",
7
+ "last": "awsui_last_93a1u_lwral_110",
8
+ "highlighted": "awsui_highlighted_93a1u_lwral_113",
9
+ "variant-icon": "awsui_variant-icon_93a1u_lwral_117",
10
+ "variant-normal": "awsui_variant-normal_93a1u_lwral_117",
11
+ "variant-primary": "awsui_variant-primary_93a1u_lwral_117",
12
+ "is-focused": "awsui_is-focused_93a1u_lwral_127",
13
+ "variant-navigation": "awsui_variant-navigation_93a1u_lwral_131",
14
+ "first": "awsui_first_93a1u_lwral_134",
15
+ "has-category-header": "awsui_has-category-header_93a1u_lwral_134",
16
+ "menu-item": "awsui_menu-item_93a1u_lwral_148",
17
+ "icon": "awsui_icon_93a1u_lwral_166",
18
+ "external-icon": "awsui_external-icon_93a1u_lwral_171"
18
19
  };
19
20
 
@@ -1,3 +1,3 @@
1
1
  import { ItemListProps } from './interfaces';
2
- export default function ItemsList({ items, onItemActivate, onGroupToggle, targetItem, isHighlighted, isExpanded, highlightItem, categoryDisabled, hasExpandableGroups, hasCategoryHeader, expandToViewport, variant, }: ItemListProps): JSX.Element;
2
+ export default function ItemsList({ items, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, highlightItem, categoryDisabled, hasExpandableGroups, hasCategoryHeader, expandToViewport, variant, }: ItemListProps): JSX.Element;
3
3
  //# sourceMappingURL=items-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"items-list.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/items-list.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAQ7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,gBAAwB,EACxB,mBAA2B,EAC3B,iBAAyB,EACzB,gBAAwB,EACxB,OAAkB,GACnB,EAAE,aAAa,eAqEf"}
1
+ {"version":3,"file":"items-list.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/items-list.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAQ7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,KAAK,EACL,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,gBAAwB,EACxB,mBAA2B,EAC3B,iBAAyB,EACzB,gBAAwB,EACxB,OAAkB,GACnB,EAAE,aAAa,eAyEf"}
@@ -8,17 +8,17 @@ import { isItemGroup } from './utils/utils';
8
8
  import { useMobile } from '../internal/hooks/use-mobile';
9
9
  import MobileExpandableCategoryElement from './category-elements/mobile-expandable-category-element';
10
10
  export default function ItemsList(_a) {
11
- var items = _a.items, onItemActivate = _a.onItemActivate, onGroupToggle = _a.onGroupToggle, targetItem = _a.targetItem, isHighlighted = _a.isHighlighted, isExpanded = _a.isExpanded, highlightItem = _a.highlightItem, _b = _a.categoryDisabled, categoryDisabled = _b === void 0 ? false : _b, _c = _a.hasExpandableGroups, hasExpandableGroups = _c === void 0 ? false : _c, _d = _a.hasCategoryHeader, hasCategoryHeader = _d === void 0 ? false : _d, _e = _a.expandToViewport, expandToViewport = _e === void 0 ? false : _e, _f = _a.variant, variant = _f === void 0 ? 'normal' : _f;
11
+ var items = _a.items, onItemActivate = _a.onItemActivate, onGroupToggle = _a.onGroupToggle, targetItem = _a.targetItem, isHighlighted = _a.isHighlighted, isKeyboardHighlight = _a.isKeyboardHighlight, isExpanded = _a.isExpanded, highlightItem = _a.highlightItem, _b = _a.categoryDisabled, categoryDisabled = _b === void 0 ? false : _b, _c = _a.hasExpandableGroups, hasExpandableGroups = _c === void 0 ? false : _c, _d = _a.hasCategoryHeader, hasCategoryHeader = _d === void 0 ? false : _d, _e = _a.expandToViewport, expandToViewport = _e === void 0 ? false : _e, _f = _a.variant, variant = _f === void 0 ? 'normal' : _f;
12
12
  var isMobile = useMobile();
13
13
  var elements = items.map(function (item, index) {
14
14
  var _a, _b, _c, _d;
15
15
  if (!isItemGroup(item)) {
16
- return (React.createElement(ItemElement, { key: index, item: item, onItemActivate: onItemActivate, disabled: (_a = item.disabled) !== null && _a !== void 0 ? _a : categoryDisabled, highlighted: isHighlighted(item), highlightItem: highlightItem, first: index === 0 || isItemGroup(items[index - 1]), last: index === items.length - 1 || isItemGroup(items[index + 1]), hasCategoryHeader: hasCategoryHeader, variant: variant }));
16
+ return (React.createElement(ItemElement, { key: index, item: item, onItemActivate: onItemActivate, disabled: (_a = item.disabled) !== null && _a !== void 0 ? _a : categoryDisabled, highlighted: isHighlighted(item), isKeyboardHighlighted: isKeyboardHighlight(item), highlightItem: highlightItem, first: index === 0 || isItemGroup(items[index - 1]), last: index === items.length - 1 || isItemGroup(items[index + 1]), hasCategoryHeader: hasCategoryHeader, variant: variant }));
17
17
  }
18
18
  if (hasExpandableGroups) {
19
- return item.text ? (isMobile ? (React.createElement(MobileExpandableCategoryElement, { key: index, item: item, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isExpanded: isExpanded, highlightItem: highlightItem, disabled: (_b = item.disabled) !== null && _b !== void 0 ? _b : false, variant: variant })) : (React.createElement(ExpandableCategoryElement, { key: index, item: item, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isExpanded: isExpanded, highlightItem: highlightItem, disabled: (_c = item.disabled) !== null && _c !== void 0 ? _c : false, expandToViewport: expandToViewport, variant: variant }))) : null;
19
+ return item.text ? (isMobile ? (React.createElement(MobileExpandableCategoryElement, { key: index, item: item, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, highlightItem: highlightItem, disabled: (_b = item.disabled) !== null && _b !== void 0 ? _b : false, variant: variant })) : (React.createElement(ExpandableCategoryElement, { key: index, item: item, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, highlightItem: highlightItem, disabled: (_c = item.disabled) !== null && _c !== void 0 ? _c : false, expandToViewport: expandToViewport, variant: variant }))) : null;
20
20
  }
21
- return (React.createElement(CategoryElement, { key: index, item: item, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isExpanded: isExpanded, highlightItem: highlightItem, disabled: (_d = item.disabled) !== null && _d !== void 0 ? _d : false, variant: variant }));
21
+ return (React.createElement(CategoryElement, { key: index, item: item, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, highlightItem: highlightItem, disabled: (_d = item.disabled) !== null && _d !== void 0 ? _d : false, variant: variant }));
22
22
  });
23
23
  return React.createElement(React.Fragment, null, elements);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"items-list.js","sourceRoot":"","sources":["../../../src/button-dropdown/items-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 React from 'react';\nimport { ItemListProps } from './interfaces';\nimport ItemElement from './item-element';\nimport ExpandableCategoryElement from './category-elements/expandable-category-element';\nimport CategoryElement from './category-elements/category-element';\nimport { isItemGroup } from './utils/utils';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport MobileExpandableCategoryElement from './category-elements/mobile-expandable-category-element';\n\nexport default function ItemsList({\n items,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isExpanded,\n highlightItem,\n categoryDisabled = false,\n hasExpandableGroups = false,\n hasCategoryHeader = false,\n expandToViewport = false,\n variant = 'normal',\n}: ItemListProps) {\n const isMobile = useMobile();\n\n const elements = items.map((item, index) => {\n if (!isItemGroup(item)) {\n return (\n <ItemElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n disabled={item.disabled ?? categoryDisabled}\n highlighted={isHighlighted(item)}\n highlightItem={highlightItem}\n first={index === 0 || isItemGroup(items[index - 1])}\n last={index === items.length - 1 || isItemGroup(items[index + 1])}\n hasCategoryHeader={hasCategoryHeader}\n variant={variant}\n />\n );\n }\n if (hasExpandableGroups) {\n return item.text ? (\n isMobile ? (\n <MobileExpandableCategoryElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isExpanded={isExpanded}\n highlightItem={highlightItem}\n disabled={item.disabled ?? false}\n variant={variant}\n />\n ) : (\n <ExpandableCategoryElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isExpanded={isExpanded}\n highlightItem={highlightItem}\n disabled={item.disabled ?? false}\n expandToViewport={expandToViewport}\n variant={variant}\n />\n )\n ) : null;\n }\n return (\n <CategoryElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isExpanded={isExpanded}\n highlightItem={highlightItem}\n disabled={item.disabled ?? false}\n variant={variant}\n />\n );\n });\n\n return <>{elements}</>;\n}\n"]}
1
+ {"version":3,"file":"items-list.js","sourceRoot":"","sources":["../../../src/button-dropdown/items-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 React from 'react';\nimport { ItemListProps } from './interfaces';\nimport ItemElement from './item-element';\nimport ExpandableCategoryElement from './category-elements/expandable-category-element';\nimport CategoryElement from './category-elements/category-element';\nimport { isItemGroup } from './utils/utils';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport MobileExpandableCategoryElement from './category-elements/mobile-expandable-category-element';\n\nexport default function ItemsList({\n items,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n categoryDisabled = false,\n hasExpandableGroups = false,\n hasCategoryHeader = false,\n expandToViewport = false,\n variant = 'normal',\n}: ItemListProps) {\n const isMobile = useMobile();\n\n const elements = items.map((item, index) => {\n if (!isItemGroup(item)) {\n return (\n <ItemElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n disabled={item.disabled ?? categoryDisabled}\n highlighted={isHighlighted(item)}\n isKeyboardHighlighted={isKeyboardHighlight(item)}\n highlightItem={highlightItem}\n first={index === 0 || isItemGroup(items[index - 1])}\n last={index === items.length - 1 || isItemGroup(items[index + 1])}\n hasCategoryHeader={hasCategoryHeader}\n variant={variant}\n />\n );\n }\n if (hasExpandableGroups) {\n return item.text ? (\n isMobile ? (\n <MobileExpandableCategoryElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n highlightItem={highlightItem}\n disabled={item.disabled ?? false}\n variant={variant}\n />\n ) : (\n <ExpandableCategoryElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n highlightItem={highlightItem}\n disabled={item.disabled ?? false}\n expandToViewport={expandToViewport}\n variant={variant}\n />\n )\n ) : null;\n }\n return (\n <CategoryElement\n key={index}\n item={item}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n highlightItem={highlightItem}\n disabled={item.disabled ?? false}\n variant={variant}\n />\n );\n });\n\n return <>{elements}</>;\n}\n"]}
@@ -5,7 +5,6 @@ interface UseButtonDropdownOptions extends ButtonDropdownSettings {
5
5
  items: ButtonDropdownProps.Items;
6
6
  onItemClick?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;
7
7
  onItemFollow?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;
8
- usingMouse: React.MutableRefObject<boolean>;
9
8
  }
10
9
  interface UseButtonDropdownApi extends HighlightProps {
11
10
  isOpen: boolean;
@@ -14,7 +13,8 @@ interface UseButtonDropdownApi extends HighlightProps {
14
13
  onItemActivate: ItemActivate;
15
14
  onGroupToggle: GroupToggle;
16
15
  toggleDropdown: () => void;
16
+ setIsUsingMouse: (isUsingMouse: boolean) => void;
17
17
  }
18
- export declare function useButtonDropdown({ items, onItemClick, onItemFollow, hasExpandableGroups, isInRestrictedView, usingMouse, }: UseButtonDropdownOptions): UseButtonDropdownApi;
18
+ export declare function useButtonDropdown({ items, onItemClick, onItemFollow, hasExpandableGroups, isInRestrictedView, }: UseButtonDropdownOptions): UseButtonDropdownApi;
19
19
  export {};
20
20
  //# sourceMappingURL=use-button-dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-button-dropdown.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-button-dropdown.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvH,OAAO,EAAuB,sBAAsB,EAAoB,MAAM,uBAAuB,CAAC;AAKtG,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;IACjC,WAAW,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC3E,YAAY,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC5E,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,UAAU,oBAAqB,SAAQ,cAAc;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,YAAY,CAAC;IAC7B,aAAa,EAAE,WAAW,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAA0B,EAC1B,UAAU,GACX,EAAE,wBAAwB,GAAG,oBAAoB,CAwIjD"}
1
+ {"version":3,"file":"use-button-dropdown.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-button-dropdown.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvH,OAAO,EAAuB,sBAAsB,EAAoB,MAAM,uBAAuB,CAAC;AAKtG,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;IACjC,WAAW,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC3E,YAAY,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;CAC7E;AAED,UAAU,oBAAqB,SAAQ,cAAc;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,YAAY,CAAC;IAC7B,aAAa,EAAE,WAAW,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAA0B,GAC3B,EAAE,wBAAwB,GAAG,oBAAoB,CAoJjD"}
@@ -4,12 +4,12 @@ import { KeyCode } from '../../internal/keycode';
4
4
  import { getItemTarget, isItemGroup, isLinkItem } from './utils';
5
5
  import useHighlightedMenu from './use-highlighted-menu';
6
6
  export function useButtonDropdown(_a) {
7
- var items = _a.items, onItemClick = _a.onItemClick, onItemFollow = _a.onItemFollow, hasExpandableGroups = _a.hasExpandableGroups, _b = _a.isInRestrictedView, isInRestrictedView = _b === void 0 ? false : _b, usingMouse = _a.usingMouse;
7
+ var items = _a.items, onItemClick = _a.onItemClick, onItemFollow = _a.onItemFollow, hasExpandableGroups = _a.hasExpandableGroups, _b = _a.isInRestrictedView, isInRestrictedView = _b === void 0 ? false : _b;
8
8
  var _c = useHighlightedMenu({
9
9
  items: items,
10
10
  hasExpandableGroups: hasExpandableGroups,
11
11
  isInRestrictedView: isInRestrictedView
12
- }), targetItem = _c.targetItem, isHighlighted = _c.isHighlighted, isExpanded = _c.isExpanded, highlightItem = _c.highlightItem, moveHighlight = _c.moveHighlight, expandGroup = _c.expandGroup, collapseGroup = _c.collapseGroup, reset = _c.reset;
12
+ }), targetItem = _c.targetItem, isHighlighted = _c.isHighlighted, isKeyboardHighlight = _c.isKeyboardHighlight, isExpanded = _c.isExpanded, highlightItem = _c.highlightItem, moveHighlight = _c.moveHighlight, expandGroup = _c.expandGroup, collapseGroup = _c.collapseGroup, reset = _c.reset, setIsUsingMouse = _c.setIsUsingMouse;
13
13
  var _d = useOpenState({ onClose: reset }), isOpen = _d.isOpen, closeDropdown = _d.closeDropdown, toggleDropdown = _d.toggleDropdown;
14
14
  var onGroupToggle = function (item) { return (!isExpanded(item) ? expandGroup(item) : collapseGroup()); };
15
15
  var onItemActivate = function (item, event) {
@@ -57,7 +57,7 @@ export function useButtonDropdown(_a) {
57
57
  }
58
58
  };
59
59
  var activate = function (event, isEnter) {
60
- usingMouse.current = false;
60
+ setIsUsingMouse(false);
61
61
  // if item is a link we rely on default behavior of an anchor, no need to prevent
62
62
  if (targetItem && isLinkItem(targetItem) && isEnter) {
63
63
  return;
@@ -66,6 +66,7 @@ export function useButtonDropdown(_a) {
66
66
  actOnParentDropdown(event);
67
67
  };
68
68
  var onKeyDown = function (event) {
69
+ setIsUsingMouse(false);
69
70
  switch (event.keyCode) {
70
71
  case KeyCode.down: {
71
72
  doVerticalNavigation(1);
@@ -79,7 +80,6 @@ export function useButtonDropdown(_a) {
79
80
  }
80
81
  case KeyCode.space: {
81
82
  // Prevent scrolling the list of items and highlighting the trigger
82
- usingMouse.current = false;
83
83
  event.preventDefault();
84
84
  break;
85
85
  }
@@ -123,13 +123,15 @@ export function useButtonDropdown(_a) {
123
123
  isOpen: isOpen,
124
124
  targetItem: targetItem,
125
125
  isHighlighted: isHighlighted,
126
+ isKeyboardHighlight: isKeyboardHighlight,
126
127
  isExpanded: isExpanded,
127
128
  highlightItem: highlightItem,
128
129
  onKeyDown: onKeyDown,
129
130
  onKeyUp: onKeyUp,
130
131
  onItemActivate: onItemActivate,
131
132
  onGroupToggle: onGroupToggle,
132
- toggleDropdown: toggleDropdown
133
+ toggleDropdown: toggleDropdown,
134
+ setIsUsingMouse: setIsUsingMouse
133
135
  };
134
136
  }
135
137
  //# sourceMappingURL=use-button-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-button-dropdown.js","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-button-dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { ButtonDropdownProps, ButtonDropdownSettings, GroupToggle, HighlightProps, ItemActivate } from '../interfaces';\nimport { fireCancelableEvent, CancelableEventHandler, isPlainLeftClick } from '../../internal/events';\nimport { KeyCode } from '../../internal/keycode';\nimport { getItemTarget, isItemGroup, isLinkItem } from './utils';\nimport useHighlightedMenu from './use-highlighted-menu';\n\ninterface UseButtonDropdownOptions extends ButtonDropdownSettings {\n items: ButtonDropdownProps.Items;\n onItemClick?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n onItemFollow?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n usingMouse: React.MutableRefObject<boolean>;\n}\n\ninterface UseButtonDropdownApi extends HighlightProps {\n isOpen: boolean;\n onKeyDown: (event: React.KeyboardEvent) => void;\n onKeyUp: (event: React.KeyboardEvent) => void;\n onItemActivate: ItemActivate;\n onGroupToggle: GroupToggle;\n toggleDropdown: () => void;\n}\n\nexport function useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n hasExpandableGroups,\n isInRestrictedView = false,\n usingMouse,\n}: UseButtonDropdownOptions): UseButtonDropdownApi {\n const { targetItem, isHighlighted, isExpanded, highlightItem, moveHighlight, expandGroup, collapseGroup, reset } =\n useHighlightedMenu({\n items,\n hasExpandableGroups,\n isInRestrictedView,\n });\n\n const { isOpen, closeDropdown, toggleDropdown } = useOpenState({ onClose: reset });\n\n const onGroupToggle: GroupToggle = item => (!isExpanded(item) ? expandGroup(item) : collapseGroup());\n\n const onItemActivate: ItemActivate = (item, event) => {\n const details = {\n id: item.id || 'undefined',\n href: item.href,\n external: item.external,\n target: getItemTarget(item),\n };\n if (onItemFollow && item.href && isPlainLeftClick(event)) {\n fireCancelableEvent(onItemFollow, details, event);\n }\n if (onItemClick) {\n fireCancelableEvent(onItemClick, details, event);\n }\n closeDropdown();\n };\n\n const doVerticalNavigation = (direction: -1 | 1) => {\n if (isOpen) {\n moveHighlight(direction);\n }\n };\n\n const openAndSelectFirst = (event: React.KeyboardEvent) => {\n toggleDropdown();\n moveHighlight(1);\n event.preventDefault();\n };\n\n const actOnParentDropdown = (event: React.KeyboardEvent) => {\n // if there is no highlighted item we act on the trigger by opening or closing dropdown\n if (!targetItem) {\n if (isOpen && !isInRestrictedView) {\n toggleDropdown();\n } else {\n openAndSelectFirst(event);\n }\n } else {\n if (isItemGroup(targetItem)) {\n onGroupToggle(targetItem, event);\n } else {\n onItemActivate(targetItem, event);\n }\n }\n };\n\n const activate = (event: React.KeyboardEvent, isEnter?: boolean) => {\n usingMouse.current = false;\n\n // if item is a link we rely on default behavior of an anchor, no need to prevent\n if (targetItem && isLinkItem(targetItem) && isEnter) {\n return;\n }\n\n event.preventDefault();\n actOnParentDropdown(event);\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n switch (event.keyCode) {\n case KeyCode.down: {\n doVerticalNavigation(1);\n event.preventDefault();\n break;\n }\n case KeyCode.up: {\n doVerticalNavigation(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.space: {\n // Prevent scrolling the list of items and highlighting the trigger\n usingMouse.current = false;\n event.preventDefault();\n break;\n }\n case KeyCode.enter: {\n if (!targetItem?.disabled) {\n activate(event, true);\n }\n break;\n }\n case KeyCode.left:\n case KeyCode.right: {\n if (targetItem && !targetItem.disabled && isItemGroup(targetItem) && !isExpanded(targetItem)) {\n expandGroup();\n } else if (hasExpandableGroups) {\n collapseGroup();\n }\n\n event.preventDefault();\n break;\n }\n case KeyCode.escape: {\n closeDropdown();\n event.preventDefault();\n break;\n }\n case KeyCode.tab: {\n closeDropdown();\n break;\n }\n }\n };\n const onKeyUp = (event: React.KeyboardEvent) => {\n // We need to handle activating items with Space separately because there is a bug\n // in Firefox where changing the focus during a Space keydown event it will trigger\n // unexpected click events on the new element: https://bugzilla.mozilla.org/show_bug.cgi?id=1220143\n if (event.keyCode === KeyCode.space && !targetItem?.disabled) {\n activate(event);\n }\n };\n\n return {\n isOpen,\n targetItem,\n isHighlighted,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n };\n}\n"]}
1
+ {"version":3,"file":"use-button-dropdown.js","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-button-dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { ButtonDropdownProps, ButtonDropdownSettings, GroupToggle, HighlightProps, ItemActivate } from '../interfaces';\nimport { fireCancelableEvent, CancelableEventHandler, isPlainLeftClick } from '../../internal/events';\nimport { KeyCode } from '../../internal/keycode';\nimport { getItemTarget, isItemGroup, isLinkItem } from './utils';\nimport useHighlightedMenu from './use-highlighted-menu';\n\ninterface UseButtonDropdownOptions extends ButtonDropdownSettings {\n items: ButtonDropdownProps.Items;\n onItemClick?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n onItemFollow?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n}\n\ninterface UseButtonDropdownApi extends HighlightProps {\n isOpen: boolean;\n onKeyDown: (event: React.KeyboardEvent) => void;\n onKeyUp: (event: React.KeyboardEvent) => void;\n onItemActivate: ItemActivate;\n onGroupToggle: GroupToggle;\n toggleDropdown: () => void;\n setIsUsingMouse: (isUsingMouse: boolean) => void;\n}\n\nexport function useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n hasExpandableGroups,\n isInRestrictedView = false,\n}: UseButtonDropdownOptions): UseButtonDropdownApi {\n const {\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n moveHighlight,\n expandGroup,\n collapseGroup,\n reset,\n setIsUsingMouse,\n } = useHighlightedMenu({\n items,\n hasExpandableGroups,\n isInRestrictedView,\n });\n\n const { isOpen, closeDropdown, toggleDropdown } = useOpenState({ onClose: reset });\n\n const onGroupToggle: GroupToggle = item => (!isExpanded(item) ? expandGroup(item) : collapseGroup());\n\n const onItemActivate: ItemActivate = (item, event) => {\n const details = {\n id: item.id || 'undefined',\n href: item.href,\n external: item.external,\n target: getItemTarget(item),\n };\n if (onItemFollow && item.href && isPlainLeftClick(event)) {\n fireCancelableEvent(onItemFollow, details, event);\n }\n if (onItemClick) {\n fireCancelableEvent(onItemClick, details, event);\n }\n closeDropdown();\n };\n\n const doVerticalNavigation = (direction: -1 | 1) => {\n if (isOpen) {\n moveHighlight(direction);\n }\n };\n\n const openAndSelectFirst = (event: React.KeyboardEvent) => {\n toggleDropdown();\n moveHighlight(1);\n event.preventDefault();\n };\n\n const actOnParentDropdown = (event: React.KeyboardEvent) => {\n // if there is no highlighted item we act on the trigger by opening or closing dropdown\n if (!targetItem) {\n if (isOpen && !isInRestrictedView) {\n toggleDropdown();\n } else {\n openAndSelectFirst(event);\n }\n } else {\n if (isItemGroup(targetItem)) {\n onGroupToggle(targetItem, event);\n } else {\n onItemActivate(targetItem, event);\n }\n }\n };\n\n const activate = (event: React.KeyboardEvent, isEnter?: boolean) => {\n setIsUsingMouse(false);\n\n // if item is a link we rely on default behavior of an anchor, no need to prevent\n if (targetItem && isLinkItem(targetItem) && isEnter) {\n return;\n }\n\n event.preventDefault();\n actOnParentDropdown(event);\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n setIsUsingMouse(false);\n switch (event.keyCode) {\n case KeyCode.down: {\n doVerticalNavigation(1);\n event.preventDefault();\n break;\n }\n case KeyCode.up: {\n doVerticalNavigation(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.space: {\n // Prevent scrolling the list of items and highlighting the trigger\n event.preventDefault();\n break;\n }\n case KeyCode.enter: {\n if (!targetItem?.disabled) {\n activate(event, true);\n }\n break;\n }\n case KeyCode.left:\n case KeyCode.right: {\n if (targetItem && !targetItem.disabled && isItemGroup(targetItem) && !isExpanded(targetItem)) {\n expandGroup();\n } else if (hasExpandableGroups) {\n collapseGroup();\n }\n\n event.preventDefault();\n break;\n }\n case KeyCode.escape: {\n closeDropdown();\n event.preventDefault();\n break;\n }\n case KeyCode.tab: {\n closeDropdown();\n break;\n }\n }\n };\n const onKeyUp = (event: React.KeyboardEvent) => {\n // We need to handle activating items with Space separately because there is a bug\n // in Firefox where changing the focus during a Space keydown event it will trigger\n // unexpected click events on the new element: https://bugzilla.mozilla.org/show_bug.cgi?id=1220143\n if (event.keyCode === KeyCode.space && !targetItem?.disabled) {\n activate(event);\n }\n };\n\n return {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n setIsUsingMouse,\n };\n}\n"]}
@@ -9,6 +9,7 @@ interface UseHighlightedMenuApi extends HighlightProps {
9
9
  expandGroup: (group?: ButtonDropdownProps.ItemGroup) => void;
10
10
  collapseGroup: () => void;
11
11
  reset: () => void;
12
+ setIsUsingMouse: (isUsingMouse: boolean) => void;
12
13
  }
13
14
  export default function useHighlightedMenu({ items, hasExpandableGroups, isInRestrictedView, }: UseHighlightedMenuOptions): UseHighlightedMenuApi;
14
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"use-highlighted-menu.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-highlighted-menu.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpE,UAAU,yBAAyB;IACjC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,qBAAsB,SAAQ,cAAc;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,SAAS,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,KAAK,EACL,mBAAmB,EACnB,kBAA0B,GAC3B,EAAE,yBAAyB,GAAG,qBAAqB,CAkGnD"}
1
+ {"version":3,"file":"use-highlighted-menu.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-highlighted-menu.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpE,UAAU,yBAAyB;IACjC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,qBAAsB,SAAQ,cAAc;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,SAAS,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,KAAK,EACL,mBAAmB,EACnB,kBAA0B,GAC3B,EAAE,yBAAyB,GAAG,qBAAqB,CA6GnD"}
@@ -2,19 +2,25 @@ import { __spreadArray } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import { useState, useMemo, useCallback } from 'react';
5
- import { indexIncludes } from './utils';
5
+ import { indexIncludes, indexEquals } from './utils';
6
6
  import createItemsTree from './create-items-tree';
7
7
  import moveHighlightOneStep from './move-highlight';
8
8
  export default function useHighlightedMenu(_a) {
9
9
  var items = _a.items, hasExpandableGroups = _a.hasExpandableGroups, _b = _a.isInRestrictedView, isInRestrictedView = _b === void 0 ? false : _b;
10
10
  var _c = useState([]), targetIndex = _c[0], setTargetIndex = _c[1];
11
11
  var _d = useState([]), expandedIndex = _d[0], setExpandedIndex = _d[1];
12
- var _e = useMemo(function () { return createItemsTree(items); }, [items]), getItem = _e.getItem, getItemIndex = _e.getItemIndex, getSequentialIndex = _e.getSequentialIndex, getParentIndex = _e.getParentIndex;
12
+ var _e = useState(true), isUsingMouse = _e[0], setIsUsingMouse = _e[1];
13
+ var _f = useMemo(function () { return createItemsTree(items); }, [items]), getItem = _f.getItem, getItemIndex = _f.getItemIndex, getSequentialIndex = _f.getSequentialIndex, getParentIndex = _f.getParentIndex;
13
14
  var targetItem = useMemo(function () { return getItem(targetIndex); }, [targetIndex, getItem]);
14
15
  var isHighlighted = useCallback(function (item) {
15
16
  var index = getItemIndex(item);
16
17
  return indexIncludes(index, targetIndex);
17
18
  }, [targetIndex, getItemIndex]);
19
+ // check if keyboard focus is on the element
20
+ var isKeyboardHighlight = useCallback(function (item) {
21
+ var index = getItemIndex(item);
22
+ return !isUsingMouse && indexEquals(index, targetIndex);
23
+ }, [targetIndex, getItemIndex, isUsingMouse]);
18
24
  var isExpanded = useCallback(function (group) {
19
25
  var index = getItemIndex(group);
20
26
  return indexIncludes(index, expandedIndex);
@@ -64,12 +70,14 @@ export default function useHighlightedMenu(_a) {
64
70
  return {
65
71
  targetItem: targetItem,
66
72
  isHighlighted: isHighlighted,
73
+ isKeyboardHighlight: isKeyboardHighlight,
67
74
  isExpanded: isExpanded,
68
75
  moveHighlight: moveHighlight,
69
76
  highlightItem: highlightItem,
70
77
  expandGroup: expandGroup,
71
78
  collapseGroup: collapseGroup,
72
- reset: reset
79
+ reset: reset,
80
+ setIsUsingMouse: setIsUsingMouse
73
81
  };
74
82
  }
75
83
  //# sourceMappingURL=use-highlighted-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-highlighted-menu.js","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-highlighted-menu.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useState, useMemo, useCallback } from 'react';\n\nimport { indexIncludes } from './utils';\nimport { ButtonDropdownProps, HighlightProps } from '../interfaces';\nimport createItemsTree, { TreeIndex } from './create-items-tree';\nimport moveHighlightOneStep from './move-highlight';\n\ninterface UseHighlightedMenuOptions {\n items: ButtonDropdownProps.Items;\n hasExpandableGroups: boolean;\n isInRestrictedView?: boolean;\n}\n\ninterface UseHighlightedMenuApi extends HighlightProps {\n moveHighlight: (direction: -1 | 1) => void;\n expandGroup: (group?: ButtonDropdownProps.ItemGroup) => void;\n collapseGroup: () => void;\n reset: () => void;\n}\n\nexport default function useHighlightedMenu({\n items,\n hasExpandableGroups,\n isInRestrictedView = false,\n}: UseHighlightedMenuOptions): UseHighlightedMenuApi {\n const [targetIndex, setTargetIndex] = useState<TreeIndex>([]);\n const [expandedIndex, setExpandedIndex] = useState<TreeIndex>([]);\n\n const { getItem, getItemIndex, getSequentialIndex, getParentIndex } = useMemo(() => createItemsTree(items), [items]);\n\n const targetItem = useMemo(() => getItem(targetIndex), [targetIndex, getItem]);\n\n const isHighlighted = useCallback(\n (item: ButtonDropdownProps.ItemOrGroup) => {\n const index = getItemIndex(item);\n\n return indexIncludes(index, targetIndex);\n },\n [targetIndex, getItemIndex]\n );\n\n const isExpanded = useCallback(\n (group: ButtonDropdownProps.ItemGroup) => {\n const index = getItemIndex(group);\n\n return indexIncludes(index, expandedIndex);\n },\n [expandedIndex, getItemIndex]\n );\n\n const moveHighlight = useCallback(\n (direction: -1 | 1) => {\n const getNext = (index: TreeIndex) => {\n const nextIndex = getSequentialIndex(index, direction);\n const item = getItem(nextIndex || [-1]);\n\n if (!nextIndex || !item) {\n return null;\n }\n\n const parentIndex = getParentIndex(item);\n const parentItem = parentIndex && getItem(parentIndex);\n\n return { index: nextIndex, item, parent: parentItem || undefined };\n };\n\n const nextIndex = moveHighlightOneStep({\n startIndex: targetIndex,\n expandedIndex,\n getNext,\n hasExpandableGroups,\n isInRestrictedView,\n });\n\n if (nextIndex) {\n setTargetIndex(nextIndex);\n }\n },\n [targetIndex, expandedIndex, getItem, getSequentialIndex, getParentIndex, hasExpandableGroups, isInRestrictedView]\n );\n\n const highlightItem = useCallback(\n (item: ButtonDropdownProps.ItemOrGroup) => {\n setTargetIndex(getItemIndex(item));\n },\n [getItemIndex]\n );\n\n const expandGroup = useCallback(\n (group?: ButtonDropdownProps.ItemGroup) => {\n const groupIndex = group ? getItemIndex(group) : targetIndex;\n const firstChildIndex = [...groupIndex, 0];\n\n // move to the first child item unless in restricted mode\n setTargetIndex(isInRestrictedView ? groupIndex : firstChildIndex);\n setExpandedIndex(groupIndex);\n },\n [targetIndex, getItemIndex, isInRestrictedView]\n );\n\n const collapseGroup = useCallback(() => {\n if (expandedIndex.length > 0) {\n setTargetIndex(expandedIndex);\n setExpandedIndex(expandedIndex.slice(0, -1));\n }\n }, [expandedIndex]);\n\n const reset = useCallback(() => {\n setTargetIndex([]);\n setExpandedIndex([]);\n }, []);\n\n return {\n targetItem,\n isHighlighted,\n isExpanded,\n moveHighlight,\n highlightItem,\n expandGroup,\n collapseGroup,\n reset,\n };\n}\n"]}
1
+ {"version":3,"file":"use-highlighted-menu.js","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-highlighted-menu.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useState, useMemo, useCallback } from 'react';\n\nimport { indexIncludes, indexEquals } from './utils';\nimport { ButtonDropdownProps, HighlightProps } from '../interfaces';\nimport createItemsTree, { TreeIndex } from './create-items-tree';\nimport moveHighlightOneStep from './move-highlight';\n\ninterface UseHighlightedMenuOptions {\n items: ButtonDropdownProps.Items;\n hasExpandableGroups: boolean;\n isInRestrictedView?: boolean;\n}\n\ninterface UseHighlightedMenuApi extends HighlightProps {\n moveHighlight: (direction: -1 | 1) => void;\n expandGroup: (group?: ButtonDropdownProps.ItemGroup) => void;\n collapseGroup: () => void;\n reset: () => void;\n setIsUsingMouse: (isUsingMouse: boolean) => void;\n}\n\nexport default function useHighlightedMenu({\n items,\n hasExpandableGroups,\n isInRestrictedView = false,\n}: UseHighlightedMenuOptions): UseHighlightedMenuApi {\n const [targetIndex, setTargetIndex] = useState<TreeIndex>([]);\n const [expandedIndex, setExpandedIndex] = useState<TreeIndex>([]);\n const [isUsingMouse, setIsUsingMouse] = useState<boolean>(true);\n\n const { getItem, getItemIndex, getSequentialIndex, getParentIndex } = useMemo(() => createItemsTree(items), [items]);\n\n const targetItem = useMemo(() => getItem(targetIndex), [targetIndex, getItem]);\n\n const isHighlighted = useCallback(\n (item: ButtonDropdownProps.ItemOrGroup) => {\n const index = getItemIndex(item);\n return indexIncludes(index, targetIndex);\n },\n [targetIndex, getItemIndex]\n );\n\n // check if keyboard focus is on the element\n const isKeyboardHighlight = useCallback(\n (item: ButtonDropdownProps.ItemOrGroup) => {\n const index = getItemIndex(item);\n return !isUsingMouse && indexEquals(index, targetIndex);\n },\n [targetIndex, getItemIndex, isUsingMouse]\n );\n\n const isExpanded = useCallback(\n (group: ButtonDropdownProps.ItemGroup) => {\n const index = getItemIndex(group);\n\n return indexIncludes(index, expandedIndex);\n },\n [expandedIndex, getItemIndex]\n );\n\n const moveHighlight = useCallback(\n (direction: -1 | 1) => {\n const getNext = (index: TreeIndex) => {\n const nextIndex = getSequentialIndex(index, direction);\n const item = getItem(nextIndex || [-1]);\n\n if (!nextIndex || !item) {\n return null;\n }\n\n const parentIndex = getParentIndex(item);\n const parentItem = parentIndex && getItem(parentIndex);\n\n return { index: nextIndex, item, parent: parentItem || undefined };\n };\n\n const nextIndex = moveHighlightOneStep({\n startIndex: targetIndex,\n expandedIndex,\n getNext,\n hasExpandableGroups,\n isInRestrictedView,\n });\n\n if (nextIndex) {\n setTargetIndex(nextIndex);\n }\n },\n [targetIndex, expandedIndex, getItem, getSequentialIndex, getParentIndex, hasExpandableGroups, isInRestrictedView]\n );\n\n const highlightItem = useCallback(\n (item: ButtonDropdownProps.ItemOrGroup) => {\n setTargetIndex(getItemIndex(item));\n },\n [getItemIndex]\n );\n\n const expandGroup = useCallback(\n (group?: ButtonDropdownProps.ItemGroup) => {\n const groupIndex = group ? getItemIndex(group) : targetIndex;\n const firstChildIndex = [...groupIndex, 0];\n\n // move to the first child item unless in restricted mode\n setTargetIndex(isInRestrictedView ? groupIndex : firstChildIndex);\n setExpandedIndex(groupIndex);\n },\n [targetIndex, getItemIndex, isInRestrictedView]\n );\n\n const collapseGroup = useCallback(() => {\n if (expandedIndex.length > 0) {\n setTargetIndex(expandedIndex);\n setExpandedIndex(expandedIndex.slice(0, -1));\n }\n }, [expandedIndex]);\n\n const reset = useCallback(() => {\n setTargetIndex([]);\n setExpandedIndex([]);\n }, []);\n\n return {\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n moveHighlight,\n highlightItem,\n expandGroup,\n collapseGroup,\n reset,\n setIsUsingMouse,\n };\n}\n"]}
@@ -1,8 +1,8 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_k2y2q_fyu7k_93",
5
- "checkbox-control": "awsui_checkbox-control_k2y2q_fyu7k_105",
6
- "input": "awsui_input_k2y2q_fyu7k_113"
4
+ "root": "awsui_root_k2y2q_dlcjy_93",
5
+ "checkbox-control": "awsui_checkbox-control_k2y2q_dlcjy_105",
6
+ "input": "awsui_input_k2y2q_dlcjy_113"
7
7
  };
8
8
 
@@ -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
- div.awsui_root_k2y2q_fyu7k_93:not(#\9) {
93
+ div.awsui_root_k2y2q_dlcjy_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,7 +128,7 @@ div.awsui_root_k2y2q_fyu7k_93:not(#\9) {
128
128
  display: flex;
129
129
  }
130
130
 
131
- .awsui_checkbox-control_k2y2q_fyu7k_105:not(#\9) {
131
+ .awsui_checkbox-control_k2y2q_dlcjy_105:not(#\9) {
132
132
  margin-top: calc((var(--font-body-m-line-height-i7xxvv, 22px) - var(--size-control-n9i4yo, 16px)) / 2);
133
133
  min-height: var(--size-control-n9i4yo, 16px);
134
134
  min-width: var(--size-control-n9i4yo, 16px);
@@ -136,17 +136,17 @@ div.awsui_root_k2y2q_fyu7k_93:not(#\9) {
136
136
  width: var(--size-control-n9i4yo, 16px);
137
137
  }
138
138
 
139
- .awsui_input_k2y2q_fyu7k_113[data-awsui-focus-visible=true]:not(#\9):focus {
139
+ .awsui_input_k2y2q_dlcjy_113[data-awsui-focus-visible=true]:not(#\9):focus {
140
140
  /* stylelint-disable-next-line selector-max-type -- Can't access the outline class from focus-visible */
141
141
  }
142
- .awsui_input_k2y2q_fyu7k_113[data-awsui-focus-visible=true]:not(#\9):focus + div {
142
+ .awsui_input_k2y2q_dlcjy_113[data-awsui-focus-visible=true]:not(#\9):focus + span {
143
143
  position: relative;
144
144
  }
145
- .awsui_input_k2y2q_fyu7k_113[data-awsui-focus-visible=true]:not(#\9):focus + div {
145
+ .awsui_input_k2y2q_dlcjy_113[data-awsui-focus-visible=true]:not(#\9):focus + span {
146
146
  outline: 2px dotted transparent;
147
147
  outline-offset: calc(2px - 1px);
148
148
  }
149
- .awsui_input_k2y2q_fyu7k_113[data-awsui-focus-visible=true]:not(#\9):focus + div::before {
149
+ .awsui_input_k2y2q_dlcjy_113[data-awsui-focus-visible=true]:not(#\9):focus + span::before {
150
150
  content: " ";
151
151
  display: block;
152
152
  position: absolute;
@@ -2,8 +2,8 @@
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_k2y2q_fyu7k_93",
6
- "checkbox-control": "awsui_checkbox-control_k2y2q_fyu7k_105",
7
- "input": "awsui_input_k2y2q_fyu7k_113"
5
+ "root": "awsui_root_k2y2q_dlcjy_93",
6
+ "checkbox-control": "awsui_checkbox-control_k2y2q_dlcjy_105",
7
+ "input": "awsui_input_k2y2q_dlcjy_113"
8
8
  };
9
9
 
@@ -1,4 +1,5 @@
1
1
  import { DateRangePickerProps } from './interfaces';
2
+ export declare const VALID_RANGE: DateRangePickerProps.ValidRangeResult;
2
3
  export interface DateRangePickerDropdownProps extends Pick<Required<DateRangePickerProps>, 'locale' | 'isDateEnabled' | 'isValidRange' | 'value' | 'relativeOptions' | 'showClearButton' | 'i18nStrings' | 'dateOnly' | 'timeInputFormat' | 'rangeSelectorMode'> {
3
4
  onClear: () => void;
4
5
  onApply: (value: null | DateRangePickerProps.Value) => DateRangePickerProps.ValidationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../src/date-range-picker/dropdown.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAa,MAAM,cAAc,CAAC;AAkC/D,MAAM,WAAW,4BACf,SAAQ,IAAI,CACV,QAAQ,CAAC,oBAAoB,CAAC,EAC5B,QAAQ,GACR,eAAe,GACf,cAAc,GACd,OAAO,GACP,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,iBAAiB,GACjB,mBAAmB,CACtB;IACD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,oBAAoB,CAAC,KAAK,KAAK,oBAAoB,CAAC,gBAAgB,CAAC;IAC7F,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAmBD,wBAAgB,uBAAuB,CAAC,EACtC,MAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,KAAK,EACL,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,EAAE,4BAA4B,eA4L9B"}
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../src/date-range-picker/dropdown.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAa,MAAM,cAAc,CAAC;AAiB/D,eAAO,MAAM,WAAW,EAAE,oBAAoB,CAAC,gBAAkC,CAAC;AAElF,MAAM,WAAW,4BACf,SAAQ,IAAI,CACV,QAAQ,CAAC,oBAAoB,CAAC,EAC5B,QAAQ,GACR,eAAe,GACf,cAAc,GACd,OAAO,GACP,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,iBAAiB,GACjB,mBAAmB,CACtB;IACD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,oBAAoB,CAAC,KAAK,KAAK,oBAAoB,CAAC,gBAAgB,CAAC;IAC7F,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,MAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,KAAK,EACL,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,EAAE,4BAA4B,eAsM9B"}
@@ -14,41 +14,21 @@ import clsx from 'clsx';
14
14
  import InternalAlert from '../alert/internal';
15
15
  import LiveRegion from '../internal/components/live-region';
16
16
  import useFocusVisible from '../internal/hooks/focus-visible';
17
- var VALID_RANGE = { valid: true };
18
- /**
19
- * This function fills in a start and end time if they are missing.
20
- */
21
- function fillMissingTime(value) {
22
- if (!value) {
23
- return value;
24
- }
25
- var _a = value.startDate.split('T'), startDate = _a[0], startTime = _a[1];
26
- var _b = value.endDate.split('T'), endDate = _b[0], endTime = _b[1];
27
- return __assign(__assign({}, value), { startDate: startTime ? value.startDate : "".concat(startDate, "T00:00:00"), endDate: endTime ? value.endDate : "".concat(endDate, "T23:59:59") });
28
- }
29
- function getDefaultMode(value, relativeOptions, rangeSelectorMode) {
30
- if (value && value.type) {
31
- return value.type;
32
- }
33
- if (rangeSelectorMode === 'relative-only') {
34
- return 'relative';
35
- }
36
- if (rangeSelectorMode === 'absolute-only') {
37
- return 'absolute';
38
- }
39
- return relativeOptions.length > 0 ? 'relative' : 'absolute';
40
- }
17
+ import { useDateRangePicker } from './use-date-range-picker';
18
+ export var VALID_RANGE = { valid: true };
41
19
  export function DateRangePickerDropdown(_a) {
42
20
  var _b, _c;
43
21
  var _d = _a.locale, locale = _d === void 0 ? '' : _d, startOfWeek = _a.startOfWeek, isDateEnabled = _a.isDateEnabled, isValidRange = _a.isValidRange, value = _a.value, clearValue = _a.onClear, applyValue = _a.onApply, onDropdownClose = _a.onDropdownClose, relativeOptions = _a.relativeOptions, showClearButton = _a.showClearButton, isSingleGrid = _a.isSingleGrid, i18nStrings = _a.i18nStrings, dateOnly = _a.dateOnly, timeInputFormat = _a.timeInputFormat, rangeSelectorMode = _a.rangeSelectorMode, ariaLabelledby = _a.ariaLabelledby, ariaDescribedby = _a.ariaDescribedby;
22
+ var _e = useDateRangePicker({
23
+ value: value,
24
+ relativeOptions: relativeOptions,
25
+ rangeSelectorMode: rangeSelectorMode
26
+ }), fillMissingTime = _e.fillMissingTime, rangeSelectionMode = _e.rangeSelectionMode, setRangeSelectionMode = _e.setRangeSelectionMode, selectedAbsoluteRange = _e.selectedAbsoluteRange, setSelectedAbsoluteRange = _e.setSelectedAbsoluteRange, selectedRelativeRange = _e.selectedRelativeRange, setSelectedRelativeRange = _e.setSelectedRelativeRange;
44
27
  var focusVisible = useFocusVisible();
45
28
  var scrollableContainerRef = useRef(null);
46
29
  var applyButtonRef = useRef(null);
47
- var _e = useState(getDefaultMode(value, relativeOptions, rangeSelectorMode)), rangeSelectionMode = _e[0], setRangeSelectionMode = _e[1];
48
- var _f = useState((value === null || value === void 0 ? void 0 : value.type) === 'absolute' ? value : null), selectedAbsoluteRange = _f[0], setSelectedAbsoluteRange = _f[1];
49
- var _g = useState((value === null || value === void 0 ? void 0 : value.type) === 'relative' ? value : null), selectedRelativeRange = _g[0], setSelectedRelativeRange = _g[1];
50
- var _h = useState(false), applyClicked = _h[0], setApplyClicked = _h[1];
51
- var _j = useState(VALID_RANGE), validationResult = _j[0], setValidationResult = _j[1];
30
+ var _f = useState(false), applyClicked = _f[0], setApplyClicked = _f[1];
31
+ var _g = useState(VALID_RANGE), validationResult = _g[0], setValidationResult = _g[1];
52
32
  var closeDropdown = function () {
53
33
  setApplyClicked(false);
54
34
  onDropdownClose();
@@ -75,7 +55,15 @@ export function DateRangePickerDropdown(_a) {
75
55
  var newValidationResult = isValidRange(visibleRange);
76
56
  setValidationResult(newValidationResult || VALID_RANGE);
77
57
  }
78
- }, [applyClicked, isValidRange, rangeSelectionMode, selectedRelativeRange, selectedAbsoluteRange]);
58
+ }, [
59
+ applyClicked,
60
+ isValidRange,
61
+ rangeSelectionMode,
62
+ selectedRelativeRange,
63
+ selectedAbsoluteRange,
64
+ fillMissingTime,
65
+ setValidationResult,
66
+ ]);
79
67
  var focusRefs = {
80
68
  "default": useRef(null),
81
69
  'absolute-only': useRef(null),