@cloudscape-design/components 3.0.607 → 3.0.609

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 (79) hide show
  1. package/annotation-context/annotation/styles.css.js +24 -24
  2. package/annotation-context/annotation/styles.scoped.css +30 -30
  3. package/annotation-context/annotation/styles.selectors.js +24 -24
  4. package/app-layout/classic.d.ts +9 -3
  5. package/app-layout/classic.d.ts.map +1 -1
  6. package/app-layout/classic.js +26 -25
  7. package/app-layout/classic.js.map +1 -1
  8. package/app-layout/implementation.d.ts +9 -3
  9. package/app-layout/implementation.d.ts.map +1 -1
  10. package/app-layout/index.d.ts.map +1 -1
  11. package/app-layout/index.js +6 -4
  12. package/app-layout/index.js.map +1 -1
  13. package/app-layout/interfaces.d.ts +9 -1
  14. package/app-layout/interfaces.d.ts.map +1 -1
  15. package/app-layout/interfaces.js.map +1 -1
  16. package/app-layout/internal.d.ts +9 -3
  17. package/app-layout/internal.d.ts.map +1 -1
  18. package/app-layout/notifications/styles.css.js +3 -3
  19. package/app-layout/notifications/styles.scoped.css +7 -7
  20. package/app-layout/notifications/styles.selectors.js +3 -3
  21. package/app-layout/utils/use-app-layout-placement.d.ts +9 -0
  22. package/app-layout/utils/use-app-layout-placement.d.ts.map +1 -0
  23. package/app-layout/utils/use-app-layout-placement.js +29 -0
  24. package/app-layout/utils/use-app-layout-placement.js.map +1 -0
  25. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  26. package/app-layout/visual-refresh/context.js +10 -41
  27. package/app-layout/visual-refresh/context.js.map +1 -1
  28. package/app-layout/visual-refresh/index.d.ts +9 -3
  29. package/app-layout/visual-refresh/index.d.ts.map +1 -1
  30. package/app-layout/visual-refresh/styles.css.js +81 -81
  31. package/app-layout/visual-refresh/styles.scoped.css +275 -286
  32. package/app-layout/visual-refresh/styles.selectors.js +81 -81
  33. package/app-layout/visual-refresh/tools.d.ts.map +1 -1
  34. package/app-layout/visual-refresh/tools.js +2 -9
  35. package/app-layout/visual-refresh/tools.js.map +1 -1
  36. package/content-layout/styles.css.js +7 -7
  37. package/content-layout/styles.scoped.css +13 -15
  38. package/content-layout/styles.selectors.js +7 -7
  39. package/flashbar/styles.css.js +47 -47
  40. package/flashbar/styles.scoped.css +171 -171
  41. package/flashbar/styles.selectors.js +47 -47
  42. package/form-field/internal.d.ts.map +1 -1
  43. package/form-field/internal.js +10 -6
  44. package/form-field/internal.js.map +1 -1
  45. package/internal/components/dropdown/styles.css.js +20 -20
  46. package/internal/components/dropdown/styles.scoped.css +39 -39
  47. package/internal/components/dropdown/styles.selectors.js +20 -20
  48. package/internal/environment.js +1 -1
  49. package/internal/environment.json +1 -1
  50. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  51. package/internal/generated/custom-css-properties/index.js +44 -46
  52. package/internal/generated/custom-css-properties/index.js.map +1 -1
  53. package/internal/manifest.json +1 -1
  54. package/internal/utils/handle-key.d.ts +15 -11
  55. package/internal/utils/handle-key.d.ts.map +1 -1
  56. package/internal/utils/handle-key.js +9 -9
  57. package/internal/utils/handle-key.js.map +1 -1
  58. package/package.json +1 -1
  59. package/spinner/styles.css.js +13 -13
  60. package/spinner/styles.scoped.css +39 -39
  61. package/spinner/styles.selectors.js +13 -13
  62. package/test-utils/dom/app-layout/index.d.ts +1 -0
  63. package/test-utils/dom/app-layout/index.js +4 -0
  64. package/test-utils/dom/app-layout/index.js.map +1 -1
  65. package/test-utils/selectors/app-layout/index.d.ts +1 -0
  66. package/test-utils/selectors/app-layout/index.js +4 -0
  67. package/test-utils/selectors/app-layout/index.js.map +1 -1
  68. package/test-utils/tsconfig.tsbuildinfo +1 -1
  69. package/wizard/styles.css.js +32 -32
  70. package/wizard/styles.scoped.css +68 -68
  71. package/wizard/styles.selectors.js +32 -32
  72. package/app-layout/utils/use-app-layout-rect.d.ts +0 -8
  73. package/app-layout/utils/use-app-layout-rect.d.ts.map +0 -1
  74. package/app-layout/utils/use-app-layout-rect.js +0 -24
  75. package/app-layout/utils/use-app-layout-rect.js.map +0 -1
  76. package/app-layout/utils/use-content-height.d.ts +0 -8
  77. package/app-layout/utils/use-content-height.d.ts.map +0 -1
  78. package/app-layout/utils/use-content-height.js +0 -25
  79. package/app-layout/utils/use-content-height.js.map +0 -1
@@ -1,29 +1,29 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "arrow": "awsui_arrow_1hpp3_1oiz4_99",
5
- "arrow-outer": "awsui_arrow-outer_1hpp3_1oiz4_103",
6
- "arrow-inner": "awsui_arrow-inner_1hpp3_1oiz4_103",
7
- "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_1oiz4_140",
8
- "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_1oiz4_140",
9
- "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_1oiz4_143",
10
- "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_1oiz4_143",
11
- "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_1oiz4_146",
12
- "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_1oiz4_146",
13
- "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_1oiz4_149",
14
- "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_1oiz4_149",
15
- "annotation": "awsui_annotation_1hpp3_1oiz4_157",
16
- "next-button": "awsui_next-button_1hpp3_1oiz4_158",
17
- "previous-button": "awsui_previous-button_1hpp3_1oiz4_159",
18
- "finish-button": "awsui_finish-button_1hpp3_1oiz4_160",
19
- "header": "awsui_header_1hpp3_1oiz4_161",
20
- "step-counter-content": "awsui_step-counter-content_1hpp3_1oiz4_162",
21
- "content": "awsui_content_1hpp3_1oiz4_163",
22
- "description": "awsui_description_1hpp3_1oiz4_167",
23
- "actionBar": "awsui_actionBar_1hpp3_1oiz4_172",
24
- "stepCounter": "awsui_stepCounter_1hpp3_1oiz4_179",
25
- "divider": "awsui_divider_1hpp3_1oiz4_183",
26
- "hotspot": "awsui_hotspot_1hpp3_1oiz4_187",
27
- "icon": "awsui_icon_1hpp3_1oiz4_254"
4
+ "arrow": "awsui_arrow_1hpp3_8n93s_99",
5
+ "arrow-outer": "awsui_arrow-outer_1hpp3_8n93s_103",
6
+ "arrow-inner": "awsui_arrow-inner_1hpp3_8n93s_103",
7
+ "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_8n93s_140",
8
+ "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_8n93s_140",
9
+ "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_8n93s_143",
10
+ "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_8n93s_143",
11
+ "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_8n93s_146",
12
+ "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_8n93s_146",
13
+ "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_8n93s_149",
14
+ "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_8n93s_149",
15
+ "annotation": "awsui_annotation_1hpp3_8n93s_157",
16
+ "next-button": "awsui_next-button_1hpp3_8n93s_158",
17
+ "previous-button": "awsui_previous-button_1hpp3_8n93s_159",
18
+ "finish-button": "awsui_finish-button_1hpp3_8n93s_160",
19
+ "header": "awsui_header_1hpp3_8n93s_161",
20
+ "step-counter-content": "awsui_step-counter-content_1hpp3_8n93s_162",
21
+ "content": "awsui_content_1hpp3_8n93s_163",
22
+ "description": "awsui_description_1hpp3_8n93s_167",
23
+ "actionBar": "awsui_actionBar_1hpp3_8n93s_172",
24
+ "stepCounter": "awsui_stepCounter_1hpp3_8n93s_179",
25
+ "divider": "awsui_divider_1hpp3_8n93s_183",
26
+ "hotspot": "awsui_hotspot_1hpp3_8n93s_187",
27
+ "icon": "awsui_icon_1hpp3_8n93s_254"
28
28
  };
29
29
 
@@ -96,11 +96,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
96
96
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
97
97
  SPDX-License-Identifier: Apache-2.0
98
98
  */
99
- .awsui_arrow_1hpp3_1oiz4_99:not(#\9) {
99
+ .awsui_arrow_1hpp3_8n93s_99:not(#\9) {
100
100
  inline-size: 20px;
101
101
  block-size: 10px;
102
102
  }
103
- .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9), .awsui_arrow-inner_1hpp3_1oiz4_103:not(#\9) {
103
+ .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9), .awsui_arrow-inner_1hpp3_8n93s_103:not(#\9) {
104
104
  position: absolute;
105
105
  overflow: hidden;
106
106
  inline-size: 20px;
@@ -108,7 +108,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
108
108
  inset-block-start: 0;
109
109
  inset-inline-start: 0;
110
110
  }
111
- .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after, .awsui_arrow-inner_1hpp3_1oiz4_103:not(#\9)::after {
111
+ .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after, .awsui_arrow-inner_1hpp3_8n93s_103:not(#\9)::after {
112
112
  content: "";
113
113
  box-sizing: border-box;
114
114
  display: inline-block;
@@ -124,29 +124,29 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
124
124
  transform: rotate(45deg);
125
125
  transform-origin: 0 100%;
126
126
  }
127
- .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after {
127
+ .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after {
128
128
  background-color: var(--color-border-status-info-8upc6f, #0972d3);
129
129
  }
130
- .awsui_arrow-inner_1hpp3_1oiz4_103:not(#\9) {
130
+ .awsui_arrow-inner_1hpp3_8n93s_103:not(#\9) {
131
131
  inset-block-start: 2px;
132
132
  }
133
- .awsui_arrow-inner_1hpp3_1oiz4_103:not(#\9)::after {
133
+ .awsui_arrow-inner_1hpp3_8n93s_103:not(#\9)::after {
134
134
  border-start-start-radius: 1px;
135
135
  border-start-end-radius: 0;
136
136
  border-end-start-radius: 0;
137
137
  border-end-end-radius: 0;
138
138
  background-color: var(--color-background-status-info-mvnbre, #f2f8fd);
139
139
  }
140
- .awsui_arrow-position-right-top_1hpp3_1oiz4_140 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after, .awsui_arrow-position-right-bottom_1hpp3_1oiz4_140 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after {
140
+ .awsui_arrow-position-right-top_1hpp3_8n93s_140 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after, .awsui_arrow-position-right-bottom_1hpp3_8n93s_140 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after {
141
141
  box-shadow: -0.71px 0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
142
142
  }
143
- .awsui_arrow-position-left-top_1hpp3_1oiz4_143 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after, .awsui_arrow-position-left-bottom_1hpp3_1oiz4_143 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after {
143
+ .awsui_arrow-position-left-top_1hpp3_8n93s_143 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after, .awsui_arrow-position-left-bottom_1hpp3_8n93s_143 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after {
144
144
  box-shadow: 0.71px -0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
145
145
  }
146
- .awsui_arrow-position-top-center_1hpp3_1oiz4_146 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after, .awsui_arrow-position-top-responsive_1hpp3_1oiz4_146 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after {
146
+ .awsui_arrow-position-top-center_1hpp3_8n93s_146 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after, .awsui_arrow-position-top-responsive_1hpp3_8n93s_146 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after {
147
147
  box-shadow: -0.71px -0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
148
148
  }
149
- .awsui_arrow-position-bottom-center_1hpp3_1oiz4_149 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after, .awsui_arrow-position-bottom-responsive_1hpp3_1oiz4_149 > .awsui_arrow-outer_1hpp3_1oiz4_103:not(#\9)::after {
149
+ .awsui_arrow-position-bottom-center_1hpp3_8n93s_149 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after, .awsui_arrow-position-bottom-responsive_1hpp3_8n93s_149 > .awsui_arrow-outer_1hpp3_8n93s_103:not(#\9)::after {
150
150
  box-shadow: 0.71px 0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
151
151
  }
152
152
 
@@ -154,37 +154,37 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
154
154
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
155
155
  SPDX-License-Identifier: Apache-2.0
156
156
  */
157
- .awsui_annotation_1hpp3_1oiz4_157:not(#\9),
158
- .awsui_next-button_1hpp3_1oiz4_158:not(#\9),
159
- .awsui_previous-button_1hpp3_1oiz4_159:not(#\9),
160
- .awsui_finish-button_1hpp3_1oiz4_160:not(#\9),
161
- .awsui_header_1hpp3_1oiz4_161:not(#\9),
162
- .awsui_step-counter-content_1hpp3_1oiz4_162:not(#\9),
163
- .awsui_content_1hpp3_1oiz4_163:not(#\9) {
157
+ .awsui_annotation_1hpp3_8n93s_157:not(#\9),
158
+ .awsui_next-button_1hpp3_8n93s_158:not(#\9),
159
+ .awsui_previous-button_1hpp3_8n93s_159:not(#\9),
160
+ .awsui_finish-button_1hpp3_8n93s_160:not(#\9),
161
+ .awsui_header_1hpp3_8n93s_161:not(#\9),
162
+ .awsui_step-counter-content_1hpp3_8n93s_162:not(#\9),
163
+ .awsui_content_1hpp3_8n93s_163:not(#\9) {
164
164
  /* used in test-utils */
165
165
  }
166
166
 
167
- .awsui_description_1hpp3_1oiz4_167:not(#\9) {
167
+ .awsui_description_1hpp3_8n93s_167:not(#\9) {
168
168
  overflow: hidden;
169
169
  margin-block-start: var(--space-xxs-p8yyaw, 4px);
170
170
  }
171
171
 
172
- .awsui_actionBar_1hpp3_1oiz4_172:not(#\9) {
172
+ .awsui_actionBar_1hpp3_8n93s_172:not(#\9) {
173
173
  display: flex;
174
174
  justify-content: space-between;
175
175
  align-items: center;
176
176
  position: relative;
177
177
  }
178
178
 
179
- .awsui_stepCounter_1hpp3_1oiz4_179:not(#\9) {
179
+ .awsui_stepCounter_1hpp3_8n93s_179:not(#\9) {
180
180
  margin-inline-end: 20px;
181
181
  }
182
182
 
183
- .awsui_divider_1hpp3_1oiz4_183:not(#\9) {
183
+ .awsui_divider_1hpp3_8n93s_183:not(#\9) {
184
184
  border-block-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-divider-default-j74lyz, #b6bec9);
185
185
  }
186
186
 
187
- .awsui_hotspot_1hpp3_1oiz4_187:not(#\9) {
187
+ .awsui_hotspot_1hpp3_8n93s_187:not(#\9) {
188
188
  border-collapse: separate;
189
189
  border-spacing: 0;
190
190
  box-sizing: border-box;
@@ -224,21 +224,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
224
224
  padding-block: 0;
225
225
  padding-inline: 0;
226
226
  cursor: pointer;
227
- scroll-margin: var(--awsui-content-scroll-margin-iof9y8, 40px 0 0 0);
227
+ scroll-margin: var(--awsui-content-scroll-margin-lgosor, 40px 0 0 0);
228
228
  inline-size: 16px;
229
229
  block-size: 16px;
230
230
  }
231
- .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):focus {
231
+ .awsui_hotspot_1hpp3_8n93s_187:not(#\9):focus {
232
232
  outline: none;
233
233
  }
234
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):focus {
234
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_8n93s_187:not(#\9):focus {
235
235
  position: relative;
236
236
  }
237
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):focus {
237
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_8n93s_187:not(#\9):focus {
238
238
  outline: 2px dotted transparent;
239
239
  outline-offset: calc(2px - 1px);
240
240
  }
241
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):focus::before {
241
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_8n93s_187:not(#\9):focus::before {
242
242
  content: " ";
243
243
  display: block;
244
244
  position: absolute;
@@ -252,13 +252,13 @@ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):focu
252
252
  border-end-end-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
253
253
  box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
254
254
  }
255
- .awsui_hotspot_1hpp3_1oiz4_187 > .awsui_icon_1hpp3_1oiz4_254:not(#\9) {
255
+ .awsui_hotspot_1hpp3_8n93s_187 > .awsui_icon_1hpp3_8n93s_254:not(#\9) {
256
256
  position: relative;
257
257
  stroke: var(--color-text-link-default-latg1a, #0972d3);
258
258
  }
259
- .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):hover > .awsui_icon_1hpp3_1oiz4_254 {
259
+ .awsui_hotspot_1hpp3_8n93s_187:not(#\9):hover > .awsui_icon_1hpp3_8n93s_254 {
260
260
  stroke: var(--color-text-link-hover-8j6p14, #033160);
261
261
  }
262
- .awsui_hotspot_1hpp3_1oiz4_187:not(#\9):active > .awsui_icon_1hpp3_1oiz4_254 {
262
+ .awsui_hotspot_1hpp3_8n93s_187:not(#\9):active > .awsui_icon_1hpp3_8n93s_254 {
263
263
  stroke: var(--color-text-link-default-latg1a, #0972d3);
264
264
  }
@@ -2,29 +2,29 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "arrow": "awsui_arrow_1hpp3_1oiz4_99",
6
- "arrow-outer": "awsui_arrow-outer_1hpp3_1oiz4_103",
7
- "arrow-inner": "awsui_arrow-inner_1hpp3_1oiz4_103",
8
- "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_1oiz4_140",
9
- "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_1oiz4_140",
10
- "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_1oiz4_143",
11
- "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_1oiz4_143",
12
- "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_1oiz4_146",
13
- "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_1oiz4_146",
14
- "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_1oiz4_149",
15
- "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_1oiz4_149",
16
- "annotation": "awsui_annotation_1hpp3_1oiz4_157",
17
- "next-button": "awsui_next-button_1hpp3_1oiz4_158",
18
- "previous-button": "awsui_previous-button_1hpp3_1oiz4_159",
19
- "finish-button": "awsui_finish-button_1hpp3_1oiz4_160",
20
- "header": "awsui_header_1hpp3_1oiz4_161",
21
- "step-counter-content": "awsui_step-counter-content_1hpp3_1oiz4_162",
22
- "content": "awsui_content_1hpp3_1oiz4_163",
23
- "description": "awsui_description_1hpp3_1oiz4_167",
24
- "actionBar": "awsui_actionBar_1hpp3_1oiz4_172",
25
- "stepCounter": "awsui_stepCounter_1hpp3_1oiz4_179",
26
- "divider": "awsui_divider_1hpp3_1oiz4_183",
27
- "hotspot": "awsui_hotspot_1hpp3_1oiz4_187",
28
- "icon": "awsui_icon_1hpp3_1oiz4_254"
5
+ "arrow": "awsui_arrow_1hpp3_8n93s_99",
6
+ "arrow-outer": "awsui_arrow-outer_1hpp3_8n93s_103",
7
+ "arrow-inner": "awsui_arrow-inner_1hpp3_8n93s_103",
8
+ "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_8n93s_140",
9
+ "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_8n93s_140",
10
+ "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_8n93s_143",
11
+ "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_8n93s_143",
12
+ "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_8n93s_146",
13
+ "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_8n93s_146",
14
+ "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_8n93s_149",
15
+ "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_8n93s_149",
16
+ "annotation": "awsui_annotation_1hpp3_8n93s_157",
17
+ "next-button": "awsui_next-button_1hpp3_8n93s_158",
18
+ "previous-button": "awsui_previous-button_1hpp3_8n93s_159",
19
+ "finish-button": "awsui_finish-button_1hpp3_8n93s_160",
20
+ "header": "awsui_header_1hpp3_8n93s_161",
21
+ "step-counter-content": "awsui_step-counter-content_1hpp3_8n93s_162",
22
+ "content": "awsui_content_1hpp3_8n93s_163",
23
+ "description": "awsui_description_1hpp3_8n93s_167",
24
+ "actionBar": "awsui_actionBar_1hpp3_8n93s_172",
25
+ "stepCounter": "awsui_stepCounter_1hpp3_8n93s_179",
26
+ "divider": "awsui_divider_1hpp3_8n93s_183",
27
+ "hotspot": "awsui_hotspot_1hpp3_8n93s_187",
28
+ "icon": "awsui_icon_1hpp3_8n93s_254"
29
29
  };
30
30
 
@@ -1,14 +1,20 @@
1
1
  import React from 'react';
2
2
  import { AppLayoutProps } from './interfaces';
3
- declare const ClassicAppLayout: React.ForwardRefExoticComponent<AppLayoutProps & {
3
+ declare const ClassicAppLayout: React.ForwardRefExoticComponent<Omit<AppLayoutProps, "headerSelector" | "footerSelector"> & {
4
4
  contentType: AppLayoutProps.ContentType;
5
5
  navigationOpen: boolean;
6
6
  navigationWidth: number;
7
7
  toolsWidth: number;
8
8
  minContentWidth: number;
9
- headerSelector: string;
10
- footerSelector: string;
11
9
  onNavigationChange: import("../internal/events").NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;
10
+ } & {
11
+ placement: {
12
+ top: number;
13
+ bottom: number;
14
+ left: number;
15
+ right: number;
16
+ width: number;
17
+ };
12
18
  } & React.RefAttributes<AppLayoutProps.Ref>>;
13
19
  export default ClassicAppLayout;
14
20
  //# sourceMappingURL=classic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAI7F,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAiC1E,QAAA,MAAM,gBAAgB;;;;;;;;;4CAwjBrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAI7F,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AA+B1E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;4CAsjBrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -9,7 +9,6 @@ import { fireNonCancelableEvent } from '../internal/events';
9
9
  import { Notifications } from './notifications';
10
10
  import { MobileToolbar } from './mobile-toolbar';
11
11
  import { useFocusControl } from './utils/use-focus-control';
12
- import useContentHeight from './utils/use-content-height';
13
12
  import styles from './styles.css.js';
14
13
  import testutilStyles from './test-classes/styles.css.js';
15
14
  import { findUpUntil } from '../internal/utils/dom';
@@ -19,7 +18,6 @@ import ContentWrapper from './content-wrapper';
19
18
  import { Drawer, DrawerTriggersBar } from './drawer';
20
19
  import { ResizableDrawer } from './drawer/resizable-drawer';
21
20
  import { SPLIT_PANEL_MIN_WIDTH, SideSplitPanelDrawer, SplitPanelProvider, } from './split-panel';
22
- import useAppLayoutRect from './utils/use-app-layout-rect';
23
21
  import { useStableCallback } from '@cloudscape-design/component-toolkit/internal';
24
22
  import { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';
25
23
  import { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';
@@ -27,7 +25,7 @@ import { useContainerQuery } from '@cloudscape-design/component-toolkit';
27
25
  import { togglesConfig } from './toggles';
28
26
  const ClassicAppLayout = React.forwardRef((_a, ref) => {
29
27
  var _b, _c, _d, _e, _f, _g;
30
- var { navigation, navigationWidth, navigationHide, navigationOpen, tools, toolsWidth, toolsHide, toolsOpen: controlledToolsOpen, breadcrumbs, notifications, stickyNotifications, contentHeader, disableContentHeaderOverlap, content, contentType, disableContentPaddings, disableBodyScroll, maxContentWidth, minContentWidth, headerSelector, footerSelector, ariaLabels, splitPanel, splitPanelSize: controlledSplitPanelSize, splitPanelOpen: controlledSplitPanelOpen, splitPanelPreferences: controlledSplitPanelPreferences, onSplitPanelPreferencesChange, onSplitPanelResize, onSplitPanelToggle, onNavigationChange, onToolsChange, drawers: controlledDrawers, onDrawerChange, activeDrawerId: controlledActiveDrawerId } = _a, rest = __rest(_a, ["navigation", "navigationWidth", "navigationHide", "navigationOpen", "tools", "toolsWidth", "toolsHide", "toolsOpen", "breadcrumbs", "notifications", "stickyNotifications", "contentHeader", "disableContentHeaderOverlap", "content", "contentType", "disableContentPaddings", "disableBodyScroll", "maxContentWidth", "minContentWidth", "headerSelector", "footerSelector", "ariaLabels", "splitPanel", "splitPanelSize", "splitPanelOpen", "splitPanelPreferences", "onSplitPanelPreferencesChange", "onSplitPanelResize", "onSplitPanelToggle", "onNavigationChange", "onToolsChange", "drawers", "onDrawerChange", "activeDrawerId"]);
28
+ var { navigation, navigationWidth, navigationHide, navigationOpen, tools, toolsWidth, toolsHide, toolsOpen: controlledToolsOpen, breadcrumbs, notifications, stickyNotifications, contentHeader, disableContentHeaderOverlap, content, contentType, disableContentPaddings, disableBodyScroll, maxContentWidth, minContentWidth, placement, ariaLabels, splitPanel, splitPanelSize: controlledSplitPanelSize, splitPanelOpen: controlledSplitPanelOpen, splitPanelPreferences: controlledSplitPanelPreferences, onSplitPanelPreferencesChange, onSplitPanelResize, onSplitPanelToggle, onNavigationChange, onToolsChange, drawers: controlledDrawers, onDrawerChange, activeDrawerId: controlledActiveDrawerId } = _a, rest = __rest(_a, ["navigation", "navigationWidth", "navigationHide", "navigationOpen", "tools", "toolsWidth", "toolsHide", "toolsOpen", "breadcrumbs", "notifications", "stickyNotifications", "contentHeader", "disableContentHeaderOverlap", "content", "contentType", "disableContentPaddings", "disableBodyScroll", "maxContentWidth", "minContentWidth", "placement", "ariaLabels", "splitPanel", "splitPanelSize", "splitPanelOpen", "splitPanelPreferences", "onSplitPanelPreferencesChange", "onSplitPanelResize", "onSplitPanelToggle", "onNavigationChange", "onToolsChange", "drawers", "onDrawerChange", "activeDrawerId"]);
31
29
  // Private API for embedded view mode
32
30
  const __embeddedViewMode = Boolean(rest.__embeddedViewMode);
33
31
  const rootRef = useRef(null);
@@ -73,7 +71,17 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
73
71
  }, [isMobile, onNavigationToggle]);
74
72
  const navigationVisible = !navigationHide && navigationOpen;
75
73
  const toolsVisible = !toolsHide && toolsOpen;
76
- const { contentHeightStyle, headerHeight, footerHeight } = useContentHeight(headerSelector, footerSelector, disableBodyScroll);
74
+ const [headerFooterHeight, setHeaderFooterHeight] = useState(0);
75
+ // Delay applying changes in header/footer height, as applying them immediately can cause
76
+ // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects
77
+ // further up the tree, therefore blocking notifications to prevent loops
78
+ useEffect(() => {
79
+ const id = requestAnimationFrame(() => setHeaderFooterHeight(placement.top + placement.bottom));
80
+ return () => cancelAnimationFrame(id);
81
+ }, [placement.top, placement.bottom]);
82
+ const contentHeightStyle = {
83
+ [disableBodyScroll ? 'height' : 'minHeight']: `calc(100vh - ${headerFooterHeight}px)`,
84
+ };
77
85
  const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);
78
86
  const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;
79
87
  const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;
@@ -144,23 +152,16 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
144
152
  return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;
145
153
  }
146
154
  else {
147
- const availableHeight = document.documentElement.clientHeight - headerHeight - footerHeight;
155
+ const availableHeight = document.documentElement.clientHeight - placement.top - placement.bottom;
148
156
  return availableHeight < CONSTRAINED_PAGE_HEIGHT
149
157
  ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT
150
158
  : availableHeight - MAIN_PANEL_MIN_HEIGHT;
151
159
  }
152
160
  });
153
- const { left: leftOffset, right: rightOffset, width: documentWidth } = useAppLayoutRect(rootRef.current);
154
161
  const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;
155
162
  const contentPadding = 80;
156
163
  // all content except split-panel + drawers/tools area
157
- const resizableSpaceAvailable = Math.max(0, documentWidth -
158
- leftOffset -
159
- rightOffset -
160
- effectiveNavigationWidth -
161
- minContentWidth -
162
- contentPadding -
163
- rightDrawerBarWidth);
164
+ const resizableSpaceAvailable = Math.max(0, placement.width - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth);
164
165
  // if there is no space to display split panel in the side, force to bottom
165
166
  const isSplitPanelForcedPosition = isMobile || resizableSpaceAvailable - effectiveToolsWidth < SPLIT_PANEL_MIN_WIDTH;
166
167
  const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;
@@ -173,10 +174,10 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
173
174
  const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);
174
175
  const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);
175
176
  const splitPanelContextProps = {
176
- topOffset: headerHeight + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight || 0 : 0),
177
- bottomOffset: footerHeight,
178
- leftOffset: leftOffset + (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),
179
- rightOffset: isMobile ? 0 : rightOffset + effectiveToolsWidth + rightDrawerBarWidth,
177
+ topOffset: placement.top + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight || 0 : 0),
178
+ bottomOffset: placement.bottom,
179
+ leftOffset: placement.left + (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),
180
+ rightOffset: isMobile ? 0 : placement.right + effectiveToolsWidth + rightDrawerBarWidth,
180
181
  position: finalSplitPanePosition,
181
182
  size: splitPanelSize,
182
183
  maxWidth: splitPanelMaxWidth,
@@ -234,7 +235,7 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
234
235
  : splitPanelReportedHeaderHeight)) !== null && _b !== void 0 ? _b : undefined;
235
236
  const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);
236
237
  return (React.createElement("div", { className: clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll']), ref: rootRef, style: contentHeightStyle },
237
- isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (React.createElement(MobileToolbar, { anyPanelOpen: anyPanelOpen, toggleRefs: { navigation: navigationRefs.toggle, tools: toolsRefs.toggle }, topOffset: headerHeight, ariaLabels: ariaLabels, navigationHide: navigationHide, toolsHide: toolsHide, onNavigationOpen: () => onNavigationToggle(true), onToolsOpen: () => onToolsToggle(true), unfocusable: anyPanelOpen, mobileBarRef: mobileBarRef, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
238
+ isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (React.createElement(MobileToolbar, { anyPanelOpen: anyPanelOpen, toggleRefs: { navigation: navigationRefs.toggle, tools: toolsRefs.toggle }, topOffset: placement.top, ariaLabels: ariaLabels, navigationHide: navigationHide, toolsHide: toolsHide, onNavigationOpen: () => onNavigationToggle(true), onToolsOpen: () => onToolsToggle(true), unfocusable: anyPanelOpen, mobileBarRef: mobileBarRef, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
238
239
  onActiveDrawerChange(newDrawerId);
239
240
  if (newDrawerId !== activeDrawerId) {
240
241
  focusToolsButtons();
@@ -242,7 +243,7 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
242
243
  }
243
244
  } }, breadcrumbs)),
244
245
  React.createElement("div", { className: clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll']) },
245
- !navigationHide && (React.createElement(Drawer, { contentClassName: testutilStyles.navigation, toggleClassName: testutilStyles['navigation-toggle'], closeClassName: testutilStyles['navigation-close'], ariaLabels: togglesConfig.navigation.getLabels(ariaLabels), bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, isOpen: navigationOpen, onClick: isMobile ? onNavigationClick : undefined, onToggle: onNavigationToggle, toggleRefs: navigationRefs, type: "navigation", width: navigationWidth }, navigation)),
246
+ !navigationHide && (React.createElement(Drawer, { contentClassName: testutilStyles.navigation, toggleClassName: testutilStyles['navigation-toggle'], closeClassName: testutilStyles['navigation-close'], ariaLabels: togglesConfig.navigation.getLabels(ariaLabels), bottomOffset: placement.bottom, topOffset: placement.top, isMobile: isMobile, isOpen: navigationOpen, onClick: isMobile ? onNavigationClick : undefined, onToggle: onNavigationToggle, toggleRefs: navigationRefs, type: "navigation", width: navigationWidth }, navigation)),
246
247
  React.createElement("main", { ref: legacyScrollRootRef, className: clsx(styles['layout-main'], {
247
248
  [styles['layout-main-scrollable']]: disableBodyScroll,
248
249
  [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,
@@ -251,7 +252,7 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
251
252
  React.createElement("div", { style: {
252
253
  marginBottom: splitPanelBottomOffset,
253
254
  } },
254
- notifications && (React.createElement(Notifications, { disableContentPaddings: disableContentPaddings, testUtilsClassName: testutilStyles.notifications, labels: ariaLabels, topOffset: disableBodyScroll ? 0 : headerHeight, sticky: !isMobile && stickyNotifications, ref: notificationsRef }, notifications)),
255
+ notifications && (React.createElement(Notifications, { disableContentPaddings: disableContentPaddings, testUtilsClassName: testutilStyles.notifications, labels: ariaLabels, topOffset: disableBodyScroll ? 0 : placement.top, sticky: !isMobile && stickyNotifications, ref: notificationsRef }, notifications)),
255
256
  ((!isMobile && breadcrumbs) || contentHeader) && (React.createElement(ContentWrapper, Object.assign({}, contentWrapperProps),
256
257
  !isMobile && breadcrumbs && (React.createElement("div", { className: clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop']) }, breadcrumbs)),
257
258
  contentHeader && (React.createElement("div", { className: clsx(styles['content-header-wrapper'], !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'], !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'], !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']) }, contentHeader)))),
@@ -269,9 +270,9 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
269
270
  stickyOffsetTop:
270
271
  // We don't support the table header being sticky in case the deprecated disableBodyScroll is enabled,
271
272
  // therefore we ensure the table header scrolls out of view by offseting a large enough value (9999px)
272
- (disableBodyScroll ? (isMobile ? -9999 : 0) : headerHeight) +
273
+ (disableBodyScroll ? (isMobile ? -9999 : 0) : placement.top) +
273
274
  (isMobile ? 0 : stickyNotificationsHeight !== null ? stickyNotificationsHeight : 0),
274
- stickyOffsetBottom: footerHeight + (splitPanelBottomOffset || 0),
275
+ stickyOffsetBottom: placement.bottom + (splitPanelBottomOffset || 0),
275
276
  mobileBarHeight: mobileBarHeight !== null && mobileBarHeight !== void 0 ? mobileBarHeight : 0,
276
277
  } }, content))),
277
278
  finalSplitPanePosition === 'bottom' && splitPanelWrapped),
@@ -281,14 +282,14 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
281
282
  closeLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.closeButton,
282
283
  mainLabel: (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.drawerName,
283
284
  resizeHandle: (_f = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _f === void 0 ? void 0 : _f.resizeHandle,
284
- }, minWidth: minDrawerSize, maxWidth: drawerMaxSize, width: activeDrawerSize, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: isOpen => {
285
+ }, minWidth: minDrawerSize, maxWidth: drawerMaxSize, width: activeDrawerSize, bottomOffset: placement.bottom, topOffset: placement.top, isMobile: isMobile, onToggle: isOpen => {
285
286
  if (!isOpen) {
286
287
  focusToolsButtons();
287
288
  focusDrawersButtons();
288
289
  onActiveDrawerChange(null);
289
290
  }
290
- }, isOpen: true, hideOpenButton: true, toggleRefs: drawerRefs, type: "tools", onLoseFocus: loseDrawersFocus, activeDrawer: activeDrawer, onResize: changeDetail => onActiveDrawerResize(changeDetail), refs: drawerRefs, toolsContent: (_g = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _g === void 0 ? void 0 : _g.content }, activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.content)) : (!toolsHide && (React.createElement(Drawer, { contentClassName: testutilStyles.tools, toggleClassName: testutilStyles['tools-toggle'], closeClassName: testutilStyles['tools-close'], ariaLabels: togglesConfig.tools.getLabels(ariaLabels), width: toolsWidth, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen, toggleRefs: toolsRefs, type: "tools", onLoseFocus: loseToolsFocus }, tools))),
291
- hasDrawers && drawers.length > 0 && (React.createElement(DrawerTriggersBar, { drawerRefs: drawerRefs, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
291
+ }, isOpen: true, hideOpenButton: true, toggleRefs: drawerRefs, type: "tools", onLoseFocus: loseDrawersFocus, activeDrawer: activeDrawer, onResize: changeDetail => onActiveDrawerResize(changeDetail), refs: drawerRefs, toolsContent: (_g = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _g === void 0 ? void 0 : _g.content }, activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.content)) : (!toolsHide && (React.createElement(Drawer, { contentClassName: testutilStyles.tools, toggleClassName: testutilStyles['tools-toggle'], closeClassName: testutilStyles['tools-close'], ariaLabels: togglesConfig.tools.getLabels(ariaLabels), width: toolsWidth, bottomOffset: placement.bottom, topOffset: placement.top, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen, toggleRefs: toolsRefs, type: "tools", onLoseFocus: loseToolsFocus }, tools))),
292
+ hasDrawers && drawers.length > 0 && (React.createElement(DrawerTriggersBar, { drawerRefs: drawerRefs, bottomOffset: placement.bottom, topOffset: placement.top, isMobile: isMobile, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
292
293
  if (activeDrawerId !== newDrawerId) {
293
294
  focusToolsButtons();
294
295
  focusDrawersButtons();