@cloudscape-design/components 3.0.1183 → 3.0.1185

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 (118) hide show
  1. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +2 -2
  2. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  3. package/breadcrumb-group/item/item.js +2 -2
  4. package/breadcrumb-group/item/item.js.map +1 -1
  5. package/button/internal.d.ts.map +1 -1
  6. package/button/internal.js +2 -2
  7. package/button/internal.js.map +1 -1
  8. package/button-dropdown/category-elements/category-element.d.ts +3 -1
  9. package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
  10. package/button-dropdown/category-elements/category-element.js +21 -7
  11. package/button-dropdown/category-elements/category-element.js.map +1 -1
  12. package/button-dropdown/category-elements/expandable-category-element.d.ts +3 -1
  13. package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  14. package/button-dropdown/category-elements/expandable-category-element.js +16 -4
  15. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  16. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +3 -1
  17. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  18. package/button-dropdown/category-elements/mobile-expandable-category-element.js +16 -4
  19. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  20. package/button-dropdown/category-elements/styles.css.js +18 -17
  21. package/button-dropdown/category-elements/styles.scoped.css +37 -26
  22. package/button-dropdown/category-elements/styles.selectors.js +18 -17
  23. package/button-dropdown/index.d.ts.map +1 -1
  24. package/button-dropdown/index.js +2 -2
  25. package/button-dropdown/index.js.map +1 -1
  26. package/button-dropdown/interfaces.d.ts +81 -1
  27. package/button-dropdown/interfaces.d.ts.map +1 -1
  28. package/button-dropdown/interfaces.js.map +1 -1
  29. package/button-dropdown/internal.d.ts.map +1 -1
  30. package/button-dropdown/internal.js +2 -2
  31. package/button-dropdown/internal.js.map +1 -1
  32. package/button-dropdown/item-element/index.d.ts +4 -1
  33. package/button-dropdown/item-element/index.d.ts.map +1 -1
  34. package/button-dropdown/item-element/index.js +33 -7
  35. package/button-dropdown/item-element/index.js.map +1 -1
  36. package/button-dropdown/item-element/styles.css.js +21 -20
  37. package/button-dropdown/item-element/styles.scoped.css +44 -31
  38. package/button-dropdown/item-element/styles.selectors.js +21 -20
  39. package/button-dropdown/items-list.d.ts +3 -1
  40. package/button-dropdown/items-list.d.ts.map +1 -1
  41. package/button-dropdown/items-list.js +4 -4
  42. package/button-dropdown/items-list.js.map +1 -1
  43. package/button-group/file-input-item.d.ts.map +1 -1
  44. package/button-group/file-input-item.js +3 -4
  45. package/button-group/file-input-item.js.map +1 -1
  46. package/button-group/icon-button-item.d.ts.map +1 -1
  47. package/button-group/icon-button-item.js +3 -3
  48. package/button-group/icon-button-item.js.map +1 -1
  49. package/button-group/icon-toggle-button-item.d.ts.map +1 -1
  50. package/button-group/icon-toggle-button-item.js +2 -2
  51. package/button-group/icon-toggle-button-item.js.map +1 -1
  52. package/button-group/menu-dropdown-item.d.ts.map +1 -1
  53. package/button-group/menu-dropdown-item.js +2 -2
  54. package/button-group/menu-dropdown-item.js.map +1 -1
  55. package/calendar/grid/index.js +2 -2
  56. package/calendar/grid/index.js.map +1 -1
  57. package/date-range-picker/calendar/grids/grid-cell.js +2 -2
  58. package/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  59. package/file-token-group/file-token.d.ts.map +1 -1
  60. package/file-token-group/file-token.js +2 -2
  61. package/file-token-group/file-token.js.map +1 -1
  62. package/index.d.ts +1 -0
  63. package/index.d.ts.map +1 -1
  64. package/index.js +1 -0
  65. package/index.js.map +1 -1
  66. package/internal/base-component/styles.scoped.css +1 -1
  67. package/internal/components/tooltip/index.d.ts +5 -0
  68. package/internal/components/tooltip/index.d.ts.map +1 -1
  69. package/internal/components/tooltip/index.js +2 -1
  70. package/internal/components/tooltip/index.js.map +1 -1
  71. package/internal/environment.js +2 -2
  72. package/internal/environment.json +2 -2
  73. package/internal/manifest.json +1 -1
  74. package/package.json +2 -1
  75. package/segmented-control/segment.js +2 -2
  76. package/segmented-control/segment.js.map +1 -1
  77. package/select/parts/item.d.ts +1 -1
  78. package/select/parts/item.d.ts.map +1 -1
  79. package/select/parts/item.js +2 -2
  80. package/select/parts/item.js.map +1 -1
  81. package/select/parts/multiselect-item.d.ts.map +1 -1
  82. package/select/parts/multiselect-item.js +2 -2
  83. package/select/parts/multiselect-item.js.map +1 -1
  84. package/slider/internal.d.ts.map +1 -1
  85. package/slider/internal.js +2 -2
  86. package/slider/internal.js.map +1 -1
  87. package/tabs/tab-header-bar.js +2 -2
  88. package/tabs/tab-header-bar.js.map +1 -1
  89. package/test-utils/dom/index.d.ts +20 -0
  90. package/test-utils/dom/index.js +15 -1
  91. package/test-utils/dom/index.js.map +1 -1
  92. package/test-utils/dom/tooltip/index.d.ts +9 -0
  93. package/test-utils/dom/tooltip/index.js +19 -0
  94. package/test-utils/dom/tooltip/index.js.map +1 -0
  95. package/test-utils/selectors/index.d.ts +18 -0
  96. package/test-utils/selectors/index.js +15 -1
  97. package/test-utils/selectors/index.js.map +1 -1
  98. package/test-utils/selectors/tooltip/index.d.ts +9 -0
  99. package/test-utils/selectors/tooltip/index.js +19 -0
  100. package/test-utils/selectors/tooltip/index.js.map +1 -0
  101. package/token/internal.d.ts.map +1 -1
  102. package/token/internal.js +3 -3
  103. package/token/internal.js.map +1 -1
  104. package/tooltip/index.d.ts +9 -0
  105. package/tooltip/index.d.ts.map +1 -0
  106. package/tooltip/index.js +20 -0
  107. package/tooltip/index.js.map +1 -0
  108. package/tooltip/interfaces.d.ts +37 -0
  109. package/tooltip/interfaces.d.ts.map +1 -0
  110. package/tooltip/interfaces.js +2 -0
  111. package/tooltip/interfaces.js.map +1 -0
  112. package/tooltip/internal.d.ts +13 -0
  113. package/tooltip/internal.d.ts.map +1 -0
  114. package/tooltip/internal.js +45 -0
  115. package/tooltip/internal.js.map +1 -0
  116. package/tooltip/test-classes/styles.css.js +6 -0
  117. package/tooltip/test-classes/styles.scoped.css +7 -0
  118. package/tooltip/test-classes/styles.selectors.js +7 -0
@@ -10,7 +10,8 @@ import MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-
10
10
  import Tooltip from '../tooltip.js';
11
11
  import { getMenuItemProps } from '../utils/menu-item.js';
12
12
  import styles from './styles.css.js';
13
- const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }) => {
13
+ const MobileExpandableCategoryElement = ({ index, item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, renderItem, }) => {
14
+ var _a;
14
15
  const highlighted = isHighlighted(item);
15
16
  const expanded = isExpanded(item);
16
17
  const isKeyboardHighlighted = isKeyboardHighlight(item);
@@ -31,9 +32,20 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
31
32
  };
32
33
  const isDisabledWithReason = !!item.disabledReason && item.disabled;
33
34
  const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);
35
+ const groupProps = {
36
+ index: index !== null && index !== void 0 ? index : 0,
37
+ type: 'group',
38
+ option: item,
39
+ disabled: !!disabled,
40
+ highlighted: !!highlighted,
41
+ expanded: expanded,
42
+ expandDirection: 'vertical',
43
+ };
44
+ const renderResult = (_a = renderItem === null || renderItem === void 0 ? void 0 : renderItem({ item: groupProps })) !== null && _a !== void 0 ? _a : null;
34
45
  const trigger = item.text && (React.createElement("span", { className: clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {
35
46
  [styles.highlighted]: highlighted,
36
47
  [styles['rolled-down']]: expanded,
48
+ [styles['no-content-styling']]: !!renderResult,
37
49
  [styles.disabled]: disabled,
38
50
  [styles['is-focused']]: isKeyboardHighlighted,
39
51
  }),
@@ -50,14 +62,14 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
50
62
  id: item.id || '',
51
63
  expanded: `${!expanded}`,
52
64
  },
53
- }) },
65
+ }) }, renderResult ? (renderResult) : (React.createElement(React.Fragment, null,
54
66
  (item.iconName || item.iconUrl || item.iconSvg) && (React.createElement("span", { className: styles['icon-wrapper'] },
55
67
  React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, svg: item.iconSvg, alt: item.iconAlt }))),
56
68
  item.text,
57
69
  React.createElement("span", { className: clsx(styles['expand-icon'], {
58
70
  [styles['expand-icon-up']]: expanded,
59
71
  }) },
60
- React.createElement(InternalIcon, { name: "caret-down-filled" }))));
72
+ React.createElement(InternalIcon, { name: "caret-down-filled" }))))));
61
73
  let content;
62
74
  if (isDisabledWithReason) {
63
75
  content = (React.createElement(React.Fragment, null,
@@ -69,7 +81,7 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
69
81
  }
70
82
  else {
71
83
  content = (React.createElement(MobileExpandableGroup, { open: expanded, trigger: trigger }, item.items && expanded && (React.createElement("ul", { role: "menu", "aria-label": item.text, className: styles['items-list-container'] },
72
- React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, hasCategoryHeader: true, variant: variant, position: position })))));
84
+ React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, hasCategoryHeader: true, variant: variant, position: position, renderItem: renderItem, parentProps: groupProps })))));
73
85
  }
74
86
  return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {
75
87
  [styles.expanded]: expanded,
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.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, { useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-group';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item.js';\n\nimport styles from './styles.css.js';\n\nconst MobileExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick = (e: React.MouseEvent) => {\n if (!disabled) {\n e.preventDefault();\n onGroupToggle(item, e);\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.highlighted]: highlighted,\n [styles['rolled-down']]: expanded,\n [styles.disabled]: disabled,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, disabled, expanded })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {(item.iconName || item.iconUrl || item.iconSvg) && (\n <span className={styles['icon-wrapper']}>\n <InternalIcon name={item.iconName} url={item.iconUrl} svg={item.iconSvg} alt={item.iconAlt} />\n </span>\n )}\n {item.text}\n <span\n className={clsx(styles['expand-icon'], {\n [styles['expand-icon-up']]: expanded,\n })}\n >\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n\n if (isDisabledWithReason) {\n content = (\n <>\n {descriptionEl}\n <Tooltip content={item.disabledReason}>{trigger}</Tooltip>\n </>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <MobileExpandableGroup open={expanded} trigger={trigger}>\n {item.items && expanded && (\n <ul role=\"menu\" aria-label={item.text} className={styles['items-list-container']}>\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n hasCategoryHeader={true}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </MobileExpandableGroup>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted || expanded,\n [styles.expandable]: true,\n })}\n role=\"presentation\"\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n data-testid={item.id}\n >\n {content}\n </li>\n );\n};\n\nexport default MobileExpandableCategoryElement;\n"]}
1
+ {"version":3,"file":"mobile-expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.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, { useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-group';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item.js';\n\nimport styles from './styles.css.js';\n\nconst MobileExpandableCategoryElement = ({\n index,\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n position,\n renderItem,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick = (e: React.MouseEvent) => {\n if (!disabled) {\n e.preventDefault();\n onGroupToggle(item, e);\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n\n const groupProps: ButtonDropdownProps.GroupRenderItem = {\n index: index ?? 0,\n type: 'group',\n option: item as ButtonDropdownProps.ItemGroup,\n disabled: !!disabled,\n highlighted: !!highlighted,\n expanded: expanded,\n expandDirection: 'vertical',\n };\n const renderResult = renderItem?.({ item: groupProps }) ?? null;\n\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.highlighted]: highlighted,\n [styles['rolled-down']]: expanded,\n [styles['no-content-styling']]: !!renderResult,\n [styles.disabled]: disabled,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, disabled, expanded })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {renderResult ? (\n renderResult\n ) : (\n <>\n {(item.iconName || item.iconUrl || item.iconSvg) && (\n <span className={styles['icon-wrapper']}>\n <InternalIcon name={item.iconName} url={item.iconUrl} svg={item.iconSvg} alt={item.iconAlt} />\n </span>\n )}\n {item.text}\n <span\n className={clsx(styles['expand-icon'], {\n [styles['expand-icon-up']]: expanded,\n })}\n >\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </>\n )}\n </span>\n );\n\n let content: React.ReactNode;\n\n if (isDisabledWithReason) {\n content = (\n <>\n {descriptionEl}\n <Tooltip content={item.disabledReason}>{trigger}</Tooltip>\n </>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <MobileExpandableGroup open={expanded} trigger={trigger}>\n {item.items && expanded && (\n <ul role=\"menu\" aria-label={item.text} className={styles['items-list-container']}>\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n hasCategoryHeader={true}\n variant={variant}\n position={position}\n renderItem={renderItem}\n parentProps={groupProps}\n />\n </ul>\n )}\n </MobileExpandableGroup>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted || expanded,\n [styles.expandable]: true,\n })}\n role=\"presentation\"\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n data-testid={item.id}\n >\n {content}\n </li>\n );\n};\n\nexport default MobileExpandableCategoryElement;\n"]}
@@ -1,22 +1,23 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header": "awsui_header_16mm3_mv8zj_145",
5
- "disabled": "awsui_disabled_16mm3_mv8zj_161",
6
- "expandable-header": "awsui_expandable-header_16mm3_mv8zj_165",
7
- "rolled-down": "awsui_rolled-down_16mm3_mv8zj_176",
8
- "highlighted": "awsui_highlighted_16mm3_mv8zj_179",
9
- "is-focused": "awsui_is-focused_16mm3_mv8zj_197",
10
- "visual-refresh": "awsui_visual-refresh_16mm3_mv8zj_200",
11
- "category": "awsui_category_16mm3_mv8zj_204",
12
- "expandable": "awsui_expandable_16mm3_mv8zj_165",
13
- "variant-navigation": "awsui_variant-navigation_16mm3_mv8zj_219",
14
- "expand-icon": "awsui_expand-icon_16mm3_mv8zj_226",
15
- "expand-icon-up": "awsui_expand-icon-up_16mm3_mv8zj_244",
16
- "expand-icon-right": "awsui_expand-icon-right_16mm3_mv8zj_247",
17
- "items-list-container": "awsui_items-list-container_16mm3_mv8zj_255",
18
- "in-dropdown": "awsui_in-dropdown_16mm3_mv8zj_264",
19
- "icon-wrapper": "awsui_icon-wrapper_16mm3_mv8zj_268",
20
- "header-content": "awsui_header-content_16mm3_mv8zj_272"
4
+ "header": "awsui_header_16mm3_1ethj_145",
5
+ "disabled": "awsui_disabled_16mm3_1ethj_161",
6
+ "no-content-styling": "awsui_no-content-styling_16mm3_1ethj_165",
7
+ "expandable-header": "awsui_expandable-header_16mm3_1ethj_171",
8
+ "rolled-down": "awsui_rolled-down_16mm3_1ethj_182",
9
+ "highlighted": "awsui_highlighted_16mm3_1ethj_185",
10
+ "is-focused": "awsui_is-focused_16mm3_1ethj_208",
11
+ "visual-refresh": "awsui_visual-refresh_16mm3_1ethj_211",
12
+ "category": "awsui_category_16mm3_1ethj_215",
13
+ "expandable": "awsui_expandable_16mm3_1ethj_171",
14
+ "variant-navigation": "awsui_variant-navigation_16mm3_1ethj_230",
15
+ "expand-icon": "awsui_expand-icon_16mm3_1ethj_237",
16
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_1ethj_255",
17
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_1ethj_258",
18
+ "items-list-container": "awsui_items-list-container_16mm3_1ethj_266",
19
+ "in-dropdown": "awsui_in-dropdown_16mm3_1ethj_275",
20
+ "icon-wrapper": "awsui_icon-wrapper_16mm3_1ethj_279",
21
+ "header-content": "awsui_header-content_16mm3_1ethj_283"
21
22
  };
22
23
 
@@ -142,7 +142,7 @@
142
142
  */
143
143
  /* Style used for links in slots/components that are text heavy, to help links stand out among
144
144
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
145
- .awsui_header_16mm3_mv8zj_145:not(#\9) {
145
+ .awsui_header_16mm3_1ethj_145:not(#\9) {
146
146
  position: relative;
147
147
  margin-block: 0;
148
148
  margin-inline: 0;
@@ -158,25 +158,31 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
158
158
  padding-inline: calc(var(--space-button-horizontal-k0c786, 20px) + var(--border-item-width-miijiw, 2px));
159
159
  z-index: 1;
160
160
  }
161
- .awsui_header_16mm3_mv8zj_145.awsui_disabled_16mm3_mv8zj_161:not(#\9) {
161
+ .awsui_header_16mm3_1ethj_145.awsui_disabled_16mm3_1ethj_161:not(#\9) {
162
162
  color: var(--color-text-dropdown-item-disabled-8m65hf, #b4b4bb);
163
163
  cursor: default;
164
164
  }
165
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165:not(#\9) {
165
+ .awsui_header_16mm3_1ethj_145.awsui_no-content-styling_16mm3_1ethj_165:not(#\9) {
166
+ padding-block: calc(var(--border-item-width-miijiw, 2px) - var(--border-divider-list-width-tdfx1x, 1px));
167
+ padding-inline: var(--border-item-width-miijiw, 2px);
168
+ font-weight: normal;
169
+ color: inherit;
170
+ }
171
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171:not(#\9) {
166
172
  border-block-start-color: var(--color-border-dropdown-group-ylcnh8, #c6c6cd);
167
173
  border-block-end-color: var(--color-border-dropdown-group-ylcnh8, #c6c6cd);
168
174
  cursor: pointer;
169
175
  }
170
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165.awsui_disabled_16mm3_mv8zj_161:not(#\9) {
176
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_disabled_16mm3_1ethj_161:not(#\9) {
171
177
  cursor: default;
172
178
  }
173
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165:not(#\9):focus {
179
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171:not(#\9):focus {
174
180
  outline: none;
175
181
  }
176
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165.awsui_rolled-down_16mm3_mv8zj_176:not(#\9) {
182
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_rolled-down_16mm3_1ethj_182:not(#\9) {
177
183
  border-block-end-color: transparent;
178
184
  }
179
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165.awsui_highlighted_16mm3_mv8zj_179:not(#\9) {
185
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_highlighted_16mm3_1ethj_185:not(#\9) {
180
186
  background-color: var(--color-background-dropdown-item-hover-yunepc, #f3f3f7);
181
187
  color: var(--color-text-dropdown-item-highlighted-yr1px8, #0f141a);
182
188
  padding-block: var(--space-xxs-hwfkai, 4px);
@@ -189,41 +195,46 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
189
195
  border-end-end-radius: var(--border-radius-item-iwaia5, 8px);
190
196
  z-index: 2;
191
197
  }
192
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165.awsui_highlighted_16mm3_mv8zj_179.awsui_disabled_16mm3_mv8zj_161:not(#\9) {
198
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_highlighted_16mm3_1ethj_185.awsui_no-content-styling_16mm3_1ethj_165:not(#\9) {
199
+ padding-block: 0;
200
+ padding-inline: 0;
201
+ color: inherit;
202
+ }
203
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_highlighted_16mm3_1ethj_185.awsui_disabled_16mm3_1ethj_161:not(#\9) {
193
204
  background-color: var(--color-background-dropdown-item-dimmed-dhho03, transparent);
194
205
  border-color: var(--color-border-dropdown-item-dimmed-hover-ga9sch, #8c8c94);
195
206
  color: var(--color-text-dropdown-item-dimmed-tq8vh3, #b4b4bb);
196
207
  }
197
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165.awsui_highlighted_16mm3_mv8zj_179.awsui_is-focused_16mm3_mv8zj_197:not(#\9) {
208
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_highlighted_16mm3_1ethj_185.awsui_is-focused_16mm3_1ethj_208:not(#\9) {
198
209
  border-color: var(--color-border-dropdown-item-focused-zacqlp, #424650);
199
210
  }
200
- .awsui_header_16mm3_mv8zj_145.awsui_expandable-header_16mm3_mv8zj_165.awsui_highlighted_16mm3_mv8zj_179.awsui_is-focused_16mm3_mv8zj_197:not(#\9):not(.awsui_visual-refresh_16mm3_mv8zj_200) {
211
+ .awsui_header_16mm3_1ethj_145.awsui_expandable-header_16mm3_1ethj_171.awsui_highlighted_16mm3_1ethj_185.awsui_is-focused_16mm3_1ethj_208:not(#\9):not(.awsui_visual-refresh_16mm3_1ethj_211) {
201
212
  box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-9mjajk, 1px) var(--color-border-item-focused-uk47pl, #006ce0);
202
213
  }
203
214
 
204
- .awsui_category_16mm3_mv8zj_204:not(#\9) {
215
+ .awsui_category_16mm3_1ethj_215:not(#\9) {
205
216
  list-style: none;
206
217
  margin-block-start: calc(-1 * var(--border-divider-list-width-tdfx1x, 1px));
207
218
  padding-block: 0;
208
219
  padding-inline: 0;
209
220
  }
210
- .awsui_category_16mm3_mv8zj_204:not(#\9):first-child {
221
+ .awsui_category_16mm3_1ethj_215:not(#\9):first-child {
211
222
  margin-block-start: 0;
212
223
  }
213
- .awsui_category_16mm3_mv8zj_204.awsui_expandable_16mm3_mv8zj_165:not(#\9) {
224
+ .awsui_category_16mm3_1ethj_215.awsui_expandable_16mm3_1ethj_171:not(#\9) {
214
225
  border-block-start: 0;
215
226
  }
216
- .awsui_category_16mm3_mv8zj_204:not(#\9):last-child {
227
+ .awsui_category_16mm3_1ethj_215:not(#\9):last-child {
217
228
  border-block-end: none;
218
229
  }
219
- .awsui_category_16mm3_mv8zj_204.awsui_variant-navigation_16mm3_mv8zj_219:not(#\9) {
230
+ .awsui_category_16mm3_1ethj_215.awsui_variant-navigation_16mm3_1ethj_230:not(#\9) {
220
231
  padding-block-start: var(--space-xxs-hwfkai, 4px);
221
232
  }
222
- .awsui_category_16mm3_mv8zj_204.awsui_variant-navigation_16mm3_mv8zj_219.awsui_expandable_16mm3_mv8zj_165:not(#\9) {
233
+ .awsui_category_16mm3_1ethj_215.awsui_variant-navigation_16mm3_1ethj_230.awsui_expandable_16mm3_1ethj_171:not(#\9) {
223
234
  padding-block-start: 0;
224
235
  }
225
236
 
226
- .awsui_expand-icon_16mm3_mv8zj_226:not(#\9) {
237
+ .awsui_expand-icon_16mm3_1ethj_237:not(#\9) {
227
238
  position: relative;
228
239
  inset-inline-end: calc(-1 * var(--space-s-tvghoh, 12px));
229
240
  inline-size: var(--space-m-dsumyt, 16px);
@@ -232,27 +243,27 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
232
243
  transition: transform var(--motion-duration-rotate-180-cxi9g7, 135ms) var(--motion-easing-rotate-180-7a58rc, cubic-bezier(0.165, 0.84, 0.44, 1));
233
244
  }
234
245
  @media (prefers-reduced-motion: reduce) {
235
- .awsui_expand-icon_16mm3_mv8zj_226:not(#\9) {
246
+ .awsui_expand-icon_16mm3_1ethj_237:not(#\9) {
236
247
  animation: none;
237
248
  transition: none;
238
249
  }
239
250
  }
240
- .awsui-motion-disabled .awsui_expand-icon_16mm3_mv8zj_226:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_mv8zj_226:not(#\9) {
251
+ .awsui-motion-disabled .awsui_expand-icon_16mm3_1ethj_237:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_1ethj_237:not(#\9) {
241
252
  animation: none;
242
253
  transition: none;
243
254
  }
244
- .awsui_expand-icon-up_16mm3_mv8zj_244:not(#\9) {
255
+ .awsui_expand-icon-up_16mm3_1ethj_255:not(#\9) {
245
256
  transform: rotate(-180deg);
246
257
  }
247
- .awsui_expand-icon-right_16mm3_mv8zj_247:not(#\9) {
258
+ .awsui_expand-icon-right_16mm3_1ethj_258:not(#\9) {
248
259
  transform: rotate(-90deg);
249
260
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
250
261
  }
251
- .awsui_expand-icon-right_16mm3_mv8zj_247:not(#\9):dir(rtl) {
262
+ .awsui_expand-icon-right_16mm3_1ethj_258:not(#\9):dir(rtl) {
252
263
  transform: rotate(90deg);
253
264
  }
254
265
 
255
- .awsui_items-list-container_16mm3_mv8zj_255:not(#\9) {
266
+ .awsui_items-list-container_16mm3_1ethj_266:not(#\9) {
256
267
  padding-block: 0;
257
268
  padding-inline: 0;
258
269
  margin-block-start: -1px;
@@ -261,15 +272,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
261
272
  overflow-y: auto;
262
273
  }
263
274
 
264
- .awsui_in-dropdown_16mm3_mv8zj_264:not(#\9) {
275
+ .awsui_in-dropdown_16mm3_1ethj_275:not(#\9) {
265
276
  margin-block-end: -1px;
266
277
  }
267
278
 
268
- .awsui_icon-wrapper_16mm3_mv8zj_268:not(#\9) {
279
+ .awsui_icon-wrapper_16mm3_1ethj_279:not(#\9) {
269
280
  margin-inline-end: var(--space-xxs-hwfkai, 4px);
270
281
  }
271
282
 
272
- .awsui_header-content_16mm3_mv8zj_272:not(#\9) {
283
+ .awsui_header-content_16mm3_1ethj_283:not(#\9) {
273
284
  display: flex;
274
285
  align-items: center;
275
286
  }
@@ -2,22 +2,23 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "header": "awsui_header_16mm3_mv8zj_145",
6
- "disabled": "awsui_disabled_16mm3_mv8zj_161",
7
- "expandable-header": "awsui_expandable-header_16mm3_mv8zj_165",
8
- "rolled-down": "awsui_rolled-down_16mm3_mv8zj_176",
9
- "highlighted": "awsui_highlighted_16mm3_mv8zj_179",
10
- "is-focused": "awsui_is-focused_16mm3_mv8zj_197",
11
- "visual-refresh": "awsui_visual-refresh_16mm3_mv8zj_200",
12
- "category": "awsui_category_16mm3_mv8zj_204",
13
- "expandable": "awsui_expandable_16mm3_mv8zj_165",
14
- "variant-navigation": "awsui_variant-navigation_16mm3_mv8zj_219",
15
- "expand-icon": "awsui_expand-icon_16mm3_mv8zj_226",
16
- "expand-icon-up": "awsui_expand-icon-up_16mm3_mv8zj_244",
17
- "expand-icon-right": "awsui_expand-icon-right_16mm3_mv8zj_247",
18
- "items-list-container": "awsui_items-list-container_16mm3_mv8zj_255",
19
- "in-dropdown": "awsui_in-dropdown_16mm3_mv8zj_264",
20
- "icon-wrapper": "awsui_icon-wrapper_16mm3_mv8zj_268",
21
- "header-content": "awsui_header-content_16mm3_mv8zj_272"
5
+ "header": "awsui_header_16mm3_1ethj_145",
6
+ "disabled": "awsui_disabled_16mm3_1ethj_161",
7
+ "no-content-styling": "awsui_no-content-styling_16mm3_1ethj_165",
8
+ "expandable-header": "awsui_expandable-header_16mm3_1ethj_171",
9
+ "rolled-down": "awsui_rolled-down_16mm3_1ethj_182",
10
+ "highlighted": "awsui_highlighted_16mm3_1ethj_185",
11
+ "is-focused": "awsui_is-focused_16mm3_1ethj_208",
12
+ "visual-refresh": "awsui_visual-refresh_16mm3_1ethj_211",
13
+ "category": "awsui_category_16mm3_1ethj_215",
14
+ "expandable": "awsui_expandable_16mm3_1ethj_171",
15
+ "variant-navigation": "awsui_variant-navigation_16mm3_1ethj_230",
16
+ "expand-icon": "awsui_expand-icon_16mm3_1ethj_237",
17
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_1ethj_255",
18
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_1ethj_258",
19
+ "items-list-container": "awsui_items-list-container_16mm3_1ethj_266",
20
+ "in-dropdown": "awsui_in-dropdown_16mm3_1ethj_275",
21
+ "icon-wrapper": "awsui_icon-wrapper_16mm3_1ethj_279",
22
+ "header-content": "awsui_header-content_16mm3_1ethj_283"
22
23
  };
23
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAoEnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGAsEnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
@@ -9,7 +9,7 @@ import { applyDisplayName } from '../internal/utils/apply-display-name';
9
9
  import InternalButtonDropdown from './internal';
10
10
  import { hasCheckboxItems, hasDisabledReasonItems } from './utils/utils';
11
11
  import analyticsSelectors from './analytics-metadata/styles.css.js';
12
- const ButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, expandToViewport = false, ariaLabel, children, onItemClick, onItemFollow, mainAction, fullWidth, nativeMainActionAttributes, nativeTriggerAttributes, ...props }, ref) => {
12
+ const ButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, expandToViewport = false, ariaLabel, children, onItemClick, onItemFollow, mainAction, fullWidth, nativeMainActionAttributes, nativeTriggerAttributes, renderItem, ...props }, ref) => {
13
13
  const baseComponentProps = useBaseComponent('ButtonDropdown', {
14
14
  props: { expandToViewport, expandableGroups, variant },
15
15
  metadata: {
@@ -25,7 +25,7 @@ const ButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading =
25
25
  label: `.${analyticsSelectors['trigger-label']}`,
26
26
  properties: { variant, disabled: `${disabled}` },
27
27
  };
28
- return (React.createElement(InternalButtonDropdown, { ...baseProps, ...baseComponentProps, ref: ref, items: items, variant: variant, loading: loading, loadingText: loadingText, disabled: disabled, disabledReason: disabledReason, expandableGroups: expandableGroups, expandToViewport: expandToViewport, ariaLabel: ariaLabel, onItemClick: onItemClick, onItemFollow: onItemFollow, mainAction: mainAction, fullWidth: fullWidth, nativeMainActionAttributes: nativeMainActionAttributes, nativeTriggerAttributes: nativeTriggerAttributes, ...getAnalyticsMetadataAttribute({
28
+ return (React.createElement(InternalButtonDropdown, { ...baseProps, ...baseComponentProps, renderItem: renderItem, ref: ref, items: items, variant: variant, loading: loading, loadingText: loadingText, disabled: disabled, disabledReason: disabledReason, expandableGroups: expandableGroups, expandToViewport: expandToViewport, ariaLabel: ariaLabel, onItemClick: onItemClick, onItemFollow: onItemFollow, mainAction: mainAction, fullWidth: fullWidth, nativeMainActionAttributes: nativeMainActionAttributes, nativeTriggerAttributes: nativeTriggerAttributes, ...getAnalyticsMetadataAttribute({
29
29
  component: analyticsComponentMetadata,
30
30
  }) }, children));
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAIpE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,KAAK,EACxB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,EACvB,GAAG,KAAK,EACY,EACtB,GAAuC,EACvC,EAAE;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE;QAC5D,KAAK,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACtD,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;YAC1C,kBAAkB,EAAE,sBAAsB,CAAC,KAAK,CAAC;SAClD;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,0BAA0B,GAAsD;QACpF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;QAChD,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE;KACjD,CAAC;IAEF,OAAO,CACL,oBAAC,sBAAsB,OACjB,SAAS,KACT,kBAAkB,EACtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,0BAA0B,EAAE,0BAA0B,EACtD,uBAAuB,EAAE,uBAAuB,KAC5C,6BAA6B,CAAC;YAChC,SAAS,EAAE,0BAA0B;SACtC,CAAC,IAED,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnD,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataButtonDropdownComponent } from './analytics-metadata/interfaces';\nimport { ButtonDropdownProps } from './interfaces';\nimport InternalButtonDropdown from './internal';\nimport { hasCheckboxItems, hasDisabledReasonItems } from './utils/utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { ButtonDropdownProps };\n\nconst ButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n expandToViewport = false,\n ariaLabel,\n children,\n onItemClick,\n onItemFollow,\n mainAction,\n fullWidth,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: ButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('ButtonDropdown', {\n props: { expandToViewport, expandableGroups, variant },\n metadata: {\n mainAction: !!mainAction,\n checkboxItems: hasCheckboxItems(items),\n hasDisabledReason: Boolean(disabledReason),\n hasDisabledReasons: hasDisabledReasonItems(items),\n },\n });\n const baseProps = getBaseProps(props);\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataButtonDropdownComponent = {\n name: 'awsui.ButtonDropdown',\n label: `.${analyticsSelectors['trigger-label']}`,\n properties: { variant, disabled: `${disabled}` },\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...baseComponentProps}\n ref={ref}\n items={items}\n variant={variant}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n disabledReason={disabledReason}\n expandableGroups={expandableGroups}\n expandToViewport={expandToViewport}\n ariaLabel={ariaLabel}\n onItemClick={onItemClick}\n onItemFollow={onItemFollow}\n mainAction={mainAction}\n fullWidth={fullWidth}\n nativeMainActionAttributes={nativeMainActionAttributes}\n nativeTriggerAttributes={nativeTriggerAttributes}\n {...getAnalyticsMetadataAttribute({\n component: analyticsComponentMetadata,\n })}\n >\n {children}\n </InternalButtonDropdown>\n );\n }\n);\n\napplyDisplayName(ButtonDropdown, 'ButtonDropdown');\nexport default ButtonDropdown;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAIpE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,KAAK,EACxB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,GAAG,KAAK,EACY,EACtB,GAAuC,EACvC,EAAE;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE;QAC5D,KAAK,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACtD,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;YAC1C,kBAAkB,EAAE,sBAAsB,CAAC,KAAK,CAAC;SAClD;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,0BAA0B,GAAsD;QACpF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;QAChD,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE;KACjD,CAAC;IAEF,OAAO,CACL,oBAAC,sBAAsB,OACjB,SAAS,KACT,kBAAkB,EACtB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,0BAA0B,EAAE,0BAA0B,EACtD,uBAAuB,EAAE,uBAAuB,KAC5C,6BAA6B,CAAC;YAChC,SAAS,EAAE,0BAA0B;SACtC,CAAC,IAED,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnD,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataButtonDropdownComponent } from './analytics-metadata/interfaces';\nimport { ButtonDropdownProps } from './interfaces';\nimport InternalButtonDropdown from './internal';\nimport { hasCheckboxItems, hasDisabledReasonItems } from './utils/utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { ButtonDropdownProps };\n\nconst ButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n expandToViewport = false,\n ariaLabel,\n children,\n onItemClick,\n onItemFollow,\n mainAction,\n fullWidth,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n renderItem,\n ...props\n }: ButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('ButtonDropdown', {\n props: { expandToViewport, expandableGroups, variant },\n metadata: {\n mainAction: !!mainAction,\n checkboxItems: hasCheckboxItems(items),\n hasDisabledReason: Boolean(disabledReason),\n hasDisabledReasons: hasDisabledReasonItems(items),\n },\n });\n const baseProps = getBaseProps(props);\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataButtonDropdownComponent = {\n name: 'awsui.ButtonDropdown',\n label: `.${analyticsSelectors['trigger-label']}`,\n properties: { variant, disabled: `${disabled}` },\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...baseComponentProps}\n renderItem={renderItem}\n ref={ref}\n items={items}\n variant={variant}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n disabledReason={disabledReason}\n expandableGroups={expandableGroups}\n expandToViewport={expandToViewport}\n ariaLabel={ariaLabel}\n onItemClick={onItemClick}\n onItemFollow={onItemFollow}\n mainAction={mainAction}\n fullWidth={fullWidth}\n nativeMainActionAttributes={nativeMainActionAttributes}\n nativeTriggerAttributes={nativeTriggerAttributes}\n {...getAnalyticsMetadataAttribute({\n component: analyticsComponentMetadata,\n })}\n >\n {children}\n </InternalButtonDropdown>\n );\n }\n);\n\napplyDisplayName(ButtonDropdown, 'ButtonDropdown');\nexport default ButtonDropdown;\n"]}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { GeneratedAnalyticsMetadataFragment } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
3
3
  import { ButtonProps } from '../button/interfaces';
4
4
  import { IconProps } from '../icon/interfaces';
@@ -57,6 +57,49 @@ export interface ButtonDropdownProps extends BaseComponentProps, ExpandToViewpor
57
57
  *
58
58
  */
59
59
  items: ReadonlyArray<ButtonDropdownProps.ItemOrGroup>;
60
+ /**
61
+ * Specifies a render function to render custom options in the dropdown menu.
62
+ *
63
+ * The item inside the props has a different shape depending on its type:
64
+ *
65
+ *
66
+ * ### action
67
+ *
68
+ * - `type` ('action') - The item type.
69
+ * - `index` (number) - The item's position relative to its parent.
70
+ * - `option` (Item) - The original item configuration.
71
+ * - `highlighted` (boolean) - Whether the item is currently highlighted.
72
+ * - `disabled` (boolean) - Whether the item is disabled.
73
+ * - `parent` (GroupRenderItem | null) - The parent group item, if any.
74
+ *
75
+ * ### checkbox
76
+ *
77
+ * - `type` ('checkbox') - The item type.
78
+ * - `index` (number) - The item's position relative to its parent.
79
+ * - `option` (CheckboxItem) - The original item configuration.
80
+ * - `disabled` (boolean) - Whether the item is disabled.
81
+ * - `highlighted` (boolean) - Whether the item is currently highlighted.
82
+ * - `checked` (boolean) - Controls the state of the checkbox item.
83
+ * - `parent` (GroupRenderItem | null) - The parent group item, if any.
84
+ *
85
+ * ### group
86
+ *
87
+ * - `type` ('group') - The item type.
88
+ * - `index` (number) - The item's position in the list.
89
+ * - `option` (ItemGroup) - The original item configuration.
90
+ * - `disabled` (boolean) - Whether the item is disabled.
91
+ * - `highlighted` (boolean) - Whether the item is currently highlighted.
92
+ * - `expanded` (boolean) - Whether the group is expanded.
93
+ * - `expandDirection` ('vertical' | 'horizontal') - The direction in which the group expands.
94
+ *
95
+ * When providing a custom `renderItem` implementation, it fully replaces the default visual rendering and content for that item.
96
+ * The component still manages focus, keyboard interactions, and selection state, but it no longer applies its default item layout or typography.
97
+ *
98
+ * When returning `null`, the default styling will be applied.
99
+ *
100
+ * @awsuiSystem core
101
+ */
102
+ renderItem?: ButtonDropdownProps.ItemRenderer;
60
103
  /**
61
104
  * Determines whether the button dropdown is disabled. Users cannot interact with the control if it's disabled.
62
105
  */
@@ -154,6 +197,36 @@ export interface ButtonDropdownProps extends BaseComponentProps, ExpandToViewpor
154
197
  export declare namespace ButtonDropdownProps {
155
198
  type Variant = 'normal' | 'primary' | 'icon' | 'inline-icon';
156
199
  type ItemType = 'action' | 'group';
200
+ interface ActionRenderItem {
201
+ type: 'action';
202
+ index: number;
203
+ option: Item;
204
+ highlighted: boolean;
205
+ disabled: boolean;
206
+ parent: GroupRenderItem | null;
207
+ }
208
+ interface CheckboxRenderItem {
209
+ type: 'checkbox';
210
+ index: number;
211
+ option: CheckboxItem;
212
+ disabled: boolean;
213
+ highlighted: boolean;
214
+ checked: boolean;
215
+ parent: GroupRenderItem | null;
216
+ }
217
+ interface GroupRenderItem {
218
+ type: 'group';
219
+ index: number;
220
+ option: ItemGroup;
221
+ disabled: boolean;
222
+ highlighted: boolean;
223
+ expanded: boolean;
224
+ expandDirection: 'vertical' | 'horizontal';
225
+ }
226
+ type RenderItem = ActionRenderItem | CheckboxRenderItem | GroupRenderItem;
227
+ type ItemRenderer = (props: {
228
+ item: ButtonDropdownProps.RenderItem;
229
+ }) => ReactNode | null;
157
230
  interface MainAction {
158
231
  text?: string;
159
232
  ariaLabel?: string;
@@ -238,6 +311,7 @@ export interface HighlightProps {
238
311
  export type GroupToggle = (item: ButtonDropdownProps.ItemGroup, event: React.SyntheticEvent) => void;
239
312
  export type ItemActivate = (item: ButtonDropdownProps.Item | ButtonDropdownProps.CheckboxItem, event: React.MouseEvent | React.KeyboardEvent) => void;
240
313
  export interface CategoryProps extends HighlightProps {
314
+ index?: number;
241
315
  item: ButtonDropdownProps.ItemGroup;
242
316
  onGroupToggle: GroupToggle;
243
317
  onItemActivate: ItemActivate;
@@ -246,6 +320,7 @@ export interface CategoryProps extends HighlightProps {
246
320
  expandToViewport?: boolean;
247
321
  variant?: ItemListProps['variant'];
248
322
  position?: string;
323
+ renderItem?: ButtonDropdownProps.ItemRenderer;
249
324
  }
250
325
  export interface ItemListProps extends HighlightProps {
251
326
  items: ButtonDropdownProps.Items;
@@ -260,11 +335,14 @@ export interface ItemListProps extends HighlightProps {
260
335
  position?: string;
261
336
  analyticsMetadataTransformer?: InternalButtonDropdownProps['analyticsMetadataTransformer'];
262
337
  linkStyle?: boolean;
338
+ renderItem?: ButtonDropdownProps.ItemRenderer;
339
+ parentProps?: ButtonDropdownProps.GroupRenderItem;
263
340
  }
264
341
  export interface LinkItem extends ButtonDropdownProps.Item {
265
342
  href: string;
266
343
  }
267
344
  export interface ItemProps {
345
+ index?: number;
268
346
  item: ButtonDropdownProps.Item | ButtonDropdownProps.CheckboxItem | LinkItem;
269
347
  disabled: boolean;
270
348
  highlighted: boolean;
@@ -277,6 +355,8 @@ export interface ItemProps {
277
355
  position?: string;
278
356
  analyticsMetadataTransformer?: InternalButtonDropdownProps['analyticsMetadataTransformer'];
279
357
  linkStyle?: boolean;
358
+ renderItem?: ButtonDropdownProps.ItemRenderer;
359
+ parentProps?: ButtonDropdownProps.GroupRenderItem;
280
360
  }
281
361
  export interface InternalItem extends ButtonDropdownProps.Item {
282
362
  badge?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/interfaces.ts"],"names":[],"mappings":"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"}