@cloudscape-design/components 3.0.1043 → 3.0.1045
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/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +2 -2
- package/button-dropdown/internal.js.map +1 -1
- package/flashbar/collapsible-flashbar.d.ts.map +1 -1
- package/flashbar/collapsible-flashbar.js +23 -10
- package/flashbar/collapsible-flashbar.js.map +1 -1
- package/flashbar/common.d.ts +3 -0
- package/flashbar/common.d.ts.map +1 -1
- package/flashbar/common.js +50 -1
- package/flashbar/common.js.map +1 -1
- package/flashbar/flash.d.ts +3 -0
- package/flashbar/flash.d.ts.map +1 -1
- package/flashbar/flash.js +40 -18
- package/flashbar/flash.js.map +1 -1
- package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
- package/flashbar/non-collapsible-flashbar.js +14 -2
- package/flashbar/non-collapsible-flashbar.js.map +1 -1
- package/internal/base-component/styles.scoped.css +1 -1
- package/internal/components/button-trigger/styles.css.js +13 -13
- package/internal/components/button-trigger/styles.scoped.css +36 -31
- package/internal/components/button-trigger/styles.selectors.js +13 -13
- package/internal/environment.js +2 -2
- package/internal/environment.json +2 -2
- package/internal/manifest.json +1 -1
- package/package.json +1 -2
- package/test-utils/dom/top-navigation/1.0-beta/index.d.ts +0 -28
- package/test-utils/dom/top-navigation/1.0-beta/index.js +0 -72
- package/test-utils/dom/top-navigation/1.0-beta/index.js.map +0 -1
- package/test-utils/selectors/top-navigation/1.0-beta/index.d.ts +0 -28
- package/test-utils/selectors/top-navigation/1.0-beta/index.js +0 -72
- package/test-utils/selectors/top-navigation/1.0-beta/index.js.map +0 -1
- package/top-navigation/1.0-beta/index.d.ts +0 -12
- package/top-navigation/1.0-beta/index.d.ts.map +0 -1
- package/top-navigation/1.0-beta/index.js +0 -19
- package/top-navigation/1.0-beta/index.js.map +0 -1
- package/top-navigation/1.0-beta/interfaces.d.ts +0 -102
- package/top-navigation/1.0-beta/interfaces.d.ts.map +0 -1
- package/top-navigation/1.0-beta/interfaces.js +0 -2
- package/top-navigation/1.0-beta/interfaces.js.map +0 -1
- package/top-navigation/1.0-beta/internal.d.ts +0 -13
- package/top-navigation/1.0-beta/internal.d.ts.map +0 -1
- package/top-navigation/1.0-beta/internal.js +0 -93
- package/top-navigation/1.0-beta/internal.js.map +0 -1
- package/top-navigation/1.0-beta/parts/overflow-menu.d.ts +0 -20
- package/top-navigation/1.0-beta/parts/overflow-menu.d.ts.map +0 -1
- package/top-navigation/1.0-beta/parts/overflow-menu.js +0 -54
- package/top-navigation/1.0-beta/parts/overflow-menu.js.map +0 -1
- package/top-navigation/1.0-beta/parts/utility.d.ts +0 -14
- package/top-navigation/1.0-beta/parts/utility.d.ts.map +0 -1
- package/top-navigation/1.0-beta/parts/utility.js +0 -56
- package/top-navigation/1.0-beta/parts/utility.js.map +0 -1
- package/top-navigation/1.0-beta/styles.css.js +0 -28
- package/top-navigation/1.0-beta/styles.scoped.css +0 -360
- package/top-navigation/1.0-beta/styles.selectors.js +0 -29
- package/top-navigation/1.0-beta/use-top-navigation.d.ts +0 -29
- package/top-navigation/1.0-beta/use-top-navigation.d.ts.map +0 -1
- package/top-navigation/1.0-beta/use-top-navigation.js +0 -154
- package/top-navigation/1.0-beta/use-top-navigation.js.map +0 -1
package/flashbar/flash.js
CHANGED
|
@@ -31,19 +31,43 @@ const ICON_TYPES = {
|
|
|
31
31
|
};
|
|
32
32
|
const useDiscoveredAction = createUseDiscoveredAction(awsuiPluginsInternal.flashbar.onActionRegistered);
|
|
33
33
|
const useDiscoveredContent = createUseDiscoveredContent('flash', awsuiPluginsInternal.flashContent);
|
|
34
|
-
function dismissButton(dismissLabel, onDismiss, style, type) {
|
|
35
|
-
return (React.createElement("div", Object.assign({ className: styles['dismiss-button-wrapper'] }, getAnalyticsMetadataAttribute({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
function dismissButton(dismissLabel, onDismiss, style, type, ref, id, onDismissed) {
|
|
35
|
+
return (React.createElement("div", Object.assign({ className: styles['dismiss-button-wrapper'] }, getAnalyticsMetadataAttribute({ action: 'dismiss' })),
|
|
36
|
+
React.createElement(InternalButton, { ref: ref, onClick: event => {
|
|
37
|
+
if (onDismiss) {
|
|
38
|
+
onDismiss(event);
|
|
39
|
+
}
|
|
40
|
+
if (onDismissed) {
|
|
41
|
+
onDismissed(id);
|
|
42
|
+
}
|
|
43
|
+
}, className: styles['dismiss-button'], variant: "flashbar-icon", iconName: "close", formAction: "none", ariaLabel: dismissLabel, style: getDismissButtonStyles(style, type) })));
|
|
39
44
|
}
|
|
45
|
+
export const focusFlashFocusableArea = (flash) => {
|
|
46
|
+
if (!flash) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const dismissButton = flash.querySelector(`.${styles['dismiss-button']}`);
|
|
50
|
+
const focusContainer = flash.querySelector(`.${styles['flash-focus-container']}`);
|
|
51
|
+
if (dismissButton) {
|
|
52
|
+
dismissButton.focus();
|
|
53
|
+
}
|
|
54
|
+
else if (focusContainer) {
|
|
55
|
+
focusContainer.focus();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
40
58
|
export const focusFlashById = throttle((element, itemId) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
59
|
+
if (!element) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const flashElement = element.querySelector(`[data-itemid="${CSS.escape(itemId)}"]`);
|
|
63
|
+
if (!flashElement) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const focusContainer = flashElement.querySelector(`.${styles['flash-focus-container']}`);
|
|
67
|
+
focusContainer === null || focusContainer === void 0 ? void 0 : focusContainer.focus();
|
|
44
68
|
}, FOCUS_THROTTLE_DELAY, { trailing: false });
|
|
45
69
|
export const Flash = React.forwardRef((_a, ref) => {
|
|
46
|
-
var { id, header, content, dismissible, dismissLabel, loading, action, buttonText, onButtonClick, onDismiss, className, transitionState, ariaRole, i18nStrings, type = 'info', analyticsMetadata, style } = _a, props = __rest(_a, ["id", "header", "content", "dismissible", "dismissLabel", "loading", "action", "buttonText", "onButtonClick", "onDismiss", "className", "transitionState", "ariaRole", "i18nStrings", "type", "analyticsMetadata", "style"]);
|
|
70
|
+
var { id, header, content, dismissible, dismissLabel, loading, action, buttonText, onButtonClick, onDismiss, className, transitionState, ariaRole, i18nStrings, type = 'info', analyticsMetadata, style, rootRef, onDismissed } = _a, props = __rest(_a, ["id", "header", "content", "dismissible", "dismissLabel", "loading", "action", "buttonText", "onButtonClick", "onDismiss", "className", "transitionState", "ariaRole", "i18nStrings", "type", "analyticsMetadata", "style", "rootRef", "onDismissed"]);
|
|
47
71
|
if (isDevelopment) {
|
|
48
72
|
if (buttonText && !onButtonClick) {
|
|
49
73
|
warnOnce('Flashbar', `You provided a \`buttonText\` prop without an \`onButtonClick\` handler. This will render a non-interactive action button.`);
|
|
@@ -54,11 +78,13 @@ export const Flash = React.forwardRef((_a, ref) => {
|
|
|
54
78
|
}
|
|
55
79
|
const [containerWidth, containerMeasureRef] = useContainerWidth();
|
|
56
80
|
const elementRef = useComponentMetadata('Flash', PACKAGE_VERSION, analyticsMetadata);
|
|
57
|
-
|
|
81
|
+
// Merge all refs including the rootRef if provided
|
|
82
|
+
const mergedRef = useMergeRefs(ref, rootRef, elementRef, containerMeasureRef);
|
|
58
83
|
const flashIconId = useUniqueId('flash-icon');
|
|
59
84
|
const flashMessageId = useUniqueId('flash-message');
|
|
60
85
|
const headerRefObject = useRef(null);
|
|
61
86
|
const contentRefObject = useRef(null);
|
|
87
|
+
const dismissButtonRefObject = useRef(null);
|
|
62
88
|
const { discoveredActions, headerRef: headerRefAction, contentRef: contentRefAction } = useDiscoveredAction(type);
|
|
63
89
|
const { initialHidden, headerReplacementType, contentReplacementType, headerRef: headerRefContent, contentRef: contentRefContent, replacementHeaderRef, replacementContentRef, } = useDiscoveredContent({ type, header, children: content });
|
|
64
90
|
const headerRef = useMergeRefs(headerRefAction, headerRefContent, headerRefObject);
|
|
@@ -69,9 +95,7 @@ export const Flash = React.forwardRef((_a, ref) => {
|
|
|
69
95
|
const icon = loading ? (React.createElement("span", { role: "img", "aria-label": statusIconAriaLabel },
|
|
70
96
|
React.createElement(InternalSpinner, null))) : (React.createElement(InternalIcon, { name: iconType, ariaLabel: statusIconAriaLabel }));
|
|
71
97
|
const effectiveType = loading ? 'info' : type;
|
|
72
|
-
const analyticsAttributes = {
|
|
73
|
-
[DATA_ATTR_ANALYTICS_FLASHBAR]: effectiveType,
|
|
74
|
-
};
|
|
98
|
+
const analyticsAttributes = { [DATA_ATTR_ANALYTICS_FLASHBAR]: effectiveType };
|
|
75
99
|
if (analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.suppressFlowMetricEvents) {
|
|
76
100
|
analyticsAttributes[DATA_ATTR_ANALYTICS_SUPPRESS_FLOW_EVENTS] = 'true';
|
|
77
101
|
}
|
|
@@ -94,11 +118,9 @@ export const Flash = React.forwardRef((_a, ref) => {
|
|
|
94
118
|
React.createElement("div", { className: clsx(styles['header-replacement'], headerReplacementType !== 'replaced' && styles.hidden), ref: replacementHeaderRef }),
|
|
95
119
|
React.createElement("div", { className: clsx(styles['flash-content'], contentReplacementType !== 'original' ? styles.hidden : analyticsSelectors['flash-header']), ref: contentRef }, content),
|
|
96
120
|
React.createElement("div", { className: clsx(styles['content-replacement'], contentReplacementType !== 'replaced' && styles.hidden), ref: replacementContentRef }))),
|
|
97
|
-
React.createElement(ActionsWrapper, { className: styles['action-button-wrapper'], testUtilClasses: {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}, action: action, discoveredActions: discoveredActions, buttonText: buttonText, onButtonClick: onButtonClick, containerWidth: containerWidth, wrappedClass: styles['action-wrapped'] })),
|
|
101
|
-
dismissible && dismissButton(dismissLabel, onDismiss, style, effectiveType),
|
|
121
|
+
React.createElement(ActionsWrapper, { className: styles['action-button-wrapper'], testUtilClasses: { actionSlot: styles['action-slot'], actionButton: styles['action-button'] }, action: action, discoveredActions: discoveredActions, buttonText: buttonText, onButtonClick: onButtonClick, containerWidth: containerWidth, wrappedClass: styles['action-wrapped'] })),
|
|
122
|
+
dismissible &&
|
|
123
|
+
dismissButton(dismissLabel, onDismiss, style, effectiveType, dismissButtonRefObject, id, onDismissed),
|
|
102
124
|
ariaRole === 'status' && (React.createElement(InternalLiveRegion, { sources: [statusIconAriaLabel, headerRefObject, contentRefObject] }))));
|
|
103
125
|
});
|
|
104
126
|
//# sourceMappingURL=flash.js.map
|
package/flashbar/flash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flash.js","sourceRoot":"","sources":["../../../src/flashbar/flash.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 } from 'react';\nimport clsx from 'clsx';\n\nimport {\n useComponentMetadata,\n useMergeRefs,\n useUniqueId,\n warnOnce,\n} from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\nimport { AnalyticsMetadata } from '@cloudscape-design/component-toolkit/internal/base-component/metrics/interfaces';\n\nimport { ActionsWrapper } from '../alert/actions-wrapper';\nimport { InternalButton } from '../button/internal';\nimport InternalIcon from '../icon/internal';\nimport {\n DATA_ATTR_ANALYTICS_FLASHBAR,\n DATA_ATTR_ANALYTICS_SUPPRESS_FLOW_EVENTS,\n} from '../internal/analytics/selectors';\nimport { getVisualContextClassname } from '../internal/components/visual-context';\nimport { PACKAGE_VERSION } from '../internal/environment';\nimport { isDevelopment } from '../internal/is-development';\nimport { awsuiPluginsInternal } from '../internal/plugins/api';\nimport { createUseDiscoveredAction, createUseDiscoveredContent } from '../internal/plugins/helpers';\nimport { throttle } from '../internal/utils/throttle';\nimport useContainerWidth from '../internal/utils/use-container-width';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalSpinner from '../spinner/internal';\nimport { GeneratedAnalyticsMetadataFlashbarDismiss } from './analytics-metadata/interfaces';\nimport { FlashbarProps } from './interfaces';\nimport { getDismissButtonStyles, getFlashStyles } from './style';\nimport { FOCUS_THROTTLE_DELAY } from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst ICON_TYPES = {\n success: 'status-positive',\n warning: 'status-warning',\n info: 'status-info',\n error: 'status-negative',\n 'in-progress': 'status-in-progress',\n} as const;\n\nconst useDiscoveredAction = createUseDiscoveredAction(awsuiPluginsInternal.flashbar.onActionRegistered);\nconst useDiscoveredContent = createUseDiscoveredContent('flash', awsuiPluginsInternal.flashContent);\n\nfunction dismissButton(\n dismissLabel: FlashbarProps.MessageDefinition['dismissLabel'],\n onDismiss: FlashbarProps.MessageDefinition['onDismiss'],\n style?: FlashbarProps.Style,\n type?: string\n) {\n return (\n <div\n className={styles['dismiss-button-wrapper']}\n {...getAnalyticsMetadataAttribute({\n action: 'dismiss',\n } as Partial<GeneratedAnalyticsMetadataFlashbarDismiss>)}\n >\n <InternalButton\n onClick={onDismiss}\n className={styles['dismiss-button']}\n variant=\"flashbar-icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={dismissLabel}\n style={getDismissButtonStyles(style, type)}\n />\n </div>\n );\n}\n\nexport const focusFlashById = throttle(\n (element: HTMLElement | null, itemId: string) => {\n const selector = `[data-itemid=\"${CSS.escape(itemId)}\"] .${styles['flash-focus-container']}`;\n element?.querySelector<HTMLElement>(selector)?.focus();\n },\n FOCUS_THROTTLE_DELAY,\n { trailing: false }\n);\n\ninterface FlashProps extends FlashbarProps.MessageDefinition {\n className: string;\n transitionState?: string;\n i18nStrings?: FlashbarProps.I18nStrings;\n style?: FlashbarProps.Style;\n}\n\nexport const Flash = React.forwardRef(\n (\n {\n id,\n header,\n content,\n dismissible,\n dismissLabel,\n loading,\n action,\n buttonText,\n onButtonClick,\n onDismiss,\n className,\n transitionState,\n ariaRole,\n i18nStrings,\n type = 'info',\n analyticsMetadata,\n style,\n ...props\n }: FlashProps,\n ref: React.Ref<HTMLDivElement>\n ) => {\n if (isDevelopment) {\n if (buttonText && !onButtonClick) {\n warnOnce(\n 'Flashbar',\n `You provided a \\`buttonText\\` prop without an \\`onButtonClick\\` handler. This will render a non-interactive action button.`\n );\n }\n\n if (dismissible && !onDismiss) {\n warnOnce(\n 'Flashbar',\n `You have set the \\`dismissible\\` prop without an \\`onDismiss\\` handler. This will render a non-interactive dismiss button.`\n );\n }\n }\n\n const [containerWidth, containerMeasureRef] = useContainerWidth();\n\n const elementRef = useComponentMetadata('Flash', PACKAGE_VERSION, analyticsMetadata as AnalyticsMetadata);\n\n const mergedRef = useMergeRefs(ref, elementRef, containerMeasureRef);\n const flashIconId = useUniqueId('flash-icon');\n const flashMessageId = useUniqueId('flash-message');\n\n const headerRefObject = useRef<HTMLDivElement>(null);\n const contentRefObject = useRef<HTMLDivElement>(null);\n const { discoveredActions, headerRef: headerRefAction, contentRef: contentRefAction } = useDiscoveredAction(type);\n const {\n initialHidden,\n headerReplacementType,\n contentReplacementType,\n headerRef: headerRefContent,\n contentRef: contentRefContent,\n replacementHeaderRef,\n replacementContentRef,\n } = useDiscoveredContent({ type, header, children: content });\n\n const headerRef = useMergeRefs(headerRefAction, headerRefContent, headerRefObject);\n const contentRef = useMergeRefs(contentRefAction, contentRefContent, contentRefObject);\n\n const statusIconAriaLabel =\n props.statusIconAriaLabel ||\n i18nStrings?.[`${loading || type === 'in-progress' ? 'inProgress' : type}IconAriaLabel`];\n\n const iconType = ICON_TYPES[type];\n const icon = loading ? (\n <span role=\"img\" aria-label={statusIconAriaLabel}>\n <InternalSpinner />\n </span>\n ) : (\n <InternalIcon name={iconType} ariaLabel={statusIconAriaLabel} />\n );\n\n const effectiveType = loading ? 'info' : type;\n\n const analyticsAttributes: Record<string, string> = {\n [DATA_ATTR_ANALYTICS_FLASHBAR]: effectiveType,\n };\n\n if (analyticsMetadata?.suppressFlowMetricEvents) {\n analyticsAttributes[DATA_ATTR_ANALYTICS_SUPPRESS_FLOW_EVENTS] = 'true';\n }\n\n return (\n // We're not using \"polite\" or \"assertive\" here, just turning default behavior off.\n // eslint-disable-next-line @cloudscape-design/components/prefer-live-region\n <div\n ref={mergedRef}\n role={ariaRole}\n aria-live={ariaRole ? 'off' : undefined}\n data-itemid={id}\n className={clsx(\n styles.flash,\n styles[`flash-type-${effectiveType}`],\n className,\n transitionState && {\n [styles.enter]: transitionState === 'enter',\n [styles.entering]: transitionState === 'entering',\n [styles.entered]: transitionState === 'entered',\n [styles.exit]: transitionState === 'exit',\n [styles.exiting]: transitionState === 'exiting',\n [styles.exited]: transitionState === 'exited',\n },\n getVisualContextClassname(type === 'warning' && !loading ? 'flashbar-warning' : 'flashbar'),\n initialHidden && styles['initial-hidden']\n )}\n style={getFlashStyles(style, effectiveType)}\n {...analyticsAttributes}\n >\n <div className={styles['flash-body']}>\n <div\n className={styles['flash-focus-container']}\n tabIndex={-1}\n role=\"group\"\n aria-labelledby={`${flashIconId} ${flashMessageId}`}\n >\n <div className={clsx(styles['flash-icon'], styles['flash-text'])} id={flashIconId}>\n {icon}\n </div>\n <div className={clsx(styles['flash-message'], styles['flash-text'])} id={flashMessageId}>\n <div\n className={clsx(\n styles['flash-header'],\n headerReplacementType !== 'original' ? styles.hidden : analyticsSelectors['flash-header']\n )}\n ref={headerRef}\n >\n {header}\n </div>\n <div\n className={clsx(styles['header-replacement'], headerReplacementType !== 'replaced' && styles.hidden)}\n ref={replacementHeaderRef}\n ></div>\n <div\n className={clsx(\n styles['flash-content'],\n contentReplacementType !== 'original' ? styles.hidden : analyticsSelectors['flash-header']\n )}\n ref={contentRef}\n >\n {content}\n </div>\n <div\n className={clsx(styles['content-replacement'], contentReplacementType !== 'replaced' && styles.hidden)}\n ref={replacementContentRef}\n ></div>\n </div>\n </div>\n <ActionsWrapper\n className={styles['action-button-wrapper']}\n testUtilClasses={{\n actionSlot: styles['action-slot'],\n actionButton: styles['action-button'],\n }}\n action={action}\n discoveredActions={discoveredActions}\n buttonText={buttonText}\n onButtonClick={onButtonClick}\n containerWidth={containerWidth}\n wrappedClass={styles['action-wrapped']}\n />\n </div>\n {dismissible && dismissButton(dismissLabel, onDismiss, style, effectiveType)}\n {ariaRole === 'status' && (\n <InternalLiveRegion sources={[statusIconAriaLabel, headerRefObject, contentRefObject]} />\n )}\n </div>\n );\n }\n);\n"]}
|
|
1
|
+
{"version":3,"file":"flash.js","sourceRoot":"","sources":["../../../src/flashbar/flash.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAGjH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,wCAAwC,GACzC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AACtE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,iBAAiB;IACxB,aAAa,EAAE,oBAAoB;CAC3B,CAAC;AAEX,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AACxG,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAEpG,SAAS,aAAa,CACpB,YAA6D,EAC7D,SAAuD,EACvD,KAA2B,EAC3B,IAAa,EACb,GAAgC,EAChC,EAAW,EACX,WAAmC;IAEnC,OAAO,CACL,2CACE,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,IACvC,6BAA6B,CAAC,EAAE,MAAM,EAAE,SAAS,EAAwD,CAAC;QAE9G,oBAAC,cAAc,IACb,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,KAAK,CAAC,EAAE;gBACf,IAAI,SAAS,EAAE;oBACb,SAAS,CAAC,KAAK,CAAC,CAAC;iBAClB;gBACD,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,EAAE,CAAC,CAAC;iBACjB;YACH,CAAC,EACD,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EACnC,OAAO,EAAC,eAAe,EACvB,QAAQ,EAAC,OAAO,EAChB,UAAU,EAAC,MAAM,EACjB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,GAC1C,CACE,CACP,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAyB,EAAE,EAAE;IACnE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAElF,IAAI,aAAa,EAAE;QAChB,aAA6B,CAAC,KAAK,EAAE,CAAC;KACxC;SAAM,IAAI,cAAc,EAAE;QACxB,cAA8B,CAAC,KAAK,EAAE,CAAC;KACzC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CACpC,CAAC,OAA2B,EAAE,MAAc,EAAE,EAAE;IAC9C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO;KACR;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAc,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjG,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,CAAc,IAAI,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAEtG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,EAAE,CAAC;AAC1B,CAAC,EACD,oBAAoB,EACpB,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;AAWF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CACnC,CACE,EAqBa,EACb,GAA8B,EAC9B,EAAE;QAvBF,EACE,EAAE,EACF,MAAM,EACN,OAAO,EACP,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,eAAe,EACf,QAAQ,EACR,WAAW,EACX,IAAI,GAAG,MAAM,EACb,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,WAAW,OAEA,EADR,KAAK,cApBV,sPAqBC,CADS;IAIV,IAAI,aAAa,EAAE;QACjB,IAAI,UAAU,IAAI,CAAC,aAAa,EAAE;YAChC,QAAQ,CACN,UAAU,EACV,4HAA4H,CAC7H,CAAC;SACH;QAED,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE;YAC7B,QAAQ,CACN,UAAU,EACV,4HAA4H,CAC7H,CAAC;SACH;KACF;IAED,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,iBAAiB,EAAE,CAAC;IAElE,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAsC,CAAC,CAAC;IAE1G,mDAAmD;IACnD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACtD,MAAM,sBAAsB,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClH,MAAM,EACJ,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,oBAAoB,EACpB,qBAAqB,GACtB,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAEvF,MAAM,mBAAmB,GACvB,KAAK,CAAC,mBAAmB;SACzB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,GAAG,OAAO,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAA,CAAC;IAE3F,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CACrB,8BAAM,IAAI,EAAC,KAAK,gBAAa,mBAAmB;QAC9C,oBAAC,eAAe,OAAG,CACd,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,YAAY,IAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,GAAI,CACjE,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9C,MAAM,mBAAmB,GAA2B,EAAE,CAAC,4BAA4B,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtG,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,wBAAwB,EAAE;QAC/C,mBAAmB,CAAC,wCAAwC,CAAC,GAAG,MAAM,CAAC;KACxE;IAED,OAAO;IACL,mFAAmF;IACnF,4EAA4E;IAC5E,2CACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,QAAQ,eACH,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,iBAC1B,EAAE,EACf,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,cAAc,aAAa,EAAE,CAAC,EACrC,SAAS,EACT,eAAe,IAAI;YACjB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,OAAO;YAC3C,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,UAAU;YACjD,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,SAAS;YAC/C,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,eAAe,KAAK,MAAM;YACzC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,SAAS;YAC/C,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,QAAQ;SAC9C,EACD,yBAAyB,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,EAC3F,aAAa,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAC1C,EACD,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,IACvC,mBAAmB;QAEvB,6BAAK,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,6BACE,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAC1C,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAC,OAAO,qBACK,GAAG,WAAW,IAAI,cAAc,EAAE;gBAEnD,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,IAC9E,IAAI,CACD;gBACN,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc;oBACrF,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,qBAAqB,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAC1F,EACD,GAAG,EAAE,SAAS,IAEb,MAAM,CACH;oBACN,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,EACpG,GAAG,EAAE,oBAAoB,GACpB;oBACP,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,eAAe,CAAC,EACvB,sBAAsB,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAC3F,EACD,GAAG,EAAE,UAAU,IAEd,OAAO,CACJ;oBACN,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,sBAAsB,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,EACtG,GAAG,EAAE,qBAAqB,GACrB,CACH,CACF;YACN,oBAAC,cAAc,IACb,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAC1C,eAAe,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,EAC7F,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC,GACtC,CACE;QACL,WAAW;YACV,aAAa,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,WAAW,CAAC;QACtG,QAAQ,KAAK,QAAQ,IAAI,CACxB,oBAAC,kBAAkB,IAAC,OAAO,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,CAAC,GAAI,CAC1F,CACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport {\n useComponentMetadata,\n useMergeRefs,\n useUniqueId,\n warnOnce,\n} from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\nimport { AnalyticsMetadata } from '@cloudscape-design/component-toolkit/internal/base-component/metrics/interfaces';\n\nimport { ActionsWrapper } from '../alert/actions-wrapper';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport InternalIcon from '../icon/internal';\nimport {\n DATA_ATTR_ANALYTICS_FLASHBAR,\n DATA_ATTR_ANALYTICS_SUPPRESS_FLOW_EVENTS,\n} from '../internal/analytics/selectors';\nimport { getVisualContextClassname } from '../internal/components/visual-context';\nimport { PACKAGE_VERSION } from '../internal/environment';\nimport { isDevelopment } from '../internal/is-development';\nimport { awsuiPluginsInternal } from '../internal/plugins/api';\nimport { createUseDiscoveredAction, createUseDiscoveredContent } from '../internal/plugins/helpers';\nimport { throttle } from '../internal/utils/throttle';\nimport useContainerWidth from '../internal/utils/use-container-width';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalSpinner from '../spinner/internal';\nimport { GeneratedAnalyticsMetadataFlashbarDismiss } from './analytics-metadata/interfaces';\nimport { FlashbarProps } from './interfaces';\nimport { getDismissButtonStyles, getFlashStyles } from './style';\nimport { FOCUS_THROTTLE_DELAY } from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst ICON_TYPES = {\n success: 'status-positive',\n warning: 'status-warning',\n info: 'status-info',\n error: 'status-negative',\n 'in-progress': 'status-in-progress',\n} as const;\n\nconst useDiscoveredAction = createUseDiscoveredAction(awsuiPluginsInternal.flashbar.onActionRegistered);\nconst useDiscoveredContent = createUseDiscoveredContent('flash', awsuiPluginsInternal.flashContent);\n\nfunction dismissButton(\n dismissLabel: FlashbarProps.MessageDefinition['dismissLabel'],\n onDismiss: FlashbarProps.MessageDefinition['onDismiss'],\n style?: FlashbarProps.Style,\n type?: string,\n ref?: React.Ref<ButtonProps.Ref>,\n id?: string,\n onDismissed?: (id?: string) => void\n) {\n return (\n <div\n className={styles['dismiss-button-wrapper']}\n {...getAnalyticsMetadataAttribute({ action: 'dismiss' } as Partial<GeneratedAnalyticsMetadataFlashbarDismiss>)}\n >\n <InternalButton\n ref={ref}\n onClick={event => {\n if (onDismiss) {\n onDismiss(event);\n }\n if (onDismissed) {\n onDismissed(id);\n }\n }}\n className={styles['dismiss-button']}\n variant=\"flashbar-icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={dismissLabel}\n style={getDismissButtonStyles(style, type)}\n />\n </div>\n );\n}\nexport const focusFlashFocusableArea = (flash: HTMLElement | null) => {\n if (!flash) {\n return;\n }\n const dismissButton = flash.querySelector(`.${styles['dismiss-button']}`);\n const focusContainer = flash.querySelector(`.${styles['flash-focus-container']}`);\n\n if (dismissButton) {\n (dismissButton as HTMLElement).focus();\n } else if (focusContainer) {\n (focusContainer as HTMLElement).focus();\n }\n};\n\nexport const focusFlashById = throttle(\n (element: HTMLElement | null, itemId: string) => {\n if (!element) {\n return;\n }\n\n const flashElement = element.querySelector<HTMLElement>(`[data-itemid=\"${CSS.escape(itemId)}\"]`);\n if (!flashElement) {\n return;\n }\n\n const focusContainer = flashElement.querySelector<HTMLElement>(`.${styles['flash-focus-container']}`);\n\n focusContainer?.focus();\n },\n FOCUS_THROTTLE_DELAY,\n { trailing: false }\n);\n\ninterface FlashProps extends FlashbarProps.MessageDefinition {\n className: string;\n transitionState?: string;\n i18nStrings?: FlashbarProps.I18nStrings;\n style?: FlashbarProps.Style;\n rootRef?: React.Ref<HTMLDivElement>;\n onDismissed?: (id?: string) => void;\n}\n\nexport const Flash = React.forwardRef(\n (\n {\n id,\n header,\n content,\n dismissible,\n dismissLabel,\n loading,\n action,\n buttonText,\n onButtonClick,\n onDismiss,\n className,\n transitionState,\n ariaRole,\n i18nStrings,\n type = 'info',\n analyticsMetadata,\n style,\n rootRef,\n onDismissed,\n ...props\n }: FlashProps,\n ref: React.Ref<HTMLDivElement>\n ) => {\n if (isDevelopment) {\n if (buttonText && !onButtonClick) {\n warnOnce(\n 'Flashbar',\n `You provided a \\`buttonText\\` prop without an \\`onButtonClick\\` handler. This will render a non-interactive action button.`\n );\n }\n\n if (dismissible && !onDismiss) {\n warnOnce(\n 'Flashbar',\n `You have set the \\`dismissible\\` prop without an \\`onDismiss\\` handler. This will render a non-interactive dismiss button.`\n );\n }\n }\n\n const [containerWidth, containerMeasureRef] = useContainerWidth();\n\n const elementRef = useComponentMetadata('Flash', PACKAGE_VERSION, analyticsMetadata as AnalyticsMetadata);\n\n // Merge all refs including the rootRef if provided\n const mergedRef = useMergeRefs(ref, rootRef, elementRef, containerMeasureRef);\n const flashIconId = useUniqueId('flash-icon');\n const flashMessageId = useUniqueId('flash-message');\n\n const headerRefObject = useRef<HTMLDivElement>(null);\n const contentRefObject = useRef<HTMLDivElement>(null);\n const dismissButtonRefObject = useRef<ButtonProps.Ref>(null);\n const { discoveredActions, headerRef: headerRefAction, contentRef: contentRefAction } = useDiscoveredAction(type);\n const {\n initialHidden,\n headerReplacementType,\n contentReplacementType,\n headerRef: headerRefContent,\n contentRef: contentRefContent,\n replacementHeaderRef,\n replacementContentRef,\n } = useDiscoveredContent({ type, header, children: content });\n\n const headerRef = useMergeRefs(headerRefAction, headerRefContent, headerRefObject);\n const contentRef = useMergeRefs(contentRefAction, contentRefContent, contentRefObject);\n\n const statusIconAriaLabel =\n props.statusIconAriaLabel ||\n i18nStrings?.[`${loading || type === 'in-progress' ? 'inProgress' : type}IconAriaLabel`];\n\n const iconType = ICON_TYPES[type];\n const icon = loading ? (\n <span role=\"img\" aria-label={statusIconAriaLabel}>\n <InternalSpinner />\n </span>\n ) : (\n <InternalIcon name={iconType} ariaLabel={statusIconAriaLabel} />\n );\n\n const effectiveType = loading ? 'info' : type;\n\n const analyticsAttributes: Record<string, string> = { [DATA_ATTR_ANALYTICS_FLASHBAR]: effectiveType };\n\n if (analyticsMetadata?.suppressFlowMetricEvents) {\n analyticsAttributes[DATA_ATTR_ANALYTICS_SUPPRESS_FLOW_EVENTS] = 'true';\n }\n\n return (\n // We're not using \"polite\" or \"assertive\" here, just turning default behavior off.\n // eslint-disable-next-line @cloudscape-design/components/prefer-live-region\n <div\n ref={mergedRef}\n role={ariaRole}\n aria-live={ariaRole ? 'off' : undefined}\n data-itemid={id}\n className={clsx(\n styles.flash,\n styles[`flash-type-${effectiveType}`],\n className,\n transitionState && {\n [styles.enter]: transitionState === 'enter',\n [styles.entering]: transitionState === 'entering',\n [styles.entered]: transitionState === 'entered',\n [styles.exit]: transitionState === 'exit',\n [styles.exiting]: transitionState === 'exiting',\n [styles.exited]: transitionState === 'exited',\n },\n getVisualContextClassname(type === 'warning' && !loading ? 'flashbar-warning' : 'flashbar'),\n initialHidden && styles['initial-hidden']\n )}\n style={getFlashStyles(style, effectiveType)}\n {...analyticsAttributes}\n >\n <div className={styles['flash-body']}>\n <div\n className={styles['flash-focus-container']}\n tabIndex={-1}\n role=\"group\"\n aria-labelledby={`${flashIconId} ${flashMessageId}`}\n >\n <div className={clsx(styles['flash-icon'], styles['flash-text'])} id={flashIconId}>\n {icon}\n </div>\n <div className={clsx(styles['flash-message'], styles['flash-text'])} id={flashMessageId}>\n <div\n className={clsx(\n styles['flash-header'],\n headerReplacementType !== 'original' ? styles.hidden : analyticsSelectors['flash-header']\n )}\n ref={headerRef}\n >\n {header}\n </div>\n <div\n className={clsx(styles['header-replacement'], headerReplacementType !== 'replaced' && styles.hidden)}\n ref={replacementHeaderRef}\n ></div>\n <div\n className={clsx(\n styles['flash-content'],\n contentReplacementType !== 'original' ? styles.hidden : analyticsSelectors['flash-header']\n )}\n ref={contentRef}\n >\n {content}\n </div>\n <div\n className={clsx(styles['content-replacement'], contentReplacementType !== 'replaced' && styles.hidden)}\n ref={replacementContentRef}\n ></div>\n </div>\n </div>\n <ActionsWrapper\n className={styles['action-button-wrapper']}\n testUtilClasses={{ actionSlot: styles['action-slot'], actionButton: styles['action-button'] }}\n action={action}\n discoveredActions={discoveredActions}\n buttonText={buttonText}\n onButtonClick={onButtonClick}\n containerWidth={containerWidth}\n wrappedClass={styles['action-wrapped']}\n />\n </div>\n {dismissible &&\n dismissButton(dismissLabel, onDismiss, style, effectiveType, dismissButtonRefObject, id, onDismissed)}\n {ariaRole === 'status' && (\n <InternalLiveRegion sources={[statusIconAriaLabel, headerRefObject, contentRefObject]} />\n )}\n </div>\n );\n }\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-collapsible-flashbar.d.ts","sourceRoot":"","sources":["../../../src/flashbar/non-collapsible-flashbar.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"non-collapsible-flashbar.d.ts","sourceRoot":"","sources":["../../../src/flashbar/non-collapsible-flashbar.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,aAAa,eAgIxG"}
|
|
@@ -14,7 +14,7 @@ import { Flash } from './flash';
|
|
|
14
14
|
import styles from './styles.css.js';
|
|
15
15
|
export default function NonCollapsibleFlashbar(_a) {
|
|
16
16
|
var { items, i18nStrings, style } = _a, restProps = __rest(_a, ["items", "i18nStrings", "style"]);
|
|
17
|
-
const { allItemsHaveId, baseProps, isReducedMotion, isVisualRefresh, mergedRef } = useFlashbar(Object.assign({ items }, restProps));
|
|
17
|
+
const { allItemsHaveId, baseProps, isReducedMotion, isVisualRefresh, mergedRef, flashRefs, handleFlashDismissed } = useFlashbar(Object.assign({ items }, restProps));
|
|
18
18
|
const i18n = useInternalI18n('flashbar');
|
|
19
19
|
const ariaLabel = i18n('i18nStrings.ariaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.ariaLabel);
|
|
20
20
|
const iconAriaLabels = {
|
|
@@ -67,8 +67,20 @@ export default function NonCollapsibleFlashbar(_a) {
|
|
|
67
67
|
* by the stacking, motion, and non-motion item group render functions.
|
|
68
68
|
*/
|
|
69
69
|
function renderItem(item, key, transitionRootElement, transitionState) {
|
|
70
|
-
return (React.createElement(Flash, Object.assign({ className: clsx(animateFlash && styles['flash-with-motion'], isVisualRefresh && styles['flash-refresh']), key: key, ref:
|
|
70
|
+
return (React.createElement(Flash, Object.assign({ className: clsx(animateFlash && styles['flash-with-motion'], isVisualRefresh && styles['flash-refresh']), key: key, ref: el => {
|
|
71
|
+
flashRefs.current[key] = el;
|
|
72
|
+
// If there's a transition root element ref, update it too
|
|
73
|
+
if (transitionRootElement && typeof transitionRootElement === 'function') {
|
|
74
|
+
transitionRootElement(el);
|
|
75
|
+
}
|
|
76
|
+
else if (transitionRootElement &&
|
|
77
|
+
typeof transitionRootElement === 'object' &&
|
|
78
|
+
'current' in transitionRootElement) {
|
|
79
|
+
transitionRootElement.current = el;
|
|
80
|
+
}
|
|
81
|
+
}, transitionState: transitionState, i18nStrings: iconAriaLabels, style: style, onDismissed: handleFlashDismissed }, item)));
|
|
71
82
|
}
|
|
83
|
+
// The handleFlashDismissed function is now provided by the useFlashbar hook
|
|
72
84
|
return (React.createElement("div", Object.assign({}, baseProps, { className: clsx(baseProps.className, styles.flashbar), ref: mergedRef }),
|
|
73
85
|
renderFlatItemsWithTransitions(),
|
|
74
86
|
renderFlatItemsWithoutTransitions()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-collapsible-flashbar.js","sourceRoot":"","sources":["../../../src/flashbar/non-collapsible-flashbar.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAA0D;QAA1D,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,OAA+B,EAA1B,SAAS,cAAzC,iCAA2C,CAAF;IACtF,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"non-collapsible-flashbar.js","sourceRoot":"","sources":["../../../src/flashbar/non-collapsible-flashbar.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 { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { useInternalI18n } from '../i18n/context';\nimport { Transition } from '../internal/components/transition';\nimport { getComponentsAnalyticsMetadata, getItemAnalyticsMetadata } from './analytics-metadata/utils';\nimport { useFlashbar } from './common';\nimport { TIMEOUT_FOR_ENTERING_ANIMATION } from './constant';\nimport { Flash } from './flash';\nimport { FlashbarProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport default function NonCollapsibleFlashbar({ items, i18nStrings, style, ...restProps }: FlashbarProps) {\n const { allItemsHaveId, baseProps, isReducedMotion, isVisualRefresh, mergedRef, flashRefs, handleFlashDismissed } =\n useFlashbar({\n items,\n ...restProps,\n });\n\n const i18n = useInternalI18n('flashbar');\n const ariaLabel = i18n('i18nStrings.ariaLabel', i18nStrings?.ariaLabel);\n const iconAriaLabels = {\n errorIconAriaLabel: i18n('i18nStrings.errorIconAriaLabel', i18nStrings?.errorIconAriaLabel),\n inProgressIconAriaLabel: i18n('i18nStrings.inProgressIconAriaLabel', i18nStrings?.inProgressIconAriaLabel),\n infoIconAriaLabel: i18n('i18nStrings.infoIconAriaLabel', i18nStrings?.infoIconAriaLabel),\n successIconAriaLabel: i18n('i18nStrings.successIconAriaLabel', i18nStrings?.successIconAriaLabel),\n warningIconAriaLabel: i18n('i18nStrings.warningIconAriaLabel', i18nStrings?.warningIconAriaLabel),\n };\n\n /**\n * All the flash items should have ids so we can identify which DOM element is being\n * removed from the DOM to animate it. Motion will be disabled if any of the provided\n * flash messages does not contain an `id`.\n */\n const motionDisabled = isReducedMotion || !isVisualRefresh || !allItemsHaveId;\n\n const animateFlash = !isReducedMotion && isVisualRefresh;\n\n /**\n * If the flashbar is flat and motion is `enabled` then the adding and removing of items\n * from the flashbar will render with visual transitions.\n */\n function renderFlatItemsWithTransitions() {\n if (motionDisabled || !items) {\n return;\n }\n\n return (\n // This is a proxy for <ul>, so we're not applying a class to another actual component.\n\n <TransitionGroup component=\"ul\" className={styles['flash-list']} aria-label={ariaLabel}>\n {items.map((item, index) => (\n <Transition\n transitionChangeDelay={{ entering: TIMEOUT_FOR_ENTERING_ANIMATION }}\n key={item.id ?? index}\n in={true}\n >\n {(state: string, transitionRootElement: React.Ref<HTMLDivElement> | undefined) => (\n <li className={styles['flash-list-item']}>\n {renderItem(item, item.id ?? index, transitionRootElement, state)}\n </li>\n )}\n </Transition>\n ))}\n </TransitionGroup>\n );\n }\n\n /**\n * If the flashbar is flat and motion is `disabled` then the adding and removing of items\n * from the flashbar will render without visual transitions.\n */\n function renderFlatItemsWithoutTransitions() {\n if (!motionDisabled || !items) {\n return;\n }\n\n return (\n <ul\n className={styles['flash-list']}\n aria-label={ariaLabel}\n {...getAnalyticsMetadataAttribute(getComponentsAnalyticsMetadata(items.length, false))}\n >\n {items.map((item, index) => (\n <li\n key={item.id ?? index}\n className={styles['flash-list-item']}\n {...getAnalyticsMetadataAttribute(getItemAnalyticsMetadata(index + 1, item.type || 'info', item.id))}\n >\n {renderItem(item, item.id ?? index)}\n </li>\n ))}\n </ul>\n );\n }\n\n /**\n * This is a shared render function for a single flashbar item to be used\n * by the stacking, motion, and non-motion item group render functions.\n */\n function renderItem(\n item: FlashbarProps.MessageDefinition,\n key: string | number,\n transitionRootElement?: React.Ref<HTMLDivElement> | undefined,\n transitionState?: string | undefined\n ) {\n return (\n <Flash\n className={clsx(animateFlash && styles['flash-with-motion'], isVisualRefresh && styles['flash-refresh'])}\n key={key}\n ref={el => {\n flashRefs.current[key] = el;\n // If there's a transition root element ref, update it too\n if (transitionRootElement && typeof transitionRootElement === 'function') {\n transitionRootElement(el);\n } else if (\n transitionRootElement &&\n typeof transitionRootElement === 'object' &&\n 'current' in transitionRootElement\n ) {\n (transitionRootElement as React.MutableRefObject<HTMLDivElement | null>).current = el;\n }\n }}\n transitionState={transitionState}\n i18nStrings={iconAriaLabels}\n style={style}\n onDismissed={handleFlashDismissed}\n {...item}\n />\n );\n }\n\n // The handleFlashDismissed function is now provided by the useFlashbar hook\n\n return (\n <div {...baseProps} className={clsx(baseProps.className, styles.flashbar)} ref={mergedRef}>\n {renderFlatItemsWithTransitions()}\n {renderFlatItemsWithoutTransitions()}\n </div>\n );\n}\n"]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"button-trigger": "awsui_button-
|
|
5
|
-
"arrow": "
|
|
6
|
-
"in-filtering-token-root": "awsui_in-filtering-token-
|
|
7
|
-
"in-filtering-token-nested": "awsui_in-filtering-token-
|
|
8
|
-
"has-caret": "awsui_has-
|
|
9
|
-
"placeholder": "
|
|
10
|
-
"pressed": "
|
|
11
|
-
"disabled": "
|
|
12
|
-
"in-filtering-token": "awsui_in-filtering-
|
|
13
|
-
"readonly": "
|
|
14
|
-
"invalid": "
|
|
15
|
-
"warning": "
|
|
16
|
-
"inline-tokens": "awsui_inline-
|
|
4
|
+
"button-trigger": "awsui_button-trigger_18eso_1g60k_161",
|
|
5
|
+
"arrow": "awsui_arrow_18eso_1g60k_161",
|
|
6
|
+
"in-filtering-token-root": "awsui_in-filtering-token-root_18eso_1g60k_221",
|
|
7
|
+
"in-filtering-token-nested": "awsui_in-filtering-token-nested_18eso_1g60k_221",
|
|
8
|
+
"has-caret": "awsui_has-caret_18eso_1g60k_257",
|
|
9
|
+
"placeholder": "awsui_placeholder_18eso_1g60k_260",
|
|
10
|
+
"pressed": "awsui_pressed_18eso_1g60k_273",
|
|
11
|
+
"disabled": "awsui_disabled_18eso_1g60k_276",
|
|
12
|
+
"in-filtering-token": "awsui_in-filtering-token_18eso_1g60k_221",
|
|
13
|
+
"readonly": "awsui_readonly_18eso_1g60k_297",
|
|
14
|
+
"invalid": "awsui_invalid_18eso_1g60k_319",
|
|
15
|
+
"warning": "awsui_warning_18eso_1g60k_328",
|
|
16
|
+
"inline-tokens": "awsui_inline-tokens_18eso_1g60k_337"
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -158,21 +158,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
158
158
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
159
159
|
SPDX-License-Identifier: Apache-2.0
|
|
160
160
|
*/
|
|
161
|
-
.awsui_button-
|
|
161
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
162
162
|
transition: transform var(--motion-duration-rotate-180-cxi9g7, 135ms) var(--motion-easing-rotate-180-7a58rc, cubic-bezier(0.165, 0.84, 0.44, 1));
|
|
163
163
|
}
|
|
164
164
|
@media (prefers-reduced-motion: reduce) {
|
|
165
|
-
.awsui_button-
|
|
165
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
166
166
|
animation: none;
|
|
167
167
|
transition: none;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
.awsui-motion-disabled .awsui_button-
|
|
170
|
+
.awsui-motion-disabled .awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9), .awsui-mode-entering .awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
171
171
|
animation: none;
|
|
172
172
|
transition: none;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
.awsui_button-
|
|
175
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9) {
|
|
176
176
|
border-collapse: separate;
|
|
177
177
|
border-spacing: 0;
|
|
178
178
|
box-sizing: border-box;
|
|
@@ -218,7 +218,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
218
218
|
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-default-317xk5, #8c8c94);
|
|
219
219
|
min-block-size: var(--size-vertical-input-p1d7xx, 32px);
|
|
220
220
|
}
|
|
221
|
-
.awsui_button-
|
|
221
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9), .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9) {
|
|
222
222
|
padding-block: 0px;
|
|
223
223
|
padding-inline: var(--space-field-horizontal-0aq2ch, 12px);
|
|
224
224
|
border-block-width: var(--border-width-token-2ukdpu, 2px);
|
|
@@ -229,14 +229,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
229
229
|
block-size: 100%;
|
|
230
230
|
min-block-size: unset;
|
|
231
231
|
}
|
|
232
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
232
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9):focus, body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9):focus {
|
|
233
233
|
position: relative;
|
|
234
234
|
}
|
|
235
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
235
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9):focus, body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9):focus {
|
|
236
236
|
outline: 2px dotted transparent;
|
|
237
237
|
outline-offset: calc(var(--space-filtering-token-operation-select-focus-outline-gutter-jacx1t, -5px) - 1px);
|
|
238
238
|
}
|
|
239
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
239
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9):focus::before, body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9):focus::before {
|
|
240
240
|
content: " ";
|
|
241
241
|
display: block;
|
|
242
242
|
position: absolute;
|
|
@@ -250,55 +250,60 @@ body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1qoem_161.awsui_
|
|
|
250
250
|
border-end-end-radius: var(--border-radius-control-default-focus-ring-1uabki, 4px);
|
|
251
251
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-uk47pl, #006ce0);
|
|
252
252
|
}
|
|
253
|
-
.awsui_button-
|
|
253
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9) {
|
|
254
254
|
border-start-start-radius: calc(var(--border-radius-input-7q0str, 8px) / 2);
|
|
255
255
|
border-end-start-radius: calc(var(--border-radius-input-7q0str, 8px) / 2);
|
|
256
256
|
}
|
|
257
|
-
.awsui_button-
|
|
257
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_has-caret_18eso_1g60k_257:not(#\9) {
|
|
258
258
|
padding-inline-end: var(--space-field-icon-offset-ikwzwx, 36px);
|
|
259
259
|
}
|
|
260
|
-
.awsui_button-
|
|
260
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_placeholder_18eso_1g60k_260:not(#\9) {
|
|
261
261
|
color: var(--color-text-input-placeholder-dclg8u, #656871);
|
|
262
262
|
font-style: italic;
|
|
263
263
|
}
|
|
264
|
-
.awsui_button-
|
|
264
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
265
265
|
position: absolute;
|
|
266
266
|
inset-inline-end: var(--space-field-horizontal-0aq2ch, 12px);
|
|
267
267
|
inset-block-start: calc(50% - var(--line-height-body-m-2mh3ke, 20px) / 2);
|
|
268
268
|
color: var(--color-text-button-inline-icon-default-f8xgpk, #006ce0);
|
|
269
269
|
}
|
|
270
|
-
.awsui_button-
|
|
270
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):hover > .awsui_arrow_18eso_1g60k_161 {
|
|
271
271
|
color: var(--color-text-button-inline-icon-hover-c08r6g, #002b66);
|
|
272
272
|
}
|
|
273
|
-
.awsui_button-
|
|
273
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_pressed_18eso_1g60k_273 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
274
274
|
transform: rotate(-180deg);
|
|
275
275
|
}
|
|
276
|
-
.awsui_button-
|
|
276
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276:not(#\9) {
|
|
277
277
|
background-color: var(--color-background-input-disabled-dihaja, #ebebf0);
|
|
278
|
-
border-block: var(--border-width-
|
|
279
|
-
border-inline: var(--border-width-
|
|
278
|
+
border-block: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
279
|
+
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
280
280
|
color: var(--color-text-input-disabled-wh1f3y, #b4b4bb);
|
|
281
281
|
cursor: auto;
|
|
282
282
|
}
|
|
283
|
-
.awsui_button-
|
|
283
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
284
284
|
color: var(--color-text-button-inline-icon-disabled-82hho0, #b4b4bb);
|
|
285
285
|
}
|
|
286
|
-
.awsui_button-
|
|
286
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276.awsui_in-filtering-token_18eso_1g60k_221:not(#\9) {
|
|
287
|
+
background-color: var(--color-background-input-disabled-dihaja, #ebebf0);
|
|
288
|
+
border-block: var(--border-width-token-2ukdpu, 2px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
289
|
+
border-inline: var(--border-width-token-2ukdpu, 2px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
290
|
+
color: var(--color-text-input-disabled-wh1f3y, #b4b4bb);
|
|
291
|
+
cursor: auto;
|
|
287
292
|
border-color: var(--color-border-control-disabled-uj7t08, #dedee3);
|
|
288
293
|
}
|
|
289
|
-
.awsui_button-
|
|
294
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276 > .awsui_placeholder_18eso_1g60k_260:not(#\9) {
|
|
290
295
|
color: var(--color-text-input-placeholder-disabled-wg87og, #b4b4bb);
|
|
291
296
|
}
|
|
292
|
-
.awsui_button-
|
|
297
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_readonly_18eso_1g60k_297:not(#\9):not(.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276):not(.awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token_18eso_1g60k_221) {
|
|
293
298
|
background-color: var(--color-background-input-default-ifz5bb, #ffffff);
|
|
294
|
-
border-block: var(--border-width-
|
|
295
|
-
border-inline: var(--border-width-
|
|
299
|
+
border-block: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
300
|
+
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
296
301
|
}
|
|
297
|
-
.awsui_button-
|
|
302
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):focus {
|
|
298
303
|
outline: none;
|
|
299
304
|
text-decoration: none;
|
|
300
305
|
}
|
|
301
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
306
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221):focus {
|
|
302
307
|
outline: 2px dotted transparent;
|
|
303
308
|
border-block: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-focused-4z0pgn, #006ce0);
|
|
304
309
|
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-focused-4z0pgn, #006ce0);
|
|
@@ -308,27 +313,27 @@ body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1qoem_161:not(#\
|
|
|
308
313
|
border-end-end-radius: var(--border-radius-input-7q0str, 8px);
|
|
309
314
|
box-shadow: 0 0 0 var(--border-control-focus-ring-shadow-spread-9mjajk, 1px) var(--color-border-item-focused-uk47pl, #006ce0);
|
|
310
315
|
}
|
|
311
|
-
.awsui_button-
|
|
316
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221):invalid {
|
|
312
317
|
box-shadow: none;
|
|
313
318
|
}
|
|
314
|
-
.awsui_button-
|
|
319
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319:focus {
|
|
315
320
|
color: var(--color-text-status-error-ksqavh, #db0000);
|
|
316
321
|
border-color: var(--color-text-status-error-ksqavh, #db0000);
|
|
317
322
|
padding-inline-start: calc(var(--space-field-horizontal-0aq2ch, 12px) - (var(--border-invalid-width-3xd6e1, 8px) - var(--border-width-field-2xc78x, 1px)));
|
|
318
323
|
border-inline-start-width: var(--border-invalid-width-3xd6e1, 8px);
|
|
319
324
|
}
|
|
320
|
-
.awsui_button-
|
|
325
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319:focus, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319:focus:focus {
|
|
321
326
|
box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-9jjf96, 2px) var(--color-border-item-focused-uk47pl, #006ce0);
|
|
322
327
|
}
|
|
323
|
-
.awsui_button-
|
|
328
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328:focus {
|
|
324
329
|
color: var(--color-text-status-warning-6meo06, #855900);
|
|
325
330
|
border-color: var(--color-text-status-warning-6meo06, #855900);
|
|
326
331
|
padding-inline-start: calc(var(--space-field-horizontal-0aq2ch, 12px) - (var(--border-invalid-width-3xd6e1, 8px) - var(--border-width-field-2xc78x, 1px)));
|
|
327
332
|
border-inline-start-width: var(--border-invalid-width-3xd6e1, 8px);
|
|
328
333
|
}
|
|
329
|
-
.awsui_button-
|
|
334
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328:focus, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328:focus:focus {
|
|
330
335
|
box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-9jjf96, 2px) var(--color-border-item-focused-uk47pl, #006ce0);
|
|
331
336
|
}
|
|
332
|
-
.awsui_button-
|
|
337
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_inline-tokens_18eso_1g60k_337:not(#\9) {
|
|
333
338
|
padding-block: 0;
|
|
334
339
|
}
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"button-trigger": "awsui_button-
|
|
6
|
-
"arrow": "
|
|
7
|
-
"in-filtering-token-root": "awsui_in-filtering-token-
|
|
8
|
-
"in-filtering-token-nested": "awsui_in-filtering-token-
|
|
9
|
-
"has-caret": "awsui_has-
|
|
10
|
-
"placeholder": "
|
|
11
|
-
"pressed": "
|
|
12
|
-
"disabled": "
|
|
13
|
-
"in-filtering-token": "awsui_in-filtering-
|
|
14
|
-
"readonly": "
|
|
15
|
-
"invalid": "
|
|
16
|
-
"warning": "
|
|
17
|
-
"inline-tokens": "awsui_inline-
|
|
5
|
+
"button-trigger": "awsui_button-trigger_18eso_1g60k_161",
|
|
6
|
+
"arrow": "awsui_arrow_18eso_1g60k_161",
|
|
7
|
+
"in-filtering-token-root": "awsui_in-filtering-token-root_18eso_1g60k_221",
|
|
8
|
+
"in-filtering-token-nested": "awsui_in-filtering-token-nested_18eso_1g60k_221",
|
|
9
|
+
"has-caret": "awsui_has-caret_18eso_1g60k_257",
|
|
10
|
+
"placeholder": "awsui_placeholder_18eso_1g60k_260",
|
|
11
|
+
"pressed": "awsui_pressed_18eso_1g60k_273",
|
|
12
|
+
"disabled": "awsui_disabled_18eso_1g60k_276",
|
|
13
|
+
"in-filtering-token": "awsui_in-filtering-token_18eso_1g60k_221",
|
|
14
|
+
"readonly": "awsui_readonly_18eso_1g60k_297",
|
|
15
|
+
"invalid": "awsui_invalid_18eso_1g60k_319",
|
|
16
|
+
"warning": "awsui_warning_18eso_1g60k_328",
|
|
17
|
+
"inline-tokens": "awsui_inline-tokens_18eso_1g60k_337"
|
|
18
18
|
};
|
|
19
19
|
|
package/internal/environment.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export var PACKAGE_SOURCE = "components";
|
|
2
|
-
export var PACKAGE_VERSION = "3.0.0 (
|
|
3
|
-
export var GIT_SHA = "
|
|
2
|
+
export var PACKAGE_VERSION = "3.0.0 (09609917)";
|
|
3
|
+
export var GIT_SHA = "09609917";
|
|
4
4
|
export var THEME = "open-source-visual-refresh";
|
|
5
5
|
export var SYSTEM = "console";
|
|
6
6
|
export var ALWAYS_VISUAL_REFRESH = true;
|
package/internal/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -111,7 +111,6 @@
|
|
|
111
111
|
"./tree-view": "./tree-view/index.js",
|
|
112
112
|
"./tutorial-panel": "./tutorial-panel/index.js",
|
|
113
113
|
"./wizard": "./wizard/index.js",
|
|
114
|
-
"./top-navigation/1.0-beta": "./top-navigation/1.0-beta/index.js",
|
|
115
114
|
"./i18n": "./i18n/index.js",
|
|
116
115
|
"./i18n/messages/all.all": "./i18n/messages/all.all.js",
|
|
117
116
|
"./i18n/messages/all.all.json": "./i18n/messages/all.all.json",
|
|
@@ -151,7 +150,7 @@
|
|
|
151
150
|
"./internal/base-component/index.js",
|
|
152
151
|
"./internal/base-component/styles.css.js"
|
|
153
152
|
],
|
|
154
|
-
"version": "3.0.
|
|
153
|
+
"version": "3.0.1045",
|
|
155
154
|
"repository": {
|
|
156
155
|
"type": "git",
|
|
157
156
|
"url": "https://github.com/cloudscape-design/components.git"
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ComponentWrapper, ElementWrapper } from '@cloudscape-design/test-utils-core/dom';
|
|
2
|
-
import ButtonWrapper from '../../button';
|
|
3
|
-
import ButtonDropdownWrapper from '../../button-dropdown';
|
|
4
|
-
import LinkWrapper from '../../link';
|
|
5
|
-
export default class TopNavigationWrapper extends ComponentWrapper {
|
|
6
|
-
static rootSelector: string;
|
|
7
|
-
findIdentityLink(): ElementWrapper;
|
|
8
|
-
findLogo(): ElementWrapper | null;
|
|
9
|
-
findTitle(): ElementWrapper | null;
|
|
10
|
-
findSearch(): ElementWrapper | null;
|
|
11
|
-
findUtilities(): Array<TopNavigationUtilityWrapper>;
|
|
12
|
-
findUtility(index: number): TopNavigationUtilityWrapper | null;
|
|
13
|
-
findSearchButton(): ElementWrapper | null;
|
|
14
|
-
findOverflowMenuButtonDropdown(): MenuDropdownWrapper | null;
|
|
15
|
-
}
|
|
16
|
-
export declare class MenuDropdownWrapper extends ButtonDropdownWrapper {
|
|
17
|
-
findNativeButton(): ElementWrapper<HTMLButtonElement>;
|
|
18
|
-
}
|
|
19
|
-
export declare class TopNavigationUtilityWrapper extends ComponentWrapper {
|
|
20
|
-
findButtonLinkType(): LinkWrapper | null;
|
|
21
|
-
findPrimaryButtonType(): ButtonWrapper | null;
|
|
22
|
-
findMenuDropdownType(): TopNavigationMenuDropdownWrapper | null;
|
|
23
|
-
}
|
|
24
|
-
export declare class TopNavigationMenuDropdownWrapper extends ButtonDropdownWrapper {
|
|
25
|
-
findNativeButton(): ElementWrapper<HTMLButtonElement>;
|
|
26
|
-
findTitle(): ElementWrapper | null;
|
|
27
|
-
findDescription(): ElementWrapper | null;
|
|
28
|
-
}
|