@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
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "22d5a6b41ce5227a2c00c9075f17f45fdce50abc"
2
+ "commit": "82d11d6689b17a690065d458b0e747753087e3e6"
3
3
  }
@@ -22,6 +22,12 @@
22
22
  background-color: awsui.$color-background-container-content;
23
23
  }
24
24
 
25
+ &.one-theme {
26
+ &.has-open-drawer {
27
+ background-color: awsui.$color-background-layout-panel-content;
28
+ }
29
+ }
30
+
25
31
  @include styles.media-breakpoint-up(styles.$breakpoint-x-small) {
26
32
  max-inline-size: calc(
27
33
  var(#{custom-props.$layoutWidth}) - var(#{custom-props.$mainOffsetLeft}) - var(
@@ -66,6 +72,12 @@
66
72
  background-color: awsui.$color-background-container-content;
67
73
  }
68
74
 
75
+ &.one-theme {
76
+ &.has-multiple-triggers.has-open-drawer {
77
+ background-color: awsui.$color-background-layout-panel-content;
78
+ }
79
+ }
80
+
69
81
  &:not(.has-multiple-triggers):not(.has-open-drawer) {
70
82
  inline-size: calc((awsui.$space-layout-toggle-padding * 2) + awsui.$space-layout-toggle-diameter);
71
83
  }
@@ -125,6 +137,10 @@
125
137
  pointer-events: auto;
126
138
  word-wrap: break-word;
127
139
 
140
+ &.one-theme {
141
+ background-color: awsui.$color-background-layout-panel-content;
142
+ }
143
+
128
144
  > .drawer-content-container {
129
145
  grid-column: 1 / span 2;
130
146
  grid-row: 1;
@@ -82,7 +82,7 @@ nav.show-navigation {
82
82
  }
83
83
 
84
84
  nav.navigation {
85
- background-color: awsui.$color-background-container-content;
85
+ background-color: awsui.$color-background-layout-panel-content;
86
86
  inset-block-end: 0;
87
87
  block-size: 100%;
88
88
  overflow-x: hidden;
@@ -95,6 +95,10 @@ viewport size and state of the Tools drawer.
95
95
  }
96
96
  }
97
97
 
98
+ &.one-theme {
99
+ background-color: awsui.$color-background-layout-panel-content;
100
+ }
101
+
98
102
  /*
99
103
  A non-semantic node is added with a fixed width equal to the final Tools
100
104
  width. This will create the visual appearance of horizontal movement and
@@ -28,7 +28,7 @@ $ai-drawer-heider-height: 42px;
28
28
  .drawer {
29
29
  position: sticky;
30
30
  z-index: constants.$drawer-z-index;
31
- background-color: awsui.$color-background-container-content;
31
+ background-color: awsui.$color-background-layout-panel-content;
32
32
  display: grid;
33
33
  grid-template-columns: awsui.$space-m 1fr;
34
34
  inline-size: var(#{custom-props.$drawerSize});
@@ -12,7 +12,7 @@
12
12
  .navigation-container {
13
13
  position: sticky;
14
14
  z-index: constants.$drawer-z-index;
15
- background-color: awsui.$color-background-container-content;
15
+ background-color: awsui.$color-background-layout-panel-content;
16
16
  inset-block-end: 0;
17
17
  overflow-x: hidden;
18
18
  word-wrap: break-word;
@@ -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
  }
@@ -50,6 +50,10 @@ $dropdown-trigger-icon-offset: 2px;
50
50
  }
51
51
 
52
52
  .trigger-button {
53
+ &.one-theme {
54
+ display: flex;
55
+ align-items: center;
56
+ }
53
57
  &.full-width {
54
58
  display: grid;
55
59
  grid-template-columns: 1fr auto;
@@ -110,6 +114,20 @@ $dropdown-trigger-icon-offset: 2px;
110
114
  margin-inline-start: calc(#{awsui.$border-width-button} * -1);
111
115
  }
112
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
+ }
113
131
  }
114
132
  .split-trigger {
115
133
  display: contents;
@@ -14,6 +14,8 @@ $icon-width-medium: awsui.$size-icon-medium;
14
14
  $icon-margin-left: '(#{awsui.$line-height-body-m} - #{$icon-width-normal}) / -2';
15
15
  $icon-margin-right-normal: '#{awsui.$space-xxs} + #{awsui.$border-divider-list-width}';
16
16
  $icon-margin-right-medium: awsui.$space-xs;
17
+ $icon-offset-inline: awsui.$space-xxs;
18
+ $icon-offset-block: awsui.$space-xxxs;
17
19
 
18
20
  // Total space occupied by the expand icon on the left and its margins.
19
21
  // Useful to keep elements correctly aligned.
@@ -52,6 +54,21 @@ $icon-total-space-medium: calc(#{$icon-width-medium} + #{$icon-margin-left} + #{
52
54
  // For vertical alignment of text in side navigation items
53
55
  &-container {
54
56
  margin-inline-end: $icon-margin-right-medium;
57
+ &.one-theme {
58
+ margin-inline-end: calc(#{$icon-margin-right-medium} + $icon-offset-inline);
59
+ inset-block-start: $icon-offset-block;
60
+ > .icon {
61
+ inset-block-start: calc(#{$icon-offset-block} * 3); // Double-check
62
+ }
63
+ }
64
+ }
65
+ &.one-theme {
66
+ display: inline-flex;
67
+ align-items: flex-start;
68
+ margin-inline-end: calc(#{$icon-margin-right-normal} + #{$icon-offset-inline});
69
+ > .icon {
70
+ inset-block-start: $icon-offset-block;
71
+ }
55
72
  }
56
73
  }
57
74
 
@@ -12,6 +12,7 @@
12
12
 
13
13
  $padding-inline-inner-filtering-token: styles.$control-padding-horizontal;
14
14
  $padding-block-inner-filtering-token: 0px;
15
+ $icon-offset: awsui.$space-xxxs;
15
16
 
16
17
  .button-trigger {
17
18
  @include styles.styles-reset;
@@ -69,6 +70,9 @@ $padding-block-inner-filtering-token: 0px;
69
70
  inset-inline-end: styles.$control-icon-horizontal-offset;
70
71
  inset-block-start: styles.$control-icon-vertical-offset;
71
72
  color: awsui.$color-text-button-inline-icon-default;
73
+ &.one-theme {
74
+ inset-block-start: calc(styles.$control-icon-vertical-offset + $icon-offset);
75
+ }
72
76
  }
73
77
 
74
78
  &:hover {
@@ -80,6 +84,9 @@ $padding-block-inner-filtering-token: 0px;
80
84
  &.pressed {
81
85
  > .arrow {
82
86
  transform: rotate(-180deg);
87
+ &.one-theme {
88
+ inset-block-start: calc(styles.$control-icon-vertical-offset - $icon-offset);
89
+ }
83
90
  }
84
91
  }
85
92
 
@@ -64,7 +64,11 @@
64
64
 
65
65
  @include focus-visible.when-visible {
66
66
  &:not(.hide-focus) {
67
- @include styles.focus-highlight(0px);
67
+ // Render the focus ring above container border overlays. The dropdown content border is
68
+ // drawn by `dropdown-shadow`'s `::after` at `z-index: 1`; since that `::after` is the
69
+ // wrapper's generated last child, it paints after (on top of) this deeply-nested ring in
70
+ // tree order, so the ring must use a strictly higher z-index to win.
71
+ @include styles.focus-highlight(0px, $z-index: 2);
68
72
  }
69
73
  }
70
74
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Build environment
3
- $awsui-commit-hash: "22d5a6b4";
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;
@@ -41,6 +41,14 @@ $_status-backgrounds: (
41
41
  'not-started': awsui.$color-background-status-indicator-neutral,
42
42
  );
43
43
 
44
+ $_background-overrides: (
45
+ 'red': awsui.$color-background-status-indicator-error,
46
+ 'grey': awsui.$color-background-status-indicator-neutral,
47
+ 'blue': awsui.$color-background-status-indicator-info,
48
+ 'green': awsui.$color-background-status-indicator-success,
49
+ 'yellow': awsui.$color-background-status-indicator-warning,
50
+ );
51
+
44
52
  .root {
45
53
  @include styles.default-text-style;
46
54
  @each $status in map.keys($_status-colors) {
@@ -58,6 +66,11 @@ $_status-backgrounds: (
58
66
  background: #{map.get($_status-backgrounds, $status)};
59
67
  }
60
68
  }
69
+ @each $color in map.keys($_background-overrides) {
70
+ &.color-override-#{$color} > .container {
71
+ background: #{map.get($_background-overrides, $color)};
72
+ }
73
+ }
61
74
  }
62
75
 
63
76
  .container {
@@ -72,6 +85,9 @@ $_status-backgrounds: (
72
85
 
73
86
  > .icon {
74
87
  white-space: nowrap;
88
+ &.one-theme {
89
+ vertical-align: middle;
90
+ }
75
91
  }
76
92
  }
77
93
 
@@ -79,9 +95,19 @@ $_status-backgrounds: (
79
95
  display: inline-block;
80
96
  word-wrap: break-word;
81
97
  word-break: break-all;
98
+ &.one-theme {
99
+ display: inline-flex;
100
+ align-items: flex-start;
101
+ }
82
102
 
83
103
  > .icon {
84
104
  padding-inline-end: awsui.$space-xxs;
105
+
106
+ &.one-theme {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ margin-block-start: awsui.$space-xxxs;
110
+ }
85
111
  }
86
112
  }
87
113
  }
@@ -92,4 +118,14 @@ $_status-backgrounds: (
92
118
  text-overflow: ellipsis;
93
119
  white-space: nowrap;
94
120
  vertical-align: text-bottom;
121
+
122
+ &.one-theme {
123
+ text-overflow: unset;
124
+
125
+ > span:last-child {
126
+ overflow: hidden;
127
+ text-overflow: ellipsis;
128
+ white-space: nowrap;
129
+ }
130
+ }
95
131
  }
@@ -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
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 {
@@ -49,6 +49,16 @@ $item-toggle-column-width: 28px;
49
49
  }
50
50
  }
51
51
 
52
+ &.one-theme {
53
+ align-items: center;
54
+ > .expand-toggle-wrapper {
55
+ > .toggle {
56
+ inset-inline-start: 0px;
57
+ inset-block-start: 3px;
58
+ }
59
+ }
60
+ }
61
+
52
62
  > .structured-item-wrapper {
53
63
  grid-column: 2;
54
64
  grid-row: 1 / span 2;
@@ -53,7 +53,7 @@ function mapRuntimeHeaderActionsToHeaderActions(runtimeHeaderActions) {
53
53
  // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type
54
54
  ...('pressedIconSvg' in runtimeHeaderAction &&
55
55
  runtimeHeaderAction.pressedIconSvg && {
56
- iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),
56
+ pressedIconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),
57
57
  }),
58
58
  };
59
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAA6B,MAAM,uBAAuB,CAAC;AAK1F,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAqBrC,SAAS,oBAAoB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAA8B;IAC5F,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,wBAAwB,GAAG,MAAM,CAA4B,IAAI,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,GAAG,CAAC,OAAQ,CAAC;QAC/B,YAAY,CAAC,SAAS,EAAE;YACtB,kBAAkB,EAAE,EAAE,CAAC,EAAE;gBACvB,wBAAwB,CAAC,OAAO,GAAG,EAAE,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1B,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1C,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;;QACb,MAAA,wBAAwB,CAAC,OAAO,yEAAG,SAAS,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,yBAAyB,CAAC,uCAAqC,EAAE,GAAQ,CAAC;AACpH,CAAC;AAOD,SAAS,mBAAmB,CAAC,EAAE,WAAW,EAAE,aAAa,EAA6B;IACpF,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,GAAG,CAAC,OAAQ,CAAC;QAC/B,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,SAAS,CAAC,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AACxE,CAAC;AAED,SAAS,sCAAsC,CAC7C,oBAAgD;IAEhD,OAAO,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;QACpD,OAAO;YACL,GAAG,mBAAmB;YACtB,+FAA+F;YAC/F,GAAG,CAAC,SAAS,IAAI,mBAAmB;gBAClC,mBAAmB,CAAC,OAAO,IAAI;gBAC7B,OAAO,EAAE,gCAAgC,CAAC,mBAAmB,CAAC,OAAO,CAAC;aACvE,CAAC;YACJ,+FAA+F;YAC/F,GAAG,CAAC,gBAAgB,IAAI,mBAAmB;gBACzC,mBAAmB,CAAC,cAAc,IAAI;gBACpC,OAAO,EAAE,gCAAgC,CAAC,mBAAmB,CAAC,cAAc,CAAC;aAC9E,CAAC;SACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gCAAgC,GAAG,CAAC,cAAuB,EAAE,EAAE;IACnE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,2CAA2C;IAC3C,OAAO,8BAAM,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAI,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAkC,EAKlC,EAAE;;IACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC;IAElF,OAAO;QACL,GAAG,aAAa;QAChB,UAAU,EAAE,EAAE,UAAU,EAAE,MAAA,aAAa,CAAC,UAAU,CAAC,OAAO,mCAAI,EAAE,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE;QAC/F,OAAO,EAAE,OAAO;YACd,CAAC,CAAC;gBACE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI;oBACrB,OAAO,EAAE,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC;iBAC3D,CAAC;aACH;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,GAAG,EAAE,aAAa,CAAC,EAAE,EACrB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,aAAa,CAAC,EAAE,GACpB,CACH;QACD,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,aAAa,EAAE,aAAa,CAAC,aAAa;YACxC,CAAC,CAAC,sCAAsC,CAAC,aAAa,CAAC,aAAa,CAAC;YACrE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,aAAoC,EAOpC,EAAE;;IACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC;IAE3G,OAAO;QACL,GAAG,aAAa;QAChB,UAAU,EAAE,EAAE,UAAU,EAAE,MAAA,aAAa,CAAC,UAAU,CAAC,OAAO,mCAAI,EAAE,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE;QAC/F,GAAG,CAAC,OAAO,IAAI;YACb,OAAO,EAAE;gBACP,UAAU,EAAE,gCAAgC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;gBACjE,OAAO,EAAE,gCAAgC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;aAC5D;SACF,CAAC;QACF,uBAAuB,EAAE,uBAAuB;YAC9C,CAAC,CAAC;gBACE,UAAU,EAAE,gCAAgC,CAAC,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,UAAU,CAAC;aAClF;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,GAAG,EAAE,aAAa,CAAC,EAAE,EACrB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,aAAa,CAAC,EAAE,GACpB,CACH;QACD,GAAG,CAAC,aAAa,CAAC,WAAW,IAAI;YAC/B,MAAM,EAAE,CACN,oBAAC,mBAAmB,IAAC,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,aAAa,GAAI,CAC5G;SACF,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,aAAa,EAAE,aAAa,CAAC,aAAa;YACxC,CAAC,CAAC,sCAAsC,CAAC,aAAa,CAAC,aAAa,CAAC;YACrE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,YAAwC,EACxC,aAAyC;IAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC;QACjE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;KAClE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { ButtonGroupProps, ItemRuntime } from '../../button-group/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport {\n DrawerConfig as RuntimeDrawerConfig,\n DrawerStateChangeParams,\n} from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nimport styles from './styles.css.js';\n\nexport interface RuntimeDrawer extends AppLayoutProps.Drawer {\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n position?: 'side' | 'bottom';\n}\n\nexport interface DrawersLayout {\n global: Array<RuntimeDrawer>;\n localBefore: Array<RuntimeDrawer>;\n localAfter: Array<RuntimeDrawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref} className={styles['runtime-content-wrapper']} data-awsui-runtime-drawer-root-id={id}></div>;\n}\n\ninterface RuntimeContentHeaderProps {\n mountHeader: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n}\n\nfunction RuntimeDrawerHeader({ mountHeader, unmountHeader }: RuntimeContentHeaderProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = ref.current!;\n mountHeader?.(container);\n return () => {\n unmountHeader?.(container);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <div className={styles['runtime-header-wrapper']} ref={ref} />;\n}\n\nfunction mapRuntimeHeaderActionsToHeaderActions(\n runtimeHeaderActions: ReadonlyArray<ItemRuntime>\n): ReadonlyArray<ButtonGroupProps.Item> {\n return runtimeHeaderActions.map(runtimeHeaderAction => {\n return {\n ...runtimeHeaderAction,\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('iconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.iconSvg),\n }),\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('pressedIconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.pressedIconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),\n }),\n };\n });\n}\n\nconst convertRuntimeTriggerToReactNode = (runtimeTrigger?: string) => {\n if (!runtimeTrigger) {\n return undefined;\n }\n // eslint-disable-next-line react/no-danger\n return <span style={{ lineHeight: 0 }} dangerouslySetInnerHTML={{ __html: runtimeTrigger }} />;\n};\n\nexport const mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n ...(trigger.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),\n }),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport const mapRuntimeConfigToAiDrawer = (\n runtimeConfig: RuntimeAiDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n exitExpandedModeTrigger?: React.ReactNode;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n} => {\n const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n ...(trigger && {\n trigger: {\n customIcon: convertRuntimeTriggerToReactNode(trigger?.customIcon),\n iconSvg: convertRuntimeTriggerToReactNode(trigger?.iconSvg),\n },\n }),\n exitExpandedModeTrigger: exitExpandedModeTrigger\n ? {\n customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger?.customIcon),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n ...(runtimeDrawer.mountHeader && {\n header: (\n <RuntimeDrawerHeader mountHeader={runtimeDrawer.mountHeader} unmountHeader={runtimeDrawer.unmountHeader} />\n ),\n }),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAA6B,MAAM,uBAAuB,CAAC;AAK1F,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAqBrC,SAAS,oBAAoB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAA8B;IAC5F,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,wBAAwB,GAAG,MAAM,CAA4B,IAAI,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,GAAG,CAAC,OAAQ,CAAC;QAC/B,YAAY,CAAC,SAAS,EAAE;YACtB,kBAAkB,EAAE,EAAE,CAAC,EAAE;gBACvB,wBAAwB,CAAC,OAAO,GAAG,EAAE,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1B,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1C,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;;QACb,MAAA,wBAAwB,CAAC,OAAO,yEAAG,SAAS,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,yBAAyB,CAAC,uCAAqC,EAAE,GAAQ,CAAC;AACpH,CAAC;AAOD,SAAS,mBAAmB,CAAC,EAAE,WAAW,EAAE,aAAa,EAA6B;IACpF,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,GAAG,CAAC,OAAQ,CAAC;QAC/B,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,SAAS,CAAC,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AACxE,CAAC;AAED,SAAS,sCAAsC,CAC7C,oBAAgD;IAEhD,OAAO,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;QACpD,OAAO;YACL,GAAG,mBAAmB;YACtB,+FAA+F;YAC/F,GAAG,CAAC,SAAS,IAAI,mBAAmB;gBAClC,mBAAmB,CAAC,OAAO,IAAI;gBAC7B,OAAO,EAAE,gCAAgC,CAAC,mBAAmB,CAAC,OAAO,CAAC;aACvE,CAAC;YACJ,+FAA+F;YAC/F,GAAG,CAAC,gBAAgB,IAAI,mBAAmB;gBACzC,mBAAmB,CAAC,cAAc,IAAI;gBACpC,cAAc,EAAE,gCAAgC,CAAC,mBAAmB,CAAC,cAAc,CAAC;aACrF,CAAC;SACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gCAAgC,GAAG,CAAC,cAAuB,EAAE,EAAE;IACnE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,2CAA2C;IAC3C,OAAO,8BAAM,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAI,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAkC,EAKlC,EAAE;;IACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC;IAElF,OAAO;QACL,GAAG,aAAa;QAChB,UAAU,EAAE,EAAE,UAAU,EAAE,MAAA,aAAa,CAAC,UAAU,CAAC,OAAO,mCAAI,EAAE,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE;QAC/F,OAAO,EAAE,OAAO;YACd,CAAC,CAAC;gBACE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI;oBACrB,OAAO,EAAE,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC;iBAC3D,CAAC;aACH;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,GAAG,EAAE,aAAa,CAAC,EAAE,EACrB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,aAAa,CAAC,EAAE,GACpB,CACH;QACD,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,aAAa,EAAE,aAAa,CAAC,aAAa;YACxC,CAAC,CAAC,sCAAsC,CAAC,aAAa,CAAC,aAAa,CAAC;YACrE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,aAAoC,EAOpC,EAAE;;IACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC;IAE3G,OAAO;QACL,GAAG,aAAa;QAChB,UAAU,EAAE,EAAE,UAAU,EAAE,MAAA,aAAa,CAAC,UAAU,CAAC,OAAO,mCAAI,EAAE,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE;QAC/F,GAAG,CAAC,OAAO,IAAI;YACb,OAAO,EAAE;gBACP,UAAU,EAAE,gCAAgC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;gBACjE,OAAO,EAAE,gCAAgC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;aAC5D;SACF,CAAC;QACF,uBAAuB,EAAE,uBAAuB;YAC9C,CAAC,CAAC;gBACE,UAAU,EAAE,gCAAgC,CAAC,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,UAAU,CAAC;aAClF;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,GAAG,EAAE,aAAa,CAAC,EAAE,EACrB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,aAAa,CAAC,EAAE,GACpB,CACH;QACD,GAAG,CAAC,aAAa,CAAC,WAAW,IAAI;YAC/B,MAAM,EAAE,CACN,oBAAC,mBAAmB,IAAC,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,aAAa,GAAI,CAC5G;SACF,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,aAAa,EAAE,aAAa,CAAC,aAAa;YACxC,CAAC,CAAC,sCAAsC,CAAC,aAAa,CAAC,aAAa,CAAC;YACrE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,YAAwC,EACxC,aAAyC;IAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC;QACjE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;KAClE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { ButtonGroupProps, ItemRuntime } from '../../button-group/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport {\n DrawerConfig as RuntimeDrawerConfig,\n DrawerStateChangeParams,\n} from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nimport styles from './styles.css.js';\n\nexport interface RuntimeDrawer extends AppLayoutProps.Drawer {\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n position?: 'side' | 'bottom';\n}\n\nexport interface DrawersLayout {\n global: Array<RuntimeDrawer>;\n localBefore: Array<RuntimeDrawer>;\n localAfter: Array<RuntimeDrawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref} className={styles['runtime-content-wrapper']} data-awsui-runtime-drawer-root-id={id}></div>;\n}\n\ninterface RuntimeContentHeaderProps {\n mountHeader: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n}\n\nfunction RuntimeDrawerHeader({ mountHeader, unmountHeader }: RuntimeContentHeaderProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = ref.current!;\n mountHeader?.(container);\n return () => {\n unmountHeader?.(container);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <div className={styles['runtime-header-wrapper']} ref={ref} />;\n}\n\nfunction mapRuntimeHeaderActionsToHeaderActions(\n runtimeHeaderActions: ReadonlyArray<ItemRuntime>\n): ReadonlyArray<ButtonGroupProps.Item> {\n return runtimeHeaderActions.map(runtimeHeaderAction => {\n return {\n ...runtimeHeaderAction,\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('iconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.iconSvg),\n }),\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('pressedIconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.pressedIconSvg && {\n pressedIconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),\n }),\n };\n });\n}\n\nconst convertRuntimeTriggerToReactNode = (runtimeTrigger?: string) => {\n if (!runtimeTrigger) {\n return undefined;\n }\n // eslint-disable-next-line react/no-danger\n return <span style={{ lineHeight: 0 }} dangerouslySetInnerHTML={{ __html: runtimeTrigger }} />;\n};\n\nexport const mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n ...(trigger.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),\n }),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport const mapRuntimeConfigToAiDrawer = (\n runtimeConfig: RuntimeAiDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n exitExpandedModeTrigger?: React.ReactNode;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n} => {\n const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n ...(trigger && {\n trigger: {\n customIcon: convertRuntimeTriggerToReactNode(trigger?.customIcon),\n iconSvg: convertRuntimeTriggerToReactNode(trigger?.iconSvg),\n },\n }),\n exitExpandedModeTrigger: exitExpandedModeTrigger\n ? {\n customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger?.customIcon),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n ...(runtimeDrawer.mountHeader && {\n header: (\n <RuntimeDrawerHeader mountHeader={runtimeDrawer.mountHeader} unmountHeader={runtimeDrawer.unmountHeader} />\n ),\n }),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"drawers.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh/drawers.tsx"],"names":[],"mappings":"AA8BA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,uBA+B9B;AAqPD;;;;;GAKG;AACH,wBAAgB,cAAc,uBA2E7B"}
1
+ {"version":3,"file":"drawers.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh/drawers.tsx"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,uBA+B9B;AAuPD;;;;;GAKG;AACH,wBAAgB,cAAc,uBA2E7B"}
@@ -3,6 +3,7 @@
3
3
  import React, { useRef } from 'react';
4
4
  import clsx from 'clsx';
5
5
  import { useContainerQuery } from '@cloudscape-design/component-toolkit';
6
+ import { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';
6
7
  import { InternalButton } from '../../button/internal';
7
8
  import customCssProps from '../../internal/generated/custom-css-properties';
8
9
  import { getLimitedValue } from '../../split-panel/utils/size-utils';
@@ -60,6 +61,7 @@ function ActiveDrawer() {
60
61
  return (React.createElement("aside", { id: activeDrawerId !== null && activeDrawerId !== void 0 ? activeDrawerId : undefined, "aria-hidden": isHidden, "aria-label": computedAriaLabels.content, className: clsx(styles.drawer, {
61
62
  [styles['is-drawer-open']]: activeDrawerId,
62
63
  [styles.unfocusable]: isUnfocusable,
64
+ [styles['one-theme']]: isThemeActive(Theme.OneTheme),
63
65
  [testutilStyles['active-drawer']]: activeDrawerId,
64
66
  [testutilStyles.tools]: isToolsDrawer,
65
67
  }), style: {
@@ -118,6 +120,7 @@ function DesktopTriggers() {
118
120
  return (React.createElement("aside", { className: clsx(styles['drawers-desktop-triggers-container'], {
119
121
  [styles['has-multiple-triggers']]: hasMultipleTriggers,
120
122
  [styles['has-open-drawer']]: hasOpenDrawer,
123
+ [styles['one-theme']]: isThemeActive(Theme.OneTheme),
121
124
  }), "aria-label": drawersAriaLabel, ref: triggersContainerRef, role: "region" },
122
125
  React.createElement("div", { className: clsx(styles['drawers-trigger-content'], {
123
126
  [styles['has-multiple-triggers']]: hasMultipleTriggers,