@cloudscape-design/components 3.0.28 → 3.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-layout/visual-refresh/styles.css.js +59 -59
- package/app-layout/visual-refresh/styles.scoped.css +146 -146
- package/app-layout/visual-refresh/styles.selectors.js +59 -59
- package/autosuggest/autosuggest-option.d.ts +1 -0
- package/autosuggest/autosuggest-option.d.ts.map +1 -1
- package/autosuggest/autosuggest-option.js +2 -2
- package/autosuggest/autosuggest-option.js.map +1 -1
- package/autosuggest/controller.d.ts +2 -5
- package/autosuggest/controller.d.ts.map +1 -1
- package/autosuggest/controller.js +5 -49
- package/autosuggest/controller.js.map +1 -1
- package/autosuggest/internal.d.ts.map +1 -1
- package/autosuggest/internal.js +19 -25
- package/autosuggest/internal.js.map +1 -1
- package/autosuggest/options-controller.d.ts +25 -0
- package/autosuggest/options-controller.d.ts.map +1 -0
- package/autosuggest/options-controller.js +64 -0
- package/autosuggest/options-controller.js.map +1 -0
- package/autosuggest/options-list.d.ts +3 -2
- package/autosuggest/options-list.d.ts.map +1 -1
- package/autosuggest/options-list.js +8 -7
- package/autosuggest/options-list.js.map +1 -1
- package/autosuggest/plain-list.d.ts +2 -2
- package/autosuggest/plain-list.d.ts.map +1 -1
- package/autosuggest/plain-list.js +4 -4
- package/autosuggest/plain-list.js.map +1 -1
- package/autosuggest/virtual-list.d.ts +1 -1
- package/autosuggest/virtual-list.d.ts.map +1 -1
- package/autosuggest/virtual-list.js +4 -4
- package/autosuggest/virtual-list.js.map +1 -1
- package/breadcrumb-group/internal.d.ts.map +1 -1
- package/breadcrumb-group/internal.js +4 -4
- package/breadcrumb-group/internal.js.map +1 -1
- package/button-dropdown/category-elements/category-element.d.ts +1 -1
- package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
- package/button-dropdown/category-elements/category-element.js +2 -2
- package/button-dropdown/category-elements/category-element.js.map +1 -1
- package/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
- package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
- package/button-dropdown/category-elements/expandable-category-element.js +4 -2
- package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
- package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
- package/button-dropdown/category-elements/styles.css.js +13 -12
- package/button-dropdown/category-elements/styles.scoped.css +26 -22
- package/button-dropdown/category-elements/styles.selectors.js +13 -12
- package/button-dropdown/interfaces.d.ts +3 -1
- package/button-dropdown/interfaces.d.ts.map +1 -1
- package/button-dropdown/interfaces.js.map +1 -1
- package/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +6 -11
- package/button-dropdown/internal.js.map +1 -1
- package/button-dropdown/item-element/index.d.ts +1 -1
- package/button-dropdown/item-element/index.d.ts.map +1 -1
- package/button-dropdown/item-element/index.js +2 -1
- package/button-dropdown/item-element/index.js.map +1 -1
- package/button-dropdown/item-element/styles.css.js +14 -13
- package/button-dropdown/item-element/styles.scoped.css +21 -17
- package/button-dropdown/item-element/styles.selectors.js +14 -13
- package/button-dropdown/items-list.d.ts +1 -1
- package/button-dropdown/items-list.d.ts.map +1 -1
- package/button-dropdown/items-list.js +4 -4
- package/button-dropdown/items-list.js.map +1 -1
- package/button-dropdown/utils/use-button-dropdown.d.ts +2 -2
- package/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
- package/button-dropdown/utils/use-button-dropdown.js +7 -5
- package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/button-dropdown/utils/use-highlighted-menu.d.ts +1 -0
- package/button-dropdown/utils/use-highlighted-menu.d.ts.map +1 -1
- package/button-dropdown/utils/use-highlighted-menu.js +11 -3
- package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
- package/checkbox/styles.css.js +3 -3
- package/checkbox/styles.scoped.css +6 -6
- package/checkbox/styles.selectors.js +3 -3
- package/date-picker/calendar/index.d.ts.map +1 -1
- package/date-picker/calendar/index.js +2 -1
- package/date-picker/calendar/index.js.map +1 -1
- package/date-picker/calendar/utils/memoized-date.d.ts +2 -0
- package/date-picker/calendar/utils/memoized-date.d.ts.map +1 -0
- package/date-picker/calendar/utils/memoized-date.js +13 -0
- package/date-picker/calendar/utils/memoized-date.js.map +1 -0
- package/date-picker/embedded.js +1 -1
- package/date-picker/embedded.js.map +1 -1
- package/date-picker/index.js +1 -1
- package/date-picker/index.js.map +1 -1
- package/date-picker/use-date-picker.d.ts.map +1 -1
- package/date-picker/use-date-picker.js +1 -1
- package/date-picker/use-date-picker.js.map +1 -1
- package/date-range-picker/calendar/grids/day/index.js +1 -1
- package/date-range-picker/calendar/grids/day/index.js.map +1 -1
- package/date-range-picker/calendar/index.d.ts.map +1 -1
- package/date-range-picker/calendar/index.js +3 -3
- package/date-range-picker/calendar/index.js.map +1 -1
- package/date-range-picker/dropdown.d.ts +1 -0
- package/date-range-picker/dropdown.d.ts.map +1 -1
- package/date-range-picker/dropdown.js +18 -30
- package/date-range-picker/dropdown.js.map +1 -1
- package/date-range-picker/embedded.d.ts +7 -0
- package/date-range-picker/embedded.d.ts.map +1 -0
- package/date-range-picker/embedded.js +46 -0
- package/date-range-picker/embedded.js.map +1 -0
- package/date-range-picker/index.d.ts.map +1 -1
- package/date-range-picker/index.js +5 -18
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/interfaces.d.ts +46 -44
- package/date-range-picker/interfaces.d.ts.map +1 -1
- package/date-range-picker/interfaces.js.map +1 -1
- package/date-range-picker/time-offset.d.ts +0 -7
- package/date-range-picker/time-offset.d.ts.map +1 -1
- package/date-range-picker/time-offset.js +4 -60
- package/date-range-picker/time-offset.js.map +1 -1
- package/date-range-picker/use-date-range-picker.d.ts +29 -0
- package/date-range-picker/use-date-range-picker.d.ts.map +1 -0
- package/date-range-picker/use-date-range-picker.js +58 -0
- package/date-range-picker/use-date-range-picker.js.map +1 -0
- package/icon/icons.js +1 -1
- package/icon/interfaces.d.ts +1 -1
- package/icon/interfaces.d.ts.map +1 -1
- package/icon/interfaces.js.map +1 -1
- package/input/styles.css.js +13 -13
- package/input/styles.scoped.css +35 -37
- package/input/styles.selectors.js +13 -13
- package/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/internal/components/abstract-switch/index.js +5 -5
- package/internal/components/abstract-switch/index.js.map +1 -1
- package/internal/components/abstract-switch/styles.css.js +11 -11
- package/internal/components/abstract-switch/styles.scoped.css +20 -13
- package/internal/components/abstract-switch/styles.selectors.js +11 -11
- package/internal/components/date-input/index.d.ts.map +1 -1
- package/internal/components/date-input/index.js +3 -2
- package/internal/components/date-input/index.js.map +1 -1
- package/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
- package/internal/components/masked-input/utils/mask-format.js +2 -1
- package/internal/components/masked-input/utils/mask-format.js.map +1 -1
- package/internal/components/masked-input/utils/strings.d.ts +0 -1
- package/internal/components/masked-input/utils/strings.d.ts.map +1 -1
- package/internal/components/masked-input/utils/strings.js +0 -6
- package/internal/components/masked-input/utils/strings.js.map +1 -1
- package/internal/components/options-list/utils/use-highlight-option.d.ts +7 -2
- package/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
- package/internal/components/options-list/utils/use-highlight-option.js +10 -3
- package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
- package/internal/components/selectable-item/index.d.ts +1 -1
- package/internal/components/selectable-item/index.d.ts.map +1 -1
- package/internal/components/selectable-item/index.js +2 -2
- package/internal/components/selectable-item/index.js.map +1 -1
- package/internal/components/selectable-item/styles.css.js +16 -16
- package/internal/components/selectable-item/styles.scoped.css +29 -30
- package/internal/components/selectable-item/styles.selectors.js +16 -16
- package/internal/environment.js +1 -1
- package/internal/utils/date-time/display-format.d.ts +9 -0
- package/internal/utils/date-time/display-format.d.ts.map +1 -0
- package/internal/utils/date-time/display-format.js +15 -0
- package/internal/utils/date-time/display-format.js.map +1 -0
- package/internal/utils/date-time/format-date.d.ts +7 -0
- package/internal/utils/date-time/format-date.d.ts.map +1 -0
- package/internal/utils/date-time/format-date.js +15 -0
- package/internal/utils/date-time/format-date.js.map +1 -0
- package/internal/utils/date-time/format-time.d.ts +5 -0
- package/internal/utils/date-time/format-time.d.ts.map +1 -0
- package/internal/utils/date-time/format-time.js +13 -0
- package/internal/utils/date-time/format-time.js.map +1 -0
- package/internal/utils/date-time/format-timezone-offset.d.ts +2 -0
- package/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -0
- package/internal/utils/date-time/format-timezone-offset.js +11 -0
- package/internal/utils/date-time/format-timezone-offset.js.map +1 -0
- package/internal/utils/date-time/get-browser-timezone-offset.d.ts +7 -0
- package/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +1 -0
- package/internal/utils/date-time/get-browser-timezone-offset.js +11 -0
- package/internal/utils/date-time/get-browser-timezone-offset.js.map +1 -0
- package/internal/utils/date-time/index.d.ts +11 -0
- package/internal/utils/date-time/index.d.ts.map +1 -0
- package/internal/utils/date-time/index.js +13 -0
- package/internal/utils/date-time/index.js.map +1 -0
- package/internal/utils/date-time/is-iso-date-only.d.ts +5 -0
- package/internal/utils/date-time/is-iso-date-only.d.ts.map +1 -0
- package/internal/utils/date-time/is-iso-date-only.js +10 -0
- package/internal/utils/date-time/is-iso-date-only.js.map +1 -0
- package/internal/utils/date-time/join-date-time.d.ts +2 -0
- package/internal/utils/date-time/join-date-time.d.ts.map +1 -0
- package/internal/utils/date-time/join-date-time.js +6 -0
- package/internal/utils/date-time/join-date-time.js.map +1 -0
- package/internal/utils/date-time/parse-date.d.ts +8 -0
- package/internal/utils/date-time/parse-date.d.ts.map +1 -0
- package/internal/utils/date-time/parse-date.js +16 -0
- package/internal/utils/date-time/parse-date.js.map +1 -0
- package/internal/utils/date-time/parse-timezone-offset.d.ts +5 -0
- package/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -0
- package/internal/utils/date-time/parse-timezone-offset.js +20 -0
- package/internal/utils/date-time/parse-timezone-offset.js.map +1 -0
- package/internal/utils/date-time/shift-timezone-offset.d.ts +12 -0
- package/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -0
- package/internal/utils/date-time/shift-timezone-offset.js +27 -0
- package/internal/utils/date-time/shift-timezone-offset.js.map +1 -0
- package/internal/utils/strings/index.d.ts +3 -0
- package/internal/utils/strings/index.d.ts.map +1 -0
- package/internal/utils/strings/index.js +5 -0
- package/internal/utils/strings/index.js.map +1 -0
- package/internal/utils/strings/join-strings.d.ts +5 -0
- package/internal/utils/strings/join-strings.d.ts.map +1 -0
- package/internal/utils/{strings.js → strings/join-strings.js} +7 -6
- package/internal/utils/strings/join-strings.js.map +1 -0
- package/internal/utils/strings/pad-left-zeros.d.ts +5 -0
- package/internal/utils/strings/pad-left-zeros.d.ts.map +1 -0
- package/internal/utils/strings/pad-left-zeros.js +12 -0
- package/internal/utils/strings/pad-left-zeros.js.map +1 -0
- package/multiselect/internal.d.ts.map +1 -1
- package/multiselect/internal.js +2 -2
- package/multiselect/internal.js.map +1 -1
- package/package.json +1 -1
- package/popover/styles.css.js +48 -48
- package/popover/styles.scoped.css +65 -60
- package/popover/styles.selectors.js +48 -48
- package/radio-group/styles.css.js +9 -9
- package/radio-group/styles.scoped.css +16 -16
- package/radio-group/styles.selectors.js +9 -9
- package/select/internal.d.ts.map +1 -1
- package/select/internal.js +2 -2
- package/select/internal.js.map +1 -1
- package/select/parts/item.d.ts +1 -1
- package/select/parts/item.d.ts.map +1 -1
- package/select/parts/item.js +6 -3
- package/select/parts/item.js.map +1 -1
- package/select/parts/multiselect-item.d.ts +1 -1
- package/select/parts/multiselect-item.d.ts.map +1 -1
- package/select/parts/multiselect-item.js +2 -2
- package/select/parts/multiselect-item.js.map +1 -1
- package/select/parts/plain-list.d.ts +1 -1
- package/select/parts/plain-list.d.ts.map +1 -1
- package/select/parts/plain-list.js +4 -4
- package/select/parts/plain-list.js.map +1 -1
- package/select/parts/styles.css.js +8 -7
- package/select/parts/styles.scoped.css +12 -7
- package/select/parts/styles.selectors.js +8 -7
- package/select/parts/virtual-list.js +4 -4
- package/select/parts/virtual-list.js.map +1 -1
- package/select/utils/get-item-props.d.ts +1 -2
- package/select/utils/get-item-props.d.ts.map +1 -1
- package/select/utils/get-item-props.js +3 -3
- package/select/utils/get-item-props.js.map +1 -1
- package/select/utils/render-options.d.ts +2 -2
- package/select/utils/render-options.d.ts.map +1 -1
- package/select/utils/render-options.js +2 -3
- package/select/utils/render-options.js.map +1 -1
- package/select/utils/use-select.d.ts +1 -0
- package/select/utils/use-select.d.ts.map +1 -1
- package/select/utils/use-select.js +2 -1
- package/select/utils/use-select.js.map +1 -1
- package/split-panel/index.d.ts.map +1 -1
- package/split-panel/index.js +2 -2
- package/split-panel/index.js.map +1 -1
- package/table/styles.css.js +32 -32
- package/table/styles.scoped.css +40 -43
- package/table/styles.selectors.js +32 -32
- package/tabs/styles.css.js +21 -21
- package/tabs/styles.scoped.css +40 -43
- package/tabs/styles.selectors.js +21 -21
- package/textarea/styles.css.js +4 -4
- package/textarea/styles.scoped.css +13 -14
- package/textarea/styles.selectors.js +4 -4
- package/toggle/internal.d.ts.map +1 -1
- package/toggle/internal.js +3 -1
- package/toggle/internal.js.map +1 -1
- package/toggle/styles.css.js +8 -8
- package/toggle/styles.scoped.css +15 -14
- package/toggle/styles.selectors.js +8 -8
- package/date-picker/calendar/utils/date.d.ts +0 -10
- package/date-picker/calendar/utils/date.d.ts.map +0 -1
- package/date-picker/calendar/utils/date.js +0 -50
- package/date-picker/calendar/utils/date.js.map +0 -1
- package/internal/components/date-input/utils/date.d.ts +0 -5
- package/internal/components/date-input/utils/date.d.ts.map +0 -1
- package/internal/components/date-input/utils/date.js +0 -11
- package/internal/components/date-input/utils/date.js.map +0 -1
- package/internal/utils/strings.d.ts +0 -2
- package/internal/utils/strings.d.ts.map +0 -1
- package/internal/utils/strings.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-
|
|
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-
|
|
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-
|
|
107
|
+
.awsui_item-element_93a1u_lwral_93:not(#\9):first-child {
|
|
108
108
|
margin-top: 0;
|
|
109
109
|
}
|
|
110
|
-
.awsui_item-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
159
|
+
.awsui_menu-item_93a1u_lwral_148:not(#\9):focus {
|
|
156
160
|
outline: none;
|
|
157
161
|
}
|
|
158
|
-
.awsui_has-category-
|
|
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
|
-
.
|
|
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-
|
|
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-
|
|
6
|
-
"disabled": "
|
|
7
|
-
"last": "
|
|
8
|
-
"highlighted": "
|
|
9
|
-
"variant-icon": "awsui_variant-
|
|
10
|
-
"variant-normal": "awsui_variant-
|
|
11
|
-
"variant-primary": "awsui_variant-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
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,
|
|
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":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,yBAAyB,MAAM,iDAAiD,CAAC;AACxF,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,+BAA+B,MAAM,wDAAwD,CAAC;AAErG,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,
|
|
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,
|
|
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;
|
|
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
|
|
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
|
-
|
|
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":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAC;AAE3F,OAAO,EAAE,mBAAmB,EAA0B,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AAkBxD,MAAM,UAAU,iBAAiB,CAAC,
|
|
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;
|
|
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 =
|
|
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":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"use-highlighted-menu.js","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-highlighted-menu.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,eAA8B,MAAM,qBAAqB,CAAC;AACjE,OAAO,oBAAoB,MAAM,kBAAkB,CAAC;AAgBpD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAIf;QAH1B,KAAK,WAAA,EACL,mBAAmB,yBAAA,EACnB,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA;IAEpB,IAAA,KAAgC,QAAQ,CAAY,EAAE,CAAC,EAAtD,WAAW,QAAA,EAAE,cAAc,QAA2B,CAAC;IACxD,IAAA,KAAoC,QAAQ,CAAY,EAAE,CAAC,EAA1D,aAAa,QAAA,EAAE,gBAAgB,QAA2B,CAAC;IAC5D,IAAA,KAAkC,QAAQ,CAAU,IAAI,CAAC,EAAxD,YAAY,QAAA,EAAE,eAAe,QAA2B,CAAC;IAE1D,IAAA,KAAgE,OAAO,CAAC,cAAM,OAAA,eAAe,CAAC,KAAK,CAAC,EAAtB,CAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,EAA5G,OAAO,aAAA,EAAE,YAAY,kBAAA,EAAE,kBAAkB,wBAAA,EAAE,cAAc,oBAAmD,CAAC;IAErH,IAAM,UAAU,GAAG,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,WAAW,CAAC,EAApB,CAAoB,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/E,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,IAAqC;QACpC,IAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B,CAAC;IAEF,4CAA4C;IAC5C,IAAM,mBAAmB,GAAG,WAAW,CACrC,UAAC,IAAqC;QACpC,IAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAC1C,CAAC;IAEF,IAAM,UAAU,GAAG,WAAW,CAC5B,UAAC,KAAoC;QACnC,IAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC,EACD,CAAC,aAAa,EAAE,YAAY,CAAC,CAC9B,CAAC;IAEF,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,SAAiB;QAChB,IAAM,OAAO,GAAG,UAAC,KAAgB;YAC/B,IAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACvD,IAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;gBACvB,OAAO,IAAI,CAAC;aACb;YAED,IAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,IAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;YAEvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,MAAA,EAAE,MAAM,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC;QACrE,CAAC,CAAC;QAEF,IAAM,SAAS,GAAG,oBAAoB,CAAC;YACrC,UAAU,EAAE,WAAW;YACvB,aAAa,eAAA;YACb,OAAO,SAAA;YACP,mBAAmB,qBAAA;YACnB,kBAAkB,oBAAA;SACnB,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE;YACb,cAAc,CAAC,SAAS,CAAC,CAAC;SAC3B;IACH,CAAC,EACD,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CACnH,CAAC;IAEF,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,IAAqC;QACpC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,IAAM,WAAW,GAAG,WAAW,CAC7B,UAAC,KAAqC;QACpC,IAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7D,IAAM,eAAe,mCAAO,UAAU,UAAE,CAAC,SAAC,CAAC;QAE3C,yDAAyD;QACzD,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAClE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAChD,CAAC;IAEF,IAAM,aAAa,GAAG,WAAW,CAAC;QAChC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,cAAc,CAAC,aAAa,CAAC,CAAC;YAC9B,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAM,KAAK,GAAG,WAAW,CAAC;QACxB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,UAAU,YAAA;QACV,aAAa,eAAA;QACb,mBAAmB,qBAAA;QACnB,UAAU,YAAA;QACV,aAAa,eAAA;QACb,aAAa,eAAA;QACb,WAAW,aAAA;QACX,aAAa,eAAA;QACb,KAAK,OAAA;QACL,eAAe,iBAAA;KAChB,CAAC;AACJ,CAAC","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"]}
|
package/checkbox/styles.css.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"checkbox-control": "awsui_checkbox-
|
|
6
|
-
"input": "
|
|
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.
|
|
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-
|
|
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
|
-
.
|
|
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
|
-
.
|
|
142
|
+
.awsui_input_k2y2q_dlcjy_113[data-awsui-focus-visible=true]:not(#\9):focus + span {
|
|
143
143
|
position: relative;
|
|
144
144
|
}
|
|
145
|
-
.
|
|
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
|
-
.
|
|
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": "
|
|
6
|
-
"checkbox-control": "awsui_checkbox-
|
|
7
|
-
"input": "
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-picker/calendar/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-picker/calendar/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAS9C,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED,oBAAY,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAMjD,UAAU,aAAc,SAAQ,kBAAkB;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,IAAI,CAAC;IACpB,aAAa,EAAE,eAAe,CAAC,qBAAqB,CAAC;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED,QAAA,MAAM,QAAQ,0JAWX,aAAa,gBA0Gf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -9,9 +9,10 @@ import CalendarHeader from './header';
|
|
|
9
9
|
import Grid from './grid';
|
|
10
10
|
import moveFocusHandler from './utils/move-focus-handler';
|
|
11
11
|
import { useUniqueId } from '../../internal/hooks/use-unique-id/index.js';
|
|
12
|
-
import {
|
|
12
|
+
import { memoizedDate } from './utils/memoized-date.js';
|
|
13
13
|
import { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update.js';
|
|
14
14
|
import { normalizeStartOfWeek } from './utils/locales.js';
|
|
15
|
+
import { formatDate } from '../../internal/utils/date-time';
|
|
15
16
|
var Calendar = function (_a) {
|
|
16
17
|
var locale = _a.locale, startOfWeek = _a.startOfWeek, displayedDate = _a.displayedDate, todayAriaLabel = _a.todayAriaLabel, selectedDate = _a.selectedDate, isDateEnabled = _a.isDateEnabled, onChangeMonth = _a.onChangeMonth, onSelectDate = _a.onSelectDate, previousMonthLabel = _a.previousMonthLabel, nextMonthLabel = _a.nextMonthLabel;
|
|
17
18
|
var normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, locale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/date-picker/calendar/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAG1E,OAAO,cAAc,MAAM,UAAU,CAAC;AACtC,OAAO,IAAmC,MAAM,QAAQ,CAAC;AACzD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/date-picker/calendar/index.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, { useRef, useState } from 'react';\nimport { addDays, addMonths, isSameMonth, startOfMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport useFocusVisible from '../../internal/hooks/focus-visible/index.js';\nimport { DatePickerProps } from '../interfaces';\nimport { CalendarTypes } from './definitions';\nimport CalendarHeader from './header';\nimport Grid, { DateChangeHandlerNullable } from './grid';\nimport moveFocusHandler from './utils/move-focus-handler';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id/index.js';\nimport { memoizedDate } from './utils/memoized-date.js';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update.js';\nimport { normalizeStartOfWeek } from './utils/locales.js';\nimport { formatDate } from '../../internal/utils/date-time';\nexport interface DateChangeHandler {\n (detail: CalendarTypes.DateDetail): void;\n}\n\nexport interface MonthChangeHandler {\n (newMonth: Date): void;\n}\n\nexport type DayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface HeaderChangeMonthHandler {\n (isPreviousButtonClick?: boolean): void;\n}\n\ninterface CalendarProps extends BaseComponentProps {\n locale: string;\n startOfWeek: number | undefined;\n selectedDate: Date | null;\n displayedDate: Date;\n isDateEnabled: DatePickerProps.IsDateEnabledFunction;\n nextMonthLabel: string;\n previousMonthLabel: string;\n todayAriaLabel: string;\n\n onChangeMonth: MonthChangeHandler;\n onSelectDate: DateChangeHandler;\n}\n\nconst Calendar = ({\n locale,\n startOfWeek,\n displayedDate,\n todayAriaLabel,\n selectedDate,\n isDateEnabled,\n onChangeMonth,\n onSelectDate,\n previousMonthLabel,\n nextMonthLabel,\n}: CalendarProps) => {\n const normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, locale);\n const focusVisible = useFocusVisible();\n const headerId = useUniqueId('calendar-dialog-title-');\n const elementRef = useRef<HTMLDivElement>(null);\n const gridWrapperRef = useRef<HTMLDivElement>(null);\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n\n const selectFocusedDate = (selected: Date | null, baseDate: Date): Date | null => {\n if (selected && isDateEnabled(selected) && isSameMonth(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateEnabled(today) && isSameMonth(today, baseDate)) {\n return today;\n }\n if (isDateEnabled(baseDate)) {\n return baseDate;\n }\n return null;\n };\n\n const getBaseDate = (date: Date) => {\n const startDate = startOfMonth(date);\n if (isDateEnabled(startDate)) {\n return startDate;\n }\n return moveFocusHandler(startDate, isDateEnabled, (date: Date) => addDays(date, 1));\n };\n\n const baseDate: Date = getBaseDate(displayedDate);\n const focusedOrSelectedDate = focusedDate || selectFocusedDate(selectedDate, baseDate);\n\n const onHeaderChangeMonthHandler: HeaderChangeMonthHandler = isPrevious => {\n onChangeMonth(addMonths(baseDate, isPrevious ? -1 : 1));\n setFocusedDate(null);\n };\n\n const onGridChangeMonthHandler: MonthChangeHandler = newMonth => {\n onChangeMonth(newMonth);\n setFocusedDate(null);\n };\n\n const onGridFocusDateHandler: DateChangeHandlerNullable = ({ date }) => {\n if (date) {\n const value = memoizedDate('focused', formatDate(date));\n setFocusedDate(value);\n }\n };\n\n const onGridSelectDateHandler: DateChangeHandler = detail => {\n onSelectDate(detail);\n setFocusedDate(null);\n };\n\n // The focused date changes as a feedback to keyboard navigation in the grid.\n // Once changed, the corresponding day button needs to receive the actual focus.\n useEffectOnUpdate(() => {\n if (focusedDate) {\n (elementRef.current?.querySelector(`.${styles['calendar-day-focusable']}`) as HTMLDivElement)?.focus();\n }\n }, [focusedDate]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTargetIsInGrid = event.relatedTarget && gridWrapperRef.current?.contains(event.relatedTarget as Node);\n if (!newFocusTargetIsInGrid) {\n setFocusedDate(null);\n }\n };\n\n return (\n <div\n {...focusVisible}\n className={styles.calendar}\n tabIndex={0}\n role=\"application\"\n aria-describedby={headerId}\n ref={elementRef}\n >\n <div className={styles['calendar-inner']}>\n <CalendarHeader\n headerId={headerId}\n baseDate={baseDate}\n locale={locale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={previousMonthLabel}\n nextMonthLabel={nextMonthLabel}\n />\n <div onBlur={onGridBlur} ref={gridWrapperRef}>\n <Grid\n locale={locale}\n baseDate={baseDate}\n isDateEnabled={isDateEnabled}\n focusedDate={focusedOrSelectedDate}\n onSelectDate={onGridSelectDateHandler}\n onFocusDate={onGridFocusDateHandler}\n onChangeMonth={onGridChangeMonthHandler}\n startOfWeek={normalizedStartOfWeek}\n todayAriaLabel={todayAriaLabel}\n selectedDate={selectedDate}\n handleFocusMove={moveFocusHandler}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default Calendar;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoized-date.d.ts","sourceRoot":"","sources":["../../../../../src/date-picker/calendar/utils/memoized-date.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,QAAS,MAAM,QAAQ,MAAM,GAAG,IAAI,SAM5D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { parseDate } from '../../../internal/utils/date-time';
|
|
4
|
+
// reuse date instances, to allow shallow equality checking
|
|
5
|
+
var memoCache = {};
|
|
6
|
+
export var memoizedDate = function (key, date) {
|
|
7
|
+
var parsed = date && date.length >= 4 && parseDate(date);
|
|
8
|
+
if (!(memoCache[key] && parsed && memoCache[key].getTime() === parsed.getTime())) {
|
|
9
|
+
memoCache[key] = parsed;
|
|
10
|
+
}
|
|
11
|
+
return memoCache[key];
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=memoized-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoized-date.js","sourceRoot":"","sources":["../../../../../src/date-picker/calendar/utils/memoized-date.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,2DAA2D;AAC3D,IAAM,SAAS,GAAyB,EAAE,CAAC;AAC3C,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,GAAW,EAAE,IAAmB;IAC3D,IAAM,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE;QAChF,SAAS,CAAC,GAAG,CAAC,GAAG,MAAc,CAAC;KACjC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parseDate } from '../../../internal/utils/date-time';\n\n// reuse date instances, to allow shallow equality checking\nconst memoCache: Record<string, Date> = {};\nexport const memoizedDate = (key: string, date: string | null) => {\n const parsed = date && date.length >= 4 && parseDate(date);\n if (!(memoCache[key] && parsed && memoCache[key].getTime() === parsed.getTime())) {\n memoCache[key] = parsed as Date;\n }\n return memoCache[key];\n};\n"]}
|