@cloudscape-design/components-themeable 3.0.1312 → 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 (109) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/button-dropdown/category-elements/styles.scss +5 -0
  3. package/lib/internal/scss/button-dropdown/styles.scss +14 -0
  4. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  5. package/lib/internal/scss/internal/styles/utils/theming.scss +6 -0
  6. package/lib/internal/scss/segmented-control/styles.scss +2 -2
  7. package/lib/internal/scss/steps/styles.scss +39 -0
  8. package/lib/internal/scss/table/header-cell/styles.scss +13 -2
  9. package/lib/internal/scss/table/resizer/styles.scss +9 -1
  10. package/lib/internal/scss/toggle/styles.scss +1 -1
  11. package/lib/internal/scss/toggle-button/styles.scss +7 -1
  12. package/lib/internal/scss/token/mixins.scss +4 -4
  13. package/lib/internal/scss/token/styles.scss +7 -0
  14. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  15. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +4 -2
  16. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  17. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  18. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
  19. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  20. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +19 -18
  21. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +32 -28
  22. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +19 -18
  23. package/lib/internal/template/button-dropdown/index.d.ts.map +1 -1
  24. package/lib/internal/template/button-dropdown/index.js +4 -3
  25. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  26. package/lib/internal/template/button-dropdown/interfaces.d.ts +22 -0
  27. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  28. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  29. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  30. package/lib/internal/template/button-dropdown/internal.js +14 -6
  31. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  32. package/lib/internal/template/button-dropdown/styles.css.js +23 -22
  33. package/lib/internal/template/button-dropdown/styles.scoped.css +36 -30
  34. package/lib/internal/template/button-dropdown/styles.selectors.js +23 -22
  35. package/lib/internal/template/button-group/interfaces.d.ts +12 -1
  36. package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
  37. package/lib/internal/template/button-group/interfaces.js.map +1 -1
  38. package/lib/internal/template/button-group/menu-dropdown-item.d.ts.map +1 -1
  39. package/lib/internal/template/button-group/menu-dropdown-item.js +2 -1
  40. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  41. package/lib/internal/template/internal/base-component/styles.scoped.css +59 -1
  42. package/lib/internal/template/internal/components/checkbox-icon/index.d.ts.map +1 -1
  43. package/lib/internal/template/internal/components/checkbox-icon/index.js +11 -2
  44. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  45. package/lib/internal/template/internal/environment.js +2 -2
  46. package/lib/internal/template/internal/environment.json +2 -2
  47. package/lib/internal/template/internal/generated/styles/tokens.d.ts +7 -0
  48. package/lib/internal/template/internal/generated/styles/tokens.js +7 -0
  49. package/lib/internal/template/internal/generated/theming/index.cjs +203 -0
  50. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +63 -0
  51. package/lib/internal/template/internal/generated/theming/index.d.ts +63 -0
  52. package/lib/internal/template/internal/generated/theming/index.js +203 -0
  53. package/lib/internal/template/internal/utils/throttle.d.ts.map +1 -1
  54. package/lib/internal/template/internal/utils/throttle.js +3 -1
  55. package/lib/internal/template/internal/utils/throttle.js.map +1 -1
  56. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  57. package/lib/internal/template/progress-bar/index.js +1 -0
  58. package/lib/internal/template/progress-bar/index.js.map +1 -1
  59. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  60. package/lib/internal/template/segmented-control/styles.scoped.css +34 -34
  61. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  62. package/lib/internal/template/steps/internal.d.ts.map +1 -1
  63. package/lib/internal/template/steps/internal.js +20 -6
  64. package/lib/internal/template/steps/internal.js.map +1 -1
  65. package/lib/internal/template/steps/styles.css.js +12 -9
  66. package/lib/internal/template/steps/styles.scoped.css +43 -15
  67. package/lib/internal/template/steps/styles.selectors.js +12 -9
  68. package/lib/internal/template/table/header-cell/group-header-cell.d.ts.map +1 -1
  69. package/lib/internal/template/table/header-cell/group-header-cell.js +1 -1
  70. package/lib/internal/template/table/header-cell/group-header-cell.js.map +1 -1
  71. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  72. package/lib/internal/template/table/header-cell/index.js +2 -1
  73. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  74. package/lib/internal/template/table/header-cell/styles.css.js +33 -33
  75. package/lib/internal/template/table/header-cell/styles.scoped.css +81 -74
  76. package/lib/internal/template/table/header-cell/styles.selectors.js +33 -33
  77. package/lib/internal/template/table/resizer/index.d.ts +4 -2
  78. package/lib/internal/template/table/resizer/index.d.ts.map +1 -1
  79. package/lib/internal/template/table/resizer/index.js +4 -4
  80. package/lib/internal/template/table/resizer/index.js.map +1 -1
  81. package/lib/internal/template/table/resizer/styles.css.js +17 -16
  82. package/lib/internal/template/table/resizer/styles.scoped.css +32 -24
  83. package/lib/internal/template/table/resizer/styles.selectors.js +17 -16
  84. package/lib/internal/template/table/selection/selection-cell.d.ts +2 -1
  85. package/lib/internal/template/table/selection/selection-cell.d.ts.map +1 -1
  86. package/lib/internal/template/table/selection/selection-cell.js +2 -2
  87. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  88. package/lib/internal/template/table/thead.d.ts.map +1 -1
  89. package/lib/internal/template/table/thead.js +1 -1
  90. package/lib/internal/template/table/thead.js.map +1 -1
  91. package/lib/internal/template/toggle/styles.css.js +10 -10
  92. package/lib/internal/template/toggle/styles.scoped.css +18 -18
  93. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  94. package/lib/internal/template/toggle-button/internal.d.ts.map +1 -1
  95. package/lib/internal/template/toggle-button/internal.js +3 -1
  96. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  97. package/lib/internal/template/toggle-button/styles.css.js +4 -3
  98. package/lib/internal/template/toggle-button/styles.scoped.css +8 -3
  99. package/lib/internal/template/toggle-button/styles.selectors.js +4 -3
  100. package/lib/internal/template/token/dismiss-button.d.ts.map +1 -1
  101. package/lib/internal/template/token/dismiss-button.js +3 -1
  102. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  103. package/lib/internal/template/token/internal.d.ts.map +1 -1
  104. package/lib/internal/template/token/internal.js +11 -3
  105. package/lib/internal/template/token/internal.js.map +1 -1
  106. package/lib/internal/template/token/styles.css.js +14 -14
  107. package/lib/internal/template/token/styles.scoped.css +33 -30
  108. package/lib/internal/template/token/styles.selectors.js +14 -14
  109. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "1b4a11ae0c55fb658d7282fa58dccfb21521d1fa"
2
+ "commit": "82d11d6689b17a690065d458b0e747753087e3e6"
3
3
  }
@@ -120,6 +120,11 @@
120
120
  display: inline-block;
121
121
  margin-inline-start: auto;
122
122
 
123
+ &.one-theme {
124
+ inset-inline-end: calc(-1 * #{awsui.$space-xs});
125
+ inline-size: awsui.$space-s;
126
+ }
127
+
123
128
  @include styles.with-motion {
124
129
  transition: transform awsui.$motion-duration-rotate-180 awsui.$motion-easing-rotate-180;
125
130
  }
@@ -114,6 +114,20 @@ $dropdown-trigger-icon-offset: 2px;
114
114
  margin-inline-start: calc(#{awsui.$border-width-button} * -1);
115
115
  }
116
116
  }
117
+
118
+ & > .trigger-item:not(:first-child).one-theme {
119
+ & > .trigger-button {
120
+ // Resets the padding-inline-end override applied by .visual-refresh above,
121
+ // so both sides stay at $space-xs - $dropdown-trigger-icon-offset.
122
+ padding-inline: calc(#{awsui.$space-xs} - #{$dropdown-trigger-icon-offset});
123
+ }
124
+
125
+ &.has-trigger-text {
126
+ & > .trigger-button {
127
+ padding-inline: calc(#{awsui.$space-xs} + #{$dropdown-trigger-icon-offset});
128
+ }
129
+ }
130
+ }
117
131
  }
118
132
  .split-trigger {
119
133
  display: contents;
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Build environment
3
- $awsui-commit-hash: "1b4a11ae";
3
+ $awsui-commit-hash: "82d11d66";
4
4
  // Manually managed CSS-variables
5
5
  $maxContentWidth: --awsui-max-content-width-6b9ypa;
6
6
  $minContentWidth: --awsui-min-content-width-6b9ypa;
@@ -11,3 +11,9 @@
11
11
  }
12
12
  }
13
13
  }
14
+
15
+ @mixin one-theme-only($selector: '') {
16
+ :global(#{$selector}.awsui-one-theme) & {
17
+ @content;
18
+ }
19
+ }
@@ -24,8 +24,8 @@
24
24
 
25
25
  .segment-part {
26
26
  display: inline-grid;
27
- border-inline: solid awsui.$border-width-field awsui.$color-border-input-default;
28
- border-block: solid awsui.$border-width-field awsui.$color-border-input-default;
27
+ border-inline: solid awsui.$border-width-field awsui.$color-border-segment-wrapper;
28
+ border-block: solid awsui.$border-width-field awsui.$color-border-segment-wrapper;
29
29
  border-start-start-radius: awsui.$border-radius-button;
30
30
  border-start-end-radius: awsui.$border-radius-button;
31
31
  border-end-start-radius: awsui.$border-radius-button;
@@ -116,3 +116,42 @@
116
116
  }
117
117
  }
118
118
  }
119
+
120
+ // Vertical custom steps: a column-1 "rail" stacks the icon above a connector that grows to fill
121
+ // the full height of the step (header + details), keeping the vertical line continuous and
122
+ // connecting consecutive steps regardless of header height. Placed after `.horizontal` so
123
+ // selectors stay in ascending specificity order.
124
+ .root > .list > .container.custom-vertical {
125
+ // The rail stretches to the row height (default `align-items: stretch`), which is driven by the
126
+ // content column, so the connector always spans the full step.
127
+ > .rail {
128
+ grid-column: 1;
129
+ display: flex;
130
+ flex-direction: column;
131
+ align-items: center;
132
+
133
+ > .connector {
134
+ grid-row: auto;
135
+ grid-column: auto;
136
+ flex: 1 1 auto;
137
+ background-color: awsui.$color-border-divider-default;
138
+ border-block: 0;
139
+ border-inline: 0;
140
+ inline-size: awsui.$border-divider-list-width;
141
+ block-size: auto;
142
+ min-block-size: awsui.$space-static-xs;
143
+ inset-inline-end: 0;
144
+ margin-block: awsui.$space-static-xxs 0;
145
+ }
146
+ }
147
+
148
+ > .content {
149
+ grid-column: 2;
150
+ // Allow long header/details text to wrap instead of stretching the grid column.
151
+ min-inline-size: 0;
152
+ }
153
+ }
154
+
155
+ .root > .list > .container.custom-vertical:last-of-type > .rail > .connector {
156
+ display: none;
157
+ }
@@ -53,7 +53,7 @@ $cell-horizontal-padding: awsui.$space-scaled-l;
53
53
  position: relative;
54
54
  text-align: start;
55
55
  box-sizing: border-box;
56
- border-block-end: awsui.$border-divider-list-width solid awsui.$color-border-divider-interactive-default;
56
+ border-block-end: awsui.$border-divider-list-width solid awsui.$color-border-divider-default;
57
57
  background: awsui.$color-background-table-header;
58
58
  color: awsui.$color-text-column-header;
59
59
  font-weight: awsui.$font-weight-heading-s;
@@ -68,10 +68,21 @@ $cell-horizontal-padding: awsui.$space-scaled-l;
68
68
  &.header-cell-spans-rows {
69
69
  padding-block: awsui.$space-xxxs;
70
70
  padding-inline: awsui.$space-scaled-xs;
71
+ border-block-end-color: awsui.$color-border-divider-table-group;
72
+
73
+ > .resize-divider.resize-divider {
74
+ border-inline-start-color: awsui.$color-border-divider-table-group;
75
+ }
71
76
  }
72
77
 
73
78
  &-sticky {
74
- border-block-end: awsui.$border-table-sticky-width solid awsui.$color-border-divider-interactive-default;
79
+ border-block-end: awsui.$border-table-sticky-width solid awsui.$color-border-divider-default;
80
+
81
+ &.header-cell-group,
82
+ &.header-cell-grouped,
83
+ &.header-cell-spans-rows {
84
+ border-block-end-color: awsui.$color-border-divider-table-group;
85
+ }
75
86
  }
76
87
  &-stuck:not(.header-cell-variant-full-page) {
77
88
  border-block-end-color: transparent;
@@ -46,9 +46,17 @@ th:not([data-rightmost]) > .divider,
46
46
  max-block-size: calc(100% - #{$block-gap});
47
47
  margin-block: auto;
48
48
  margin-inline: auto;
49
- border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-interactive-default;
49
+ border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-default;
50
50
  box-sizing: border-box;
51
51
 
52
+ &.divider-interactive {
53
+ border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-interactive-default;
54
+ }
55
+
56
+ &.divider-grouped {
57
+ border-inline-start-color: awsui.$color-border-divider-table-group;
58
+ }
59
+
52
60
  // Position variants for grouped column headers.
53
61
  // All Column dividers maintain the same bottom gap ($block-gap / 2) as the default.
54
62
  &.divider-position-top {
@@ -13,7 +13,7 @@ $toggle-width: 2.4 * styles.$base-size;
13
13
  $toggle-height: 1.6 * styles.$base-size;
14
14
  $handle-size: 1.2 * styles.$base-size;
15
15
  $handle-offset: 0.2 * styles.$base-size;
16
- $shadow-color: rgba(0, 0, 0, 0.25);
16
+ $shadow-color: awsui.$color-shadow-toggle-handle;
17
17
 
18
18
  .root {
19
19
  @include styles.styles-reset;
@@ -5,8 +5,14 @@
5
5
 
6
6
  @use '../internal/styles/tokens' as awsui;
7
7
 
8
- .variant-normal {
8
+ .toggle-button.variant-normal {
9
9
  background: awsui.$color-background-toggle-button-normal-default;
10
+ border-color: awsui.$color-border-toggle-button-normal-default;
11
+
12
+ &:hover {
13
+ background: awsui.$color-background-toggle-button-normal-hover;
14
+ border-color: awsui.$color-border-toggle-button-normal-hover;
15
+ }
10
16
  }
11
17
 
12
18
  .variant-normal.pressed {
@@ -42,10 +42,10 @@
42
42
  display: flex;
43
43
  align-items: center;
44
44
  background: var(#{custom-props.$tokenStyleBackgroundDefault}, constants.$token-background);
45
- border-start-start-radius: awsui.$space-scaled-xxs;
46
- border-start-end-radius: awsui.$space-scaled-xxs;
47
- border-end-start-radius: awsui.$space-scaled-xxs;
48
- border-end-end-radius: awsui.$space-scaled-xxs;
45
+ border-start-start-radius: awsui.$border-radius-token-inline;
46
+ border-start-end-radius: awsui.$border-radius-token-inline;
47
+ border-end-start-radius: awsui.$border-radius-token-inline;
48
+ border-end-end-radius: awsui.$border-radius-token-inline;
49
49
  color: awsui.$color-text-body-default;
50
50
  box-sizing: border-box;
51
51
  max-inline-size: 100%;
@@ -10,6 +10,7 @@
10
10
  @use '../internal/generated/custom-css-properties/index.scss' as custom-props;
11
11
  @use './constants' as constants;
12
12
  @use './mixins.scss' as mixins;
13
+ @use '../internal/styles/utils/theming' as theming;
13
14
 
14
15
  .root {
15
16
  @include styles.styles-reset;
@@ -54,6 +55,12 @@
54
55
  align-items: center;
55
56
  align-self: center;
56
57
  }
58
+
59
+ &:not(&-inline) {
60
+ @include theming.one-theme-only {
61
+ padding-block-start: 1px;
62
+ }
63
+ }
57
64
  }
58
65
 
59
66
  .icon {
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAuB,aAAa,EAAE,MAAM,eAAe,CAAC;AAOnE,QAAA,MAAM,yBAAyB,GAAI,uMAgBhC,aAAa,gBA0Jf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAuB,aAAa,EAAE,MAAM,eAAe,CAAC;AAOnE,QAAA,MAAM,yBAAyB,GAAI,uMAgBhC,aAAa,gBA8Jf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useEffect, useRef } from 'react';
4
4
  import clsx from 'clsx';
5
+ import { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';
5
6
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
6
7
  import Dropdown from '../../dropdown/internal';
7
8
  import InternalIcon from '../../icon/internal';
@@ -35,6 +36,7 @@ const ExpandableCategoryElement = ({ index, item, onItemActivate, onGroupToggle,
35
36
  highlightItem(item);
36
37
  };
37
38
  const isVisualRefresh = useVisualRefresh();
39
+ const isOneTheme = isThemeActive(Theme.OneTheme);
38
40
  const isDisabledWithReason = !!item.disabledReason && item.disabled;
39
41
  const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);
40
42
  const groupProps = {
@@ -70,8 +72,8 @@ const ExpandableCategoryElement = ({ index, item, onItemActivate, onGroupToggle,
70
72
  (item.iconName || item.iconUrl || item.iconSvg) && (React.createElement("span", { className: styles['icon-wrapper'] },
71
73
  React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, svg: item.iconSvg, alt: item.iconAlt }))),
72
74
  React.createElement("span", null, item.text),
73
- React.createElement("span", { className: clsx(styles['expand-icon'], styles['expand-icon-right']) },
74
- React.createElement(InternalIcon, { name: "caret-down-filled" }))))));
75
+ React.createElement("span", { className: clsx(styles['expand-icon'], styles['expand-icon-right'], isOneTheme && styles['one-theme']) },
76
+ React.createElement(InternalIcon, { name: isOneTheme ? 'angle-down' : 'caret-down-filled', size: isOneTheme ? 'x-small' : 'normal' }))))));
75
77
  let content;
76
78
  // If the category element is disabled, we do not render a dropdown.
77
79
  // Screenreaders are confused by additional sections
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/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, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport Dropdown from '../../dropdown/internal';\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from '../analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n index,\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\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 const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isVisualRefresh = useVisualRefresh();\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: 'horizontal',\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.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['no-content-styling']]: !!renderResult,\n [styles['is-focused']]: isKeyboardHighlighted,\n [styles['visual-refresh']]: isVisualRefresh,\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, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand | GeneratedAnalyticsMetadataButtonDropdownCollapse)\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 <span>{item.text}</span>\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </>\n )}\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n interior={true}\n hideBlockBorder={false}\n expandToViewport={expandToViewport}\n trigger={trigger}\n content={\n item.items && expanded ? (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\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 variant={variant}\n position={position}\n renderItem={renderItem}\n parentProps={groupProps}\n />\n </ul>\n ) : undefined\n }\n />\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,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
1
+ {"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/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, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport Dropdown from '../../dropdown/internal';\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from '../analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n index,\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\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 const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isVisualRefresh = useVisualRefresh();\n const isOneTheme = isThemeActive(Theme.OneTheme);\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: 'horizontal',\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.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['no-content-styling']]: !!renderResult,\n [styles['is-focused']]: isKeyboardHighlighted,\n [styles['visual-refresh']]: isVisualRefresh,\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, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: !expanded ? 'expand' : 'collapse',\n detail: {\n position: position || '0',\n label: { root: 'self' },\n id: item.id || '',\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand | GeneratedAnalyticsMetadataButtonDropdownCollapse)\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 <span>{item.text}</span>\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'], isOneTheme && styles['one-theme'])}>\n <InternalIcon\n name={isOneTheme ? 'angle-down' : 'caret-down-filled'}\n size={isOneTheme ? 'x-small' : 'normal'}\n />\n </span>\n </>\n )}\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n interior={true}\n hideBlockBorder={false}\n expandToViewport={expandToViewport}\n trigger={trigger}\n content={\n item.items && expanded ? (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\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 variant={variant}\n position={position}\n renderItem={renderItem}\n parentProps={groupProps}\n />\n </ul>\n ) : undefined\n }\n />\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,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAuB,aAAa,EAAE,MAAM,eAAe,CAAC;AAQnE,QAAA,MAAM,+BAA+B,GAAI,qLAetC,aAAa,gBAgJf,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"mobile-expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAuB,aAAa,EAAE,MAAM,eAAe,CAAC;AAQnE,QAAA,MAAM,+BAA+B,GAAI,qLAetC,aAAa,gBAqJf,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useEffect } from 'react';
4
4
  import clsx from 'clsx';
5
+ import { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';
5
6
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
6
7
  import InternalIcon from '../../icon/internal';
7
8
  import useHiddenDescription from '../../internal/hooks/use-hidden-description';
@@ -30,6 +31,7 @@ const MobileExpandableCategoryElement = ({ index, item, onItemActivate, onGroupT
30
31
  const onHover = () => {
31
32
  highlightItem(item);
32
33
  };
34
+ const isOneTheme = isThemeActive(Theme.OneTheme);
33
35
  const isDisabledWithReason = !!item.disabledReason && item.disabled;
34
36
  const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);
35
37
  const groupProps = {
@@ -66,10 +68,10 @@ const MobileExpandableCategoryElement = ({ index, item, onItemActivate, onGroupT
66
68
  (item.iconName || item.iconUrl || item.iconSvg) && (React.createElement("span", { className: styles['icon-wrapper'] },
67
69
  React.createElement(InternalIcon, { name: item.iconName, url: item.iconUrl, svg: item.iconSvg, alt: item.iconAlt }))),
68
70
  React.createElement("span", null, item.text),
69
- React.createElement("span", { className: clsx(styles['expand-icon'], {
71
+ React.createElement("span", { className: clsx(styles['expand-icon'], isOneTheme && styles['one-theme'], {
70
72
  [styles['expand-icon-up']]: expanded,
71
73
  }) },
72
- React.createElement(InternalIcon, { name: "caret-down-filled" }))))));
74
+ React.createElement(InternalIcon, { name: isOneTheme ? 'angle-down' : 'caret-down-filled', size: isOneTheme ? 'x-small' : 'normal' }))))));
73
75
  let content;
74
76
  if (isDisabledWithReason) {
75
77
  content = (React.createElement(React.Fragment, null,
@@ -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":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAG/E,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,qBAAqB,MAAM,oDAAoD,CAAC;AACvF,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,+BAA+B,GAAG,CAAC,EACvC,KAAK,EACL,IAAI,EACJ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,GACI,EAAE,EAAE;;IAClB,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,IAAI,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAE,EAAE;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC;IACpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAEjF,MAAM,UAAU,GAAwC;QACtD,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC;QACjB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAqC;QAC7C,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,QAAQ;QAClB,eAAe,EAAE,UAAU;KAC5B,CAAC;IACF,MAAM,YAAY,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,mCAAI,IAAI,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAC3B,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE;YACxF,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW;YACjC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ;YACjC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY;YAC9C,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,qBAAqB;SAC9C,CAAC;QACF,wFAAwF;QACxF,wFAAwF;QACxF,8EAA8E;QAC9E,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,EAAE,UAAU,KACX,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KACtD,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KACzC,6BAA6B,CAC/B,QAAQ;YACN,CAAC,CAAC,EAAE;YACJ,CAAC,CAAE;gBACC,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ,IAAI,GAAG;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;oBACvB,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;oBACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;iBACzB;aACiD,CACzD,IAEA,YAAY,CAAC,CAAC,CAAC,CACd,YAAY,CACb,CAAC,CAAC,CAAC,CACF;QACG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAClD,8BAAM,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;YACrC,oBAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,GAAI,CACzF,CACR;QACD,kCAAO,IAAI,CAAC,IAAI,CAAQ;QACxB,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;gBACrC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ;aACrC,CAAC;YAEF,oBAAC,YAAY,IAAC,IAAI,EAAC,mBAAmB,GAAG,CACpC,CACN,CACJ,CACI,CACR,CAAC;IAEF,IAAI,OAAwB,CAAC;IAE7B,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,GAAG,CACR;YACG,aAAa;YACd,oBAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,cAAc,IAAG,OAAO,CAAW,CACzD,CACJ,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CACR,oBAAC,qBAAqB,IAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IACpD,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,CACzB,4BAAI,IAAI,EAAC,MAAM,gBAAa,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC;YAC9E,oBAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,IAAI,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,UAAU,GACvB,CACC,CACN,CACqB,CACzB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE;YAChF,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW,IAAI,QAAQ;YAC7C,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI;SAC1B,CAAC,EACF,IAAI,EAAC,cAAc,EACnB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,iBACR,IAAI,CAAC,EAAE,IAEnB,OAAO,CACL,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC","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 <span>{item.text}</span>\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
+ {"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 { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';\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 isOneTheme = isThemeActive(Theme.OneTheme);\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 <span>{item.text}</span>\n <span\n className={clsx(styles['expand-icon'], isOneTheme && styles['one-theme'], {\n [styles['expand-icon-up']]: expanded,\n })}\n >\n <InternalIcon\n name={isOneTheme ? 'angle-down' : 'caret-down-filled'}\n size={isOneTheme ? 'x-small' : 'normal'}\n />\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,23 +1,24 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header": "awsui_header_16mm3_19suh_145",
5
- "disabled": "awsui_disabled_16mm3_19suh_161",
6
- "no-content-styling": "awsui_no-content-styling_16mm3_19suh_165",
7
- "expandable-header": "awsui_expandable-header_16mm3_19suh_171",
8
- "rolled-down": "awsui_rolled-down_16mm3_19suh_182",
9
- "highlighted": "awsui_highlighted_16mm3_19suh_185",
10
- "is-focused": "awsui_is-focused_16mm3_19suh_208",
11
- "visual-refresh": "awsui_visual-refresh_16mm3_19suh_211",
12
- "category": "awsui_category_16mm3_19suh_215",
13
- "expandable": "awsui_expandable_16mm3_19suh_171",
14
- "variant-navigation": "awsui_variant-navigation_16mm3_19suh_230",
15
- "expand-icon": "awsui_expand-icon_16mm3_19suh_237",
16
- "expand-icon-up": "awsui_expand-icon-up_16mm3_19suh_255",
17
- "expand-icon-right": "awsui_expand-icon-right_16mm3_19suh_258",
18
- "items-list-container": "awsui_items-list-container_16mm3_19suh_266",
19
- "in-dropdown": "awsui_in-dropdown_16mm3_19suh_275",
20
- "icon-wrapper": "awsui_icon-wrapper_16mm3_19suh_279",
21
- "header-content": "awsui_header-content_16mm3_19suh_283"
4
+ "header": "awsui_header_16mm3_1b9d6_145",
5
+ "disabled": "awsui_disabled_16mm3_1b9d6_161",
6
+ "no-content-styling": "awsui_no-content-styling_16mm3_1b9d6_165",
7
+ "expandable-header": "awsui_expandable-header_16mm3_1b9d6_171",
8
+ "rolled-down": "awsui_rolled-down_16mm3_1b9d6_182",
9
+ "highlighted": "awsui_highlighted_16mm3_1b9d6_185",
10
+ "is-focused": "awsui_is-focused_16mm3_1b9d6_208",
11
+ "visual-refresh": "awsui_visual-refresh_16mm3_1b9d6_211",
12
+ "category": "awsui_category_16mm3_1b9d6_215",
13
+ "expandable": "awsui_expandable_16mm3_1b9d6_171",
14
+ "variant-navigation": "awsui_variant-navigation_16mm3_1b9d6_230",
15
+ "expand-icon": "awsui_expand-icon_16mm3_1b9d6_237",
16
+ "one-theme": "awsui_one-theme_16mm3_1b9d6_245",
17
+ "expand-icon-up": "awsui_expand-icon-up_16mm3_1b9d6_259",
18
+ "expand-icon-right": "awsui_expand-icon-right_16mm3_1b9d6_262",
19
+ "items-list-container": "awsui_items-list-container_16mm3_1b9d6_270",
20
+ "in-dropdown": "awsui_in-dropdown_16mm3_1b9d6_279",
21
+ "icon-wrapper": "awsui_icon-wrapper_16mm3_1b9d6_283",
22
+ "header-content": "awsui_header-content_16mm3_1b9d6_287"
22
23
  };
23
24
 
@@ -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_19suh_145:not(#\9) {
145
+ .awsui_header_16mm3_1b9d6_145:not(#\9) {
146
146
  position: relative;
147
147
  margin-block: 0;
148
148
  margin-inline: 0;
@@ -158,31 +158,31 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
158
158
  padding-inline: calc(var(--space-button-horizontal-v8ywmo, 20px) + var(--border-item-width-acvlhx, 1px));
159
159
  z-index: 1;
160
160
  }
161
- .awsui_header_16mm3_19suh_145.awsui_disabled_16mm3_19suh_161:not(#\9) {
161
+ .awsui_header_16mm3_1b9d6_145.awsui_disabled_16mm3_1b9d6_161:not(#\9) {
162
162
  color: var(--color-text-dropdown-item-disabled-oysy8n, #aab7b8);
163
163
  cursor: default;
164
164
  }
165
- .awsui_header_16mm3_19suh_145.awsui_no-content-styling_16mm3_19suh_165:not(#\9) {
165
+ .awsui_header_16mm3_1b9d6_145.awsui_no-content-styling_16mm3_1b9d6_165:not(#\9) {
166
166
  padding-block: calc(var(--border-item-width-acvlhx, 1px) - var(--border-divider-list-width-8ggz94, 1px));
167
167
  padding-inline: var(--border-item-width-acvlhx, 1px);
168
168
  font-weight: var(--font-weight-normal-7w835s, 400);
169
169
  color: inherit;
170
170
  }
171
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171:not(#\9) {
171
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171:not(#\9) {
172
172
  border-block-start-color: var(--color-border-dropdown-group-dg9zg5, #eaeded);
173
173
  border-block-end-color: var(--color-border-dropdown-group-dg9zg5, #eaeded);
174
174
  cursor: pointer;
175
175
  }
176
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_disabled_16mm3_19suh_161:not(#\9) {
176
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_disabled_16mm3_1b9d6_161:not(#\9) {
177
177
  cursor: default;
178
178
  }
179
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171:not(#\9):focus {
179
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171:not(#\9):focus {
180
180
  outline: none;
181
181
  }
182
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_rolled-down_16mm3_19suh_182:not(#\9) {
182
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_rolled-down_16mm3_1b9d6_182:not(#\9) {
183
183
  border-block-end-color: transparent;
184
184
  }
185
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_highlighted_16mm3_19suh_185:not(#\9) {
185
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_highlighted_16mm3_1b9d6_185:not(#\9) {
186
186
  background-color: var(--color-background-dropdown-item-hover-353r6f, #f2f3f3);
187
187
  color: var(--color-text-dropdown-item-highlighted-bchk26, #16191f);
188
188
  padding-block: var(--space-option-padding-vertical-uomfe1, 4px);
@@ -195,46 +195,46 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
195
195
  border-end-end-radius: var(--border-radius-item-xggxkd, 0px);
196
196
  z-index: 2;
197
197
  }
198
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_highlighted_16mm3_19suh_185.awsui_no-content-styling_16mm3_19suh_165:not(#\9) {
198
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_highlighted_16mm3_1b9d6_185.awsui_no-content-styling_16mm3_1b9d6_165:not(#\9) {
199
199
  padding-block: 0;
200
200
  padding-inline: 0;
201
201
  color: inherit;
202
202
  }
203
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_highlighted_16mm3_19suh_185.awsui_disabled_16mm3_19suh_161:not(#\9) {
203
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_highlighted_16mm3_1b9d6_185.awsui_disabled_16mm3_1b9d6_161:not(#\9) {
204
204
  background-color: var(--color-background-dropdown-item-dimmed-2hwvu9, transparent);
205
205
  border-color: var(--color-border-dropdown-item-dimmed-hover-twsd8z, #879596);
206
206
  color: var(--color-text-dropdown-item-dimmed-0xf8v3, #aab7b8);
207
207
  }
208
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_highlighted_16mm3_19suh_185.awsui_is-focused_16mm3_19suh_208:not(#\9) {
208
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_highlighted_16mm3_1b9d6_185.awsui_is-focused_16mm3_1b9d6_208:not(#\9) {
209
209
  border-color: var(--color-border-dropdown-item-focused-xty1zx, #0073bb);
210
210
  }
211
- .awsui_header_16mm3_19suh_145.awsui_expandable-header_16mm3_19suh_171.awsui_highlighted_16mm3_19suh_185.awsui_is-focused_16mm3_19suh_208:not(#\9):not(.awsui_visual-refresh_16mm3_19suh_211) {
211
+ .awsui_header_16mm3_1b9d6_145.awsui_expandable-header_16mm3_1b9d6_171.awsui_highlighted_16mm3_1b9d6_185.awsui_is-focused_16mm3_1b9d6_208:not(#\9):not(.awsui_visual-refresh_16mm3_1b9d6_211) {
212
212
  box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-ql2vj7, 1px) var(--color-border-item-focused-r5f6xl, #0073bb);
213
213
  }
214
214
 
215
- .awsui_category_16mm3_19suh_215:not(#\9) {
215
+ .awsui_category_16mm3_1b9d6_215:not(#\9) {
216
216
  list-style: none;
217
217
  margin-block-start: calc(-1 * var(--border-divider-list-width-8ggz94, 1px));
218
218
  padding-block: 0;
219
219
  padding-inline: 0;
220
220
  }
221
- .awsui_category_16mm3_19suh_215:not(#\9):first-child {
221
+ .awsui_category_16mm3_1b9d6_215:not(#\9):first-child {
222
222
  margin-block-start: 0;
223
223
  }
224
- .awsui_category_16mm3_19suh_215.awsui_expandable_16mm3_19suh_171:not(#\9) {
224
+ .awsui_category_16mm3_1b9d6_215.awsui_expandable_16mm3_1b9d6_171:not(#\9) {
225
225
  border-block-start: 0;
226
226
  }
227
- .awsui_category_16mm3_19suh_215:not(#\9):last-child {
227
+ .awsui_category_16mm3_1b9d6_215:not(#\9):last-child {
228
228
  border-block-end: none;
229
229
  }
230
- .awsui_category_16mm3_19suh_215.awsui_variant-navigation_16mm3_19suh_230:not(#\9) {
230
+ .awsui_category_16mm3_1b9d6_215.awsui_variant-navigation_16mm3_1b9d6_230:not(#\9) {
231
231
  padding-block-start: var(--space-xxs-jnczic, 4px);
232
232
  }
233
- .awsui_category_16mm3_19suh_215.awsui_variant-navigation_16mm3_19suh_230.awsui_expandable_16mm3_19suh_171:not(#\9) {
233
+ .awsui_category_16mm3_1b9d6_215.awsui_variant-navigation_16mm3_1b9d6_230.awsui_expandable_16mm3_1b9d6_171:not(#\9) {
234
234
  padding-block-start: 0;
235
235
  }
236
236
 
237
- .awsui_expand-icon_16mm3_19suh_237:not(#\9) {
237
+ .awsui_expand-icon_16mm3_1b9d6_237:not(#\9) {
238
238
  position: relative;
239
239
  inset-inline-end: calc(-1 * var(--space-s-4a5hs8, 12px));
240
240
  inline-size: var(--space-m-n2lypl, 16px);
@@ -242,28 +242,32 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
242
242
  margin-inline-start: auto;
243
243
  transition: transform var(--motion-duration-rotate-180-4er9qu, 135ms) var(--motion-easing-rotate-180-xlspcm, cubic-bezier(0.165, 0.84, 0.44, 1));
244
244
  }
245
+ .awsui_expand-icon_16mm3_1b9d6_237.awsui_one-theme_16mm3_1b9d6_245:not(#\9) {
246
+ inset-inline-end: calc(-1 * var(--space-xs-kw7k3v, 8px));
247
+ inline-size: var(--space-s-4a5hs8, 12px);
248
+ }
245
249
  @media (prefers-reduced-motion: reduce) {
246
- .awsui_expand-icon_16mm3_19suh_237:not(#\9) {
250
+ .awsui_expand-icon_16mm3_1b9d6_237:not(#\9) {
247
251
  animation: none;
248
252
  transition: none;
249
253
  }
250
254
  }
251
- .awsui-motion-disabled .awsui_expand-icon_16mm3_19suh_237:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_19suh_237:not(#\9) {
255
+ .awsui-motion-disabled .awsui_expand-icon_16mm3_1b9d6_237:not(#\9), .awsui-mode-entering .awsui_expand-icon_16mm3_1b9d6_237:not(#\9) {
252
256
  animation: none;
253
257
  transition: none;
254
258
  }
255
- .awsui_expand-icon-up_16mm3_19suh_255:not(#\9) {
259
+ .awsui_expand-icon-up_16mm3_1b9d6_259:not(#\9) {
256
260
  transform: rotate(-180deg);
257
261
  }
258
- .awsui_expand-icon-right_16mm3_19suh_258:not(#\9) {
262
+ .awsui_expand-icon-right_16mm3_1b9d6_262:not(#\9) {
259
263
  transform: rotate(-90deg);
260
264
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
261
265
  }
262
- .awsui_expand-icon-right_16mm3_19suh_258:not(#\9):dir(rtl) {
266
+ .awsui_expand-icon-right_16mm3_1b9d6_262:not(#\9):dir(rtl) {
263
267
  transform: rotate(90deg);
264
268
  }
265
269
 
266
- .awsui_items-list-container_16mm3_19suh_266:not(#\9) {
270
+ .awsui_items-list-container_16mm3_1b9d6_270:not(#\9) {
267
271
  padding-block: 0;
268
272
  padding-inline: 0;
269
273
  margin-block-start: -1px;
@@ -272,15 +276,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
272
276
  overflow-y: auto;
273
277
  }
274
278
 
275
- .awsui_in-dropdown_16mm3_19suh_275:not(#\9) {
279
+ .awsui_in-dropdown_16mm3_1b9d6_279:not(#\9) {
276
280
  margin-block-end: -1px;
277
281
  }
278
282
 
279
- .awsui_icon-wrapper_16mm3_19suh_279:not(#\9) {
283
+ .awsui_icon-wrapper_16mm3_1b9d6_283:not(#\9) {
280
284
  margin-inline-end: var(--space-xxs-jnczic, 4px);
281
285
  }
282
286
 
283
- .awsui_header-content_16mm3_19suh_283:not(#\9) {
287
+ .awsui_header-content_16mm3_1b9d6_287:not(#\9) {
284
288
  display: flex;
285
289
  align-items: center;
286
290
  }