@cloudscape-design/components-themeable 3.0.1311 → 3.0.1313

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 (219) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/visual-refresh/drawers.scss +16 -0
  3. package/lib/internal/scss/app-layout/visual-refresh/navigation.scss +1 -1
  4. package/lib/internal/scss/app-layout/visual-refresh/tools.scss +4 -0
  5. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +1 -1
  6. package/lib/internal/scss/app-layout/visual-refresh-toolbar/navigation/styles.scss +1 -1
  7. package/lib/internal/scss/button-dropdown/category-elements/styles.scss +5 -0
  8. package/lib/internal/scss/button-dropdown/styles.scss +18 -0
  9. package/lib/internal/scss/expandable-section/styles.scss +17 -0
  10. package/lib/internal/scss/internal/components/button-trigger/styles.scss +7 -0
  11. package/lib/internal/scss/internal/components/drag-handle/styles.scss +5 -1
  12. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  13. package/lib/internal/scss/internal/styles/utils/theming.scss +6 -0
  14. package/lib/internal/scss/segmented-control/styles.scss +2 -2
  15. package/lib/internal/scss/status-indicator/styles.scss +36 -0
  16. package/lib/internal/scss/steps/styles.scss +39 -0
  17. package/lib/internal/scss/table/header-cell/styles.scss +12 -1
  18. package/lib/internal/scss/table/resizer/styles.scss +9 -1
  19. package/lib/internal/scss/toggle/styles.scss +1 -1
  20. package/lib/internal/scss/toggle-button/styles.scss +7 -1
  21. package/lib/internal/scss/token/mixins.scss +4 -4
  22. package/lib/internal/scss/token/styles.scss +7 -0
  23. package/lib/internal/scss/tree-view/tree-item/styles.scss +10 -0
  24. package/lib/internal/template/app-layout/runtime-drawer/index.js +1 -1
  25. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  26. package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts.map +1 -1
  27. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -0
  28. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  29. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +87 -86
  30. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +176 -164
  31. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +87 -86
  32. package/lib/internal/template/app-layout/visual-refresh/tools.d.ts.map +1 -1
  33. package/lib/internal/template/app-layout/visual-refresh/tools.js +2 -0
  34. package/lib/internal/template/app-layout/visual-refresh/tools.js.map +1 -1
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
  36. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +84 -84
  37. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
  38. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  39. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +6 -6
  40. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  41. package/lib/internal/template/breadcrumb-group/implementation.d.ts.map +1 -1
  42. package/lib/internal/template/breadcrumb-group/implementation.js +2 -2
  43. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  44. package/lib/internal/template/breadcrumb-group/item/item.d.ts.map +1 -1
  45. package/lib/internal/template/breadcrumb-group/item/item.js +2 -1
  46. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  47. package/lib/internal/template/button/internal.d.ts +3 -0
  48. package/lib/internal/template/button/internal.d.ts.map +1 -1
  49. package/lib/internal/template/button/internal.js +2 -2
  50. package/lib/internal/template/button/internal.js.map +1 -1
  51. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  52. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +4 -2
  53. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  54. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  55. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
  56. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  57. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +19 -18
  58. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +32 -28
  59. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +19 -18
  60. package/lib/internal/template/button-dropdown/index.d.ts.map +1 -1
  61. package/lib/internal/template/button-dropdown/index.js +4 -3
  62. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  63. package/lib/internal/template/button-dropdown/interfaces.d.ts +22 -0
  64. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  65. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  66. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  67. package/lib/internal/template/button-dropdown/internal.js +15 -6
  68. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  69. package/lib/internal/template/button-dropdown/styles.css.js +23 -21
  70. package/lib/internal/template/button-dropdown/styles.scoped.css +39 -29
  71. package/lib/internal/template/button-dropdown/styles.selectors.js +23 -21
  72. package/lib/internal/template/button-group/icon-toggle-button-item.js +1 -1
  73. package/lib/internal/template/button-group/icon-toggle-button-item.js.map +1 -1
  74. package/lib/internal/template/button-group/interfaces.d.ts +12 -1
  75. package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
  76. package/lib/internal/template/button-group/interfaces.js.map +1 -1
  77. package/lib/internal/template/button-group/menu-dropdown-item.d.ts.map +1 -1
  78. package/lib/internal/template/button-group/menu-dropdown-item.js +2 -1
  79. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  80. package/lib/internal/template/dropdown/internal.d.ts.map +1 -1
  81. package/lib/internal/template/dropdown/internal.js +14 -2
  82. package/lib/internal/template/dropdown/internal.js.map +1 -1
  83. package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
  84. package/lib/internal/template/expandable-section/expandable-section-header.js +5 -5
  85. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  86. package/lib/internal/template/expandable-section/styles.css.js +36 -35
  87. package/lib/internal/template/expandable-section/styles.scoped.css +81 -66
  88. package/lib/internal/template/expandable-section/styles.selectors.js +36 -35
  89. package/lib/internal/template/icon/generated/icons.d.ts +1 -0
  90. package/lib/internal/template/icon/generated/icons.d.ts.map +1 -1
  91. package/lib/internal/template/icon/generated/icons.js +2 -0
  92. package/lib/internal/template/icon/generated/icons.js.map +1 -1
  93. package/lib/internal/template/icon-provider/interfaces.d.ts +1 -1
  94. package/lib/internal/template/icon-provider/interfaces.d.ts.map +1 -1
  95. package/lib/internal/template/icon-provider/interfaces.js.map +1 -1
  96. package/lib/internal/template/internal/base-component/styles.scoped.css +65 -1
  97. package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
  98. package/lib/internal/template/internal/components/button-trigger/index.js +3 -2
  99. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  100. package/lib/internal/template/internal/components/button-trigger/styles.css.js +15 -14
  101. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +35 -29
  102. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +15 -14
  103. package/lib/internal/template/internal/components/checkbox-icon/index.d.ts.map +1 -1
  104. package/lib/internal/template/internal/components/checkbox-icon/index.js +11 -2
  105. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  106. package/lib/internal/template/internal/components/drag-handle/styles.css.js +14 -14
  107. package/lib/internal/template/internal/components/drag-handle/styles.scoped.css +20 -19
  108. package/lib/internal/template/internal/components/drag-handle/styles.selectors.js +14 -14
  109. package/lib/internal/template/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
  110. package/lib/internal/template/internal/components/drag-handle-wrapper/index.js +6 -3
  111. package/lib/internal/template/internal/components/drag-handle-wrapper/index.js.map +1 -1
  112. package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.d.ts +2 -1
  113. package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.d.ts.map +1 -1
  114. package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.js +2 -2
  115. package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.js.map +1 -1
  116. package/lib/internal/template/internal/components/expand-toggle-button/index.js +2 -2
  117. package/lib/internal/template/internal/components/expand-toggle-button/index.js.map +1 -1
  118. package/lib/internal/template/internal/environment.js +2 -2
  119. package/lib/internal/template/internal/environment.json +2 -2
  120. package/lib/internal/template/internal/generated/styles/tokens.d.ts +8 -0
  121. package/lib/internal/template/internal/generated/styles/tokens.js +8 -0
  122. package/lib/internal/template/internal/generated/theming/index.cjs +236 -0
  123. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +72 -0
  124. package/lib/internal/template/internal/generated/theming/index.d.ts +72 -0
  125. package/lib/internal/template/internal/generated/theming/index.js +236 -0
  126. package/lib/internal/template/internal/hooks/use-mouse-down-target.js +2 -2
  127. package/lib/internal/template/internal/hooks/use-mouse-down-target.js.map +1 -1
  128. package/lib/internal/template/internal/hooks/use-portal-mode-classes/index.d.ts.map +1 -1
  129. package/lib/internal/template/internal/hooks/use-portal-mode-classes/index.js +4 -2
  130. package/lib/internal/template/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  131. package/lib/internal/template/internal/hooks/use-visual-mode/index.d.ts +1 -0
  132. package/lib/internal/template/internal/hooks/use-visual-mode/index.d.ts.map +1 -1
  133. package/lib/internal/template/internal/hooks/use-visual-mode/index.js +2 -1
  134. package/lib/internal/template/internal/hooks/use-visual-mode/index.js.map +1 -1
  135. package/lib/internal/template/internal/utils/throttle.d.ts.map +1 -1
  136. package/lib/internal/template/internal/utils/throttle.js +3 -1
  137. package/lib/internal/template/internal/utils/throttle.js.map +1 -1
  138. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  139. package/lib/internal/template/progress-bar/index.js +1 -0
  140. package/lib/internal/template/progress-bar/index.js.map +1 -1
  141. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  142. package/lib/internal/template/segmented-control/styles.scoped.css +34 -34
  143. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  144. package/lib/internal/template/status-indicator/internal.d.ts.map +1 -1
  145. package/lib/internal/template/status-indicator/internal.js +4 -3
  146. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  147. package/lib/internal/template/status-indicator/styles.css.js +25 -24
  148. package/lib/internal/template/status-indicator/styles.scoped.css +75 -40
  149. package/lib/internal/template/status-indicator/styles.selectors.js +25 -24
  150. package/lib/internal/template/steps/internal.d.ts.map +1 -1
  151. package/lib/internal/template/steps/internal.js +20 -6
  152. package/lib/internal/template/steps/internal.js.map +1 -1
  153. package/lib/internal/template/steps/styles.css.js +12 -9
  154. package/lib/internal/template/steps/styles.scoped.css +43 -15
  155. package/lib/internal/template/steps/styles.selectors.js +12 -9
  156. package/lib/internal/template/table/header-cell/group-header-cell.d.ts.map +1 -1
  157. package/lib/internal/template/table/header-cell/group-header-cell.js +4 -16
  158. package/lib/internal/template/table/header-cell/group-header-cell.js.map +1 -1
  159. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  160. package/lib/internal/template/table/header-cell/index.js +2 -1
  161. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  162. package/lib/internal/template/table/header-cell/styles.css.js +33 -33
  163. package/lib/internal/template/table/header-cell/styles.scoped.css +80 -73
  164. package/lib/internal/template/table/header-cell/styles.selectors.js +33 -33
  165. package/lib/internal/template/table/header-cell/th-element.d.ts +6 -5
  166. package/lib/internal/template/table/header-cell/th-element.d.ts.map +1 -1
  167. package/lib/internal/template/table/header-cell/th-element.js +4 -3
  168. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  169. package/lib/internal/template/table/resizer/index.d.ts +4 -2
  170. package/lib/internal/template/table/resizer/index.d.ts.map +1 -1
  171. package/lib/internal/template/table/resizer/index.js +4 -4
  172. package/lib/internal/template/table/resizer/index.js.map +1 -1
  173. package/lib/internal/template/table/resizer/styles.css.js +17 -16
  174. package/lib/internal/template/table/resizer/styles.scoped.css +32 -24
  175. package/lib/internal/template/table/resizer/styles.selectors.js +17 -16
  176. package/lib/internal/template/table/selection/selection-cell.d.ts +2 -1
  177. package/lib/internal/template/table/selection/selection-cell.d.ts.map +1 -1
  178. package/lib/internal/template/table/selection/selection-cell.js +2 -2
  179. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  180. package/lib/internal/template/table/sticky-columns/use-sticky-columns.d.ts +2 -1
  181. package/lib/internal/template/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
  182. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +31 -7
  183. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  184. package/lib/internal/template/table/thead.d.ts.map +1 -1
  185. package/lib/internal/template/table/thead.js +2 -2
  186. package/lib/internal/template/table/thead.js.map +1 -1
  187. package/lib/internal/template/test-utils/dom/table/index.js +1 -1
  188. package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
  189. package/lib/internal/template/test-utils/selectors/table/index.js +1 -1
  190. package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
  191. package/lib/internal/template/theming/index.d.ts +2 -0
  192. package/lib/internal/template/theming/index.d.ts.map +1 -1
  193. package/lib/internal/template/theming/index.js +55 -0
  194. package/lib/internal/template/theming/index.js.map +1 -1
  195. package/lib/internal/template/toggle/styles.css.js +10 -10
  196. package/lib/internal/template/toggle/styles.scoped.css +18 -18
  197. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  198. package/lib/internal/template/toggle-button/internal.d.ts.map +1 -1
  199. package/lib/internal/template/toggle-button/internal.js +3 -1
  200. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  201. package/lib/internal/template/toggle-button/styles.css.js +4 -3
  202. package/lib/internal/template/toggle-button/styles.scoped.css +8 -3
  203. package/lib/internal/template/toggle-button/styles.selectors.js +4 -3
  204. package/lib/internal/template/token/dismiss-button.d.ts.map +1 -1
  205. package/lib/internal/template/token/dismiss-button.js +3 -1
  206. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  207. package/lib/internal/template/token/internal.d.ts.map +1 -1
  208. package/lib/internal/template/token/internal.js +11 -3
  209. package/lib/internal/template/token/internal.js.map +1 -1
  210. package/lib/internal/template/token/styles.css.js +14 -14
  211. package/lib/internal/template/token/styles.scoped.css +33 -30
  212. package/lib/internal/template/token/styles.selectors.js +14 -14
  213. package/lib/internal/template/tree-view/tree-item/index.d.ts.map +1 -1
  214. package/lib/internal/template/tree-view/tree-item/index.js +2 -1
  215. package/lib/internal/template/tree-view/tree-item/index.js.map +1 -1
  216. package/lib/internal/template/tree-view/tree-item/styles.css.js +10 -9
  217. package/lib/internal/template/tree-view/tree-item/styles.scoped.css +19 -12
  218. package/lib/internal/template/tree-view/tree-item/styles.selectors.js +10 -9
  219. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useEffect, useImperativeHandle, useRef } from 'react';
4
4
  import clsx from 'clsx';
5
- import { useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';
5
+ import { isThemeActive, Theme, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';
6
6
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
7
7
  import InternalBox from '../box/internal';
8
8
  import { InternalButton } from '../button/internal';
@@ -20,7 +20,7 @@ import { useButtonDropdown } from './utils/use-button-dropdown';
20
20
  import { isLinkItem } from './utils/utils.js';
21
21
  import analyticsSelectors from './analytics-metadata/styles.css.js';
22
22
  import styles from './styles.css.js';
23
- const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, children, onItemClick, onItemFollow, customTriggerBuilder, expandToViewport, ariaLabel, title, description, preferCenter, mainAction, showMainActionOnly, __internalRootRef, analyticsMetadataTransformer, linkStyle, fullWidth, position, nativeMainActionAttributes, nativeTriggerAttributes, renderItem, ...props }, ref) => {
23
+ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, children, onItemClick, onItemFollow, customTriggerBuilder, expandToViewport, ariaLabel, iconName, iconAlt, iconUrl, iconSvg, title, description, preferCenter, mainAction, showMainActionOnly, __internalRootRef, analyticsMetadataTransformer, linkStyle, fullWidth, position, nativeMainActionAttributes, nativeTriggerAttributes, renderItem, ...props }, ref) => {
24
24
  var _a;
25
25
  const isInRestrictedView = useMobile();
26
26
  const dropdownId = useUniqueId('dropdown');
@@ -32,13 +32,18 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
32
32
  if (mainAction) {
33
33
  checkSafeUrl('ButtonDropdown', mainAction.href);
34
34
  }
35
+ const hasCustomTriggerIcon = !!(iconName || iconUrl || iconSvg);
35
36
  if (isDevelopment) {
36
37
  if (mainAction && variant !== 'primary' && variant !== 'normal') {
37
38
  warnOnce('ButtonDropdown', 'Main action is only supported for "primary" and "normal" component variant.');
38
39
  }
40
+ if (hasCustomTriggerIcon && variant !== 'icon' && variant !== 'inline-icon') {
41
+ warnOnce('ButtonDropdown', 'Custom icon is only supported for "icon" and "inline-icon" component variant.');
42
+ }
39
43
  }
40
44
  const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');
41
45
  const isVisualRefresh = useVisualRefresh();
46
+ const isOneTheme = isThemeActive(Theme.OneTheme);
42
47
  const { isOpen, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, highlightItem, onKeyDown, onKeyUp, onItemActivate, onGroupToggle, toggleDropdown, closeDropdown, setIsUsingMouse, } = useButtonDropdown({
43
48
  items,
44
49
  onItemClick,
@@ -76,15 +81,19 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
76
81
  const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;
77
82
  const iconProps = variant === 'icon' || variant === 'inline-icon'
78
83
  ? {
79
- iconName: 'ellipsis',
84
+ iconName: hasCustomTriggerIcon ? iconName : 'ellipsis',
85
+ iconAlt,
86
+ iconUrl,
87
+ iconSvg,
80
88
  }
81
89
  : {
82
- iconName: 'caret-down-filled',
90
+ iconName: isOneTheme ? 'angle-down' : 'caret-down-filled',
91
+ __iconSize: isOneTheme ? 'x-small' : 'normal',
83
92
  iconAlign: 'right',
84
93
  __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),
85
94
  };
86
95
  const baseTriggerProps = {
87
- className: clsx(styles['trigger-button'], styles['test-utils-button-trigger'], analyticsSelectors['trigger-label']),
96
+ className: clsx(styles['trigger-button'], isOneTheme && styles['one-theme'], styles['test-utils-button-trigger'], analyticsSelectors['trigger-label']),
88
97
  ...iconProps,
89
98
  variant: triggerVariant,
90
99
  loading,
@@ -160,7 +169,7 @@ const InternalButtonDropdown = React.forwardRef(({ items, variant = 'normal', lo
160
169
  label: `.${analyticsSelectors['main-action-label']}`,
161
170
  },
162
171
  }) }, mainActionButton),
163
- !showMainActionOnly && (React.createElement("div", { className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading), ...getAnalyticsMetadataAttribute(analyticsMetadata) },
172
+ !showMainActionOnly && (React.createElement("div", { className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], isOneTheme && styles['one-theme'], !!children && styles['has-trigger-text'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading), ...getAnalyticsMetadataAttribute(analyticsMetadata) },
164
173
  React.createElement(InternalButton, { ref: triggerRef, ...baseTriggerProps, className: clsx(baseTriggerProps.className, {
165
174
  [styles['main-action-trigger-full-width']]: canBeFullWidth,
166
175
  }), __emitPerformanceMarks: false }, children)))));
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAuB,MAAM,oBAAoB,CAAC;AACzE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMhE,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAC7C,CACE,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,GAAG,KAAK,EACoB,EAC9B,GAAuC,EACvC,EAAE;;IACF,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,UAAU,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChE,QAAQ,CAAC,gBAAgB,EAAE,6EAA6E,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAE3C,MAAM,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,GAChB,GAAG,iBAAiB,CAAC;QACpB,KAAK;QACL,WAAW;QACX,YAAY;QACZ,wEAAwE;QACxE,aAAa,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA,EAAA;QACvE,gBAAgB;QAChB,mBAAmB,EAAE,gBAAgB;QACrC,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAE7C,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,GAAG,IAAI;;YACX,MAAA,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,oBAAoB,CAAC,GAAG,IAAI;;YAC1B,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,EACF,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAC3C,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,uFAAuF;YACvF,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;IAE1C,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAG,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IAClH,MAAM,SAAS,GACb,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa;QAC7C,CAAC,CAAC;YACE,QAAQ,EAAE,UAAU;SACrB;QACH,CAAC,CAAC;YACE,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC;SACnE,CAAC;IAER,MAAM,gBAAgB,GAAwB;QAC5C,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,MAAM,CAAC,2BAA2B,CAAC,EACnC,kBAAkB,CAAC,eAAe,CAAC,CACpC;QACD,GAAG,SAAS;QACZ,OAAO,EAAE,cAAc;QACvB,OAAO;QACP,WAAW;QACX,QAAQ;QACR,cAAc;QACd,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,SAAS;QACT,YAAY,EAAE,WAAW,IAAI,MAAM;QACnC,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,uBAAuB;KAChD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,QAAQ,GAAwC,OAAO,CAAC;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAuB,OAAO,CAAC;QAC7C,OAAO,CACL,OAAO,KAAK,MAAM;YAClB,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,OAAQ,IAAqB,CAAC,KAAK,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAA,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,OAAO,GAAoB,IAAI,CAAC;IAEpC,MAAM,iBAAiB,GAGK,QAAQ;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACvC,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;aACjD;SACF,CAAC;IAEN,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,GAAG,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAM,6BAA6B,CAAC,iBAAiB,CAAC,IAC7F,oBAAoB,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC,2BAA2B,CAAC;YACnD,YAAY,EAAE,WAAW,IAAI,MAAM;YACnC,OAAO,EAAE,YAAY;YACrB,UAAU;YACV,SAAS;YACT,QAAQ;YACR,cAAc;YACd,MAAM;SACP,CAAC,CACE,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,eAAe,EAAE,GACtG,UAAU,CAAC;QACb,MAAM,mBAAmB,GAAG,QAAQ;YAClC,CAAC,CAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAY;YACvG,CAAC,CAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAY,CAAC;QACvD,MAAM,mBAAmB,GAAG,qBAAqB;YAC/C,CAAC,CAAC,GAAG,MAAA,UAAU,CAAC,SAAS,mCAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,qBAAqB,EAAE;YAClF,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC;QACxB,MAAM,gBAAgB,GAAG,CACvB,oBAAC,cAAc,IACb,GAAG,EAAE,aAAa,KACd,eAAe,KACf,mBAAmB,EACvB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,EAClC,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,cAAc,IAAI,MAAM,CAAC,wBAAwB,CAAC,CACnD,EACD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAC,MAAM,EACjB,sBAAsB,EAAE,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,EAC1D,sBAAsB,EAAE,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,IAEzD,IAAI,CACU,CAClB,CAAC;QACF,OAAO,GAAG,CACR,6BAAK,IAAI,EAAC,OAAO,gBAAa,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC;YACjF,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,eAAe,CAAC,EACvB,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,eAAe,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC1C;gBACD,mEAAmE;gBACnE,OAAO,EAAE,aAAa;gBACtB,2EAA2E;gBAC3E,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,KAC7B,6BAA6B,CAAC;oBAChC,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,EAAE;qBACrD;iBACF,CAAC,IAED,gBAAgB,CACb;YACL,CAAC,kBAAkB,IAAI,CACtB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,kBAAkB,CAAC,EAC1B,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,gBAAgB,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC3C,KACG,6BAA6B,CAAC,iBAAiB,CAAC;gBAEpD,oBAAC,cAAc,IACb,GAAG,EAAE,UAAU,KACX,gBAAgB,EACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;wBAC1C,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAE,cAAc;qBAC3D,CAAC,EACF,sBAAsB,EAAE,KAAK,IAE5B,QAAQ,CACM,CACb,CACP,CACG,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAM,6BAA6B,CAAC,iBAAiB,CAAC;YAC9F,oBAAC,cAAc,IACb,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,SAAS,KACT,gBAAgB,EACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;oBAC1C,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc;oBACtC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO;iBAC9C,CAAC,EACF,KAAK,EAAE,eAAe,EAAE,EACxB,SAAS,EAAE,SAAS,IAEnB,QAAQ,CACM,CACb,CACP,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE9D,MAAM,sBAAsB,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa,CAAC;IAE5G,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,GAAG,EAAE;gBACV,uDAAuD;gBACvD,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAElC,OAAO,CACL,gCACM,SAAS,EACb,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,iBAAiB,CAAC,EACzB,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,cAAc,IAAI,MAAM,CAAC,YAAY,CAAC,EACtC,SAAS,CAAC,SAAS,CACpB,eACU,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC9D,GAAG,EAAE,iBAAiB;QAEtB,oBAAC,QAAQ,IACP,IAAI,EAAE,WAAW,IAAI,MAAM,EAC3B,oBAAoB,EAAE,OAAO,KAAK,YAAY,EAC9C,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAClD,eAAe,EAAE,KAAK,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EACrD,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,EACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EACL;gBACG,SAAS,IAAI,CACZ,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ;oBACxC,KAAK,IAAI,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK;wBAC1B,oBAAC,WAAW,IACV,QAAQ,EAAC,WAAW,EACpB,UAAU,EAAC,MAAM,EACjB,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,IAAI,EAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAEzC,KAAK,CACM,CACV,CACP;oBACA,WAAW,IAAI,CACd,oBAAC,WAAW,IAAC,QAAQ,EAAC,QAAQ;wBAC5B,8BAAM,SAAS,EAAE,MAAM,CAAC,WAAW,IAAG,WAAW,CAAQ,CAC7C,CACf,CACG,CACP;gBACD,oBAAC,WAAW,IACV,IAAI,EAAE,WAAW,IAAI,MAAM,EAC3B,QAAQ,EAAC,QAAQ,EACjB,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,IAAI,EAChB,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACrF,UAAU,EAAC,UAAU;oBAErB,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,gBAAgB,EACrC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,IAAI,EACpB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,4BAA4B,EAAE,4BAA4B,EAC1D,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,GACtB,CACU,CACb,GAEL,CACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,sBAAsB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalBox from '../box/internal';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton, InternalButtonProps } from '../button/internal';\nimport Dropdown from '../dropdown/internal';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps, InternalItem } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n renderItem,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (hasMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, hasMainAction]\n );\n\n const clickHandler = () => {\n if (!loading && !disabled) {\n // Prevent moving highlight on mobiles to avoid disabled state reason popup if defined.\n toggleDropdown({ moveHighlightOnOpen: !isInRestrictedView });\n }\n };\n\n const canBeOpened = !loading && !disabled;\n\n const canBeFullWidth = !!fullWidth && (variant === 'primary' || variant === 'normal');\n\n const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;\n const iconProps: Partial<ButtonProps & { __iconClass?: string }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n ariaHaspopup: true,\n nativeButtonAttributes: nativeTriggerAttributes,\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const groupKey: keyof ButtonDropdownProps.ItemGroup = 'items';\n const flatItems = items.flatMap(item => {\n if (groupKey in item) {\n return item.items;\n }\n return item;\n });\n\n const badgeKey: keyof InternalItem = 'badge';\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if (badgeKey in item) {\n return (item as InternalItem).badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (hasMainAction) {\n const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } =\n mainAction;\n const mainActionIconProps = external\n ? ({ iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' } as const)\n : ({ iconName, iconAlt, iconSvg, iconUrl } as const);\n const mainActionAriaLabel = externalIconAriaLabel\n ? `${mainAction.ariaLabel ?? mainAction.text} ${mainAction.externalIconAriaLabel}`\n : mainAction.ariaLabel;\n const hasNoText = !text;\n const mainActionButton = (\n <InternalButton\n ref={mainActionRef}\n {...mainActionProps}\n {...mainActionIconProps}\n fullWidth={canBeFullWidth}\n className={clsx(\n styles['trigger-button'],\n hasNoText && styles['has-no-text'],\n isVisualRefresh && styles['visual-refresh'],\n canBeFullWidth && styles['main-action-full-width']\n )}\n variant={variant}\n ariaLabel={mainActionAriaLabel}\n formAction=\"none\"\n nativeAnchorAttributes={nativeMainActionAttributes?.anchor}\n nativeButtonAttributes={nativeMainActionAttributes?.button}\n >\n {text}\n </InternalButton>\n );\n trigger = (\n <div role=\"group\" aria-label={ariaLabel} className={styles['split-trigger-wrapper']}>\n <div\n className={clsx(\n styles['trigger-item'],\n styles['split-trigger'],\n styles[`variant-${variant}`],\n mainActionProps.loading && styles.loading\n )}\n // Close dropdown upon main action click unless event is cancelled.\n onClick={closeDropdown}\n // Prevent keyboard events from propagation to the button dropdown handler.\n onKeyDown={e => e.stopPropagation()}\n onKeyUp={e => e.stopPropagation()}\n {...getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: `.${analyticsSelectors['main-action-label']}`,\n },\n })}\n >\n {mainActionButton}\n </div>\n {!showMainActionOnly && (\n <div\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n styles[`variant-${variant}`],\n baseTriggerProps.loading && styles.loading\n )}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\n <InternalButton\n ref={triggerRef}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['main-action-trigger-full-width']]: canBeFullWidth,\n })}\n __emitPerformanceMarks={false}\n >\n {children}\n </InternalButton>\n </div>\n )}\n </div>\n );\n } else {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n <InternalButton\n ref={triggerRef}\n id={triggerId}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['full-width']]: canBeFullWidth,\n [styles.loading]: canBeFullWidth && !!loading,\n })}\n badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchTriggerHeight={variant === 'navigation'}\n minWidth={expandToViewport ? undefined : 'trigger'}\n hideBlockBorder={false}\n expandToViewport={expandToViewport}\n preferredAlignment={preferCenter ? 'center' : 'start'}\n onOutsideClick={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n content={\n <>\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n tagOverride=\"ul\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n position={position}\n renderItem={renderItem}\n />\n </OptionsList>\n </>\n }\n />\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.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, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalBox from '../box/internal';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton, InternalButtonProps } from '../button/internal';\nimport Dropdown from '../dropdown/internal';\nimport { IconProps } from '../icon/interfaces';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps, InternalItem } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n iconName,\n iconAlt,\n iconUrl,\n iconSvg,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n renderItem,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n const hasCustomTriggerIcon = !!(iconName || iconUrl || iconSvg);\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n if (hasCustomTriggerIcon && variant !== 'icon' && variant !== 'inline-icon') {\n warnOnce('ButtonDropdown', 'Custom icon is only supported for \"icon\" and \"inline-icon\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n const isOneTheme = isThemeActive(Theme.OneTheme);\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (hasMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, hasMainAction]\n );\n\n const clickHandler = () => {\n if (!loading && !disabled) {\n // Prevent moving highlight on mobiles to avoid disabled state reason popup if defined.\n toggleDropdown({ moveHighlightOnOpen: !isInRestrictedView });\n }\n };\n\n const canBeOpened = !loading && !disabled;\n\n const canBeFullWidth = !!fullWidth && (variant === 'primary' || variant === 'normal');\n\n const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;\n const iconProps: Partial<ButtonProps & { __iconClass?: string; __iconSize?: IconProps.Size }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: hasCustomTriggerIcon ? iconName : 'ellipsis',\n iconAlt,\n iconUrl,\n iconSvg,\n }\n : {\n iconName: isOneTheme ? 'angle-down' : 'caret-down-filled',\n __iconSize: isOneTheme ? 'x-small' : 'normal',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n isOneTheme && styles['one-theme'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n ariaHaspopup: true,\n nativeButtonAttributes: nativeTriggerAttributes,\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const groupKey: keyof ButtonDropdownProps.ItemGroup = 'items';\n const flatItems = items.flatMap(item => {\n if (groupKey in item) {\n return item.items;\n }\n return item;\n });\n\n const badgeKey: keyof InternalItem = 'badge';\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if (badgeKey in item) {\n return (item as InternalItem).badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (hasMainAction) {\n const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } =\n mainAction;\n const mainActionIconProps = external\n ? ({ iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' } as const)\n : ({ iconName, iconAlt, iconSvg, iconUrl } as const);\n const mainActionAriaLabel = externalIconAriaLabel\n ? `${mainAction.ariaLabel ?? mainAction.text} ${mainAction.externalIconAriaLabel}`\n : mainAction.ariaLabel;\n const hasNoText = !text;\n const mainActionButton = (\n <InternalButton\n ref={mainActionRef}\n {...mainActionProps}\n {...mainActionIconProps}\n fullWidth={canBeFullWidth}\n className={clsx(\n styles['trigger-button'],\n hasNoText && styles['has-no-text'],\n isVisualRefresh && styles['visual-refresh'],\n canBeFullWidth && styles['main-action-full-width']\n )}\n variant={variant}\n ariaLabel={mainActionAriaLabel}\n formAction=\"none\"\n nativeAnchorAttributes={nativeMainActionAttributes?.anchor}\n nativeButtonAttributes={nativeMainActionAttributes?.button}\n >\n {text}\n </InternalButton>\n );\n trigger = (\n <div role=\"group\" aria-label={ariaLabel} className={styles['split-trigger-wrapper']}>\n <div\n className={clsx(\n styles['trigger-item'],\n styles['split-trigger'],\n styles[`variant-${variant}`],\n mainActionProps.loading && styles.loading\n )}\n // Close dropdown upon main action click unless event is cancelled.\n onClick={closeDropdown}\n // Prevent keyboard events from propagation to the button dropdown handler.\n onKeyDown={e => e.stopPropagation()}\n onKeyUp={e => e.stopPropagation()}\n {...getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: `.${analyticsSelectors['main-action-label']}`,\n },\n })}\n >\n {mainActionButton}\n </div>\n {!showMainActionOnly && (\n <div\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n isOneTheme && styles['one-theme'],\n !!children && styles['has-trigger-text'],\n styles[`variant-${variant}`],\n baseTriggerProps.loading && styles.loading\n )}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\n <InternalButton\n ref={triggerRef}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['main-action-trigger-full-width']]: canBeFullWidth,\n })}\n __emitPerformanceMarks={false}\n >\n {children}\n </InternalButton>\n </div>\n )}\n </div>\n );\n } else {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n <InternalButton\n ref={triggerRef}\n id={triggerId}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['full-width']]: canBeFullWidth,\n [styles.loading]: canBeFullWidth && !!loading,\n })}\n badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchTriggerHeight={variant === 'navigation'}\n minWidth={expandToViewport ? undefined : 'trigger'}\n hideBlockBorder={false}\n expandToViewport={expandToViewport}\n preferredAlignment={preferCenter ? 'center' : 'start'}\n onOutsideClick={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n content={\n <>\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n tagOverride=\"ul\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n position={position}\n renderItem={renderItem}\n />\n </OptionsList>\n </>\n }\n />\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
@@ -1,26 +1,28 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "button-dropdown": "awsui_button-dropdown_sne0l_17n2v_145",
5
- "full-width": "awsui_full-width_sne0l_17n2v_148",
6
- "items-list-container": "awsui_items-list-container_sne0l_17n2v_153",
7
- "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_sne0l_17n2v_1",
8
- "rotate": "awsui_rotate_sne0l_17n2v_172",
9
- "rotate-open": "awsui_rotate-open_sne0l_17n2v_186",
10
- "header": "awsui_header_sne0l_17n2v_190",
11
- "title": "awsui_title_sne0l_17n2v_201",
12
- "description": "awsui_description_sne0l_17n2v_202",
13
- "trigger-button": "awsui_trigger-button_sne0l_17n2v_206",
14
- "loading": "awsui_loading_sne0l_17n2v_210",
15
- "split-trigger-wrapper": "awsui_split-trigger-wrapper_sne0l_17n2v_214",
16
- "trigger-item": "awsui_trigger-item_sne0l_17n2v_217",
17
- "has-no-text": "awsui_has-no-text_sne0l_17n2v_226",
18
- "visual-refresh": "awsui_visual-refresh_sne0l_17n2v_229",
19
- "variant-normal": "awsui_variant-normal_sne0l_17n2v_240",
20
- "split-trigger": "awsui_split-trigger_sne0l_17n2v_214",
21
- "dropdown-trigger": "awsui_dropdown-trigger_sne0l_17n2v_251",
22
- "main-action-full-width": "awsui_main-action-full-width_sne0l_17n2v_255",
23
- "main-action-trigger-full-width": "awsui_main-action-trigger-full-width_sne0l_17n2v_259",
24
- "test-utils-button-trigger": "awsui_test-utils-button-trigger_sne0l_17n2v_263"
4
+ "button-dropdown": "awsui_button-dropdown_sne0l_1sbhr_145",
5
+ "full-width": "awsui_full-width_sne0l_1sbhr_148",
6
+ "items-list-container": "awsui_items-list-container_sne0l_1sbhr_153",
7
+ "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_sne0l_1sbhr_1",
8
+ "rotate": "awsui_rotate_sne0l_1sbhr_172",
9
+ "rotate-open": "awsui_rotate-open_sne0l_1sbhr_186",
10
+ "header": "awsui_header_sne0l_1sbhr_190",
11
+ "title": "awsui_title_sne0l_1sbhr_201",
12
+ "description": "awsui_description_sne0l_1sbhr_202",
13
+ "trigger-button": "awsui_trigger-button_sne0l_1sbhr_206",
14
+ "one-theme": "awsui_one-theme_sne0l_1sbhr_206",
15
+ "loading": "awsui_loading_sne0l_1sbhr_214",
16
+ "split-trigger-wrapper": "awsui_split-trigger-wrapper_sne0l_1sbhr_218",
17
+ "trigger-item": "awsui_trigger-item_sne0l_1sbhr_221",
18
+ "has-no-text": "awsui_has-no-text_sne0l_1sbhr_230",
19
+ "visual-refresh": "awsui_visual-refresh_sne0l_1sbhr_233",
20
+ "variant-normal": "awsui_variant-normal_sne0l_1sbhr_244",
21
+ "has-trigger-text": "awsui_has-trigger-text_sne0l_1sbhr_253",
22
+ "split-trigger": "awsui_split-trigger_sne0l_1sbhr_218",
23
+ "dropdown-trigger": "awsui_dropdown-trigger_sne0l_1sbhr_261",
24
+ "main-action-full-width": "awsui_main-action-full-width_sne0l_1sbhr_265",
25
+ "main-action-trigger-full-width": "awsui_main-action-trigger-full-width_sne0l_1sbhr_269",
26
+ "test-utils-button-trigger": "awsui_test-utils-button-trigger_sne0l_1sbhr_273"
25
27
  };
26
28
 
@@ -142,52 +142,52 @@
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_button-dropdown_sne0l_17n2v_145:not(#\9) {
145
+ .awsui_button-dropdown_sne0l_1sbhr_145:not(#\9) {
146
146
  display: inline-block;
147
147
  }
148
- .awsui_button-dropdown_sne0l_17n2v_145.awsui_full-width_sne0l_17n2v_148:not(#\9) {
148
+ .awsui_button-dropdown_sne0l_1sbhr_145.awsui_full-width_sne0l_1sbhr_148:not(#\9) {
149
149
  inline-size: 100%;
150
150
  display: block;
151
151
  }
152
152
 
153
- .awsui_items-list-container_sne0l_17n2v_153:not(#\9) {
153
+ .awsui_items-list-container_sne0l_1sbhr_153:not(#\9) {
154
154
  padding-block: 0;
155
155
  padding-inline: 0;
156
156
  margin-block: 0;
157
157
  margin-inline: 0;
158
- animation: awsui_awsui-motion-fade-in-0_sne0l_17n2v_1 500ms var(--motion-easing-show-quick-xucy9w, ease-out);
158
+ animation: awsui_awsui-motion-fade-in-0_sne0l_1sbhr_1 500ms var(--motion-easing-show-quick-xucy9w, ease-out);
159
159
  animation-fill-mode: none;
160
160
  }
161
161
  @media (prefers-reduced-motion: reduce) {
162
- .awsui_items-list-container_sne0l_17n2v_153:not(#\9) {
162
+ .awsui_items-list-container_sne0l_1sbhr_153:not(#\9) {
163
163
  animation: none;
164
164
  transition: none;
165
165
  }
166
166
  }
167
- .awsui-motion-disabled .awsui_items-list-container_sne0l_17n2v_153:not(#\9), .awsui-mode-entering .awsui_items-list-container_sne0l_17n2v_153:not(#\9) {
167
+ .awsui-motion-disabled .awsui_items-list-container_sne0l_1sbhr_153:not(#\9), .awsui-mode-entering .awsui_items-list-container_sne0l_1sbhr_153:not(#\9) {
168
168
  animation: none;
169
169
  transition: none;
170
170
  }
171
171
 
172
- .awsui_rotate_sne0l_17n2v_172:not(#\9) {
172
+ .awsui_rotate_sne0l_1sbhr_172:not(#\9) {
173
173
  transform: rotate(0deg);
174
174
  transition: transform var(--motion-duration-rotate-180-4er9qu, 135ms) var(--motion-easing-rotate-180-xlspcm, cubic-bezier(0.165, 0.84, 0.44, 1));
175
175
  }
176
176
  @media (prefers-reduced-motion: reduce) {
177
- .awsui_rotate_sne0l_17n2v_172:not(#\9) {
177
+ .awsui_rotate_sne0l_1sbhr_172:not(#\9) {
178
178
  animation: none;
179
179
  transition: none;
180
180
  }
181
181
  }
182
- .awsui-motion-disabled .awsui_rotate_sne0l_17n2v_172:not(#\9), .awsui-mode-entering .awsui_rotate_sne0l_17n2v_172:not(#\9) {
182
+ .awsui-motion-disabled .awsui_rotate_sne0l_1sbhr_172:not(#\9), .awsui-mode-entering .awsui_rotate_sne0l_1sbhr_172:not(#\9) {
183
183
  animation: none;
184
184
  transition: none;
185
185
  }
186
- .awsui_rotate-open_sne0l_17n2v_186:not(#\9) {
186
+ .awsui_rotate-open_sne0l_1sbhr_186:not(#\9) {
187
187
  transform: rotate(-180deg);
188
188
  }
189
189
 
190
- .awsui_header_sne0l_17n2v_190:not(#\9) {
190
+ .awsui_header_sne0l_1sbhr_190:not(#\9) {
191
191
  display: flex;
192
192
  flex-direction: column;
193
193
  list-style: none;
@@ -198,68 +198,78 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
198
198
  border-inline: var(--border-width-dropdown-qic2p4, 1px) solid transparent;
199
199
  }
200
200
 
201
- .awsui_title_sne0l_17n2v_201:not(#\9),
202
- .awsui_description_sne0l_17n2v_202:not(#\9) {
201
+ .awsui_title_sne0l_1sbhr_201:not(#\9),
202
+ .awsui_description_sne0l_1sbhr_202:not(#\9) {
203
203
  color: var(--color-text-top-navigation-title-4lkrln, #16191f);
204
204
  }
205
205
 
206
- .awsui_trigger-button_sne0l_17n2v_206.awsui_full-width_sne0l_17n2v_148:not(#\9) {
206
+ .awsui_trigger-button_sne0l_1sbhr_206.awsui_one-theme_sne0l_1sbhr_206:not(#\9) {
207
+ display: flex;
208
+ align-items: center;
209
+ }
210
+ .awsui_trigger-button_sne0l_1sbhr_206.awsui_full-width_sne0l_1sbhr_148:not(#\9) {
207
211
  display: grid;
208
212
  grid-template-columns: 1fr auto;
209
213
  }
210
- .awsui_trigger-button_sne0l_17n2v_206.awsui_full-width_sne0l_17n2v_148.awsui_loading_sne0l_17n2v_210:not(#\9) {
214
+ .awsui_trigger-button_sne0l_1sbhr_206.awsui_full-width_sne0l_1sbhr_148.awsui_loading_sne0l_1sbhr_214:not(#\9) {
211
215
  grid-template-columns: auto 1fr auto;
212
216
  }
213
217
 
214
- .awsui_split-trigger-wrapper_sne0l_17n2v_214:not(#\9) {
218
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218:not(#\9) {
215
219
  display: flex;
216
220
  }
217
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217 > .awsui_trigger-button_sne0l_17n2v_206:not(#\9):focus, .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217 > .awsui_trigger-button_sne0l_17n2v_206:not(#\9):hover {
221
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221 > .awsui_trigger-button_sne0l_1sbhr_206:not(#\9):focus, .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221 > .awsui_trigger-button_sne0l_1sbhr_206:not(#\9):hover {
218
222
  z-index: 1;
219
223
  }
220
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_17n2v_206 {
224
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_1sbhr_206 {
221
225
  border-start-end-radius: 0;
222
226
  border-end-end-radius: 0;
223
227
  padding-inline-end: var(--space-m-n2lypl, 16px);
224
228
  margin-inline-end: var(--space-xxxs-3w1kr2, 2px);
225
229
  }
226
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_17n2v_206.awsui_has-no-text_sne0l_17n2v_226 {
230
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_1sbhr_206.awsui_has-no-text_sne0l_1sbhr_230 {
227
231
  padding-inline: var(--space-button-icon-only-horizontal-67q6rd, 16px);
228
232
  }
229
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_17n2v_206.awsui_has-no-text_sne0l_17n2v_226.awsui_visual-refresh_sne0l_17n2v_229 {
233
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_1sbhr_206.awsui_has-no-text_sne0l_1sbhr_230.awsui_visual-refresh_sne0l_1sbhr_233 {
230
234
  padding-inline-start: calc(var(--space-s-4a5hs8, 12px) - 2px);
231
235
  }
232
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217:not(#\9):not(:first-child) > .awsui_trigger-button_sne0l_17n2v_206 {
236
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:first-child) > .awsui_trigger-button_sne0l_1sbhr_206 {
233
237
  border-start-start-radius: 0;
234
238
  border-end-start-radius: 0;
235
239
  padding-inline: calc(var(--space-xs-kw7k3v, 8px) - 2px);
236
240
  }
237
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217:not(#\9):not(:first-child).awsui_visual-refresh_sne0l_17n2v_229 > .awsui_trigger-button_sne0l_17n2v_206 {
241
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:first-child).awsui_visual-refresh_sne0l_1sbhr_233 > .awsui_trigger-button_sne0l_1sbhr_206 {
238
242
  padding-inline-end: calc(var(--space-s-4a5hs8, 12px) - 2px);
239
243
  }
240
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217.awsui_variant-normal_sne0l_17n2v_240:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_17n2v_206 {
244
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221.awsui_variant-normal_sne0l_1sbhr_244:not(#\9):not(:last-child) > .awsui_trigger-button_sne0l_1sbhr_206 {
241
245
  margin-inline-end: 0;
242
246
  }
243
- .awsui_split-trigger-wrapper_sne0l_17n2v_214 > .awsui_trigger-item_sne0l_17n2v_217.awsui_variant-normal_sne0l_17n2v_240:not(#\9):not(:first-child) > .awsui_trigger-button_sne0l_17n2v_206 {
247
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221.awsui_variant-normal_sne0l_1sbhr_244:not(#\9):not(:first-child) > .awsui_trigger-button_sne0l_1sbhr_206 {
244
248
  margin-inline-start: calc(var(--border-width-button-40y1n5, 1px) * -1);
245
249
  }
250
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:first-child).awsui_one-theme_sne0l_1sbhr_206 > .awsui_trigger-button_sne0l_1sbhr_206 {
251
+ padding-inline: calc(var(--space-xs-kw7k3v, 8px) - 2px);
252
+ }
253
+ .awsui_split-trigger-wrapper_sne0l_1sbhr_218 > .awsui_trigger-item_sne0l_1sbhr_221:not(#\9):not(:first-child).awsui_one-theme_sne0l_1sbhr_206.awsui_has-trigger-text_sne0l_1sbhr_253 > .awsui_trigger-button_sne0l_1sbhr_206 {
254
+ padding-inline: calc(var(--space-xs-kw7k3v, 8px) + 2px);
255
+ }
246
256
 
247
- .awsui_split-trigger_sne0l_17n2v_214:not(#\9) {
257
+ .awsui_split-trigger_sne0l_1sbhr_218:not(#\9) {
248
258
  display: contents;
249
259
  }
250
260
 
251
- .awsui_dropdown-trigger_sne0l_17n2v_251:not(#\9) {
261
+ .awsui_dropdown-trigger_sne0l_1sbhr_261:not(#\9) {
252
262
  display: contents;
253
263
  }
254
264
 
255
- .awsui_main-action-full-width_sne0l_17n2v_255:not(#\9) {
265
+ .awsui_main-action-full-width_sne0l_1sbhr_265:not(#\9) {
256
266
  flex: 1 1 0;
257
267
  }
258
268
 
259
- .awsui_main-action-trigger-full-width_sne0l_17n2v_259:not(#\9) {
269
+ .awsui_main-action-trigger-full-width_sne0l_1sbhr_269:not(#\9) {
260
270
  flex: 0 0 auto;
261
271
  }
262
272
 
263
- .awsui_test-utils-button-trigger_sne0l_17n2v_263:not(#\9) {
273
+ .awsui_test-utils-button-trigger_sne0l_1sbhr_273:not(#\9) {
264
274
  /* used in test-utils */
265
275
  }
@@ -2,26 +2,28 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "button-dropdown": "awsui_button-dropdown_sne0l_17n2v_145",
6
- "full-width": "awsui_full-width_sne0l_17n2v_148",
7
- "items-list-container": "awsui_items-list-container_sne0l_17n2v_153",
8
- "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_sne0l_17n2v_1",
9
- "rotate": "awsui_rotate_sne0l_17n2v_172",
10
- "rotate-open": "awsui_rotate-open_sne0l_17n2v_186",
11
- "header": "awsui_header_sne0l_17n2v_190",
12
- "title": "awsui_title_sne0l_17n2v_201",
13
- "description": "awsui_description_sne0l_17n2v_202",
14
- "trigger-button": "awsui_trigger-button_sne0l_17n2v_206",
15
- "loading": "awsui_loading_sne0l_17n2v_210",
16
- "split-trigger-wrapper": "awsui_split-trigger-wrapper_sne0l_17n2v_214",
17
- "trigger-item": "awsui_trigger-item_sne0l_17n2v_217",
18
- "has-no-text": "awsui_has-no-text_sne0l_17n2v_226",
19
- "visual-refresh": "awsui_visual-refresh_sne0l_17n2v_229",
20
- "variant-normal": "awsui_variant-normal_sne0l_17n2v_240",
21
- "split-trigger": "awsui_split-trigger_sne0l_17n2v_214",
22
- "dropdown-trigger": "awsui_dropdown-trigger_sne0l_17n2v_251",
23
- "main-action-full-width": "awsui_main-action-full-width_sne0l_17n2v_255",
24
- "main-action-trigger-full-width": "awsui_main-action-trigger-full-width_sne0l_17n2v_259",
25
- "test-utils-button-trigger": "awsui_test-utils-button-trigger_sne0l_17n2v_263"
5
+ "button-dropdown": "awsui_button-dropdown_sne0l_1sbhr_145",
6
+ "full-width": "awsui_full-width_sne0l_1sbhr_148",
7
+ "items-list-container": "awsui_items-list-container_sne0l_1sbhr_153",
8
+ "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_sne0l_1sbhr_1",
9
+ "rotate": "awsui_rotate_sne0l_1sbhr_172",
10
+ "rotate-open": "awsui_rotate-open_sne0l_1sbhr_186",
11
+ "header": "awsui_header_sne0l_1sbhr_190",
12
+ "title": "awsui_title_sne0l_1sbhr_201",
13
+ "description": "awsui_description_sne0l_1sbhr_202",
14
+ "trigger-button": "awsui_trigger-button_sne0l_1sbhr_206",
15
+ "one-theme": "awsui_one-theme_sne0l_1sbhr_206",
16
+ "loading": "awsui_loading_sne0l_1sbhr_214",
17
+ "split-trigger-wrapper": "awsui_split-trigger-wrapper_sne0l_1sbhr_218",
18
+ "trigger-item": "awsui_trigger-item_sne0l_1sbhr_221",
19
+ "has-no-text": "awsui_has-no-text_sne0l_1sbhr_230",
20
+ "visual-refresh": "awsui_visual-refresh_sne0l_1sbhr_233",
21
+ "variant-normal": "awsui_variant-normal_sne0l_1sbhr_244",
22
+ "has-trigger-text": "awsui_has-trigger-text_sne0l_1sbhr_253",
23
+ "split-trigger": "awsui_split-trigger_sne0l_1sbhr_218",
24
+ "dropdown-trigger": "awsui_dropdown-trigger_sne0l_1sbhr_261",
25
+ "main-action-full-width": "awsui_main-action-full-width_sne0l_1sbhr_265",
26
+ "main-action-trigger-full-width": "awsui_main-action-trigger-full-width_sne0l_1sbhr_269",
27
+ "test-utils-button-trigger": "awsui_test-utils-button-trigger_sne0l_1sbhr_273"
26
28
  };
27
29
 
@@ -23,7 +23,7 @@ const IconToggleButtonItem = forwardRef(({ item, showTooltip, showFeedback, onTo
23
23
  const canShowTooltip = showTooltip && !item.disabled && !item.loading;
24
24
  const canShowFeedback = showTooltip && showFeedback && feedbackContent;
25
25
  return (React.createElement("div", { ref: containerRef },
26
- React.createElement(InternalToggleButton, { variant: "icon", pressed: item.pressed, loading: item.loading, loadingText: item.loadingText, disabled: item.disabled, disabledReason: showFeedback ? undefined : item.disabledReason, iconName: hasIcon ? item.iconName : 'close', iconUrl: item.iconUrl, iconSvg: item.iconSvg, pressedIconName: hasIcon ? item.pressedIconName : 'close', pressedIconUrl: item.pressedIconUrl, pressedIconSvg: item.pressedIconUrl, ariaLabel: item.text, onChange: event => fireCancelableEvent(onItemClick, { id: item.id, pressed: event.detail.pressed }), ref: ref, "data-testid": item.id, "data-itemid": item.id, className: clsx(testUtilStyles.item, testUtilStyles['button-group-item']), analyticsAction: item.analyticsAction, __title: "" }, item.text),
26
+ React.createElement(InternalToggleButton, { variant: "icon", pressed: item.pressed, loading: item.loading, loadingText: item.loadingText, disabled: item.disabled, disabledReason: showFeedback ? undefined : item.disabledReason, iconName: hasIcon ? item.iconName : 'close', iconUrl: item.iconUrl, iconSvg: item.iconSvg, pressedIconName: hasIcon ? item.pressedIconName : 'close', pressedIconUrl: item.pressedIconUrl, pressedIconSvg: item.pressedIconSvg, ariaLabel: item.text, onChange: event => fireCancelableEvent(onItemClick, { id: item.id, pressed: event.detail.pressed }), ref: ref, "data-testid": item.id, "data-itemid": item.id, className: clsx(testUtilStyles.item, testUtilStyles['button-group-item']), analyticsAction: item.analyticsAction, __title: "" }, item.text),
27
27
  (canShowTooltip || canShowFeedback) && (React.createElement(Tooltip, { className: testUtilStyles['button-group-tooltip'], getTrack: () => containerRef.current, content: (showFeedback && React.createElement(InternalLiveRegion, { tagName: "span" }, feedbackContent)) || item.text, onEscape: onTooltipDismiss }))));
28
28
  });
29
29
  export default IconToggleButtonItem;
@@ -1 +1 @@
1
- {"version":3,"file":"icon-toggle-button-item.js","sourceRoot":"","sources":["../../../src/button-group/icon-toggle-button-item.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, { forwardRef } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonProps } from '../button/interfaces.js';\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events/index.js';\nimport InternalLiveRegion from '../live-region/internal.js';\nimport { InternalToggleButton } from '../toggle-button/internal.js';\nimport Tooltip from '../tooltip/internal.js';\nimport { ButtonGroupProps, InternalIconToggleButton } from './interfaces.js';\n\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface IconToggleButtonItemProps {\n item: InternalIconToggleButton;\n showTooltip: boolean;\n showFeedback: boolean;\n onTooltipDismiss: () => void;\n onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n}\n\nconst IconToggleButtonItem = forwardRef(\n (\n { item, showTooltip, showFeedback, onTooltipDismiss, onItemClick }: IconToggleButtonItemProps,\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const hasIcon = item.iconName || item.iconUrl || item.iconSvg;\n const hasPressedIcon = item.pressedIconName || item.pressedIconUrl || item.pressedIconSvg;\n\n if (!hasIcon) {\n warnOnce('ButtonGroup', `Missing icon for item with id: ${item.id}`);\n }\n if (!hasPressedIcon) {\n warnOnce('ButtonGroup', `Missing pressed icon for item with id: ${item.id}`);\n }\n\n const feedbackContent = item.pressed ? (item.pressedPopoverFeedback ?? item.popoverFeedback) : item.popoverFeedback;\n const canShowTooltip = showTooltip && !item.disabled && !item.loading;\n const canShowFeedback = showTooltip && showFeedback && feedbackContent;\n return (\n <div ref={containerRef}>\n <InternalToggleButton\n variant=\"icon\"\n pressed={item.pressed}\n loading={item.loading}\n loadingText={item.loadingText}\n disabled={item.disabled}\n disabledReason={showFeedback ? undefined : item.disabledReason} // don't show disabled reason when popover feedback is shown\n iconName={hasIcon ? item.iconName : 'close'}\n iconUrl={item.iconUrl}\n iconSvg={item.iconSvg}\n pressedIconName={hasIcon ? item.pressedIconName : 'close'}\n pressedIconUrl={item.pressedIconUrl}\n pressedIconSvg={item.pressedIconUrl}\n ariaLabel={item.text}\n onChange={event => fireCancelableEvent(onItemClick, { id: item.id, pressed: event.detail.pressed })}\n ref={ref}\n data-testid={item.id}\n data-itemid={item.id}\n className={clsx(testUtilStyles.item, testUtilStyles['button-group-item'])}\n analyticsAction={item.analyticsAction}\n __title=\"\"\n >\n {item.text}\n </InternalToggleButton>\n {(canShowTooltip || canShowFeedback) && (\n <Tooltip\n className={testUtilStyles['button-group-tooltip']}\n getTrack={() => containerRef.current}\n content={\n (showFeedback && <InternalLiveRegion tagName=\"span\">{feedbackContent}</InternalLiveRegion>) || item.text\n }\n onEscape={onTooltipDismiss}\n />\n )}\n </div>\n );\n }\n);\n\nexport default IconToggleButtonItem;\n"]}
1
+ {"version":3,"file":"icon-toggle-button-item.js","sourceRoot":"","sources":["../../../src/button-group/icon-toggle-button-item.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, { forwardRef } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonProps } from '../button/interfaces.js';\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events/index.js';\nimport InternalLiveRegion from '../live-region/internal.js';\nimport { InternalToggleButton } from '../toggle-button/internal.js';\nimport Tooltip from '../tooltip/internal.js';\nimport { ButtonGroupProps, InternalIconToggleButton } from './interfaces.js';\n\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface IconToggleButtonItemProps {\n item: InternalIconToggleButton;\n showTooltip: boolean;\n showFeedback: boolean;\n onTooltipDismiss: () => void;\n onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n}\n\nconst IconToggleButtonItem = forwardRef(\n (\n { item, showTooltip, showFeedback, onTooltipDismiss, onItemClick }: IconToggleButtonItemProps,\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const hasIcon = item.iconName || item.iconUrl || item.iconSvg;\n const hasPressedIcon = item.pressedIconName || item.pressedIconUrl || item.pressedIconSvg;\n\n if (!hasIcon) {\n warnOnce('ButtonGroup', `Missing icon for item with id: ${item.id}`);\n }\n if (!hasPressedIcon) {\n warnOnce('ButtonGroup', `Missing pressed icon for item with id: ${item.id}`);\n }\n\n const feedbackContent = item.pressed ? (item.pressedPopoverFeedback ?? item.popoverFeedback) : item.popoverFeedback;\n const canShowTooltip = showTooltip && !item.disabled && !item.loading;\n const canShowFeedback = showTooltip && showFeedback && feedbackContent;\n return (\n <div ref={containerRef}>\n <InternalToggleButton\n variant=\"icon\"\n pressed={item.pressed}\n loading={item.loading}\n loadingText={item.loadingText}\n disabled={item.disabled}\n disabledReason={showFeedback ? undefined : item.disabledReason} // don't show disabled reason when popover feedback is shown\n iconName={hasIcon ? item.iconName : 'close'}\n iconUrl={item.iconUrl}\n iconSvg={item.iconSvg}\n pressedIconName={hasIcon ? item.pressedIconName : 'close'}\n pressedIconUrl={item.pressedIconUrl}\n pressedIconSvg={item.pressedIconSvg}\n ariaLabel={item.text}\n onChange={event => fireCancelableEvent(onItemClick, { id: item.id, pressed: event.detail.pressed })}\n ref={ref}\n data-testid={item.id}\n data-itemid={item.id}\n className={clsx(testUtilStyles.item, testUtilStyles['button-group-item'])}\n analyticsAction={item.analyticsAction}\n __title=\"\"\n >\n {item.text}\n </InternalToggleButton>\n {(canShowTooltip || canShowFeedback) && (\n <Tooltip\n className={testUtilStyles['button-group-tooltip']}\n getTrack={() => containerRef.current}\n content={\n (showFeedback && <InternalLiveRegion tagName=\"span\">{feedbackContent}</InternalLiveRegion>) || item.text\n }\n onEscape={onTooltipDismiss}\n />\n )}\n </div>\n );\n }\n);\n\nexport default IconToggleButtonItem;\n"]}
@@ -79,6 +79,10 @@ export interface ButtonGroupProps extends BaseComponentProps {
79
79
  * * `disabledReason` (optional, boolean) - Provides a reason why the button is disabled (only when `disabled` is `true`). If provided, the button becomes focusable.
80
80
  * * `loading` (optional, boolean) - The loading state indication for the menu button.
81
81
  * * `loadingText` (optional, string) - The loading text announced to screen readers.
82
+ * * `iconName` (optional, string) - Specifies the name of the icon, used with the [icon component](/components/icon/). Defaults to `ellipsis`.
83
+ * * `iconAlt` (optional, string) - Specifies alternate text for the icon when using `iconUrl`.
84
+ * * `iconUrl` (optional, string) - Specifies the URL of a custom icon.
85
+ * * `iconSvg` (optional, ReactNode) - Custom SVG icon. Equivalent to the `svg` slot of the [icon component](/components/icon/).
82
86
  * * `items` (ButtonDropdownProps.ItemOrGroup[]) - The array of dropdown items that belong to this menu.
83
87
  *
84
88
  * ### group
@@ -115,8 +119,11 @@ export interface IconToggleButtonRuntime extends Omit<ButtonGroupProps.IconToggl
115
119
  iconSvg?: string;
116
120
  pressedIconSvg?: string;
117
121
  }
122
+ export interface MenuDropdownRuntime extends Omit<ButtonGroupProps.MenuDropdown, 'iconSvg'> {
123
+ iconSvg?: string;
124
+ }
118
125
  export type ItemOrGroupRuntime = ItemRuntime | ButtonGroupProps.Group;
119
- export type ItemRuntime = IconButtonRuntime | IconToggleButtonRuntime | ButtonGroupProps.IconFileInput | ButtonGroupProps.MenuDropdown;
126
+ export type ItemRuntime = IconButtonRuntime | IconToggleButtonRuntime | ButtonGroupProps.IconFileInput | MenuDropdownRuntime;
120
127
  export type InternalItemOrGroup = InternalItem | ButtonGroupProps.Group;
121
128
  export type InternalItem = InternalIconButton | InternalIconToggleButton | ButtonGroupProps.IconFileInput | ButtonGroupProps.MenuDropdown;
122
129
  export interface InternalButtonGroupProps extends SomeRequired<ButtonGroupProps, 'dropdownExpandToViewport'>, InternalBaseComponentProps {
@@ -174,6 +181,10 @@ export declare namespace ButtonGroupProps {
174
181
  disabledReason?: string;
175
182
  loading?: boolean;
176
183
  loadingText?: string;
184
+ iconName?: IconProps.Name;
185
+ iconAlt?: string;
186
+ iconUrl?: string;
187
+ iconSvg?: React.ReactNode;
177
188
  items: ReadonlyArray<ButtonDropdownProps.ItemOrGroup>;
178
189
  }
179
190
  interface Group {
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/button-group/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/button-group/interfaces.ts"],"names":[],"mappings":"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"}