@cloudscape-design/components-themeable 3.0.1360 → 3.0.1361
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/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/alert/styles.scss +13 -12
- package/lib/internal/scss/badge/styles.scss +38 -49
- package/lib/internal/scss/button/styles.scss +51 -51
- package/lib/internal/scss/cards/styles.scss +4 -0
- package/lib/internal/scss/container/styles.scss +2 -0
- package/lib/internal/scss/icon/hover-motion.scss +24 -12
- package/lib/internal/scss/input/styles.scss +4 -0
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +175 -174
- package/lib/internal/scss/internal/styles/forms/mixins.scss +11 -2
- package/lib/internal/scss/internal/styles/style-api.scss +60 -10
- package/lib/internal/scss/pagination/styles.scss +3 -1
- package/lib/internal/scss/table/styles.scss +5 -0
- package/lib/internal/template/alert/styles.css.js +27 -27
- package/lib/internal/template/alert/styles.scoped.css +50 -50
- package/lib/internal/template/alert/styles.selectors.js +27 -27
- package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
- package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
- package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
- package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
- package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
- package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +89 -89
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +13 -13
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -30
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +68 -68
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -30
- package/lib/internal/template/attribute-editor/styles.css.js +15 -15
- package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
- package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
- package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
- package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
- package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
- package/lib/internal/template/button/styles.css.js +23 -23
- package/lib/internal/template/button/styles.scoped.css +261 -261
- package/lib/internal/template/button/styles.selectors.js +23 -23
- package/lib/internal/template/button-dropdown/filter.d.ts +1 -1
- package/lib/internal/template/button-dropdown/filter.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +9 -3
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +37 -37
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts +5 -3
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +14 -2
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/lib/internal/template/cards/styles.css.js +39 -38
- package/lib/internal/template/cards/styles.scoped.css +42 -39
- package/lib/internal/template/cards/styles.selectors.js +39 -38
- package/lib/internal/template/checkbox/styles.css.js +3 -3
- package/lib/internal/template/checkbox/styles.scoped.css +11 -11
- package/lib/internal/template/checkbox/styles.selectors.js +3 -3
- package/lib/internal/template/container/styles.css.js +33 -33
- package/lib/internal/template/container/styles.scoped.css +57 -56
- package/lib/internal/template/container/styles.selectors.js +33 -33
- package/lib/internal/template/content-layout/styles.css.js +14 -14
- package/lib/internal/template/content-layout/styles.scoped.css +27 -27
- package/lib/internal/template/content-layout/styles.selectors.js +14 -14
- package/lib/internal/template/dropdown/styles.css.js +20 -20
- package/lib/internal/template/dropdown/styles.scoped.css +49 -49
- package/lib/internal/template/dropdown/styles.selectors.js +20 -20
- package/lib/internal/template/file-token-group/styles.css.js +23 -23
- package/lib/internal/template/file-token-group/styles.scoped.css +36 -36
- package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
- package/lib/internal/template/flashbar/styles.css.js +50 -50
- package/lib/internal/template/flashbar/styles.scoped.css +192 -192
- package/lib/internal/template/flashbar/styles.selectors.js +50 -50
- package/lib/internal/template/help-panel/styles.css.js +6 -6
- package/lib/internal/template/help-panel/styles.scoped.css +72 -72
- package/lib/internal/template/help-panel/styles.selectors.js +6 -6
- package/lib/internal/template/input/index.d.ts.map +1 -1
- package/lib/internal/template/input/index.js +3 -2
- package/lib/internal/template/input/index.js.map +1 -1
- package/lib/internal/template/input/interfaces.d.ts +6 -0
- package/lib/internal/template/input/interfaces.d.ts.map +1 -1
- package/lib/internal/template/input/interfaces.js.map +1 -1
- package/lib/internal/template/input/internal.d.ts +0 -1
- package/lib/internal/template/input/internal.d.ts.map +1 -1
- package/lib/internal/template/input/internal.js +26 -12
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +29 -28
- package/lib/internal/template/input/styles.scoped.css +134 -131
- package/lib/internal/template/input/styles.selectors.js +29 -28
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.js +2 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
- package/lib/internal/template/internal/components/option/styles.css.js +17 -17
- package/lib/internal/template/internal/components/option/styles.scoped.css +31 -31
- package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
- package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
- package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
- package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
- package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
- package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +57 -57
- package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
- package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
- package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
- package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
- package/lib/internal/template/internal/generated/custom-css-properties/index.js +174 -173
- package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
- package/lib/internal/template/internal/generated/styles/tokens.js +200 -200
- package/lib/internal/template/internal/generated/theming/index.cjs +200 -200
- package/lib/internal/template/internal/generated/theming/index.js +200 -200
- package/lib/internal/template/internal/utils/focus-visible.d.ts +15 -0
- package/lib/internal/template/internal/utils/focus-visible.d.ts.map +1 -0
- package/lib/internal/template/internal/utils/focus-visible.js +21 -0
- package/lib/internal/template/internal/utils/focus-visible.js.map +1 -0
- package/lib/internal/template/item-card/styles.css.js +14 -14
- package/lib/internal/template/item-card/styles.scoped.css +63 -63
- package/lib/internal/template/item-card/styles.selectors.js +14 -14
- package/lib/internal/template/link/styles.css.js +21 -21
- package/lib/internal/template/link/styles.scoped.css +104 -104
- package/lib/internal/template/link/styles.selectors.js +21 -21
- package/lib/internal/template/modal/styles.css.js +31 -31
- package/lib/internal/template/modal/styles.scoped.css +48 -48
- package/lib/internal/template/modal/styles.selectors.js +31 -31
- package/lib/internal/template/pagination/internal.js +1 -1
- package/lib/internal/template/pagination/internal.js.map +1 -1
- package/lib/internal/template/pagination/styles.css.js +12 -12
- package/lib/internal/template/pagination/styles.scoped.css +31 -31
- package/lib/internal/template/pagination/styles.selectors.js +12 -12
- package/lib/internal/template/progress-bar/styles.css.js +19 -19
- package/lib/internal/template/progress-bar/styles.scoped.css +58 -58
- package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
- package/lib/internal/template/prompt-input/styles.css.js +26 -26
- package/lib/internal/template/prompt-input/styles.scoped.css +105 -105
- package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
- package/lib/internal/template/segmented-control/styles.css.js +16 -16
- package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
- package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
- package/lib/internal/template/select/parts/filter.d.ts +1 -1
- package/lib/internal/template/select/parts/filter.d.ts.map +1 -1
- package/lib/internal/template/select/parts/styles.css.js +21 -21
- package/lib/internal/template/select/parts/styles.scoped.css +24 -24
- package/lib/internal/template/select/parts/styles.selectors.js +21 -21
- package/lib/internal/template/side-navigation/styles.css.js +64 -64
- package/lib/internal/template/side-navigation/styles.scoped.css +111 -111
- package/lib/internal/template/side-navigation/styles.selectors.js +64 -64
- package/lib/internal/template/slider/styles.css.js +26 -26
- package/lib/internal/template/slider/styles.scoped.css +165 -165
- package/lib/internal/template/slider/styles.selectors.js +26 -26
- package/lib/internal/template/spinner/styles.css.js +14 -14
- package/lib/internal/template/spinner/styles.scoped.css +40 -40
- package/lib/internal/template/spinner/styles.selectors.js +14 -14
- package/lib/internal/template/table/styles.css.js +37 -37
- package/lib/internal/template/table/styles.scoped.css +47 -44
- package/lib/internal/template/table/styles.selectors.js +37 -37
- package/lib/internal/template/tabs/styles.css.js +30 -30
- package/lib/internal/template/tabs/styles.scoped.css +76 -76
- package/lib/internal/template/tabs/styles.selectors.js +30 -30
- package/lib/internal/template/tag-editor/styles.css.js +3 -3
- package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
- package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
- package/lib/internal/template/test-utils/dom/input/index.d.ts +1 -0
- package/lib/internal/template/test-utils/dom/input/index.js +3 -0
- package/lib/internal/template/test-utils/dom/input/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/input/index.d.ts +1 -0
- package/lib/internal/template/test-utils/selectors/input/index.js +3 -0
- package/lib/internal/template/test-utils/selectors/input/index.js.map +1 -1
- package/lib/internal/template/text-content/styles.css.js +1 -1
- package/lib/internal/template/text-content/styles.scoped.css +66 -66
- package/lib/internal/template/text-content/styles.selectors.js +1 -1
- package/lib/internal/template/textarea/styles.css.js +9 -9
- package/lib/internal/template/textarea/styles.scoped.css +51 -51
- package/lib/internal/template/textarea/styles.selectors.js +9 -9
- package/lib/internal/template/toggle/styles.css.js +10 -10
- package/lib/internal/template/toggle/styles.scoped.css +23 -23
- package/lib/internal/template/toggle/styles.selectors.js +10 -10
- package/lib/internal/template/token/styles.css.js +14 -14
- package/lib/internal/template/token/styles.scoped.css +46 -46
- package/lib/internal/template/token/styles.selectors.js +14 -14
- package/package.json +1 -1
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CancelableEventHandler } from '../../types/events';
|
|
2
|
+
import { CancelableEventHandler, NonCancelableCustomEvent } from '../../types/events';
|
|
3
3
|
import { ButtonDropdownProps, ButtonDropdownSettings, GroupToggle, HighlightProps, ItemActivate } from '../interfaces';
|
|
4
|
+
type DropdownFocusLeaveEvent = NonCancelableCustomEvent<Pick<React.FocusEvent, 'target' | 'relatedTarget'>>;
|
|
4
5
|
interface UseButtonDropdownOptions extends ButtonDropdownSettings {
|
|
5
6
|
items: ButtonDropdownProps.Items;
|
|
6
7
|
onItemClick?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;
|
|
7
8
|
onItemFollow?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;
|
|
8
9
|
onReturnFocus: () => void;
|
|
10
|
+
isTriggerElement: (element: Element) => boolean;
|
|
9
11
|
expandToViewport?: boolean;
|
|
10
12
|
hasFiltering: boolean;
|
|
11
13
|
}
|
|
@@ -15,7 +17,7 @@ interface UseButtonDropdownApi extends HighlightProps {
|
|
|
15
17
|
onKeyUp: (event: React.KeyboardEvent) => void;
|
|
16
18
|
onItemActivate: ItemActivate;
|
|
17
19
|
onGroupToggle: GroupToggle;
|
|
18
|
-
onDropdownFocusLeave: () => void;
|
|
20
|
+
onDropdownFocusLeave: (event: DropdownFocusLeaveEvent) => void;
|
|
19
21
|
onDropdownBlur: () => void;
|
|
20
22
|
toggleDropdown: (options?: {
|
|
21
23
|
moveHighlightOnOpen?: boolean;
|
|
@@ -27,6 +29,6 @@ interface UseButtonDropdownApi extends HighlightProps {
|
|
|
27
29
|
filteredItems: ButtonDropdownProps.Items;
|
|
28
30
|
showExpandableGroups: boolean;
|
|
29
31
|
}
|
|
30
|
-
export declare function useButtonDropdown({ items, onItemClick, onItemFollow, onReturnFocus, hasExpandableGroups, isInRestrictedView, expandToViewport, hasFiltering, }: UseButtonDropdownOptions): UseButtonDropdownApi;
|
|
32
|
+
export declare function useButtonDropdown({ items, onItemClick, onItemFollow, onReturnFocus, isTriggerElement, hasExpandableGroups, isInRestrictedView, expandToViewport, hasFiltering, }: UseButtonDropdownOptions): UseButtonDropdownApi;
|
|
31
33
|
export {};
|
|
32
34
|
//# 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,KAA+C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-button-dropdown.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-button-dropdown.ts"],"names":[],"mappings":"AAEA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAOpE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKvH,KAAK,uBAAuB,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;AAE5G,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,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;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,oBAAoB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC/D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,mBAAmB,CAAC,KAAK,CAAC;IACzC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,kBAA0B,EAC1B,gBAAwB,EACxB,YAAY,GACb,EAAE,wBAAwB,GAAG,oBAAoB,CAuQjD"}
|
|
@@ -4,10 +4,12 @@ import { useEffect, useMemo, useRef, useState } from 'react';
|
|
|
4
4
|
import { useOpenState } from '../../internal/components/options-list/utils/use-open-state';
|
|
5
5
|
import { fireCancelableEvent, isPlainLeftClick } from '../../internal/events';
|
|
6
6
|
import { KeyCode } from '../../internal/keycode';
|
|
7
|
+
import { isElement } from '../../internal/utils/dom';
|
|
8
|
+
import { isKeyboardInteraction } from '../../internal/utils/focus-visible';
|
|
7
9
|
import { filterItems } from './filter-items';
|
|
8
10
|
import useHighlightedMenu from './use-highlighted-menu';
|
|
9
11
|
import { getItemTarget, isCheckboxItem, isItemGroup, isLinkItem } from './utils';
|
|
10
|
-
export function useButtonDropdown({ items, onItemClick, onItemFollow, onReturnFocus, hasExpandableGroups, isInRestrictedView = false, expandToViewport = false, hasFiltering, }) {
|
|
12
|
+
export function useButtonDropdown({ items, onItemClick, onItemFollow, onReturnFocus, isTriggerElement, hasExpandableGroups, isInRestrictedView = false, expandToViewport = false, hasFiltering, }) {
|
|
11
13
|
const [filteringValue, setFilteringValue] = useState('');
|
|
12
14
|
const filteredItems = useMemo(() => (hasFiltering && filteringValue ? filterItems(items, filteringValue) : items), [hasFiltering, filteringValue, items]);
|
|
13
15
|
const showExpandableGroups = hasExpandableGroups && !filteringValue;
|
|
@@ -41,8 +43,18 @@ export function useButtonDropdown({ items, onItemClick, onItemFollow, onReturnFo
|
|
|
41
43
|
}
|
|
42
44
|
openStateProps.toggleDropdown();
|
|
43
45
|
};
|
|
44
|
-
const onDropdownFocusLeave = () => {
|
|
46
|
+
const onDropdownFocusLeave = (event) => {
|
|
45
47
|
if (hasFiltering && isOpen) {
|
|
48
|
+
const { relatedTarget } = event.detail;
|
|
49
|
+
// When focus moves from the filter input to the trigger via a mouse click, the trigger's
|
|
50
|
+
// own click handler already closes the dropdown.
|
|
51
|
+
const clickedTrigger = !!relatedTarget &&
|
|
52
|
+
isElement(relatedTarget) &&
|
|
53
|
+
isTriggerElement(relatedTarget) &&
|
|
54
|
+
!isKeyboardInteraction(relatedTarget);
|
|
55
|
+
if (clickedTrigger) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
46
58
|
if (expandToViewport) {
|
|
47
59
|
// When expanded to viewport the focus can't move naturally to the next element.
|
|
48
60
|
// Returning the focus to the trigger instead.
|
|
@@ -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, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { fireCancelableEvent, isPlainLeftClick } from '../../internal/events';\nimport { KeyCode } from '../../internal/keycode';\nimport { CancelableEventHandler } from '../../types/events';\nimport { ButtonDropdownProps, ButtonDropdownSettings, GroupToggle, HighlightProps, ItemActivate } from '../interfaces';\nimport { filterItems } from './filter-items';\nimport useHighlightedMenu from './use-highlighted-menu';\nimport { getItemTarget, isCheckboxItem, isItemGroup, isLinkItem } from './utils';\n\ninterface UseButtonDropdownOptions extends ButtonDropdownSettings {\n items: ButtonDropdownProps.Items;\n onItemClick?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n onItemFollow?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n onReturnFocus: () => void;\n expandToViewport?: boolean;\n hasFiltering: 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 onDropdownFocusLeave: () => void;\n onDropdownBlur: () => void;\n toggleDropdown: (options?: { moveHighlightOnOpen?: boolean }) => void;\n closeDropdown: () => void;\n setIsUsingMouse: (isUsingMouse: boolean) => void;\n filteringValue: string;\n setFilteringValue: (value: string) => void;\n filteredItems: ButtonDropdownProps.Items;\n showExpandableGroups: boolean;\n}\n\nexport function useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n onReturnFocus,\n hasExpandableGroups,\n isInRestrictedView = false,\n expandToViewport = false,\n hasFiltering,\n}: UseButtonDropdownOptions): UseButtonDropdownApi {\n const [filteringValue, setFilteringValue] = useState('');\n\n const filteredItems = useMemo(\n () => (hasFiltering && filteringValue ? filterItems(items, filteringValue) : items),\n [hasFiltering, filteringValue, items]\n );\n\n const showExpandableGroups = hasExpandableGroups && !filteringValue;\n\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: filteredItems,\n hasExpandableGroups: showExpandableGroups,\n isInRestrictedView,\n });\n\n // If the filtering input changes, the options list also changes,\n // so the highlight isn't valid anymore.\n const prevFilteringValue = useRef(filteringValue);\n useEffect(() => {\n if (prevFilteringValue.current !== filteringValue) {\n prevFilteringValue.current = filteringValue;\n reset();\n }\n }, [filteringValue, reset]);\n\n const { isOpen, closeDropdown: closeDropdownState, ...openStateProps } = useOpenState({ onClose: reset });\n\n const closeDropdown = () => {\n setFilteringValue('');\n closeDropdownState();\n };\n\n const toggleDropdown = (options: { moveHighlightOnOpen?: boolean } = {}) => {\n const moveHighlightOnOpen = options.moveHighlightOnOpen ?? true;\n if (!isOpen && moveHighlightOnOpen && !hasFiltering) {\n moveHighlight(1);\n }\n if (isOpen) {\n setFilteringValue('');\n }\n openStateProps.toggleDropdown();\n };\n\n const onDropdownFocusLeave = () => {\n if (hasFiltering && isOpen) {\n if (expandToViewport) {\n // When expanded to viewport the focus can't move naturally to the next element.\n // Returning the focus to the trigger instead.\n onReturnFocus();\n }\n closeDropdown();\n }\n };\n\n // Close when focus leaves the entire widget (trigger and menu), for example when focus\n // moves to an app layout drawer or an element in a different frame. The filtering variant\n // keeps focus inside the dropdown content and closes via onDropdownFocusLeave instead.\n const onDropdownBlur = () => {\n if (isOpen && !hasFiltering) {\n closeDropdown();\n }\n };\n\n const onGroupToggle: GroupToggle = item => (!isExpanded(item) ? expandGroup(item) : collapseGroup());\n\n const onItemActivate: ItemActivate = (item, event) => {\n const isCheckbox = isCheckboxItem(item);\n const isLink = isLinkItem(item);\n const details = {\n id: item.id || 'undefined',\n href: isLink ? item.href : undefined,\n external: isLink ? item.external : undefined,\n target: isLink ? getItemTarget(item) : undefined,\n checked: isCheckbox ? !item.checked : undefined,\n };\n onReturnFocus();\n if (onItemFollow && isLink && isPlainLeftClick(event)) {\n fireCancelableEvent(onItemFollow, details, event);\n }\n if (onItemClick) {\n fireCancelableEvent(onItemClick, details, event);\n }\n closeDropdown();\n };\n\n const openAndSelectFirst = (event: React.KeyboardEvent) => {\n toggleDropdown();\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 if (!isOpen) {\n toggleDropdown();\n if (!hasFiltering) {\n moveHighlight(1, true);\n }\n } else {\n moveHighlight(1);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.up: {\n if (!isOpen) {\n toggleDropdown();\n if (!hasFiltering) {\n moveHighlight(-1, true);\n }\n } else {\n moveHighlight(-1);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.space: {\n // Prevent scrolling the list of items and highlighting the trigger when filtering\n // isn't active. Hitting space when filtering is active should just type a space\n // character into the input, or activate the clear button.\n if (!hasFiltering && !isOpen) {\n event.preventDefault();\n }\n break;\n }\n case KeyCode.enter: {\n // While filtering, pressing Enter without a highlighted item should not select\n // any item or close the dropdown.\n if (isOpen && hasFiltering && !targetItem) {\n break;\n }\n if (!targetItem?.disabled) {\n activate(event, true);\n }\n break;\n }\n case KeyCode.left:\n case KeyCode.right: {\n // When filtering is enabled and there's text in the filter input, left/right\n // arrow keys should move the caret between the characters.\n if (hasFiltering && filteringValue) {\n break;\n }\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 onReturnFocus();\n closeDropdown();\n event.preventDefault();\n if (isOpen) {\n event.stopPropagation();\n }\n break;\n }\n case KeyCode.tab: {\n // In filtering mode the dropdown contains multiple focusable elements (the filter\n // input and its clear button). Tabbing between them must not close the dropdown, so\n // closing on Tab is handled by onDropdownFocusLeave instead, which only fires once\n // focus actually leaves the dropdown.\n if (hasFiltering) {\n break;\n }\n // When expanded to viewport the focus can't move naturally to the next element.\n // Returning the focus to the trigger instead.\n if (expandToViewport) {\n onReturnFocus();\n }\n closeDropdown();\n break;\n }\n }\n };\n const onKeyUp = (event: React.KeyboardEvent) => {\n // When using a roving tabindex (filtering disabled), we need to handle activating items\n // with Space separately because there is a bug in Firefox where changing the focus during\n // a Space keydown event it will trigger unexpected click events on the new element.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=1220143\n if (event.keyCode === KeyCode.space && !targetItem?.disabled && !hasFiltering) {\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 onDropdownFocusLeave,\n onDropdownBlur,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n filteringValue,\n setFilteringValue,\n filteredItems,\n showExpandableGroups,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-button-dropdown.js","sourceRoot":"","sources":["../../../../src/button-dropdown/utils/use-button-dropdown.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6DAA6D,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAgCjF,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,GAAG,KAAK,EAC1B,gBAAgB,GAAG,KAAK,EACxB,YAAY,GACa;IACzB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACnF,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CACtC,CAAC;IAEF,MAAM,oBAAoB,GAAG,mBAAmB,IAAI,CAAC,cAAc,CAAC;IAEpE,MAAM,EACJ,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,KAAK,EACL,eAAe,GAChB,GAAG,kBAAkB,CAAC;QACrB,KAAK,EAAE,aAAa;QACpB,mBAAmB,EAAE,oBAAoB;QACzC,kBAAkB;KACnB,CAAC,CAAC;IAEH,iEAAiE;IACjE,wCAAwC;IACxC,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YAClD,kBAAkB,CAAC,OAAO,GAAG,cAAc,CAAC;YAC5C,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1G,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACtB,kBAAkB,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,UAA6C,EAAE,EAAE,EAAE;;QACzE,MAAM,mBAAmB,GAAG,MAAA,OAAO,CAAC,mBAAmB,mCAAI,IAAI,CAAC;QAChE,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpD,aAAa,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,cAAc,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,KAA8B,EAAE,EAAE;QAC9D,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;YACvC,yFAAyF;YACzF,iDAAiD;YACjD,MAAM,cAAc,GAClB,CAAC,CAAC,aAAa;gBACf,SAAS,CAAC,aAAa,CAAC;gBACxB,gBAAgB,CAAC,aAAa,CAAC;gBAC/B,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gFAAgF;gBAChF,8CAA8C;gBAC9C,aAAa,EAAE,CAAC;YAClB,CAAC;YACD,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,uFAAuF;IACvF,0FAA0F;IAC1F,uFAAuF;IACvF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAgB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAErG,MAAM,cAAc,GAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,WAAW;YAC1B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACpC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC5C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC;QACF,aAAa,EAAE,CAAC;QAChB,IAAI,YAAY,IAAI,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,KAA0B,EAAE,EAAE;QACxD,cAAc,EAAE,CAAC;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,KAA0B,EAAE,EAAE;QACzD,uFAAuF;QACvF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAClC,cAAc,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAA0B,EAAE,OAAiB,EAAE,EAAE;QACjE,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,iFAAiF;QACjF,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAE,EAAE;QAC/C,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnB,kFAAkF;gBAClF,gFAAgF;gBAChF,0DAA0D;gBAC1D,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnB,+EAA+E;gBAC/E,kCAAkC;gBAClC,IAAI,MAAM,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC1C,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,EAAE,CAAC;oBAC1B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,IAAI,CAAC;YAClB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnB,6EAA6E;gBAC7E,2DAA2D;gBAC3D,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;oBACnC,MAAM;gBACR,CAAC;gBACD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7F,WAAW,EAAE,CAAC;gBAChB,CAAC;qBAAM,IAAI,mBAAmB,EAAE,CAAC;oBAC/B,aAAa,EAAE,CAAC;gBAClB,CAAC;gBAED,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpB,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;gBAChB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjB,kFAAkF;gBAClF,oFAAoF;gBACpF,mFAAmF;gBACnF,sCAAsC;gBACtC,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM;gBACR,CAAC;gBACD,gFAAgF;gBAChF,8CAA8C;gBAC9C,IAAI,gBAAgB,EAAE,CAAC;oBACrB,aAAa,EAAE,CAAC;gBAClB,CAAC;gBACD,aAAa,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAA0B,EAAE,EAAE;QAC7C,wFAAwF;QACxF,0FAA0F;QAC1F,oFAAoF;QACpF,2DAA2D;QAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAA,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9E,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,UAAU;QACV,aAAa;QACb,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,SAAS;QACT,OAAO;QACP,cAAc;QACd,aAAa;QACb,oBAAoB;QACpB,cAAc;QACd,cAAc;QACd,aAAa;QACb,eAAe;QACf,cAAc;QACd,iBAAiB;QACjB,aAAa;QACb,oBAAoB;KACrB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useOpenState } from '../../internal/components/options-list/utils/use-open-state';\nimport { fireCancelableEvent, isPlainLeftClick } from '../../internal/events';\nimport { KeyCode } from '../../internal/keycode';\nimport { isElement } from '../../internal/utils/dom';\nimport { isKeyboardInteraction } from '../../internal/utils/focus-visible';\nimport { CancelableEventHandler, NonCancelableCustomEvent } from '../../types/events';\nimport { ButtonDropdownProps, ButtonDropdownSettings, GroupToggle, HighlightProps, ItemActivate } from '../interfaces';\nimport { filterItems } from './filter-items';\nimport useHighlightedMenu from './use-highlighted-menu';\nimport { getItemTarget, isCheckboxItem, isItemGroup, isLinkItem } from './utils';\n\ntype DropdownFocusLeaveEvent = NonCancelableCustomEvent<Pick<React.FocusEvent, 'target' | 'relatedTarget'>>;\n\ninterface UseButtonDropdownOptions extends ButtonDropdownSettings {\n items: ButtonDropdownProps.Items;\n onItemClick?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n onItemFollow?: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;\n onReturnFocus: () => void;\n // Returns whether the given element is (or is inside) the dropdown trigger.\n isTriggerElement: (element: Element) => boolean;\n expandToViewport?: boolean;\n hasFiltering: 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 onDropdownFocusLeave: (event: DropdownFocusLeaveEvent) => void;\n onDropdownBlur: () => void;\n toggleDropdown: (options?: { moveHighlightOnOpen?: boolean }) => void;\n closeDropdown: () => void;\n setIsUsingMouse: (isUsingMouse: boolean) => void;\n filteringValue: string;\n setFilteringValue: (value: string) => void;\n filteredItems: ButtonDropdownProps.Items;\n showExpandableGroups: boolean;\n}\n\nexport function useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n onReturnFocus,\n isTriggerElement,\n hasExpandableGroups,\n isInRestrictedView = false,\n expandToViewport = false,\n hasFiltering,\n}: UseButtonDropdownOptions): UseButtonDropdownApi {\n const [filteringValue, setFilteringValue] = useState('');\n\n const filteredItems = useMemo(\n () => (hasFiltering && filteringValue ? filterItems(items, filteringValue) : items),\n [hasFiltering, filteringValue, items]\n );\n\n const showExpandableGroups = hasExpandableGroups && !filteringValue;\n\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: filteredItems,\n hasExpandableGroups: showExpandableGroups,\n isInRestrictedView,\n });\n\n // If the filtering input changes, the options list also changes,\n // so the highlight isn't valid anymore.\n const prevFilteringValue = useRef(filteringValue);\n useEffect(() => {\n if (prevFilteringValue.current !== filteringValue) {\n prevFilteringValue.current = filteringValue;\n reset();\n }\n }, [filteringValue, reset]);\n\n const { isOpen, closeDropdown: closeDropdownState, ...openStateProps } = useOpenState({ onClose: reset });\n\n const closeDropdown = () => {\n setFilteringValue('');\n closeDropdownState();\n };\n\n const toggleDropdown = (options: { moveHighlightOnOpen?: boolean } = {}) => {\n const moveHighlightOnOpen = options.moveHighlightOnOpen ?? true;\n if (!isOpen && moveHighlightOnOpen && !hasFiltering) {\n moveHighlight(1);\n }\n if (isOpen) {\n setFilteringValue('');\n }\n openStateProps.toggleDropdown();\n };\n\n const onDropdownFocusLeave = (event: DropdownFocusLeaveEvent) => {\n if (hasFiltering && isOpen) {\n const { relatedTarget } = event.detail;\n // When focus moves from the filter input to the trigger via a mouse click, the trigger's\n // own click handler already closes the dropdown.\n const clickedTrigger =\n !!relatedTarget &&\n isElement(relatedTarget) &&\n isTriggerElement(relatedTarget) &&\n !isKeyboardInteraction(relatedTarget);\n if (clickedTrigger) {\n return;\n }\n if (expandToViewport) {\n // When expanded to viewport the focus can't move naturally to the next element.\n // Returning the focus to the trigger instead.\n onReturnFocus();\n }\n closeDropdown();\n }\n };\n\n // Close when focus leaves the entire widget (trigger and menu), for example when focus\n // moves to an app layout drawer or an element in a different frame. The filtering variant\n // keeps focus inside the dropdown content and closes via onDropdownFocusLeave instead.\n const onDropdownBlur = () => {\n if (isOpen && !hasFiltering) {\n closeDropdown();\n }\n };\n\n const onGroupToggle: GroupToggle = item => (!isExpanded(item) ? expandGroup(item) : collapseGroup());\n\n const onItemActivate: ItemActivate = (item, event) => {\n const isCheckbox = isCheckboxItem(item);\n const isLink = isLinkItem(item);\n const details = {\n id: item.id || 'undefined',\n href: isLink ? item.href : undefined,\n external: isLink ? item.external : undefined,\n target: isLink ? getItemTarget(item) : undefined,\n checked: isCheckbox ? !item.checked : undefined,\n };\n onReturnFocus();\n if (onItemFollow && isLink && isPlainLeftClick(event)) {\n fireCancelableEvent(onItemFollow, details, event);\n }\n if (onItemClick) {\n fireCancelableEvent(onItemClick, details, event);\n }\n closeDropdown();\n };\n\n const openAndSelectFirst = (event: React.KeyboardEvent) => {\n toggleDropdown();\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 if (!isOpen) {\n toggleDropdown();\n if (!hasFiltering) {\n moveHighlight(1, true);\n }\n } else {\n moveHighlight(1);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.up: {\n if (!isOpen) {\n toggleDropdown();\n if (!hasFiltering) {\n moveHighlight(-1, true);\n }\n } else {\n moveHighlight(-1);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.space: {\n // Prevent scrolling the list of items and highlighting the trigger when filtering\n // isn't active. Hitting space when filtering is active should just type a space\n // character into the input, or activate the clear button.\n if (!hasFiltering && !isOpen) {\n event.preventDefault();\n }\n break;\n }\n case KeyCode.enter: {\n // While filtering, pressing Enter without a highlighted item should not select\n // any item or close the dropdown.\n if (isOpen && hasFiltering && !targetItem) {\n break;\n }\n if (!targetItem?.disabled) {\n activate(event, true);\n }\n break;\n }\n case KeyCode.left:\n case KeyCode.right: {\n // When filtering is enabled and there's text in the filter input, left/right\n // arrow keys should move the caret between the characters.\n if (hasFiltering && filteringValue) {\n break;\n }\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 onReturnFocus();\n closeDropdown();\n event.preventDefault();\n if (isOpen) {\n event.stopPropagation();\n }\n break;\n }\n case KeyCode.tab: {\n // In filtering mode the dropdown contains multiple focusable elements (the filter\n // input and its clear button). Tabbing between them must not close the dropdown, so\n // closing on Tab is handled by onDropdownFocusLeave instead, which only fires once\n // focus actually leaves the dropdown.\n if (hasFiltering) {\n break;\n }\n // When expanded to viewport the focus can't move naturally to the next element.\n // Returning the focus to the trigger instead.\n if (expandToViewport) {\n onReturnFocus();\n }\n closeDropdown();\n break;\n }\n }\n };\n const onKeyUp = (event: React.KeyboardEvent) => {\n // When using a roving tabindex (filtering disabled), we need to handle activating items\n // with Space separately because there is a bug in Firefox where changing the focus during\n // a Space keydown event it will trigger unexpected click events on the new element.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=1220143\n if (event.keyCode === KeyCode.space && !targetItem?.disabled && !hasFiltering) {\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 onDropdownFocusLeave,\n onDropdownBlur,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n filteringValue,\n setFilteringValue,\n filteredItems,\n showExpandableGroups,\n };\n}\n"]}
|
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"header
|
|
6
|
-
"header-
|
|
7
|
-
"
|
|
8
|
-
"list
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"list-grid-
|
|
12
|
-
"list-grid-
|
|
13
|
-
"list-grid-
|
|
14
|
-
"list-grid-
|
|
15
|
-
"list-grid-
|
|
16
|
-
"list-grid-
|
|
17
|
-
"list-grid-
|
|
18
|
-
"list-grid-
|
|
19
|
-
"list-grid-
|
|
20
|
-
"list-grid-
|
|
21
|
-
"list-grid-
|
|
22
|
-
"list-grid-
|
|
23
|
-
"list-grid-
|
|
24
|
-
"list-grid-
|
|
25
|
-
"list-grid-
|
|
26
|
-
"list-grid-
|
|
27
|
-
"list-grid-
|
|
28
|
-
"list-grid-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"card-header
|
|
36
|
-
"card-header-inner
|
|
37
|
-
"card-
|
|
38
|
-
"
|
|
39
|
-
"section
|
|
40
|
-
"section-
|
|
41
|
-
"
|
|
4
|
+
"root": "awsui_root_p8a6i_1ktd8_9",
|
|
5
|
+
"header": "awsui_header_p8a6i_1ktd8_41",
|
|
6
|
+
"header-variant-full-page": "awsui_header-variant-full-page_p8a6i_1ktd8_41",
|
|
7
|
+
"header-refresh": "awsui_header-refresh_p8a6i_1ktd8_44",
|
|
8
|
+
"list": "awsui_list_p8a6i_1ktd8_51",
|
|
9
|
+
"list-grid-1": "awsui_list-grid-1_p8a6i_1ktd8_62",
|
|
10
|
+
"card": "awsui_card_p8a6i_1ktd8_62",
|
|
11
|
+
"list-grid-2": "awsui_list-grid-2_p8a6i_1ktd8_65",
|
|
12
|
+
"list-grid-3": "awsui_list-grid-3_p8a6i_1ktd8_68",
|
|
13
|
+
"list-grid-4": "awsui_list-grid-4_p8a6i_1ktd8_71",
|
|
14
|
+
"list-grid-5": "awsui_list-grid-5_p8a6i_1ktd8_74",
|
|
15
|
+
"list-grid-6": "awsui_list-grid-6_p8a6i_1ktd8_77",
|
|
16
|
+
"list-grid-7": "awsui_list-grid-7_p8a6i_1ktd8_80",
|
|
17
|
+
"list-grid-8": "awsui_list-grid-8_p8a6i_1ktd8_83",
|
|
18
|
+
"list-grid-9": "awsui_list-grid-9_p8a6i_1ktd8_86",
|
|
19
|
+
"list-grid-10": "awsui_list-grid-10_p8a6i_1ktd8_89",
|
|
20
|
+
"list-grid-11": "awsui_list-grid-11_p8a6i_1ktd8_92",
|
|
21
|
+
"list-grid-12": "awsui_list-grid-12_p8a6i_1ktd8_95",
|
|
22
|
+
"list-grid-13": "awsui_list-grid-13_p8a6i_1ktd8_98",
|
|
23
|
+
"list-grid-14": "awsui_list-grid-14_p8a6i_1ktd8_101",
|
|
24
|
+
"list-grid-15": "awsui_list-grid-15_p8a6i_1ktd8_104",
|
|
25
|
+
"list-grid-16": "awsui_list-grid-16_p8a6i_1ktd8_107",
|
|
26
|
+
"list-grid-17": "awsui_list-grid-17_p8a6i_1ktd8_110",
|
|
27
|
+
"list-grid-18": "awsui_list-grid-18_p8a6i_1ktd8_113",
|
|
28
|
+
"list-grid-19": "awsui_list-grid-19_p8a6i_1ktd8_116",
|
|
29
|
+
"list-grid-20": "awsui_list-grid-20_p8a6i_1ktd8_119",
|
|
30
|
+
"selection-control": "awsui_selection-control_p8a6i_1ktd8_123",
|
|
31
|
+
"loading": "awsui_loading_p8a6i_1ktd8_133",
|
|
32
|
+
"empty": "awsui_empty_p8a6i_1ktd8_134",
|
|
33
|
+
"has-header": "awsui_has-header_p8a6i_1ktd8_141",
|
|
34
|
+
"refresh": "awsui_refresh_p8a6i_1ktd8_144",
|
|
35
|
+
"card-header": "awsui_card-header_p8a6i_1ktd8_160",
|
|
36
|
+
"card-header-inner": "awsui_card-header-inner_p8a6i_1ktd8_169",
|
|
37
|
+
"card-header-inner-selectable": "awsui_card-header-inner-selectable_p8a6i_1ktd8_172",
|
|
38
|
+
"card-selected": "awsui_card-selected_p8a6i_1ktd8_175",
|
|
39
|
+
"section": "awsui_section_p8a6i_1ktd8_179",
|
|
40
|
+
"section-header": "awsui_section-header_p8a6i_1ktd8_186",
|
|
41
|
+
"section-content": "awsui_section-content_p8a6i_1ktd8_192",
|
|
42
|
+
"footer-pagination": "awsui_footer-pagination_p8a6i_1ktd8_204"
|
|
42
43
|
};
|
|
43
44
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
7
7
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
8
8
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
9
|
-
.
|
|
9
|
+
.awsui_root_p8a6i_1ktd8_9:not(#\9) {
|
|
10
10
|
border-collapse: separate;
|
|
11
11
|
border-spacing: 0;
|
|
12
12
|
box-sizing: border-box;
|
|
@@ -38,14 +38,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
38
38
|
-moz-osx-font-smoothing: auto;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
.awsui_header-variant-full-
|
|
41
|
+
.awsui_header_p8a6i_1ktd8_41:not(#\9):not(.awsui_header-variant-full-page_p8a6i_1ktd8_41) {
|
|
42
|
+
--awsui-inline-label-background-color-66120l: var(--color-background-container-header-irktp5, #fafafa);
|
|
43
|
+
}
|
|
44
|
+
.awsui_header-variant-full-page_p8a6i_1ktd8_41.awsui_header-refresh_p8a6i_1ktd8_44:not(#\9) {
|
|
42
45
|
padding-block-start: 0;
|
|
43
46
|
padding-inline-start: 0;
|
|
44
47
|
padding-inline-end: 0;
|
|
45
48
|
padding-block-end: calc(var(--space-container-header-bottom-9elagw, 12px) + var(--space-table-header-tools-full-page-bottom-g1a6as, 4px));
|
|
46
49
|
}
|
|
47
50
|
|
|
48
|
-
.
|
|
51
|
+
.awsui_list_p8a6i_1ktd8_51:not(#\9) {
|
|
49
52
|
display: flex;
|
|
50
53
|
flex-wrap: wrap;
|
|
51
54
|
box-sizing: border-box;
|
|
@@ -56,68 +59,68 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
56
59
|
margin-inline-start: calc(var(--space-grid-gutter-2qs4vj, 20px) * -1);
|
|
57
60
|
margin-inline-end: 0;
|
|
58
61
|
}
|
|
59
|
-
.
|
|
62
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-1_p8a6i_1ktd8_62 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
60
63
|
inline-size: 100%;
|
|
61
64
|
}
|
|
62
|
-
.
|
|
65
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-2_p8a6i_1ktd8_65 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
63
66
|
inline-size: 50%;
|
|
64
67
|
}
|
|
65
|
-
.
|
|
68
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-3_p8a6i_1ktd8_68 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
66
69
|
inline-size: 33.3333333333%;
|
|
67
70
|
}
|
|
68
|
-
.
|
|
71
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-4_p8a6i_1ktd8_71 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
69
72
|
inline-size: 25%;
|
|
70
73
|
}
|
|
71
|
-
.
|
|
74
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-5_p8a6i_1ktd8_74 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
72
75
|
inline-size: 20%;
|
|
73
76
|
}
|
|
74
|
-
.
|
|
77
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-6_p8a6i_1ktd8_77 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
75
78
|
inline-size: 16.6666666667%;
|
|
76
79
|
}
|
|
77
|
-
.
|
|
80
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-7_p8a6i_1ktd8_80 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
78
81
|
inline-size: 14.2857142857%;
|
|
79
82
|
}
|
|
80
|
-
.
|
|
83
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-8_p8a6i_1ktd8_83 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
81
84
|
inline-size: 12.5%;
|
|
82
85
|
}
|
|
83
|
-
.
|
|
86
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-9_p8a6i_1ktd8_86 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
84
87
|
inline-size: 11.1111111111%;
|
|
85
88
|
}
|
|
86
|
-
.
|
|
89
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-10_p8a6i_1ktd8_89 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
87
90
|
inline-size: 10%;
|
|
88
91
|
}
|
|
89
|
-
.
|
|
92
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-11_p8a6i_1ktd8_92 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
90
93
|
inline-size: 9.0909090909%;
|
|
91
94
|
}
|
|
92
|
-
.
|
|
95
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-12_p8a6i_1ktd8_95 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
93
96
|
inline-size: 8.3333333333%;
|
|
94
97
|
}
|
|
95
|
-
.
|
|
98
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-13_p8a6i_1ktd8_98 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
96
99
|
inline-size: 7.6923076923%;
|
|
97
100
|
}
|
|
98
|
-
.
|
|
101
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-14_p8a6i_1ktd8_101 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
99
102
|
inline-size: 7.1428571429%;
|
|
100
103
|
}
|
|
101
|
-
.
|
|
104
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-15_p8a6i_1ktd8_104 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
102
105
|
inline-size: 6.6666666667%;
|
|
103
106
|
}
|
|
104
|
-
.
|
|
107
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-16_p8a6i_1ktd8_107 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
105
108
|
inline-size: 6.25%;
|
|
106
109
|
}
|
|
107
|
-
.
|
|
110
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-17_p8a6i_1ktd8_110 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
108
111
|
inline-size: 5.8823529412%;
|
|
109
112
|
}
|
|
110
|
-
.
|
|
113
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-18_p8a6i_1ktd8_113 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
111
114
|
inline-size: 5.5555555556%;
|
|
112
115
|
}
|
|
113
|
-
.
|
|
116
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-19_p8a6i_1ktd8_116 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
114
117
|
inline-size: 5.2631578947%;
|
|
115
118
|
}
|
|
116
|
-
.
|
|
119
|
+
.awsui_list_p8a6i_1ktd8_51.awsui_list-grid-20_p8a6i_1ktd8_119 > .awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
117
120
|
inline-size: 5%;
|
|
118
121
|
}
|
|
119
122
|
|
|
120
|
-
.awsui_selection-
|
|
123
|
+
.awsui_selection-control_p8a6i_1ktd8_123:not(#\9) {
|
|
121
124
|
position: absolute;
|
|
122
125
|
box-sizing: border-box;
|
|
123
126
|
inline-size: calc(var(--size-control-jpgj8e, 14px) + 2 * var(--space-card-horizontal-default-2sdf3l, 20px));
|
|
@@ -127,22 +130,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
127
130
|
padding-inline: var(--space-card-horizontal-default-2sdf3l, 20px);
|
|
128
131
|
}
|
|
129
132
|
|
|
130
|
-
.
|
|
131
|
-
.
|
|
133
|
+
.awsui_loading_p8a6i_1ktd8_133:not(#\9),
|
|
134
|
+
.awsui_empty_p8a6i_1ktd8_134:not(#\9) {
|
|
132
135
|
overflow: hidden;
|
|
133
136
|
text-align: center;
|
|
134
137
|
color: var(--color-text-empty-y81uqw, #687078);
|
|
135
138
|
margin-block-end: var(--space-scaled-l-33ruz6, 20px);
|
|
136
139
|
}
|
|
137
140
|
|
|
138
|
-
.awsui_has-
|
|
141
|
+
.awsui_has-header_p8a6i_1ktd8_141:not(#\9) {
|
|
139
142
|
margin-block-start: var(--space-grid-gutter-2qs4vj, 20px);
|
|
140
143
|
}
|
|
141
|
-
.awsui_has-
|
|
144
|
+
.awsui_has-header_p8a6i_1ktd8_141.awsui_refresh_p8a6i_1ktd8_144.awsui_header-variant-full-page_p8a6i_1ktd8_41:not(#\9) {
|
|
142
145
|
margin-block-start: var(--space-scaled-s-2crg2b, 12px);
|
|
143
146
|
}
|
|
144
147
|
|
|
145
|
-
.
|
|
148
|
+
.awsui_card_p8a6i_1ktd8_62:not(#\9) {
|
|
146
149
|
overflow-wrap: break-word;
|
|
147
150
|
word-wrap: break-word;
|
|
148
151
|
box-sizing: border-box;
|
|
@@ -154,7 +157,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
154
157
|
padding-inline-end: 0;
|
|
155
158
|
list-style: none;
|
|
156
159
|
}
|
|
157
|
-
.awsui_card-
|
|
160
|
+
.awsui_card-header_p8a6i_1ktd8_160:not(#\9) {
|
|
158
161
|
font-family: var(--font-family-heading-f20kh9, "Noto Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
|
|
159
162
|
font-size: var(--font-size-heading-m-cqvsuv, 18px);
|
|
160
163
|
line-height: var(--line-height-heading-m-d6lkzb, 22px);
|
|
@@ -163,42 +166,42 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
163
166
|
-webkit-font-smoothing: var(--font-smoothing-webkit-dpz0hr, auto);
|
|
164
167
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-kjlydy, auto);
|
|
165
168
|
}
|
|
166
|
-
.awsui_card-header-
|
|
169
|
+
.awsui_card-header-inner_p8a6i_1ktd8_169:not(#\9) {
|
|
167
170
|
/* used in test-utils */
|
|
168
171
|
}
|
|
169
|
-
.awsui_card-header-inner-
|
|
172
|
+
.awsui_card-header-inner-selectable_p8a6i_1ktd8_172:not(#\9) {
|
|
170
173
|
inline-size: 90%;
|
|
171
174
|
}
|
|
172
|
-
.awsui_card-
|
|
175
|
+
.awsui_card-selected_p8a6i_1ktd8_175:not(#\9) {
|
|
173
176
|
/* Used in test utils */
|
|
174
177
|
}
|
|
175
178
|
|
|
176
|
-
.
|
|
179
|
+
.awsui_section_p8a6i_1ktd8_179:not(#\9) {
|
|
177
180
|
display: inline-block;
|
|
178
181
|
box-sizing: border-box;
|
|
179
182
|
padding-block-end: var(--space-scaled-xs-pajbd1, 8px);
|
|
180
183
|
padding-inline: 0;
|
|
181
184
|
vertical-align: top;
|
|
182
185
|
}
|
|
183
|
-
.awsui_section-
|
|
186
|
+
.awsui_section-header_p8a6i_1ktd8_186:not(#\9) {
|
|
184
187
|
font-size: var(--font-size-body-m-tq5a14, 14px);
|
|
185
188
|
line-height: var(--line-height-body-m-5xw6xo, 22px);
|
|
186
189
|
font-weight: var(--font-display-label-weight-tz6zkz, 400);
|
|
187
190
|
color: var(--color-text-label-g80qnu, #545b64);
|
|
188
191
|
}
|
|
189
|
-
.awsui_section-
|
|
192
|
+
.awsui_section-content_p8a6i_1ktd8_192:not(#\9) {
|
|
190
193
|
/* used in test-utils */
|
|
191
194
|
}
|
|
192
195
|
|
|
193
|
-
.
|
|
196
|
+
.awsui_section_p8a6i_1ktd8_179:not(#\9):not(:first-child) {
|
|
194
197
|
padding-block-start: var(--space-xs-m9b7jf, 8px);
|
|
195
198
|
}
|
|
196
199
|
|
|
197
|
-
.
|
|
200
|
+
.awsui_section_p8a6i_1ktd8_179:not(#\9):last-child {
|
|
198
201
|
padding-block-end: 0;
|
|
199
202
|
}
|
|
200
203
|
|
|
201
|
-
.awsui_footer-
|
|
204
|
+
.awsui_footer-pagination_p8a6i_1ktd8_204:not(#\9) {
|
|
202
205
|
display: flex;
|
|
203
206
|
justify-content: flex-end;
|
|
204
207
|
}
|
|
@@ -2,43 +2,44 @@
|
|
|
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
|
-
"header
|
|
7
|
-
"header-
|
|
8
|
-
"
|
|
9
|
-
"list
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"list-grid-
|
|
13
|
-
"list-grid-
|
|
14
|
-
"list-grid-
|
|
15
|
-
"list-grid-
|
|
16
|
-
"list-grid-
|
|
17
|
-
"list-grid-
|
|
18
|
-
"list-grid-
|
|
19
|
-
"list-grid-
|
|
20
|
-
"list-grid-
|
|
21
|
-
"list-grid-
|
|
22
|
-
"list-grid-
|
|
23
|
-
"list-grid-
|
|
24
|
-
"list-grid-
|
|
25
|
-
"list-grid-
|
|
26
|
-
"list-grid-
|
|
27
|
-
"list-grid-
|
|
28
|
-
"list-grid-
|
|
29
|
-
"list-grid-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"card-header
|
|
37
|
-
"card-header-inner
|
|
38
|
-
"card-
|
|
39
|
-
"
|
|
40
|
-
"section
|
|
41
|
-
"section-
|
|
42
|
-
"
|
|
5
|
+
"root": "awsui_root_p8a6i_1ktd8_9",
|
|
6
|
+
"header": "awsui_header_p8a6i_1ktd8_41",
|
|
7
|
+
"header-variant-full-page": "awsui_header-variant-full-page_p8a6i_1ktd8_41",
|
|
8
|
+
"header-refresh": "awsui_header-refresh_p8a6i_1ktd8_44",
|
|
9
|
+
"list": "awsui_list_p8a6i_1ktd8_51",
|
|
10
|
+
"list-grid-1": "awsui_list-grid-1_p8a6i_1ktd8_62",
|
|
11
|
+
"card": "awsui_card_p8a6i_1ktd8_62",
|
|
12
|
+
"list-grid-2": "awsui_list-grid-2_p8a6i_1ktd8_65",
|
|
13
|
+
"list-grid-3": "awsui_list-grid-3_p8a6i_1ktd8_68",
|
|
14
|
+
"list-grid-4": "awsui_list-grid-4_p8a6i_1ktd8_71",
|
|
15
|
+
"list-grid-5": "awsui_list-grid-5_p8a6i_1ktd8_74",
|
|
16
|
+
"list-grid-6": "awsui_list-grid-6_p8a6i_1ktd8_77",
|
|
17
|
+
"list-grid-7": "awsui_list-grid-7_p8a6i_1ktd8_80",
|
|
18
|
+
"list-grid-8": "awsui_list-grid-8_p8a6i_1ktd8_83",
|
|
19
|
+
"list-grid-9": "awsui_list-grid-9_p8a6i_1ktd8_86",
|
|
20
|
+
"list-grid-10": "awsui_list-grid-10_p8a6i_1ktd8_89",
|
|
21
|
+
"list-grid-11": "awsui_list-grid-11_p8a6i_1ktd8_92",
|
|
22
|
+
"list-grid-12": "awsui_list-grid-12_p8a6i_1ktd8_95",
|
|
23
|
+
"list-grid-13": "awsui_list-grid-13_p8a6i_1ktd8_98",
|
|
24
|
+
"list-grid-14": "awsui_list-grid-14_p8a6i_1ktd8_101",
|
|
25
|
+
"list-grid-15": "awsui_list-grid-15_p8a6i_1ktd8_104",
|
|
26
|
+
"list-grid-16": "awsui_list-grid-16_p8a6i_1ktd8_107",
|
|
27
|
+
"list-grid-17": "awsui_list-grid-17_p8a6i_1ktd8_110",
|
|
28
|
+
"list-grid-18": "awsui_list-grid-18_p8a6i_1ktd8_113",
|
|
29
|
+
"list-grid-19": "awsui_list-grid-19_p8a6i_1ktd8_116",
|
|
30
|
+
"list-grid-20": "awsui_list-grid-20_p8a6i_1ktd8_119",
|
|
31
|
+
"selection-control": "awsui_selection-control_p8a6i_1ktd8_123",
|
|
32
|
+
"loading": "awsui_loading_p8a6i_1ktd8_133",
|
|
33
|
+
"empty": "awsui_empty_p8a6i_1ktd8_134",
|
|
34
|
+
"has-header": "awsui_has-header_p8a6i_1ktd8_141",
|
|
35
|
+
"refresh": "awsui_refresh_p8a6i_1ktd8_144",
|
|
36
|
+
"card-header": "awsui_card-header_p8a6i_1ktd8_160",
|
|
37
|
+
"card-header-inner": "awsui_card-header-inner_p8a6i_1ktd8_169",
|
|
38
|
+
"card-header-inner-selectable": "awsui_card-header-inner-selectable_p8a6i_1ktd8_172",
|
|
39
|
+
"card-selected": "awsui_card-selected_p8a6i_1ktd8_175",
|
|
40
|
+
"section": "awsui_section_p8a6i_1ktd8_179",
|
|
41
|
+
"section-header": "awsui_section-header_p8a6i_1ktd8_186",
|
|
42
|
+
"section-content": "awsui_section-content_p8a6i_1ktd8_192",
|
|
43
|
+
"footer-pagination": "awsui_footer-pagination_p8a6i_1ktd8_204"
|
|
43
44
|
};
|
|
44
45
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"checkbox-control": "awsui_checkbox-
|
|
6
|
-
"outline": "
|
|
4
|
+
"root": "awsui_root_k2y2q_cvwwu_9",
|
|
5
|
+
"checkbox-control": "awsui_checkbox-control_k2y2q_cvwwu_42",
|
|
6
|
+
"outline": "awsui_outline_k2y2q_cvwwu_50"
|
|
7
7
|
};
|
|
8
8
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
7
7
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
8
8
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
9
|
-
.
|
|
9
|
+
.awsui_root_k2y2q_cvwwu_9.awsui_root_k2y2q_cvwwu_9:not(#\9) {
|
|
10
10
|
border-collapse: separate;
|
|
11
11
|
border-spacing: 0;
|
|
12
12
|
box-sizing: border-box;
|
|
@@ -39,7 +39,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
39
39
|
display: flex;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
.awsui_checkbox-
|
|
42
|
+
.awsui_checkbox-control_k2y2q_cvwwu_42:not(#\9) {
|
|
43
43
|
margin-block-start: calc((var(--line-height-body-m-5xw6xo, 22px) - var(--size-control-jpgj8e, 14px)) / 2);
|
|
44
44
|
min-block-size: var(--size-control-jpgj8e, 14px);
|
|
45
45
|
min-inline-size: var(--size-control-jpgj8e, 14px);
|
|
@@ -47,15 +47,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
47
47
|
inline-size: var(--size-control-jpgj8e, 14px);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
.
|
|
51
|
-
--awsui-style-focus-ring-box-shadow-
|
|
50
|
+
.awsui_outline_k2y2q_cvwwu_50:not(#\9) {
|
|
51
|
+
--awsui-style-focus-ring-box-shadow-66120l: 0 0 0 var(--awsui-style-focus-ring-border-width-66120l, 2px) var(--awsui-style-focus-ring-border-color-66120l, var(--color-border-item-focused-sewkzn, #0073bb));
|
|
52
52
|
position: relative;
|
|
53
53
|
}
|
|
54
|
-
.
|
|
54
|
+
.awsui_outline_k2y2q_cvwwu_50:not(#\9) {
|
|
55
55
|
outline: 2px dotted transparent;
|
|
56
56
|
outline-offset: calc(2px - 1px);
|
|
57
57
|
}
|
|
58
|
-
.
|
|
58
|
+
.awsui_outline_k2y2q_cvwwu_50:not(#\9)::before {
|
|
59
59
|
content: " ";
|
|
60
60
|
display: block;
|
|
61
61
|
position: absolute;
|
|
@@ -63,9 +63,9 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
63
63
|
inset-block-start: calc(-1 * 2px);
|
|
64
64
|
inline-size: calc(100% + 2px + 2px);
|
|
65
65
|
block-size: calc(100% + 2px + 2px);
|
|
66
|
-
border-start-start-radius: var(--awsui-style-focus-ring-border-radius-
|
|
67
|
-
border-start-end-radius: var(--awsui-style-focus-ring-border-radius-
|
|
68
|
-
border-end-start-radius: var(--awsui-style-focus-ring-border-radius-
|
|
69
|
-
border-end-end-radius: var(--awsui-style-focus-ring-border-radius-
|
|
70
|
-
box-shadow: var(--awsui-style-focus-ring-box-shadow-
|
|
66
|
+
border-start-start-radius: var(--awsui-style-focus-ring-border-radius-66120l, var(--border-radius-control-default-focus-ring-akwhsf, 2px));
|
|
67
|
+
border-start-end-radius: var(--awsui-style-focus-ring-border-radius-66120l, var(--border-radius-control-default-focus-ring-akwhsf, 2px));
|
|
68
|
+
border-end-start-radius: var(--awsui-style-focus-ring-border-radius-66120l, var(--border-radius-control-default-focus-ring-akwhsf, 2px));
|
|
69
|
+
border-end-end-radius: var(--awsui-style-focus-ring-border-radius-66120l, var(--border-radius-control-default-focus-ring-akwhsf, 2px));
|
|
70
|
+
box-shadow: var(--awsui-style-focus-ring-box-shadow-66120l);
|
|
71
71
|
}
|