@cloudscape-design/components 3.0.1139 → 3.0.1141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/alert/interfaces.d.ts +13 -0
  2. package/alert/interfaces.d.ts.map +1 -1
  3. package/alert/interfaces.js.map +1 -1
  4. package/alert/internal.d.ts.map +1 -1
  5. package/alert/internal.js +35 -3
  6. package/alert/internal.js.map +1 -1
  7. package/flashbar/collapsible-flashbar.d.ts.map +1 -1
  8. package/flashbar/collapsible-flashbar.js +14 -13
  9. package/flashbar/collapsible-flashbar.js.map +1 -1
  10. package/flashbar/common.d.ts +3 -2
  11. package/flashbar/common.d.ts.map +1 -1
  12. package/flashbar/common.js +67 -1
  13. package/flashbar/common.js.map +1 -1
  14. package/flashbar/flash.d.ts.map +1 -1
  15. package/flashbar/flash.js +4 -4
  16. package/flashbar/flash.js.map +1 -1
  17. package/flashbar/interfaces.d.ts +8 -0
  18. package/flashbar/interfaces.d.ts.map +1 -1
  19. package/flashbar/interfaces.js.map +1 -1
  20. package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
  21. package/flashbar/non-collapsible-flashbar.js +7 -6
  22. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  23. package/input/styles.css.js +13 -13
  24. package/input/styles.d.ts.map +1 -1
  25. package/input/styles.js +26 -36
  26. package/input/styles.js.map +1 -1
  27. package/input/styles.scoped.css +33 -33
  28. package/input/styles.selectors.js +13 -13
  29. package/internal/base-component/styles.scoped.css +1 -1
  30. package/internal/environment.js +2 -2
  31. package/internal/environment.json +2 -2
  32. package/internal/manifest.json +1 -1
  33. package/internal/persistence/index.d.ts +14 -0
  34. package/internal/persistence/index.d.ts.map +1 -0
  35. package/internal/persistence/index.js +42 -0
  36. package/internal/persistence/index.js.map +1 -0
  37. package/package.json +1 -1
  38. package/prompt-input/styles.css.js +17 -17
  39. package/prompt-input/styles.scoped.css +47 -47
  40. package/prompt-input/styles.selectors.js +17 -17
  41. package/property-filter/token-editor.d.ts.map +1 -1
  42. package/property-filter/token-editor.js +3 -1
  43. package/property-filter/token-editor.js.map +1 -1
  44. package/radio-group/index.d.ts.map +1 -1
  45. package/radio-group/internal-do-not-use-core.js +4 -5
  46. package/radio-group/internal-do-not-use-core.js.map +1 -1
  47. package/text-filter/index.js +10 -17
  48. package/text-filter/interfaces.d.ts +47 -0
  49. package/text-filter/interfaces.d.ts.map +1 -1
  50. package/text-filter/interfaces.js.map +1 -1
  51. package/text-filter/internal-do-not-use-core.js +25 -0
  52. package/text-filter/internal.d.ts.map +1 -1
  53. package/text-filter/internal.js +2 -2
  54. package/text-filter/internal.js.map +1 -1
  55. package/text-filter/styles.d.ts +2 -0
  56. package/text-filter/styles.d.ts.map +1 -0
  57. package/text-filter/styles.js +44 -0
  58. package/text-filter/styles.js.map +1 -0
  59. package/textarea/styles.css.js +5 -5
  60. package/textarea/styles.scoped.css +17 -17
  61. package/textarea/styles.selectors.js +5 -5
  62. /package/text-filter/{index.js.map → internal-do-not-use-core.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/flashbar/common.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAEzG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,uBAAuB;AACvB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,WAA+B,EAC/B,KAAiE,EACjE,UAAiC,EACjC,gBAAgE,EAChE,EAAE;;IACF,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,EAAE,mCAAI,EAAE,CAAC,KAAK,WAAW,CAAA,EAAA,CAAC,CAAC;IAChF,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC;IACvC,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,sEAAsE;IACtE,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,mCAAI,aAAa,CAAC;IAE5D,qFAAqF;IACrF,kGAAkG;IAClG,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,4FAA4F;YAC5F,gFAAgF;YAChF,MAAM,qBAAqB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,IAAI,qBAAqB,EAAE,CAAC;gBACzB,qBAAqC,CAAC,KAAK,EAAE,CAAC;gBAC/C,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,GAAG,SAAS,EAKb;IACC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAiD,EAAE,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAC3C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAiD,KAAK,CAAC,CAAC;IAC1G,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEpE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/D,QAAQ,CACN,UAAU,EACV,8IAA8I,CAC/I,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,sFAAsF;IACtF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACjG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,QAAQ,CAAC,CAAC;YACzB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,YAAY,CAAC,CAAC;YAC/B,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC9E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAEjF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvC,MAAM,oBAAoB,GAAG,CAAC,WAAoB,EAAE,EAAE;QACpD,4BAA4B,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACnF,CAAC,CAAC;IAEF,OAAO;QACL,cAAc;QACd,SAAS;QACT,eAAe;QACf,eAAe;QACf,SAAS;QACT,GAAG;QACH,SAAS;QACT,oBAAoB;KACrB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useMergeRefs, useReducedMotion, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { useDebounceCallback } from '../internal/hooks/use-debounce-callback';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { isDevelopment } from '../internal/is-development';\nimport { focusFlashById, focusFlashFocusableArea } from './flash';\nimport { FlashbarProps, InternalFlashbarProps } from './interfaces';\nimport { FOCUS_DEBOUNCE_DELAY } from './utils';\n\nimport styles from './styles.css.js';\n\n// Exported for testing\nexport const handleFlashDismissedInternal = (\n dismissedId: string | undefined,\n items: ReadonlyArray<FlashbarProps.MessageDefinition> | undefined,\n refCurrent: HTMLDivElement | null,\n flashRefsCurrent: Record<string | number, HTMLDivElement | null>\n) => {\n if (!items || !dismissedId || !refCurrent) {\n return;\n }\n\n const dismissedIndex = items.findIndex(item => (item.id ?? '') === dismissedId);\n if (dismissedIndex === -1) {\n return;\n }\n\n let nextItemIndex = dismissedIndex + 1;\n if (nextItemIndex >= items.length) {\n nextItemIndex = dismissedIndex - 1;\n }\n\n // If there's no next item, focus the first instance of the h1 element\n if (nextItemIndex < 0 || nextItemIndex >= items.length) {\n const h1Element = document.querySelector('h1');\n h1Element?.focus();\n return;\n }\n\n const nextItemId = items[nextItemIndex].id ?? nextItemIndex;\n\n // Try to focus on the next item, but with a small delay to ensure the DOM is updated\n // This is especially important for collapsible flashbars where the next item might become visible\n const attemptFocus = () => {\n const nextFlashElement = flashRefsCurrent[nextItemId];\n if (!nextFlashElement) {\n // If the next flash element is not available, it might be because the flashbar is collapsed\n // In that case, try to focus on the notification bar button or the main element\n const notificationBarButton = refCurrent?.querySelector(`.${styles.button}`);\n if (notificationBarButton) {\n (notificationBarButton as HTMLElement).focus();\n return;\n }\n\n const h1Element = document.querySelector('h1');\n h1Element?.focus();\n return;\n }\n focusFlashFocusableArea(nextFlashElement);\n };\n\n setTimeout(attemptFocus, 0);\n};\n\n// Common logic for collapsible and non-collapsible Flashbar\nexport function useFlashbar({\n items,\n onItemsAdded,\n onItemsChanged,\n onItemsRemoved,\n __internalRootRef,\n ...restProps\n}: InternalFlashbarProps & {\n onItemsAdded?: (items: FlashbarProps.MessageDefinition[]) => void;\n onItemsRemoved?: (items: FlashbarProps.MessageDefinition[]) => void;\n onItemsChanged?: (options?: { allItemsHaveId?: boolean; isReducedMotion?: boolean }) => void;\n}) {\n const allItemsHaveId = useMemo(() => items.every(item => 'id' in item), [items]);\n const baseProps = getBaseProps(restProps);\n const ref = useRef<HTMLDivElement | null>(null);\n const flashRefs = useRef<Record<string | number, HTMLDivElement | null>>({});\n const mergedRef = useMergeRefs(ref, __internalRootRef);\n const isReducedMotion = useReducedMotion(ref);\n const isVisualRefresh = useVisualRefresh();\n const [previousItems, setPreviousItems] = useState<ReadonlyArray<FlashbarProps.MessageDefinition>>(items);\n const [nextFocusId, setNextFocusId] = useState<string | null>(null);\n\n if (isDevelopment) {\n if (items?.some(item => item.ariaRole === 'alert' && !item.id)) {\n warnOnce(\n 'Flashbar',\n `You provided \\`ariaRole=\"alert\"\\` for a flashbar item without providing an \\`id\\`. Focus will not be moved to the newly added flash message.`\n );\n }\n }\n\n // Track new or removed item IDs in state to only trigger focus changes for newly added items.\n // https://reactjs.org/docs/hooks-faq.html#how-do-i-implement-getderivedstatefromprops\n if (items) {\n const newItems = items.filter(({ id }) => id && !previousItems.some(item => item.id === id));\n const removedItems = previousItems.filter(({ id }) => id && !items.some(item => item.id === id));\n if (newItems.length > 0 || removedItems.length > 0) {\n setPreviousItems(items);\n onItemsAdded?.(newItems);\n onItemsRemoved?.(removedItems);\n onItemsChanged?.({ allItemsHaveId, isReducedMotion });\n\n const newFocusItems = newItems.filter(({ ariaRole }) => ariaRole === 'alert');\n if (newFocusItems.length > 0) {\n setNextFocusId(newFocusItems[0].id!);\n }\n }\n }\n\n const debouncedFocus = useDebounceCallback(focusFlashById, FOCUS_DEBOUNCE_DELAY);\n\n useEffect(() => {\n if (nextFocusId) {\n debouncedFocus(ref.current, nextFocusId);\n }\n }, [debouncedFocus, nextFocusId, ref]);\n\n const handleFlashDismissed = (dismissedId?: string) => {\n handleFlashDismissedInternal(dismissedId, items, ref.current, flashRefs.current);\n };\n\n return {\n allItemsHaveId,\n baseProps,\n isReducedMotion,\n isVisualRefresh,\n mergedRef,\n ref,\n flashRefs,\n handleFlashDismissed,\n };\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/flashbar/common.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 { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useMergeRefs, useReducedMotion, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { useDebounceCallback } from '../internal/hooks/use-debounce-callback';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { isDevelopment } from '../internal/is-development';\nimport { persistFlashbarDismiss, retrieveFlashbarDismiss } from '../internal/persistence';\nimport { focusFlashById, focusFlashFocusableArea } from './flash';\nimport { FlashbarProps, InternalFlashbarProps } from './interfaces';\nimport { FOCUS_DEBOUNCE_DELAY } from './utils';\n\nimport styles from './styles.css.js';\n\n// Exported for testing\nexport const handleFlashDismissedInternal = (\n dismissedId: string | undefined,\n items: ReadonlyArray<FlashbarProps.MessageDefinition> | undefined,\n refCurrent: HTMLDivElement | null,\n flashRefsCurrent: Record<string | number, HTMLDivElement | null>\n) => {\n if (!items || !dismissedId || !refCurrent) {\n return;\n }\n\n const dismissedIndex = items.findIndex(item => (item.id ?? '') === dismissedId);\n if (dismissedIndex === -1) {\n return;\n }\n\n let nextItemIndex = dismissedIndex + 1;\n if (nextItemIndex >= items.length) {\n nextItemIndex = dismissedIndex - 1;\n }\n\n // If there's no next item, focus the first instance of the h1 element\n if (nextItemIndex < 0 || nextItemIndex >= items.length) {\n const h1Element = document.querySelector('h1');\n h1Element?.focus();\n return;\n }\n\n const nextItemId = items[nextItemIndex].id ?? nextItemIndex;\n\n // Try to focus on the next item, but with a small delay to ensure the DOM is updated\n // This is especially important for collapsible flashbars where the next item might become visible\n const attemptFocus = () => {\n const nextFlashElement = flashRefsCurrent[nextItemId];\n if (!nextFlashElement) {\n // If the next flash element is not available, it might be because the flashbar is collapsed\n // In that case, try to focus on the notification bar button or the main element\n const notificationBarButton = refCurrent?.querySelector(`.${styles.button}`);\n if (notificationBarButton) {\n (notificationBarButton as HTMLElement).focus();\n return;\n }\n\n const h1Element = document.querySelector('h1');\n h1Element?.focus();\n return;\n }\n focusFlashFocusableArea(nextFlashElement);\n };\n\n setTimeout(attemptFocus, 0);\n};\n\n// Common logic for collapsible and non-collapsible Flashbar\nexport function useFlashbar({\n items,\n onItemsAdded,\n onItemsChanged,\n onItemsRemoved,\n __internalRootRef,\n ...restProps\n}: InternalFlashbarProps & {\n onItemsAdded?: (items: FlashbarProps.MessageDefinition[]) => void;\n onItemsRemoved?: (items: FlashbarProps.MessageDefinition[]) => void;\n onItemsChanged?: (options?: { allItemsHaveId?: boolean; isReducedMotion?: boolean }) => void;\n}) {\n const allItemsHaveId = useMemo(() => items.every(item => 'id' in item), [items]);\n const baseProps = getBaseProps(restProps);\n const ref = useRef<HTMLDivElement | null>(null);\n const flashRefs = useRef<Record<string | number, HTMLDivElement | null>>({});\n const mergedRef = useMergeRefs(ref, __internalRootRef);\n const isReducedMotion = useReducedMotion(ref);\n const isVisualRefresh = useVisualRefresh();\n const [previousItems, setPreviousItems] = useState<ReadonlyArray<FlashbarProps.MessageDefinition>>(items);\n const [nextFocusId, setNextFocusId] = useState<string | null>(null);\n\n if (isDevelopment) {\n if (items?.some(item => item.ariaRole === 'alert' && !item.id)) {\n warnOnce(\n 'Flashbar',\n `You provided \\`ariaRole=\"alert\"\\` for a flashbar item without providing an \\`id\\`. Focus will not be moved to the newly added flash message.`\n );\n }\n }\n\n // Track new or removed item IDs in state to only trigger focus changes for newly added items.\n // https://reactjs.org/docs/hooks-faq.html#how-do-i-implement-getderivedstatefromprops\n if (items) {\n const newItems = items.filter(({ id }) => id && !previousItems.some(item => item.id === id));\n const removedItems = previousItems.filter(({ id }) => id && !items.some(item => item.id === id));\n if (newItems.length > 0 || removedItems.length > 0) {\n setPreviousItems(items);\n onItemsAdded?.(newItems);\n onItemsRemoved?.(removedItems);\n onItemsChanged?.({ allItemsHaveId, isReducedMotion });\n\n const newFocusItems = newItems.filter(({ ariaRole }) => ariaRole === 'alert');\n if (newFocusItems.length > 0) {\n setNextFocusId(newFocusItems[0].id!);\n }\n }\n }\n\n const debouncedFocus = useDebounceCallback(focusFlashById, FOCUS_DEBOUNCE_DELAY);\n\n useEffect(() => {\n if (nextFocusId) {\n debouncedFocus(ref.current, nextFocusId);\n }\n }, [debouncedFocus, nextFocusId, ref]);\n\n const handleFlashDismissed = (dismissedId?: string, persistenceConfig?: FlashbarProps.PersistenceConfig) => {\n handleFlashDismissedInternal(dismissedId, items, ref.current, flashRefs.current);\n if (persistenceConfig?.uniqueKey) {\n persistFlashbarDismiss(persistenceConfig);\n }\n };\n\n return {\n allItemsHaveId,\n baseProps,\n isReducedMotion,\n isVisualRefresh,\n mergedRef,\n ref,\n flashRefs,\n handleFlashDismissed,\n };\n}\n\n// Hook for managing flashbar items visibility with persistence\nexport function useFlashbarVisibility(items: ReadonlyArray<FlashbarProps.MessageDefinition>) {\n const [checkedPersistenceKeys, setCheckedPersistenceKeys] = useState<Set<string>>(() => new Set());\n const [persistentItemsVisibility, setPersistentItemsVisibility] = useState<Map<string, boolean>>(() => new Map());\n\n const visibleItems = items.filter(\n item =>\n !item.persistenceConfig?.uniqueKey || persistentItemsVisibility.get(item.persistenceConfig.uniqueKey) === true\n );\n\n useEffect(() => {\n const newPersistentItems = items.filter(\n item => item.persistenceConfig?.uniqueKey && !checkedPersistenceKeys.has(item.persistenceConfig.uniqueKey)\n );\n\n if (newPersistentItems.length === 0) {\n return;\n }\n\n let isMounted = true;\n\n const checkNewPersistentItems = async () => {\n try {\n const results = await Promise.all(\n newPersistentItems.map(async item => {\n try {\n const isDismissed = await retrieveFlashbarDismiss(item.persistenceConfig!);\n return {\n key: item.persistenceConfig!.uniqueKey,\n visible: !isDismissed,\n };\n } catch {\n return {\n key: item.persistenceConfig!.uniqueKey,\n visible: true,\n };\n }\n })\n );\n\n if (!isMounted) {\n return;\n }\n\n setPersistentItemsVisibility(prev => {\n const updated = new Map(prev);\n results.forEach(({ key, visible }) => updated.set(key, visible));\n return updated;\n });\n\n setCheckedPersistenceKeys(prev => {\n const updated = new Set(prev);\n results.forEach(({ key }) => updated.add(key));\n return updated;\n });\n } catch {\n if (!isMounted) {\n return;\n }\n // Fallback if Promise.all itself fails, set all newPersistentItems to visible\n setPersistentItemsVisibility(prev => {\n const updated = new Map(prev);\n newPersistentItems.forEach(item => updated.set(item.persistenceConfig!.uniqueKey, true));\n return updated;\n });\n }\n };\n\n checkNewPersistentItems();\n\n return () => {\n isMounted = false;\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items]);\n\n return visibleItems;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flash.d.ts","sourceRoot":"","sources":["../../../src/flashbar/flash.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AA6BtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAmD7C,eAAO,MAAM,uBAAuB,GAAI,OAAO,WAAW,GAAG,IAAI,SAYhE,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,QAYzE;AAED,UAAU,UAAW,SAAQ,aAAa,CAAC,iBAAiB;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;IACxC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,KAAK,mFA6KjB,CAAC"}
1
+ {"version":3,"file":"flash.d.ts","sourceRoot":"","sources":["../../../src/flashbar/flash.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AA6BtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAoD7C,eAAO,MAAM,uBAAuB,GAAI,OAAO,WAAW,GAAG,IAAI,SAYhE,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,QAYzE;AAED,UAAU,UAAW,SAAQ,aAAa,CAAC,iBAAiB;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;IACxC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,KAAK,mFAuLjB,CAAC"}
package/flashbar/flash.js CHANGED
@@ -28,14 +28,14 @@ const ICON_TYPES = {
28
28
  };
29
29
  const useDiscoveredAction = createUseDiscoveredAction(awsuiPluginsInternal.flashbar.onActionRegistered);
30
30
  const useDiscoveredContent = createUseDiscoveredContent('flash', awsuiPluginsInternal.flashContent);
31
- function dismissButton(dismissLabel, onDismiss, style, type, ref, id, onDismissed) {
31
+ function dismissButton(dismissLabel, onDismiss, style, type, ref, id, onDismissed, persistenceConfig) {
32
32
  return (React.createElement("div", { className: styles['dismiss-button-wrapper'], ...getAnalyticsMetadataAttribute({ action: 'dismiss' }) },
33
33
  React.createElement(InternalButton, { ref: ref, onClick: event => {
34
34
  if (onDismiss) {
35
35
  onDismiss(event);
36
36
  }
37
37
  if (onDismissed) {
38
- onDismissed(id);
38
+ onDismissed(id, persistenceConfig);
39
39
  }
40
40
  }, className: styles['dismiss-button'], variant: "flashbar-icon", iconName: "close", formAction: "none", ariaLabel: dismissLabel, style: getDismissButtonStyles(style, type) })));
41
41
  }
@@ -63,7 +63,7 @@ export function focusFlashById(element, itemId) {
63
63
  const focusContainer = flashElement.querySelector(`.${styles['flash-focus-container']}`);
64
64
  focusContainer === null || focusContainer === void 0 ? void 0 : focusContainer.focus();
65
65
  }
66
- export const Flash = React.forwardRef(({ id, header, content, dismissible, dismissLabel, loading, action, buttonText, onButtonClick, onDismiss, className, transitionState, ariaRole, i18nStrings, type = 'info', analyticsMetadata, style, rootRef, onDismissed, ...props }, ref) => {
66
+ export const Flash = React.forwardRef(({ id, header, content, dismissible, dismissLabel, loading, action, buttonText, onButtonClick, onDismiss, className, transitionState, ariaRole, i18nStrings, type = 'info', analyticsMetadata, style, rootRef, onDismissed, persistenceConfig, ...props }, ref) => {
67
67
  if (isDevelopment) {
68
68
  if (buttonText && !onButtonClick) {
69
69
  warnOnce('Flashbar', `You provided a \`buttonText\` prop without an \`onButtonClick\` handler. This will render a non-interactive action button.`);
@@ -116,7 +116,7 @@ export const Flash = React.forwardRef(({ id, header, content, dismissible, dismi
116
116
  React.createElement("div", { className: clsx(styles['content-replacement'], contentReplacementType !== 'replaced' && styles.hidden), ref: replacementContentRef }))),
117
117
  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'] })),
118
118
  dismissible &&
119
- dismissButton(dismissLabel, onDismiss, style, effectiveType, dismissButtonRefObject, id, onDismissed),
119
+ dismissButton(dismissLabel, onDismiss, style, effectiveType, dismissButtonRefObject, id, onDismissed, persistenceConfig),
120
120
  ariaRole === 'status' && (React.createElement(InternalLiveRegion, { sources: [statusIconAriaLabel, headerRefObject, contentRefObject] }))));
121
121
  });
122
122
  //# sourceMappingURL=flash.js.map
@@ -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 { 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 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';\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 function focusFlashById(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 focusContainer?.focus();\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
+ {"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 { 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 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';\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, persistenceConfig?: FlashbarProps.PersistenceConfig) => void,\n persistenceConfig?: FlashbarProps.PersistenceConfig\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, persistenceConfig);\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 function focusFlashById(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 focusContainer?.focus();\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 persistenceConfig,\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(\n dismissLabel,\n onDismiss,\n style,\n effectiveType,\n dismissButtonRefObject,\n id,\n onDismissed,\n persistenceConfig\n )}\n {ariaRole === 'status' && (\n <InternalLiveRegion sources={[statusIconAriaLabel, headerRefObject, contentRefObject]} />\n )}\n </div>\n );\n }\n);\n"]}
@@ -19,11 +19,16 @@ export declare namespace FlashbarProps {
19
19
  onButtonClick?: ButtonProps['onClick'];
20
20
  onDismiss?: ButtonProps['onClick'];
21
21
  analyticsMetadata?: FlashbarProps.ItemAnalyticsMetadata;
22
+ persistenceConfig?: FlashbarProps.PersistenceConfig;
22
23
  }
23
24
  interface ItemAnalyticsMetadata {
24
25
  suppressFlowMetricEvents?: boolean;
25
26
  errorContext?: ErrorContext;
26
27
  }
28
+ interface PersistenceConfig {
29
+ uniqueKey: string;
30
+ crossServicePersistence?: boolean;
31
+ }
27
32
  interface I18nStrings {
28
33
  ariaLabel?: string;
29
34
  errorIconAriaLabel?: string;
@@ -170,6 +175,9 @@ export interface FlashbarProps extends BaseComponentProps {
170
175
  * * `id` (string) - Specifies a unique flash message identifier. This property is used in two ways:
171
176
  * 1. As a [keys](https://reactjs.org/docs/lists-and-keys.html#keys) source for React rendering.
172
177
  * 2. To identify which flash message will be removed from the DOM when it is dismissed, to animate it out.
178
+ * * `persistenceConfig` (FlashbarProps.PersistenceConfig) - Config to persist dismiss state for dismissable Flashbar item, used only in AWS Management Console.
179
+ * * `uniqueKey` (string) - This key to store the persistence state, it must be unique across your console.
180
+ * * `crossServicePersistence` (boolean) - If true, the persistence state will be shared across AWS services.
173
181
  * * `analyticsMetadata` (FlashbarProps.ItemAnalyticsMetadata) - (Optional) Specifies additional analytics-related metadata.
174
182
  * * `suppressFlowMetricEvents` - Prevent this item from generating events related to flow metrics.
175
183
  * @analytics
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/flashbar/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,yBAAiB,aAAa,CAAC;IAC7B,UAAiB,iBAAiB;QAChC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC;QAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;QAClC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACzB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QACrC,aAAa,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,SAAS,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACnC,iBAAiB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC;KACzD;IAED,UAAiB,qBAAqB;QACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAED,UAAiB,WAAW;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B;IAED,UAAiB,KAAK;QACpB,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE;gBACL,UAAU,CAAC,EAAE;oBACX,KAAK,CAAC,EAAE,MAAM,CAAC;oBACf,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,UAAU,CAAC,EAAE,MAAM,CAAC;oBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;iBAClB,CAAC;gBACF,WAAW,CAAC,EAAE;oBACZ,KAAK,CAAC,EAAE,MAAM,CAAC;oBACf,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,UAAU,CAAC,EAAE,MAAM,CAAC;oBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;iBAClB,CAAC;gBACF,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,KAAK,CAAC,EAAE;oBACN,KAAK,CAAC,EAAE,MAAM,CAAC;oBACf,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,UAAU,CAAC,EAAE,MAAM,CAAC;oBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;iBAClB,CAAC;gBACF,SAAS,CAAC,EAAE;oBACV,WAAW,CAAC,EAAE;wBACZ,KAAK,CAAC,EAAE,MAAM,CAAC;wBACf,IAAI,CAAC,EAAE,MAAM,CAAC;wBACd,UAAU,CAAC,EAAE,MAAM,CAAC;wBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;wBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;qBAClB,CAAC;oBACF,YAAY,CAAC,EAAE,MAAM,CAAC;oBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC;aACH,CAAC;YACF,aAAa,CAAC,EAAE;gBACd,KAAK,CAAC,EAAE;oBACN,MAAM,CAAC,EAAE;wBACP,KAAK,CAAC,EAAE,MAAM,CAAC;wBACf,IAAI,CAAC,EAAE,MAAM,CAAC;wBACd,UAAU,CAAC,EAAE,MAAM,CAAC;wBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;wBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;qBAClB,CAAC;oBACF,OAAO,CAAC,EAAE;wBACR,KAAK,CAAC,EAAE,MAAM,CAAC;wBACf,IAAI,CAAC,EAAE,MAAM,CAAC;wBACd,UAAU,CAAC,EAAE,MAAM,CAAC;wBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;wBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;qBAClB,CAAC;oBACF,KAAK,CAAC,EAAE;wBACN,KAAK,CAAC,EAAE,MAAM,CAAC;wBACf,IAAI,CAAC,EAAE,MAAM,CAAC;wBACd,UAAU,CAAC,EAAE,MAAM,CAAC;wBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;wBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;qBAClB,CAAC;iBACH,CAAC;gBACF,SAAS,CAAC,EAAE;oBACV,WAAW,CAAC,EAAE;wBACZ,KAAK,CAAC,EAAE,MAAM,CAAC;wBACf,IAAI,CAAC,EAAE,MAAM,CAAC;wBACd,UAAU,CAAC,EAAE,MAAM,CAAC;wBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;wBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;qBAClB,CAAC;oBACF,YAAY,CAAC,EAAE,MAAM,CAAC;oBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC;aACH,CAAC;SACH,CAAC;QACF,eAAe,CAAC,EAAE;YAChB,IAAI,CAAC,EAAE;gBACL,UAAU,CAAC,EAAE;oBACX,MAAM,CAAC,EAAE,MAAM,CAAC;oBAChB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;iBAChB,CAAC;gBACF,WAAW,CAAC,EAAE;oBACZ,MAAM,CAAC,EAAE,MAAM,CAAC;oBAChB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;iBAChB,CAAC;gBACF,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,KAAK,CAAC,EAAE;oBACN,MAAM,CAAC,EAAE,MAAM,CAAC;oBAChB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;iBAChB,CAAC;aACH,CAAC;YACF,YAAY,CAAC,EAAE;gBACb,SAAS,CAAC,EAAE;oBACV,WAAW,CAAC,EAAE,MAAM,CAAC;oBACrB,YAAY,CAAC,EAAE,MAAM,CAAC;oBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;iBACtB,CAAC;aACH,CAAC;SACH,CAAC;KACH;IAED,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;IAC5E,KAAY,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAEtD;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/flashbar/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/flashbar/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { ErrorContext } from '../internal/analytics/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nexport namespace FlashbarProps {\n export interface MessageDefinition {\n header?: React.ReactNode;\n content?: React.ReactNode;\n dismissible?: boolean;\n dismissLabel?: string;\n statusIconAriaLabel?: string;\n loading?: boolean;\n type?: FlashbarProps.Type;\n ariaRole?: FlashbarProps.AriaRole;\n action?: React.ReactNode;\n id?: string;\n buttonText?: ButtonProps['children'];\n onButtonClick?: ButtonProps['onClick'];\n onDismiss?: ButtonProps['onClick'];\n analyticsMetadata?: FlashbarProps.ItemAnalyticsMetadata;\n }\n\n export interface ItemAnalyticsMetadata {\n suppressFlowMetricEvents?: boolean;\n errorContext?: ErrorContext;\n }\n\n export interface I18nStrings {\n ariaLabel?: string;\n errorIconAriaLabel?: string;\n infoIconAriaLabel?: string;\n inProgressIconAriaLabel?: string;\n notificationBarAriaLabel?: string;\n notificationBarText?: string;\n successIconAriaLabel?: string;\n warningIconAriaLabel?: string;\n }\n\n export interface Style {\n item?: {\n root?: {\n background?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderColor?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n color?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n focusRing?: {\n borderColor?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n dismissButton?: {\n color?: {\n active?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n default?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n hover?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n };\n focusRing?: {\n borderColor?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n };\n notificationBar?: {\n root?: {\n background?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n borderColor?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n color?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n };\n expandButton?: {\n focusRing?: {\n borderColor?: string;\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n };\n }\n\n export type Type = 'success' | 'warning' | 'info' | 'error' | 'in-progress';\n export type AriaRole = 'alert' | 'status';\n}\n\nexport interface FlashbarProps extends BaseComponentProps {\n /**\n * Specifies flash messages that appear in the same order that they are listed.\n * The value is an array of flash message definition objects.\n *\n * A flash message object contains the following properties:\n * * `header` (ReactNode) - Specifies the heading text.\n * * `content` (ReactNode) - Specifies the primary text displayed in the flash element.\n * * `type` (string) - Indicates the type of the message to be displayed. Allowed values are as follows: `success, error, warning, info, in-progress`. The default is `info`.\n * * `loading` (boolean) - Replaces the status icon with a spinner and forces the type to `info`.\n * * `dismissible` (boolean) - Determines whether the component includes a close button icon. By default, the close button is not included.\n * When a user clicks on this button the `onDismiss` handler is called.\n * * `dismissLabel` (string) - Specifies an `aria-label` for to the dismiss icon button for improved accessibility.\n * * `statusIconAriaLabel` (string) - Specifies an `aria-label` for to the status icon for improved accessibility.\n * If not provided, `i18nStrings.{type}IconAriaLabel` will be used as a fallback.\n * * `ariaRole` (string) - For flash messages added after page load, specifies how this message is communicated to assistive\n * technology. Use \"status\" for status updates or informational content. Use \"alert\" for important messages that need the\n * user's attention.\n * * `action` (ReactNode) - Specifies an action for the flash message. Although it is technically possible to insert any content,\n * our UX guidelines only allow you to add a button.\n * * `buttonText` (string) - Specifies that an action button should be displayed, with the specified text.\n * When a user clicks on this button the `onButtonClick` handler is called.\n * If the `action` property is set, this property is ignored. **Deprecated**, replaced by `action`.\n * * `onButtonClick` (event => void) - Called when a user clicks on the action button. This is not called if you create a custom button\n * using the `action` property. **Deprecated**, replaced by `action`.\n * * `onDismiss` (event => void) - (Optional) Called when a user clicks on the dismiss button.\n * * `id` (string) - Specifies a unique flash message identifier. This property is used in two ways:\n * 1. As a [keys](https://reactjs.org/docs/lists-and-keys.html#keys) source for React rendering.\n * 2. To identify which flash message will be removed from the DOM when it is dismissed, to animate it out.\n * * `analyticsMetadata` (FlashbarProps.ItemAnalyticsMetadata) - (Optional) Specifies additional analytics-related metadata.\n * * `suppressFlowMetricEvents` - Prevent this item from generating events related to flow metrics.\n * @analytics\n */\n items: ReadonlyArray<FlashbarProps.MessageDefinition>;\n\n /**\n * Specifies whether flash messages should be stacked.\n */\n stackItems?: boolean;\n\n /**\n * An object containing all the necessary localized strings required by the component. The object should contain:\n *\n * * `ariaLabel` - Specifies the ARIA label for the list of notifications.\n *\n * If `stackItems` is set to `true`, it should also contain:\n *\n * * `notificationBarAriaLabel` - (optional) Specifies the ARIA label for the notification bar\n * * `notificationBarText` - (optional) Specifies the text shown in the notification bar\n * * `errorIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `error`.\n * * `warningIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `warning`.\n * * `infoIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `info`.\n * * `successIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `success`.\n * * `inProgressIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `in-progress` or with `loading` set to `true`.\n * @i18n\n */\n i18nStrings?: FlashbarProps.I18nStrings;\n\n /**\n * @awsuiSystem core\n */\n style?: FlashbarProps.Style;\n}\n\nexport type InternalFlashbarProps = FlashbarProps & InternalBaseComponentProps;\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/flashbar/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { ErrorContext } from '../internal/analytics/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nexport namespace FlashbarProps {\n export interface MessageDefinition {\n header?: React.ReactNode;\n content?: React.ReactNode;\n dismissible?: boolean;\n dismissLabel?: string;\n statusIconAriaLabel?: string;\n loading?: boolean;\n type?: FlashbarProps.Type;\n ariaRole?: FlashbarProps.AriaRole;\n action?: React.ReactNode;\n id?: string;\n buttonText?: ButtonProps['children'];\n onButtonClick?: ButtonProps['onClick'];\n onDismiss?: ButtonProps['onClick'];\n analyticsMetadata?: FlashbarProps.ItemAnalyticsMetadata;\n persistenceConfig?: FlashbarProps.PersistenceConfig;\n }\n\n export interface ItemAnalyticsMetadata {\n suppressFlowMetricEvents?: boolean;\n errorContext?: ErrorContext;\n }\n export interface PersistenceConfig {\n uniqueKey: string;\n crossServicePersistence?: boolean;\n }\n\n export interface I18nStrings {\n ariaLabel?: string;\n errorIconAriaLabel?: string;\n infoIconAriaLabel?: string;\n inProgressIconAriaLabel?: string;\n notificationBarAriaLabel?: string;\n notificationBarText?: string;\n successIconAriaLabel?: string;\n warningIconAriaLabel?: string;\n }\n\n export interface Style {\n item?: {\n root?: {\n background?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderColor?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n color?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n focusRing?: {\n borderColor?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n dismissButton?: {\n color?: {\n active?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n default?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n hover?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n };\n focusRing?: {\n borderColor?: {\n error?: string;\n info?: string;\n inProgress?: string;\n success?: string;\n warning?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n };\n notificationBar?: {\n root?: {\n background?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n borderColor?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n borderRadius?: string;\n borderWidth?: string;\n color?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n };\n expandButton?: {\n focusRing?: {\n borderColor?: string;\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n };\n }\n\n export type Type = 'success' | 'warning' | 'info' | 'error' | 'in-progress';\n export type AriaRole = 'alert' | 'status';\n}\n\nexport interface FlashbarProps extends BaseComponentProps {\n /**\n * Specifies flash messages that appear in the same order that they are listed.\n * The value is an array of flash message definition objects.\n *\n * A flash message object contains the following properties:\n * * `header` (ReactNode) - Specifies the heading text.\n * * `content` (ReactNode) - Specifies the primary text displayed in the flash element.\n * * `type` (string) - Indicates the type of the message to be displayed. Allowed values are as follows: `success, error, warning, info, in-progress`. The default is `info`.\n * * `loading` (boolean) - Replaces the status icon with a spinner and forces the type to `info`.\n * * `dismissible` (boolean) - Determines whether the component includes a close button icon. By default, the close button is not included.\n * When a user clicks on this button the `onDismiss` handler is called.\n * * `dismissLabel` (string) - Specifies an `aria-label` for to the dismiss icon button for improved accessibility.\n * * `statusIconAriaLabel` (string) - Specifies an `aria-label` for to the status icon for improved accessibility.\n * If not provided, `i18nStrings.{type}IconAriaLabel` will be used as a fallback.\n * * `ariaRole` (string) - For flash messages added after page load, specifies how this message is communicated to assistive\n * technology. Use \"status\" for status updates or informational content. Use \"alert\" for important messages that need the\n * user's attention.\n * * `action` (ReactNode) - Specifies an action for the flash message. Although it is technically possible to insert any content,\n * our UX guidelines only allow you to add a button.\n * * `buttonText` (string) - Specifies that an action button should be displayed, with the specified text.\n * When a user clicks on this button the `onButtonClick` handler is called.\n * If the `action` property is set, this property is ignored. **Deprecated**, replaced by `action`.\n * * `onButtonClick` (event => void) - Called when a user clicks on the action button. This is not called if you create a custom button\n * using the `action` property. **Deprecated**, replaced by `action`.\n * * `onDismiss` (event => void) - (Optional) Called when a user clicks on the dismiss button.\n * * `id` (string) - Specifies a unique flash message identifier. This property is used in two ways:\n * 1. As a [keys](https://reactjs.org/docs/lists-and-keys.html#keys) source for React rendering.\n * 2. To identify which flash message will be removed from the DOM when it is dismissed, to animate it out.\n * * `persistenceConfig` (FlashbarProps.PersistenceConfig) - Config to persist dismiss state for dismissable Flashbar item, used only in AWS Management Console.\n * * `uniqueKey` (string) - This key to store the persistence state, it must be unique across your console.\n * * `crossServicePersistence` (boolean) - If true, the persistence state will be shared across AWS services.\n * * `analyticsMetadata` (FlashbarProps.ItemAnalyticsMetadata) - (Optional) Specifies additional analytics-related metadata.\n * * `suppressFlowMetricEvents` - Prevent this item from generating events related to flow metrics.\n * @analytics\n */\n items: ReadonlyArray<FlashbarProps.MessageDefinition>;\n\n /**\n * Specifies whether flash messages should be stacked.\n */\n stackItems?: boolean;\n\n /**\n * An object containing all the necessary localized strings required by the component. The object should contain:\n *\n * * `ariaLabel` - Specifies the ARIA label for the list of notifications.\n *\n * If `stackItems` is set to `true`, it should also contain:\n *\n * * `notificationBarAriaLabel` - (optional) Specifies the ARIA label for the notification bar\n * * `notificationBarText` - (optional) Specifies the text shown in the notification bar\n * * `errorIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `error`.\n * * `warningIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `warning`.\n * * `infoIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `info`.\n * * `successIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `success`.\n * * `inProgressIconAriaLabel` - (optional) Specifies the ARIA label for the icon displayed next to the number of items of type `in-progress` or with `loading` set to `true`.\n * @i18n\n */\n i18nStrings?: FlashbarProps.I18nStrings;\n\n /**\n * @awsuiSystem core\n */\n style?: FlashbarProps.Style;\n}\n\nexport type InternalFlashbarProps = FlashbarProps & InternalBaseComponentProps;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"non-collapsible-flashbar.d.ts","sourceRoot":"","sources":["../../../src/flashbar/non-collapsible-flashbar.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAIpE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,qBAAqB,eAgIhH"}
1
+ {"version":3,"file":"non-collapsible-flashbar.d.ts","sourceRoot":"","sources":["../../../src/flashbar/non-collapsible-flashbar.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAIpE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,qBAAqB,eAkIhH"}
@@ -7,13 +7,14 @@ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-tool
7
7
  import { useInternalI18n } from '../i18n/context';
8
8
  import { Transition } from '../internal/components/transition';
9
9
  import { getComponentsAnalyticsMetadata, getItemAnalyticsMetadata } from './analytics-metadata/utils';
10
- import { useFlashbar } from './common';
10
+ import { useFlashbar, useFlashbarVisibility } from './common';
11
11
  import { TIMEOUT_FOR_ENTERING_ANIMATION } from './constant';
12
12
  import { Flash } from './flash';
13
13
  import styles from './styles.css.js';
14
14
  export default function NonCollapsibleFlashbar({ items, i18nStrings, style, ...restProps }) {
15
+ const visibleItems = useFlashbarVisibility(items);
15
16
  const { allItemsHaveId, baseProps, isReducedMotion, isVisualRefresh, mergedRef, flashRefs, handleFlashDismissed } = useFlashbar({
16
- items,
17
+ items: visibleItems,
17
18
  ...restProps,
18
19
  });
19
20
  const i18n = useInternalI18n('flashbar');
@@ -37,12 +38,12 @@ export default function NonCollapsibleFlashbar({ items, i18nStrings, style, ...r
37
38
  * from the flashbar will render with visual transitions.
38
39
  */
39
40
  function renderFlatItemsWithTransitions() {
40
- if (motionDisabled || !items) {
41
+ if (motionDisabled || !visibleItems) {
41
42
  return;
42
43
  }
43
44
  return (
44
45
  // This is a proxy for <ul>, so we're not applying a class to another actual component.
45
- React.createElement(TransitionGroup, { component: "ul", className: styles['flash-list'], "aria-label": ariaLabel }, items.map((item, index) => {
46
+ React.createElement(TransitionGroup, { component: "ul", className: styles['flash-list'], "aria-label": ariaLabel }, visibleItems.map((item, index) => {
46
47
  var _a;
47
48
  return (React.createElement(Transition, { transitionChangeDelay: { entering: TIMEOUT_FOR_ENTERING_ANIMATION }, key: (_a = item.id) !== null && _a !== void 0 ? _a : index, in: true }, (state, transitionRootElement) => {
48
49
  var _a;
@@ -55,10 +56,10 @@ export default function NonCollapsibleFlashbar({ items, i18nStrings, style, ...r
55
56
  * from the flashbar will render without visual transitions.
56
57
  */
57
58
  function renderFlatItemsWithoutTransitions() {
58
- if (!motionDisabled || !items) {
59
+ if (!motionDisabled || !visibleItems) {
59
60
  return;
60
61
  }
61
- return (React.createElement("ul", { className: styles['flash-list'], "aria-label": ariaLabel, ...getAnalyticsMetadataAttribute(getComponentsAnalyticsMetadata(items.length, false)) }, items.map((item, index) => {
62
+ return (React.createElement("ul", { className: styles['flash-list'], "aria-label": ariaLabel, ...getAnalyticsMetadataAttribute(getComponentsAnalyticsMetadata(visibleItems.length, false)) }, visibleItems.map((item, index) => {
62
63
  var _a, _b;
63
64
  return (React.createElement("li", { key: (_a = item.id) !== null && _a !== void 0 ? _a : index, className: styles['flash-list-item'], ...getAnalyticsMetadataAttribute(getItemAnalyticsMetadata(index + 1, item.type || 'info', item.id)) }, renderItem(item, (_b = item.id) !== null && _b !== void 0 ? _b : index)));
64
65
  })));
@@ -1 +1 @@
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, InternalFlashbarProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport default function NonCollapsibleFlashbar({ items, i18nStrings, style, ...restProps }: InternalFlashbarProps) {\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
+ {"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, useFlashbarVisibility } from './common';\nimport { TIMEOUT_FOR_ENTERING_ANIMATION } from './constant';\nimport { Flash } from './flash';\nimport { FlashbarProps, InternalFlashbarProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport default function NonCollapsibleFlashbar({ items, i18nStrings, style, ...restProps }: InternalFlashbarProps) {\n const visibleItems = useFlashbarVisibility(items);\n\n const { allItemsHaveId, baseProps, isReducedMotion, isVisualRefresh, mergedRef, flashRefs, handleFlashDismissed } =\n useFlashbar({\n items: visibleItems,\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 || !visibleItems) {\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 {visibleItems.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 || !visibleItems) {\n return;\n }\n\n return (\n <ul\n className={styles['flash-list']}\n aria-label={ariaLabel}\n {...getAnalyticsMetadataAttribute(getComponentsAnalyticsMetadata(visibleItems.length, false))}\n >\n {visibleItems.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
- "root": "awsui_root_2rhyz_qs0t8_145",
5
- "input": "awsui_input_2rhyz_qs0t8_149",
6
- "input-readonly": "awsui_input-readonly_2rhyz_qs0t8_203",
7
- "input-invalid": "awsui_input-invalid_2rhyz_qs0t8_266",
8
- "input-has-icon-left": "awsui_input-has-icon-left_2rhyz_qs0t8_275",
9
- "input-warning": "awsui_input-warning_2rhyz_qs0t8_278",
10
- "input-type-search": "awsui_input-type-search_2rhyz_qs0t8_290",
11
- "input-has-icon-right": "awsui_input-has-icon-right_2rhyz_qs0t8_303",
12
- "input-has-no-border-radius": "awsui_input-has-no-border-radius_2rhyz_qs0t8_306",
13
- "input-container": "awsui_input-container_2rhyz_qs0t8_313",
14
- "input-icon-left": "awsui_input-icon-left_2rhyz_qs0t8_318",
15
- "input-icon-right": "awsui_input-icon-right_2rhyz_qs0t8_325",
16
- "input-button-right": "awsui_input-button-right_2rhyz_qs0t8_331"
4
+ "root": "awsui_root_2rhyz_gipla_145",
5
+ "input": "awsui_input_2rhyz_gipla_149",
6
+ "input-readonly": "awsui_input-readonly_2rhyz_gipla_203",
7
+ "input-invalid": "awsui_input-invalid_2rhyz_gipla_266",
8
+ "input-has-icon-left": "awsui_input-has-icon-left_2rhyz_gipla_275",
9
+ "input-warning": "awsui_input-warning_2rhyz_gipla_278",
10
+ "input-type-search": "awsui_input-type-search_2rhyz_gipla_290",
11
+ "input-has-icon-right": "awsui_input-has-icon-right_2rhyz_gipla_303",
12
+ "input-has-no-border-radius": "awsui_input-has-no-border-radius_2rhyz_gipla_306",
13
+ "input-container": "awsui_input-container_2rhyz_gipla_313",
14
+ "input-icon-left": "awsui_input-icon-left_2rhyz_gipla_318",
15
+ "input-icon-right": "awsui_input-icon-right_2rhyz_gipla_325",
16
+ "input-button-right": "awsui_input-button-right_2rhyz_gipla_331"
17
17
  };
18
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/input/styles.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,kBAiDxD"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/input/styles.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,kBAuCxD"}
package/input/styles.js CHANGED
@@ -3,9 +3,9 @@
3
3
  import { SYSTEM } from '../internal/environment';
4
4
  import customCssProps from '../internal/generated/custom-css-properties';
5
5
  export function getInputStyles(style) {
6
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
6
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25;
7
7
  let properties = {};
8
- if ((style === null || style === void 0 ? void 0 : style.root) && SYSTEM === 'core') {
8
+ if (SYSTEM === 'core') {
9
9
  properties = {
10
10
  borderRadius: (_a = style === null || style === void 0 ? void 0 : style.root) === null || _a === void 0 ? void 0 : _a.borderRadius,
11
11
  borderWidth: (_b = style === null || style === void 0 ? void 0 : style.root) === null || _b === void 0 ? void 0 : _b.borderWidth,
@@ -13,40 +13,30 @@ export function getInputStyles(style) {
13
13
  fontWeight: (_d = style === null || style === void 0 ? void 0 : style.root) === null || _d === void 0 ? void 0 : _d.fontWeight,
14
14
  paddingBlock: (_e = style === null || style === void 0 ? void 0 : style.root) === null || _e === void 0 ? void 0 : _e.paddingBlock,
15
15
  paddingInline: (_f = style === null || style === void 0 ? void 0 : style.root) === null || _f === void 0 ? void 0 : _f.paddingInline,
16
- ...(((_g = style === null || style === void 0 ? void 0 : style.root) === null || _g === void 0 ? void 0 : _g.backgroundColor) && {
17
- [customCssProps.styleBackgroundDefault]: (_h = style.root.backgroundColor) === null || _h === void 0 ? void 0 : _h.default,
18
- [customCssProps.styleBackgroundDisabled]: (_j = style.root.backgroundColor) === null || _j === void 0 ? void 0 : _j.disabled,
19
- [customCssProps.styleBackgroundHover]: (_k = style.root.backgroundColor) === null || _k === void 0 ? void 0 : _k.hover,
20
- [customCssProps.styleBackgroundFocus]: (_l = style.root.backgroundColor) === null || _l === void 0 ? void 0 : _l.focus,
21
- [customCssProps.styleBackgroundReadonly]: (_m = style.root.backgroundColor) === null || _m === void 0 ? void 0 : _m.readonly,
22
- }),
23
- ...(((_o = style === null || style === void 0 ? void 0 : style.root) === null || _o === void 0 ? void 0 : _o.borderColor) && {
24
- [customCssProps.styleBorderColorDefault]: (_p = style.root.borderColor) === null || _p === void 0 ? void 0 : _p.default,
25
- [customCssProps.styleBorderColorDisabled]: (_q = style.root.borderColor) === null || _q === void 0 ? void 0 : _q.disabled,
26
- [customCssProps.styleBorderColorHover]: (_r = style.root.borderColor) === null || _r === void 0 ? void 0 : _r.hover,
27
- [customCssProps.styleBorderColorFocus]: (_s = style.root.borderColor) === null || _s === void 0 ? void 0 : _s.focus,
28
- [customCssProps.styleBorderColorReadonly]: (_t = style.root.borderColor) === null || _t === void 0 ? void 0 : _t.readonly,
29
- }),
30
- ...(((_u = style === null || style === void 0 ? void 0 : style.root) === null || _u === void 0 ? void 0 : _u.boxShadow) && {
31
- [customCssProps.styleBoxShadowDefault]: (_v = style.root.boxShadow) === null || _v === void 0 ? void 0 : _v.default,
32
- [customCssProps.styleBoxShadowDisabled]: (_w = style.root.boxShadow) === null || _w === void 0 ? void 0 : _w.disabled,
33
- [customCssProps.styleBoxShadowHover]: (_x = style.root.boxShadow) === null || _x === void 0 ? void 0 : _x.hover,
34
- [customCssProps.styleBoxShadowFocus]: (_y = style.root.boxShadow) === null || _y === void 0 ? void 0 : _y.focus,
35
- [customCssProps.styleBoxShadowReadonly]: (_z = style.root.boxShadow) === null || _z === void 0 ? void 0 : _z.readonly,
36
- }),
37
- ...(((_0 = style === null || style === void 0 ? void 0 : style.root) === null || _0 === void 0 ? void 0 : _0.color) && {
38
- [customCssProps.styleColorDefault]: (_1 = style.root.color) === null || _1 === void 0 ? void 0 : _1.default,
39
- [customCssProps.styleColorDisabled]: (_2 = style.root.color) === null || _2 === void 0 ? void 0 : _2.disabled,
40
- [customCssProps.styleColorHover]: (_3 = style.root.color) === null || _3 === void 0 ? void 0 : _3.hover,
41
- [customCssProps.styleColorFocus]: (_4 = style.root.color) === null || _4 === void 0 ? void 0 : _4.focus,
42
- [customCssProps.styleColorReadonly]: (_5 = style.root.color) === null || _5 === void 0 ? void 0 : _5.readonly,
43
- }),
44
- ...((style === null || style === void 0 ? void 0 : style.placeholder) && {
45
- [customCssProps.stylePlaceholderColor]: (_6 = style.placeholder) === null || _6 === void 0 ? void 0 : _6.color,
46
- [customCssProps.stylePlaceholderFontSize]: (_7 = style.placeholder) === null || _7 === void 0 ? void 0 : _7.fontSize,
47
- [customCssProps.stylePlaceholderFontWeight]: (_8 = style.placeholder) === null || _8 === void 0 ? void 0 : _8.fontWeight,
48
- [customCssProps.stylePlaceholderFontStyle]: (_9 = style.placeholder) === null || _9 === void 0 ? void 0 : _9.fontStyle,
49
- }),
16
+ [customCssProps.styleBackgroundDefault]: (_h = (_g = style === null || style === void 0 ? void 0 : style.root) === null || _g === void 0 ? void 0 : _g.backgroundColor) === null || _h === void 0 ? void 0 : _h.default,
17
+ [customCssProps.styleBackgroundDisabled]: (_k = (_j = style === null || style === void 0 ? void 0 : style.root) === null || _j === void 0 ? void 0 : _j.backgroundColor) === null || _k === void 0 ? void 0 : _k.disabled,
18
+ [customCssProps.styleBackgroundHover]: (_m = (_l = style === null || style === void 0 ? void 0 : style.root) === null || _l === void 0 ? void 0 : _l.backgroundColor) === null || _m === void 0 ? void 0 : _m.hover,
19
+ [customCssProps.styleBackgroundFocus]: (_p = (_o = style === null || style === void 0 ? void 0 : style.root) === null || _o === void 0 ? void 0 : _o.backgroundColor) === null || _p === void 0 ? void 0 : _p.focus,
20
+ [customCssProps.styleBackgroundReadonly]: (_r = (_q = style === null || style === void 0 ? void 0 : style.root) === null || _q === void 0 ? void 0 : _q.backgroundColor) === null || _r === void 0 ? void 0 : _r.readonly,
21
+ [customCssProps.styleBorderColorDefault]: (_t = (_s = style === null || style === void 0 ? void 0 : style.root) === null || _s === void 0 ? void 0 : _s.borderColor) === null || _t === void 0 ? void 0 : _t.default,
22
+ [customCssProps.styleBorderColorDisabled]: (_v = (_u = style === null || style === void 0 ? void 0 : style.root) === null || _u === void 0 ? void 0 : _u.borderColor) === null || _v === void 0 ? void 0 : _v.disabled,
23
+ [customCssProps.styleBorderColorHover]: (_x = (_w = style === null || style === void 0 ? void 0 : style.root) === null || _w === void 0 ? void 0 : _w.borderColor) === null || _x === void 0 ? void 0 : _x.hover,
24
+ [customCssProps.styleBorderColorFocus]: (_z = (_y = style === null || style === void 0 ? void 0 : style.root) === null || _y === void 0 ? void 0 : _y.borderColor) === null || _z === void 0 ? void 0 : _z.focus,
25
+ [customCssProps.styleBorderColorReadonly]: (_1 = (_0 = style === null || style === void 0 ? void 0 : style.root) === null || _0 === void 0 ? void 0 : _0.borderColor) === null || _1 === void 0 ? void 0 : _1.readonly,
26
+ [customCssProps.styleBoxShadowDefault]: (_3 = (_2 = style === null || style === void 0 ? void 0 : style.root) === null || _2 === void 0 ? void 0 : _2.boxShadow) === null || _3 === void 0 ? void 0 : _3.default,
27
+ [customCssProps.styleBoxShadowDisabled]: (_5 = (_4 = style === null || style === void 0 ? void 0 : style.root) === null || _4 === void 0 ? void 0 : _4.boxShadow) === null || _5 === void 0 ? void 0 : _5.disabled,
28
+ [customCssProps.styleBoxShadowHover]: (_7 = (_6 = style === null || style === void 0 ? void 0 : style.root) === null || _6 === void 0 ? void 0 : _6.boxShadow) === null || _7 === void 0 ? void 0 : _7.hover,
29
+ [customCssProps.styleBoxShadowFocus]: (_9 = (_8 = style === null || style === void 0 ? void 0 : style.root) === null || _8 === void 0 ? void 0 : _8.boxShadow) === null || _9 === void 0 ? void 0 : _9.focus,
30
+ [customCssProps.styleBoxShadowReadonly]: (_11 = (_10 = style === null || style === void 0 ? void 0 : style.root) === null || _10 === void 0 ? void 0 : _10.boxShadow) === null || _11 === void 0 ? void 0 : _11.readonly,
31
+ [customCssProps.styleColorDefault]: (_13 = (_12 = style === null || style === void 0 ? void 0 : style.root) === null || _12 === void 0 ? void 0 : _12.color) === null || _13 === void 0 ? void 0 : _13.default,
32
+ [customCssProps.styleColorDisabled]: (_15 = (_14 = style === null || style === void 0 ? void 0 : style.root) === null || _14 === void 0 ? void 0 : _14.color) === null || _15 === void 0 ? void 0 : _15.disabled,
33
+ [customCssProps.styleColorHover]: (_17 = (_16 = style === null || style === void 0 ? void 0 : style.root) === null || _16 === void 0 ? void 0 : _16.color) === null || _17 === void 0 ? void 0 : _17.hover,
34
+ [customCssProps.styleColorFocus]: (_19 = (_18 = style === null || style === void 0 ? void 0 : style.root) === null || _18 === void 0 ? void 0 : _18.color) === null || _19 === void 0 ? void 0 : _19.focus,
35
+ [customCssProps.styleColorReadonly]: (_21 = (_20 = style === null || style === void 0 ? void 0 : style.root) === null || _20 === void 0 ? void 0 : _20.color) === null || _21 === void 0 ? void 0 : _21.readonly,
36
+ [customCssProps.stylePlaceholderColor]: (_22 = style === null || style === void 0 ? void 0 : style.placeholder) === null || _22 === void 0 ? void 0 : _22.color,
37
+ [customCssProps.stylePlaceholderFontSize]: (_23 = style === null || style === void 0 ? void 0 : style.placeholder) === null || _23 === void 0 ? void 0 : _23.fontSize,
38
+ [customCssProps.stylePlaceholderFontWeight]: (_24 = style === null || style === void 0 ? void 0 : style.placeholder) === null || _24 === void 0 ? void 0 : _24.fontWeight,
39
+ [customCssProps.stylePlaceholderFontStyle]: (_25 = style === null || style === void 0 ? void 0 : style.placeholder) === null || _25 === void 0 ? void 0 : _25.fontStyle,
50
40
  };
51
41
  return properties;
52
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/input/styles.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 { SYSTEM } from '../internal/environment';\nimport customCssProps from '../internal/generated/custom-css-properties';\nimport { InputProps } from './interfaces';\n\nexport function getInputStyles(style: InputProps['style']) {\n let properties = {};\n\n if (style?.root && SYSTEM === 'core') {\n properties = {\n borderRadius: style?.root?.borderRadius,\n borderWidth: style?.root?.borderWidth,\n fontSize: style?.root?.fontSize,\n fontWeight: style?.root?.fontWeight,\n paddingBlock: style?.root?.paddingBlock,\n paddingInline: style?.root?.paddingInline,\n ...(style?.root?.backgroundColor && {\n [customCssProps.styleBackgroundDefault]: style.root.backgroundColor?.default,\n [customCssProps.styleBackgroundDisabled]: style.root.backgroundColor?.disabled,\n [customCssProps.styleBackgroundHover]: style.root.backgroundColor?.hover,\n [customCssProps.styleBackgroundFocus]: style.root.backgroundColor?.focus,\n [customCssProps.styleBackgroundReadonly]: style.root.backgroundColor?.readonly,\n }),\n ...(style?.root?.borderColor && {\n [customCssProps.styleBorderColorDefault]: style.root.borderColor?.default,\n [customCssProps.styleBorderColorDisabled]: style.root.borderColor?.disabled,\n [customCssProps.styleBorderColorHover]: style.root.borderColor?.hover,\n [customCssProps.styleBorderColorFocus]: style.root.borderColor?.focus,\n [customCssProps.styleBorderColorReadonly]: style.root.borderColor?.readonly,\n }),\n ...(style?.root?.boxShadow && {\n [customCssProps.styleBoxShadowDefault]: style.root.boxShadow?.default,\n [customCssProps.styleBoxShadowDisabled]: style.root.boxShadow?.disabled,\n [customCssProps.styleBoxShadowHover]: style.root.boxShadow?.hover,\n [customCssProps.styleBoxShadowFocus]: style.root.boxShadow?.focus,\n [customCssProps.styleBoxShadowReadonly]: style.root.boxShadow?.readonly,\n }),\n ...(style?.root?.color && {\n [customCssProps.styleColorDefault]: style.root.color?.default,\n [customCssProps.styleColorDisabled]: style.root.color?.disabled,\n [customCssProps.styleColorHover]: style.root.color?.hover,\n [customCssProps.styleColorFocus]: style.root.color?.focus,\n [customCssProps.styleColorReadonly]: style.root.color?.readonly,\n }),\n ...(style?.placeholder && {\n [customCssProps.stylePlaceholderColor]: style.placeholder?.color,\n [customCssProps.stylePlaceholderFontSize]: style.placeholder?.fontSize,\n [customCssProps.stylePlaceholderFontWeight]: style.placeholder?.fontWeight,\n [customCssProps.stylePlaceholderFontStyle]: style.placeholder?.fontStyle,\n }),\n };\n\n return properties;\n }\n}\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/input/styles.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,cAAc,MAAM,6CAA6C,CAAC;AAGzE,MAAM,UAAU,cAAc,CAAC,KAA0B;;IACvD,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,UAAU,GAAG;YACX,YAAY,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,YAAY;YACvC,WAAW,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,WAAW;YACrC,QAAQ,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,QAAQ;YAC/B,UAAU,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,UAAU;YACnC,YAAY,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,YAAY;YACvC,aAAa,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,aAAa;YACzC,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,eAAe,0CAAE,OAAO;YAC9E,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,eAAe,0CAAE,QAAQ;YAChF,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,eAAe,0CAAE,KAAK;YAC1E,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,eAAe,0CAAE,KAAK;YAC1E,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,eAAe,0CAAE,QAAQ;YAChF,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,WAAW,0CAAE,OAAO;YAC3E,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,WAAW,0CAAE,QAAQ;YAC7E,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,WAAW,0CAAE,KAAK;YACvE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,WAAW,0CAAE,KAAK;YACvE,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,WAAW,0CAAE,QAAQ;YAC7E,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,SAAS,0CAAE,OAAO;YACvE,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,SAAS,0CAAE,QAAQ;YACzE,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,SAAS,0CAAE,KAAK;YACnE,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,SAAS,0CAAE,KAAK;YACnE,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4CAAE,SAAS,4CAAE,QAAQ;YACzE,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4CAAE,KAAK,4CAAE,OAAO;YAC/D,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4CAAE,KAAK,4CAAE,QAAQ;YACjE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4CAAE,KAAK,4CAAE,KAAK;YAC3D,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4CAAE,KAAK,4CAAE,KAAK;YAC3D,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,4CAAE,KAAK,4CAAE,QAAQ;YACjE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,4CAAE,KAAK;YACjE,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,4CAAE,QAAQ;YACvE,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,4CAAE,UAAU;YAC3E,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAAE,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,4CAAE,SAAS;SAC1E,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { SYSTEM } from '../internal/environment';\nimport customCssProps from '../internal/generated/custom-css-properties';\nimport { InputProps } from './interfaces';\n\nexport function getInputStyles(style: InputProps['style']) {\n let properties = {};\n\n if (SYSTEM === 'core') {\n properties = {\n borderRadius: style?.root?.borderRadius,\n borderWidth: style?.root?.borderWidth,\n fontSize: style?.root?.fontSize,\n fontWeight: style?.root?.fontWeight,\n paddingBlock: style?.root?.paddingBlock,\n paddingInline: style?.root?.paddingInline,\n [customCssProps.styleBackgroundDefault]: style?.root?.backgroundColor?.default,\n [customCssProps.styleBackgroundDisabled]: style?.root?.backgroundColor?.disabled,\n [customCssProps.styleBackgroundHover]: style?.root?.backgroundColor?.hover,\n [customCssProps.styleBackgroundFocus]: style?.root?.backgroundColor?.focus,\n [customCssProps.styleBackgroundReadonly]: style?.root?.backgroundColor?.readonly,\n [customCssProps.styleBorderColorDefault]: style?.root?.borderColor?.default,\n [customCssProps.styleBorderColorDisabled]: style?.root?.borderColor?.disabled,\n [customCssProps.styleBorderColorHover]: style?.root?.borderColor?.hover,\n [customCssProps.styleBorderColorFocus]: style?.root?.borderColor?.focus,\n [customCssProps.styleBorderColorReadonly]: style?.root?.borderColor?.readonly,\n [customCssProps.styleBoxShadowDefault]: style?.root?.boxShadow?.default,\n [customCssProps.styleBoxShadowDisabled]: style?.root?.boxShadow?.disabled,\n [customCssProps.styleBoxShadowHover]: style?.root?.boxShadow?.hover,\n [customCssProps.styleBoxShadowFocus]: style?.root?.boxShadow?.focus,\n [customCssProps.styleBoxShadowReadonly]: style?.root?.boxShadow?.readonly,\n [customCssProps.styleColorDefault]: style?.root?.color?.default,\n [customCssProps.styleColorDisabled]: style?.root?.color?.disabled,\n [customCssProps.styleColorHover]: style?.root?.color?.hover,\n [customCssProps.styleColorFocus]: style?.root?.color?.focus,\n [customCssProps.styleColorReadonly]: style?.root?.color?.readonly,\n [customCssProps.stylePlaceholderColor]: style?.placeholder?.color,\n [customCssProps.stylePlaceholderFontSize]: style?.placeholder?.fontSize,\n [customCssProps.stylePlaceholderFontWeight]: style?.placeholder?.fontWeight,\n [customCssProps.stylePlaceholderFontStyle]: style?.placeholder?.fontStyle,\n };\n\n return properties;\n }\n}\n"]}