@cloudscape-design/components 3.0.839 → 3.0.840

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 (290) hide show
  1. package/alert/styles.css.js +28 -28
  2. package/alert/styles.scoped.css +43 -49
  3. package/alert/styles.selectors.js +28 -28
  4. package/anchor-navigation/styles.css.js +8 -8
  5. package/anchor-navigation/styles.scoped.css +18 -21
  6. package/anchor-navigation/styles.selectors.js +8 -8
  7. package/annotation-context/annotation/styles.css.js +24 -24
  8. package/annotation-context/annotation/styles.scoped.css +30 -33
  9. package/annotation-context/annotation/styles.selectors.js +24 -24
  10. package/app-layout/classic.d.ts.map +1 -1
  11. package/app-layout/classic.js +3 -4
  12. package/app-layout/classic.js.map +1 -1
  13. package/app-layout/split-panel/constants.d.ts +0 -1
  14. package/app-layout/split-panel/constants.d.ts.map +1 -1
  15. package/app-layout/split-panel/constants.js +0 -1
  16. package/app-layout/split-panel/constants.js.map +1 -1
  17. package/app-layout/utils/use-pointer-events.d.ts.map +1 -1
  18. package/app-layout/utils/use-pointer-events.js +19 -10
  19. package/app-layout/utils/use-pointer-events.js.map +1 -1
  20. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  21. package/app-layout/visual-refresh/context.js +8 -2
  22. package/app-layout/visual-refresh/context.js.map +1 -1
  23. package/app-layout/visual-refresh/styles.css.js +86 -86
  24. package/app-layout/visual-refresh/styles.scoped.css +163 -169
  25. package/app-layout/visual-refresh/styles.selectors.js +86 -86
  26. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  27. package/app-layout/visual-refresh-toolbar/compute-layout.js +2 -3
  28. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  29. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +19 -19
  30. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +35 -50
  31. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +19 -19
  32. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +13 -13
  33. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +15 -18
  34. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +13 -13
  35. package/attribute-editor/styles.css.js +14 -14
  36. package/attribute-editor/styles.scoped.css +24 -27
  37. package/attribute-editor/styles.selectors.js +14 -14
  38. package/badge/styles.css.js +10 -10
  39. package/badge/styles.scoped.css +10 -13
  40. package/badge/styles.selectors.js +10 -10
  41. package/breadcrumb-group/styles.css.js +10 -10
  42. package/breadcrumb-group/styles.scoped.css +11 -14
  43. package/breadcrumb-group/styles.selectors.js +10 -10
  44. package/button/styles.css.js +21 -21
  45. package/button/styles.scoped.css +154 -157
  46. package/button/styles.selectors.js +21 -21
  47. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  48. package/button-dropdown/mobile-expandable-group/styles.scoped.css +5 -8
  49. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  50. package/button-group/styles.css.js +4 -4
  51. package/button-group/styles.scoped.css +4 -7
  52. package/button-group/styles.selectors.js +4 -4
  53. package/calendar/styles.css.js +21 -21
  54. package/calendar/styles.scoped.css +43 -46
  55. package/calendar/styles.selectors.js +21 -21
  56. package/cards/styles.css.js +39 -39
  57. package/cards/styles.scoped.css +50 -53
  58. package/cards/styles.selectors.js +39 -39
  59. package/checkbox/styles.css.js +3 -3
  60. package/checkbox/styles.scoped.css +5 -8
  61. package/checkbox/styles.selectors.js +3 -3
  62. package/code-editor/styles.css.js +33 -33
  63. package/code-editor/styles.scoped.css +135 -138
  64. package/code-editor/styles.selectors.js +33 -33
  65. package/collection-preferences/content-display/styles.css.js +13 -13
  66. package/collection-preferences/content-display/styles.scoped.css +19 -22
  67. package/collection-preferences/content-display/styles.selectors.js +13 -13
  68. package/collection-preferences/styles.css.js +39 -39
  69. package/collection-preferences/styles.scoped.css +46 -49
  70. package/collection-preferences/styles.selectors.js +39 -39
  71. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  72. package/column-layout/flexible-column-layout/styles.scoped.css +22 -7
  73. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  74. package/column-layout/styles.css.js +13 -13
  75. package/column-layout/styles.scoped.css +43 -46
  76. package/column-layout/styles.selectors.js +13 -13
  77. package/container/styles.css.js +31 -31
  78. package/container/styles.scoped.css +54 -57
  79. package/container/styles.selectors.js +31 -31
  80. package/copy-to-clipboard/internal.js +2 -2
  81. package/copy-to-clipboard/internal.js.map +1 -1
  82. package/copy-to-clipboard/styles.css.js +3 -4
  83. package/copy-to-clipboard/styles.scoped.css +3 -7
  84. package/copy-to-clipboard/styles.selectors.js +3 -4
  85. package/date-picker/index.js +1 -1
  86. package/date-picker/index.js.map +1 -1
  87. package/date-picker/styles.css.js +7 -7
  88. package/date-picker/styles.scoped.css +9 -12
  89. package/date-picker/styles.selectors.js +7 -7
  90. package/date-range-picker/dropdown.d.ts.map +1 -1
  91. package/date-range-picker/dropdown.js +1 -1
  92. package/date-range-picker/dropdown.js.map +1 -1
  93. package/date-range-picker/styles.css.js +38 -38
  94. package/date-range-picker/styles.scoped.css +47 -50
  95. package/date-range-picker/styles.selectors.js +38 -38
  96. package/drawer/styles.css.js +5 -5
  97. package/drawer/styles.scoped.css +10 -13
  98. package/drawer/styles.selectors.js +5 -5
  99. package/expandable-section/styles.css.js +34 -34
  100. package/expandable-section/styles.scoped.css +65 -68
  101. package/expandable-section/styles.selectors.js +34 -34
  102. package/file-token-group/styles.css.js +22 -22
  103. package/file-token-group/styles.scoped.css +29 -32
  104. package/file-token-group/styles.selectors.js +22 -22
  105. package/flashbar/styles.css.js +50 -50
  106. package/flashbar/styles.scoped.css +148 -151
  107. package/flashbar/styles.selectors.js +50 -50
  108. package/form/styles.css.js +8 -8
  109. package/form/styles.scoped.css +8 -11
  110. package/form/styles.selectors.js +8 -8
  111. package/form-field/styles.css.js +24 -24
  112. package/form-field/styles.scoped.css +38 -41
  113. package/form-field/styles.selectors.js +24 -24
  114. package/grid/styles.css.js +53 -53
  115. package/grid/styles.scoped.css +54 -57
  116. package/grid/styles.selectors.js +53 -53
  117. package/header/styles.css.js +34 -34
  118. package/header/styles.scoped.css +50 -53
  119. package/header/styles.selectors.js +34 -34
  120. package/help-panel/styles.css.js +6 -6
  121. package/help-panel/styles.scoped.css +67 -70
  122. package/help-panel/styles.selectors.js +6 -6
  123. package/input/styles.css.js +13 -13
  124. package/input/styles.scoped.css +32 -35
  125. package/input/styles.selectors.js +13 -13
  126. package/internal/components/button-trigger/styles.css.js +13 -13
  127. package/internal/components/button-trigger/styles.scoped.css +27 -30
  128. package/internal/components/button-trigger/styles.selectors.js +13 -13
  129. package/internal/components/chart-filter/styles.css.js +3 -3
  130. package/internal/components/chart-filter/styles.scoped.css +3 -6
  131. package/internal/components/chart-filter/styles.selectors.js +3 -3
  132. package/internal/components/chart-legend/styles.css.js +6 -6
  133. package/internal/components/chart-legend/styles.scoped.css +15 -18
  134. package/internal/components/chart-legend/styles.selectors.js +6 -6
  135. package/internal/components/chart-popover/styles.css.js +3 -3
  136. package/internal/components/chart-popover/styles.scoped.css +3 -6
  137. package/internal/components/chart-popover/styles.selectors.js +3 -3
  138. package/internal/components/chart-series-details/styles.css.js +20 -20
  139. package/internal/components/chart-series-details/styles.scoped.css +33 -42
  140. package/internal/components/chart-series-details/styles.selectors.js +20 -20
  141. package/internal/components/chart-series-marker/styles.css.js +5 -5
  142. package/internal/components/chart-series-marker/styles.scoped.css +7 -10
  143. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  144. package/internal/components/chart-wrapper/styles.css.js +9 -9
  145. package/internal/components/chart-wrapper/styles.scoped.css +9 -12
  146. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  147. package/internal/components/dropdown/styles.css.js +20 -20
  148. package/internal/components/dropdown/styles.scoped.css +37 -40
  149. package/internal/components/dropdown/styles.selectors.js +20 -20
  150. package/internal/components/dropdown-footer/styles.css.js +3 -3
  151. package/internal/components/dropdown-footer/styles.scoped.css +3 -6
  152. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  153. package/internal/components/dropdown-status/styles.css.js +2 -2
  154. package/internal/components/dropdown-status/styles.scoped.css +2 -5
  155. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  156. package/internal/components/menu-dropdown/styles.css.js +7 -7
  157. package/internal/components/menu-dropdown/styles.scoped.css +13 -16
  158. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  159. package/internal/components/option/styles.css.js +17 -17
  160. package/internal/components/option/styles.scoped.css +29 -32
  161. package/internal/components/option/styles.selectors.js +17 -17
  162. package/internal/components/options-list/styles.css.js +3 -3
  163. package/internal/components/options-list/styles.scoped.css +3 -6
  164. package/internal/components/options-list/styles.selectors.js +3 -3
  165. package/internal/components/token-list/styles.css.js +10 -10
  166. package/internal/components/token-list/styles.scoped.css +22 -25
  167. package/internal/components/token-list/styles.selectors.js +10 -10
  168. package/internal/environment.js +1 -1
  169. package/internal/environment.json +1 -1
  170. package/internal/events/index.d.ts +1 -0
  171. package/internal/events/index.d.ts.map +1 -1
  172. package/internal/events/index.js +1 -0
  173. package/internal/events/index.js.map +1 -1
  174. package/internal/manifest.json +1 -1
  175. package/key-value-pairs/styles.css.js +8 -8
  176. package/key-value-pairs/styles.scoped.css +9 -15
  177. package/key-value-pairs/styles.selectors.js +8 -8
  178. package/link/styles.css.js +20 -20
  179. package/link/styles.scoped.css +71 -74
  180. package/link/styles.selectors.js +20 -20
  181. package/modal/internal.js +1 -1
  182. package/modal/internal.js.map +1 -1
  183. package/modal/styles.css.js +23 -23
  184. package/modal/styles.scoped.css +38 -44
  185. package/modal/styles.selectors.js +23 -23
  186. package/multiselect/styles.css.js +3 -3
  187. package/multiselect/styles.scoped.css +3 -9
  188. package/multiselect/styles.selectors.js +3 -3
  189. package/package.json +1 -1
  190. package/pagination/styles.css.js +9 -9
  191. package/pagination/styles.scoped.css +23 -26
  192. package/pagination/styles.selectors.js +9 -9
  193. package/popover/body.d.ts.map +1 -1
  194. package/popover/body.js +0 -1
  195. package/popover/body.js.map +1 -1
  196. package/popover/internal.d.ts +1 -0
  197. package/popover/internal.d.ts.map +1 -1
  198. package/popover/internal.js +2 -2
  199. package/popover/internal.js.map +1 -1
  200. package/popover/styles.css.js +53 -52
  201. package/popover/styles.scoped.css +71 -77
  202. package/popover/styles.selectors.js +53 -52
  203. package/progress-bar/styles.css.js +19 -19
  204. package/progress-bar/styles.scoped.css +30 -33
  205. package/progress-bar/styles.selectors.js +19 -19
  206. package/prompt-input/styles.css.js +14 -14
  207. package/prompt-input/styles.scoped.css +39 -51
  208. package/prompt-input/styles.selectors.js +14 -14
  209. package/property-filter/filtering-token/styles.css.js +18 -18
  210. package/property-filter/filtering-token/styles.scoped.css +41 -44
  211. package/property-filter/filtering-token/styles.selectors.js +18 -18
  212. package/property-filter/styles.css.js +39 -39
  213. package/property-filter/styles.scoped.css +41 -47
  214. package/property-filter/styles.selectors.js +39 -39
  215. package/radio-group/styles.css.js +10 -10
  216. package/radio-group/styles.scoped.css +16 -19
  217. package/radio-group/styles.selectors.js +10 -10
  218. package/segmented-control/styles.css.js +15 -15
  219. package/segmented-control/styles.scoped.css +34 -37
  220. package/segmented-control/styles.selectors.js +15 -15
  221. package/select/styles.css.js +1 -1
  222. package/select/styles.scoped.css +1 -4
  223. package/select/styles.selectors.js +1 -1
  224. package/side-navigation/styles.css.js +30 -30
  225. package/side-navigation/styles.scoped.css +46 -49
  226. package/side-navigation/styles.selectors.js +30 -30
  227. package/slider/styles.css.js +26 -26
  228. package/slider/styles.scoped.css +76 -79
  229. package/slider/styles.selectors.js +26 -26
  230. package/split-panel/styles.css.js +26 -26
  231. package/split-panel/styles.scoped.css +44 -47
  232. package/split-panel/styles.selectors.js +26 -26
  233. package/steps/styles.css.js +6 -6
  234. package/steps/styles.scoped.css +7 -10
  235. package/steps/styles.selectors.js +6 -6
  236. package/table/expandable-rows/styles.css.js +3 -3
  237. package/table/expandable-rows/styles.scoped.css +13 -16
  238. package/table/expandable-rows/styles.selectors.js +3 -3
  239. package/table/resizer/styles.css.js +8 -8
  240. package/table/resizer/styles.scoped.css +15 -18
  241. package/table/resizer/styles.selectors.js +8 -8
  242. package/table/sticky-scrollbar/sticky-scrollbar.d.ts.map +1 -1
  243. package/table/sticky-scrollbar/sticky-scrollbar.js +6 -2
  244. package/table/sticky-scrollbar/sticky-scrollbar.js.map +1 -1
  245. package/table/sticky-scrollbar/styles.css.js +6 -6
  246. package/table/sticky-scrollbar/styles.scoped.css +10 -7
  247. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  248. package/tabs/styles.css.js +28 -28
  249. package/tabs/styles.scoped.css +49 -52
  250. package/tabs/styles.selectors.js +28 -28
  251. package/text-content/styles.css.js +1 -1
  252. package/text-content/styles.scoped.css +60 -63
  253. package/text-content/styles.selectors.js +1 -1
  254. package/text-filter/styles.css.js +3 -3
  255. package/text-filter/styles.scoped.css +3 -6
  256. package/text-filter/styles.selectors.js +3 -3
  257. package/textarea/styles.css.js +5 -5
  258. package/textarea/styles.scoped.css +14 -17
  259. package/textarea/styles.selectors.js +5 -5
  260. package/tiles/styles.css.js +30 -30
  261. package/tiles/styles.scoped.css +71 -77
  262. package/tiles/styles.selectors.js +30 -30
  263. package/toggle/styles.css.js +10 -10
  264. package/toggle/styles.scoped.css +17 -20
  265. package/toggle/styles.selectors.js +10 -10
  266. package/token-group/styles.css.js +8 -8
  267. package/token-group/styles.scoped.css +16 -19
  268. package/token-group/styles.selectors.js +8 -8
  269. package/top-navigation/1.0-beta/styles.css.js +25 -25
  270. package/top-navigation/1.0-beta/styles.scoped.css +42 -45
  271. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  272. package/top-navigation/styles.css.js +47 -47
  273. package/top-navigation/styles.scoped.css +66 -75
  274. package/top-navigation/styles.selectors.js +47 -47
  275. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  276. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +21 -24
  277. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  278. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  279. package/tutorial-panel/components/tutorial-list/styles.scoped.css +27 -36
  280. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  281. package/tutorial-panel/styles.css.js +1 -1
  282. package/tutorial-panel/styles.scoped.css +1 -4
  283. package/tutorial-panel/styles.selectors.js +1 -1
  284. package/wizard/styles.css.js +30 -30
  285. package/wizard/styles.scoped.css +58 -61
  286. package/wizard/styles.selectors.js +30 -30
  287. package/app-layout/split-panel/split-panel-utils.d.ts +0 -12
  288. package/app-layout/split-panel/split-panel-utils.d.ts.map +0 -1
  289. package/app-layout/split-panel/split-panel-utils.js +0 -28
  290. package/app-layout/split-panel/split-panel-utils.js.map +0 -1
@@ -186,11 +186,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
186
186
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
187
187
  SPDX-License-Identifier: Apache-2.0
188
188
  */
189
- .awsui_arrow_1hpp3_1bgvu_189:not(#\9) {
189
+ .awsui_arrow_1hpp3_1ac93_189:not(#\9) {
190
190
  inline-size: 20px;
191
191
  block-size: 10px;
192
192
  }
193
- .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9), .awsui_arrow-inner_1hpp3_1bgvu_193:not(#\9) {
193
+ .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9), .awsui_arrow-inner_1hpp3_1ac93_193:not(#\9) {
194
194
  position: absolute;
195
195
  overflow: hidden;
196
196
  inline-size: 20px;
@@ -199,7 +199,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
199
199
  inset-inline-start: 0;
200
200
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
201
201
  }
202
- .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after, .awsui_arrow-inner_1hpp3_1bgvu_193:not(#\9)::after {
202
+ .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after, .awsui_arrow-inner_1hpp3_1ac93_193:not(#\9)::after {
203
203
  content: "";
204
204
  box-sizing: border-box;
205
205
  display: inline-block;
@@ -215,67 +215,67 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
215
215
  transform: rotate(45deg);
216
216
  transform-origin: 0 100%;
217
217
  }
218
- .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9):dir(rtl)::after, .awsui_arrow-inner_1hpp3_1bgvu_193:not(#\9):dir(rtl)::after {
218
+ .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9):dir(rtl)::after, .awsui_arrow-inner_1hpp3_1ac93_193:not(#\9):dir(rtl)::after {
219
219
  transform: rotate(-45deg);
220
220
  transform-origin: 100% 100%;
221
221
  }
222
- .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after {
222
+ .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after {
223
223
  background-color: var(--color-border-status-info-z6pwqy, #006ce0);
224
224
  }
225
- .awsui_arrow-inner_1hpp3_1bgvu_193:not(#\9) {
225
+ .awsui_arrow-inner_1hpp3_1ac93_193:not(#\9) {
226
226
  inset-block-start: 2px;
227
227
  }
228
- .awsui_arrow-inner_1hpp3_1bgvu_193:not(#\9)::after {
228
+ .awsui_arrow-inner_1hpp3_1ac93_193:not(#\9)::after {
229
229
  border-start-start-radius: 1px;
230
230
  border-start-end-radius: 0;
231
231
  border-end-start-radius: 0;
232
232
  border-end-end-radius: 0;
233
233
  background-color: var(--color-background-status-info-gflgo4, #f0fbff);
234
234
  }
235
- .awsui_arrow-position-right-top_1hpp3_1bgvu_235 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after, .awsui_arrow-position-right-bottom_1hpp3_1bgvu_235 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after {
235
+ .awsui_arrow-position-right-top_1hpp3_1ac93_235 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after, .awsui_arrow-position-right-bottom_1hpp3_1ac93_235 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after {
236
236
  box-shadow: -0.71px 0.71px 4px -2px var(--color-shadow-default-u7prpu, rgba(15, 20, 26, 0.12));
237
237
  }
238
- .awsui_arrow-position-left-top_1hpp3_1bgvu_238 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after, .awsui_arrow-position-left-bottom_1hpp3_1bgvu_238 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after {
238
+ .awsui_arrow-position-left-top_1hpp3_1ac93_238 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after, .awsui_arrow-position-left-bottom_1hpp3_1ac93_238 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after {
239
239
  box-shadow: 0.71px -0.71px 4px -2px var(--color-shadow-default-u7prpu, rgba(15, 20, 26, 0.12));
240
240
  }
241
- .awsui_arrow-position-top-center_1hpp3_1bgvu_241 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after, .awsui_arrow-position-top-responsive_1hpp3_1bgvu_241 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after {
241
+ .awsui_arrow-position-top-center_1hpp3_1ac93_241 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after, .awsui_arrow-position-top-responsive_1hpp3_1ac93_241 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after {
242
242
  box-shadow: -0.71px -0.71px 4px -2px var(--color-shadow-default-u7prpu, rgba(15, 20, 26, 0.12));
243
243
  }
244
- .awsui_arrow-position-bottom-center_1hpp3_1bgvu_244 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after, .awsui_arrow-position-bottom-responsive_1hpp3_1bgvu_244 > .awsui_arrow-outer_1hpp3_1bgvu_193:not(#\9)::after {
244
+ .awsui_arrow-position-bottom-center_1hpp3_1ac93_244 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after, .awsui_arrow-position-bottom-responsive_1hpp3_1ac93_244 > .awsui_arrow-outer_1hpp3_1ac93_193:not(#\9)::after {
245
245
  box-shadow: 0.71px 0.71px 4px -2px var(--color-shadow-default-u7prpu, rgba(15, 20, 26, 0.12));
246
246
  }
247
247
 
248
- .awsui_annotation_1hpp3_1bgvu_248:not(#\9),
249
- .awsui_next-button_1hpp3_1bgvu_249:not(#\9),
250
- .awsui_previous-button_1hpp3_1bgvu_250:not(#\9),
251
- .awsui_finish-button_1hpp3_1bgvu_251:not(#\9),
252
- .awsui_header_1hpp3_1bgvu_252:not(#\9),
253
- .awsui_step-counter-content_1hpp3_1bgvu_253:not(#\9),
254
- .awsui_content_1hpp3_1bgvu_254:not(#\9) {
248
+ .awsui_annotation_1hpp3_1ac93_248:not(#\9),
249
+ .awsui_next-button_1hpp3_1ac93_249:not(#\9),
250
+ .awsui_previous-button_1hpp3_1ac93_250:not(#\9),
251
+ .awsui_finish-button_1hpp3_1ac93_251:not(#\9),
252
+ .awsui_header_1hpp3_1ac93_252:not(#\9),
253
+ .awsui_step-counter-content_1hpp3_1ac93_253:not(#\9),
254
+ .awsui_content_1hpp3_1ac93_254:not(#\9) {
255
255
  /* used in test-utils */
256
256
  }
257
257
 
258
- .awsui_description_1hpp3_1bgvu_258:not(#\9) {
258
+ .awsui_description_1hpp3_1ac93_258:not(#\9) {
259
259
  overflow: hidden;
260
260
  margin-block-start: var(--space-xxs-p8yyaw, 4px);
261
261
  }
262
262
 
263
- .awsui_actionBar_1hpp3_1bgvu_263:not(#\9) {
263
+ .awsui_actionBar_1hpp3_1ac93_263:not(#\9) {
264
264
  display: flex;
265
265
  justify-content: space-between;
266
266
  align-items: center;
267
267
  position: relative;
268
268
  }
269
269
 
270
- .awsui_stepCounter_1hpp3_1bgvu_270:not(#\9) {
270
+ .awsui_stepCounter_1hpp3_1ac93_270:not(#\9) {
271
271
  margin-inline-end: 20px;
272
272
  }
273
273
 
274
- .awsui_divider_1hpp3_1bgvu_274:not(#\9) {
274
+ .awsui_divider_1hpp3_1ac93_274:not(#\9) {
275
275
  border-block-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-divider-default-cx07f2, #c6c6cd);
276
276
  }
277
277
 
278
- .awsui_hotspot_1hpp3_1bgvu_278:not(#\9) {
278
+ .awsui_hotspot_1hpp3_1ac93_278:not(#\9) {
279
279
  border-collapse: separate;
280
280
  border-spacing: 0;
281
281
  box-sizing: border-box;
@@ -284,12 +284,9 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
284
284
  direction: inherit;
285
285
  empty-cells: show;
286
286
  font-family: serif;
287
- font-size: medium;
288
287
  font-style: normal;
289
288
  font-variant: normal;
290
- font-weight: 400;
291
289
  font-stretch: normal;
292
- line-height: normal;
293
290
  -webkit-hyphens: none;
294
291
  hyphens: none;
295
292
  letter-spacing: normal;
@@ -319,17 +316,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
319
316
  inline-size: 16px;
320
317
  block-size: 16px;
321
318
  }
322
- .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):focus {
319
+ .awsui_hotspot_1hpp3_1ac93_278:not(#\9):focus {
323
320
  outline: none;
324
321
  }
325
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):focus {
322
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1ac93_278:not(#\9):focus {
326
323
  position: relative;
327
324
  }
328
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):focus {
325
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1ac93_278:not(#\9):focus {
329
326
  outline: 2px dotted transparent;
330
327
  outline-offset: calc(2px - 1px);
331
328
  }
332
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):focus::before {
329
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1ac93_278:not(#\9):focus::before {
333
330
  content: " ";
334
331
  display: block;
335
332
  position: absolute;
@@ -343,13 +340,13 @@ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):focu
343
340
  border-end-end-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
344
341
  box-shadow: 0 0 0 2px var(--color-border-item-focused-nv6mhz, #006ce0);
345
342
  }
346
- .awsui_hotspot_1hpp3_1bgvu_278 > .awsui_icon_1hpp3_1bgvu_345:not(#\9) {
343
+ .awsui_hotspot_1hpp3_1ac93_278 > .awsui_icon_1hpp3_1ac93_342:not(#\9) {
347
344
  position: relative;
348
345
  stroke: var(--color-text-link-default-enwvrt, #006ce0);
349
346
  }
350
- .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):hover > .awsui_icon_1hpp3_1bgvu_345 {
347
+ .awsui_hotspot_1hpp3_1ac93_278:not(#\9):hover > .awsui_icon_1hpp3_1ac93_342 {
351
348
  stroke: var(--color-text-link-hover-49uoe9, #002b66);
352
349
  }
353
- .awsui_hotspot_1hpp3_1bgvu_278:not(#\9):active > .awsui_icon_1hpp3_1bgvu_345 {
350
+ .awsui_hotspot_1hpp3_1ac93_278:not(#\9):active > .awsui_icon_1hpp3_1ac93_342 {
354
351
  stroke: var(--color-text-link-default-enwvrt, #006ce0);
355
352
  }
@@ -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_1bgvu_189",
6
- "arrow-outer": "awsui_arrow-outer_1hpp3_1bgvu_193",
7
- "arrow-inner": "awsui_arrow-inner_1hpp3_1bgvu_193",
8
- "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_1bgvu_235",
9
- "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_1bgvu_235",
10
- "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_1bgvu_238",
11
- "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_1bgvu_238",
12
- "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_1bgvu_241",
13
- "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_1bgvu_241",
14
- "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_1bgvu_244",
15
- "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_1bgvu_244",
16
- "annotation": "awsui_annotation_1hpp3_1bgvu_248",
17
- "next-button": "awsui_next-button_1hpp3_1bgvu_249",
18
- "previous-button": "awsui_previous-button_1hpp3_1bgvu_250",
19
- "finish-button": "awsui_finish-button_1hpp3_1bgvu_251",
20
- "header": "awsui_header_1hpp3_1bgvu_252",
21
- "step-counter-content": "awsui_step-counter-content_1hpp3_1bgvu_253",
22
- "content": "awsui_content_1hpp3_1bgvu_254",
23
- "description": "awsui_description_1hpp3_1bgvu_258",
24
- "actionBar": "awsui_actionBar_1hpp3_1bgvu_263",
25
- "stepCounter": "awsui_stepCounter_1hpp3_1bgvu_270",
26
- "divider": "awsui_divider_1hpp3_1bgvu_274",
27
- "hotspot": "awsui_hotspot_1hpp3_1bgvu_278",
28
- "icon": "awsui_icon_1hpp3_1bgvu_345"
5
+ "arrow": "awsui_arrow_1hpp3_1ac93_189",
6
+ "arrow-outer": "awsui_arrow-outer_1hpp3_1ac93_193",
7
+ "arrow-inner": "awsui_arrow-inner_1hpp3_1ac93_193",
8
+ "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_1ac93_235",
9
+ "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_1ac93_235",
10
+ "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_1ac93_238",
11
+ "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_1ac93_238",
12
+ "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_1ac93_241",
13
+ "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_1ac93_241",
14
+ "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_1ac93_244",
15
+ "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_1ac93_244",
16
+ "annotation": "awsui_annotation_1hpp3_1ac93_248",
17
+ "next-button": "awsui_next-button_1hpp3_1ac93_249",
18
+ "previous-button": "awsui_previous-button_1hpp3_1ac93_250",
19
+ "finish-button": "awsui_finish-button_1hpp3_1ac93_251",
20
+ "header": "awsui_header_1hpp3_1ac93_252",
21
+ "step-counter-content": "awsui_step-counter-content_1hpp3_1ac93_253",
22
+ "content": "awsui_content_1hpp3_1ac93_254",
23
+ "description": "awsui_description_1hpp3_1ac93_258",
24
+ "actionBar": "awsui_actionBar_1hpp3_1ac93_263",
25
+ "stepCounter": "awsui_stepCounter_1hpp3_1ac93_270",
26
+ "divider": "awsui_divider_1hpp3_1ac93_274",
27
+ "hotspot": "awsui_hotspot_1hpp3_1ac93_278",
28
+ "icon": "awsui_icon_1hpp3_1ac93_342"
29
29
  };
30
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAoB7F,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAc1E,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":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAoB7F,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAkB1E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;4CA0jBrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -15,8 +15,7 @@ import { Drawer, DrawerTriggersBar } from './drawer';
15
15
  import { ResizableDrawer } from './drawer/resizable-drawer';
16
16
  import { MobileToolbar } from './mobile-toolbar';
17
17
  import { Notifications } from './notifications';
18
- import { SideSplitPanelDrawer, SplitPanelProvider } from './split-panel';
19
- import { checkSplitPanelForcedPosition } from './split-panel/split-panel-utils';
18
+ import { SideSplitPanelDrawer, SPLIT_PANEL_MIN_WIDTH, SplitPanelProvider, } from './split-panel';
20
19
  import { togglesConfig } from './toggles';
21
20
  import { getStickyOffsetVars } from './utils/sticky-offsets';
22
21
  import { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';
@@ -169,8 +168,8 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
169
168
  return closedDrawerWidth;
170
169
  };
171
170
  const effectiveToolsWidth = getEffectiveToolsWidth();
172
- const splitPanelMaxWidth = resizableSpaceAvailable - effectiveToolsWidth;
173
- const isSplitPanelForcedPosition = checkSplitPanelForcedPosition({ isMobile, splitPanelMaxWidth });
171
+ // if there is no space to display split panel in the side, force to bottom
172
+ const isSplitPanelForcedPosition = isMobile || resizableSpaceAvailable - effectiveToolsWidth < SPLIT_PANEL_MIN_WIDTH;
174
173
  const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;
175
174
  const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';
176
175
  const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { SplitPanelSideToggleProps } from '../internal/context/split-panel-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { Drawer, DrawerTriggersBar } from './drawer';\nimport { ResizableDrawer } from './drawer/resizable-drawer';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { Notifications } from './notifications';\nimport { SideSplitPanelDrawer, SplitPanelProvider, SplitPanelProviderProps } from './split-panel';\nimport { checkSplitPanelForcedPosition } from './split-panel/split-panel-utils';\nimport { togglesConfig } from './toggles';\nimport { getStickyOffsetVars } from './utils/sticky-offsets';\nimport { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';\nimport { useFocusControl } from './utils/use-focus-control';\nimport { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';\n\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\n\nconst ClassicAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth,\n navigationHide,\n navigationOpen,\n tools,\n toolsWidth,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType,\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n placement,\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest\n }: AppLayoutPropsWithDefaults,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n // Private API for embedded view mode\n const __embeddedViewMode = Boolean((rest as any).__embeddedViewMode);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n\n const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, false, {\n componentName: 'AppLayout',\n controlledProp: 'toolsOpen',\n changeHandler: 'onToolsChange',\n });\n const onToolsToggle = (open: boolean) => {\n setToolsOpen(open);\n if (hasDrawers) {\n focusDrawersButtons();\n } else {\n focusToolsButtons();\n }\n fireNonCancelableEvent(onToolsChange, { open });\n };\n\n const {\n drawers,\n activeDrawer,\n minDrawerSize,\n activeDrawerSize,\n activeDrawerId,\n ariaLabelsWithDrawers,\n onActiveDrawerChange,\n onActiveDrawerResize,\n } = useDrawers(\n {\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest,\n },\n ariaLabels,\n {\n disableDrawersMerge: true,\n ariaLabels,\n tools,\n toolsOpen,\n toolsHide,\n toolsWidth,\n onToolsToggle,\n }\n );\n ariaLabels = ariaLabelsWithDrawers;\n const hasDrawers = !!drawers;\n\n const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);\n const {\n refs: toolsRefs,\n setFocus: focusToolsButtons,\n loseFocus: loseToolsFocus,\n } = useFocusControl(toolsOpen || activeDrawer !== undefined, true);\n const {\n refs: drawerRefs,\n setFocus: focusDrawersButtons,\n loseFocus: loseDrawersFocus,\n } = useFocusControl(!!activeDrawerId, true, activeDrawerId);\n\n const onNavigationToggle = useStableCallback((open: boolean) => {\n focusNavButtons();\n fireNonCancelableEvent(onNavigationChange, { open });\n });\n\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle(false);\n }\n };\n\n useEffect(() => {\n // Close navigation drawer on mobile so that the main content is visible\n if (isMobile) {\n onNavigationToggle(false);\n }\n }, [isMobile, onNavigationToggle]);\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const [headerFooterHeight, setHeaderFooterHeight] = useState(0);\n // Delay applying changes in header/footer height, as applying them immediately can cause\n // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects\n // further up the tree, therefore blocking notifications to prevent loops\n useEffect(() => {\n const id = requestAnimationFrame(() =>\n setHeaderFooterHeight(placement.insetBlockStart + placement.insetBlockEnd)\n );\n return () => cancelAnimationFrame(id);\n }, [placement.insetBlockStart, placement.insetBlockEnd]);\n const contentHeightStyle = {\n [disableBodyScroll ? 'blockSize' : 'minBlockSize']: `calc(100vh - ${headerFooterHeight}px)`,\n };\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? notificationsHeight ?? 0 : 0;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState<SplitPanelSideToggleProps>({\n displayed: false,\n ariaLabel: undefined,\n });\n const splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const { refs: splitPanelRefs, setLastInteraction: setSplitPanelLastInteraction } = useSplitPanelFocusControl([\n splitPanelPreferences,\n splitPanelOpen,\n ]);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n setSplitPanelLastInteraction({ type: 'position' });\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange, setSplitPanelLastInteraction]\n );\n const onSplitPanelSizeSet = useCallback(\n (newSize: number) => {\n setSplitPanelSize(newSize);\n fireNonCancelableEvent(onSplitPanelResize, { size: newSize });\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n\n const onSplitPanelToggleHandler = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);\n\n const getSplitPanelMaxHeight = useStableCallback(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight =\n document.documentElement.clientHeight - placement.insetBlockStart - placement.insetBlockEnd;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;\n const contentPadding = 80;\n // all content except split-panel + drawers/tools area\n const resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth\n );\n\n const getEffectiveToolsWidth = () => {\n if (activeDrawerSize && activeDrawer) {\n return Math.min(resizableSpaceAvailable, activeDrawerSize);\n }\n\n if (toolsHide || drawers) {\n return 0;\n }\n\n if (toolsOpen) {\n return toolsWidth;\n }\n\n return closedDrawerWidth;\n };\n\n const effectiveToolsWidth = getEffectiveToolsWidth();\n const splitPanelMaxWidth = resizableSpaceAvailable - effectiveToolsWidth;\n const isSplitPanelForcedPosition = checkSplitPanelForcedPosition({ isMobile, splitPanelMaxWidth });\n const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';\n\n const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;\n const sideSplitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);\n const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);\n\n const splitPanelContextProps: SplitPanelProviderProps = {\n topOffset: placement.insetBlockStart + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight : 0),\n bottomOffset: placement.insetBlockEnd,\n leftOffset:\n placement.insetInlineStart +\n (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: isMobile ? 0 : placement.insetInlineEnd + effectiveToolsWidth + rightDrawerBarWidth,\n position: finalSplitPanePosition,\n size: splitPanelSize,\n maxWidth: sideSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isForcedPosition: isSplitPanelForcedPosition,\n onResize: onSplitPanelSizeSet,\n onToggle: onSplitPanelToggleHandler,\n onPreferencesChange: onSplitPanelPreferencesSet,\n setSplitPanelToggle: setSplitPanelReportedToggle,\n reportSize: setSplitPanelReportedSize,\n reportHeaderHeight: setSplitPanelReportedHeaderHeight,\n refs: splitPanelRefs,\n };\n const splitPanelWrapped = splitPanel && (\n <SplitPanelProvider {...splitPanelContextProps}>\n {finalSplitPanePosition === 'side' ? (\n <SideSplitPanelDrawer displayed={splitPanelDisplayed}>{splitPanel}</SideSplitPanelDrawer>\n ) : (\n splitPanel\n )}\n </SplitPanelProvider>\n );\n\n const contentWrapperProps: ContentWrapperProps = {\n contentType,\n navigationPadding: navigationHide || !!navigationOpen,\n contentWidthStyles: !isMobile ? { minWidth: minContentWidth, maxWidth: maxContentWidth } : undefined,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n toolsHide ||\n (hasDrawers && !activeDrawer && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n (splitPaneAvailableOnTheSide && splitPanelOpen),\n isMobile,\n };\n\n useImperativeHandle(ref, () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle(false);\n }\n },\n focusToolsClose: () => {\n if (hasDrawers) {\n focusDrawersButtons(true);\n } else {\n focusToolsButtons(true);\n }\n },\n focusActiveDrawer: () => focusDrawersButtons(true),\n focusSplitPanel: () => splitPanelRefs.slider.current?.focus(),\n }));\n\n const splitPanelBottomOffset =\n (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelReportedSize\n : splitPanelReportedHeaderHeight) ?? undefined;\n\n const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n style={contentHeightStyle}\n >\n {isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={placement.insetBlockStart}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle(true)}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n mobileBarRef={mobileBarRef}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n if (newDrawerId !== activeDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n }}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <Drawer\n contentClassName={testutilStyles.navigation}\n toggleClassName={testutilStyles['navigation-toggle']}\n closeClassName={testutilStyles['navigation-close']}\n ariaLabels={togglesConfig.navigation.getLabels(ariaLabels)}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n isOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onToggle={onNavigationToggle}\n toggleRefs={navigationRefs}\n type=\"navigation\"\n width={navigationWidth}\n >\n {navigation}\n </Drawer>\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n }}\n >\n {notifications && (\n <Notifications\n disableContentPaddings={disableContentPaddings}\n testUtilsClassName={testutilStyles.notifications}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : placement.insetBlockStart}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps}>\n {!isMobile && breadcrumbs && (\n <div className={clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}>{breadcrumbs}</div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n style={getStickyOffsetVars(\n placement.insetBlockStart,\n placement.insetBlockEnd + (splitPanelBottomOffset || 0),\n `${stickyNotificationsHeight}px`,\n mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px',\n !!disableBodyScroll,\n isMobile\n )}\n >\n {content}\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && splitPanelWrapped}\n </main>\n\n {finalSplitPanePosition === 'side' && splitPanelWrapped}\n\n {hasDrawers ? (\n <ResizableDrawer\n contentClassName={clsx(\n activeDrawerId && testutilStyles['active-drawer'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools\n )}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={clsx(\n testutilStyles['active-drawer-close-button'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']\n )}\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n resizeHandle: activeDrawer?.ariaLabels?.resizeHandle,\n }}\n minWidth={minDrawerSize}\n maxWidth={drawerMaxSize}\n width={activeDrawerSize}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={isOpen => {\n if (!isOpen) {\n focusToolsButtons();\n focusDrawersButtons();\n onActiveDrawerChange(null, { initiatedByUserAction: true });\n }\n }}\n isOpen={true}\n hideOpenButton={true}\n toggleRefs={drawerRefs}\n type=\"tools\"\n onLoseFocus={loseDrawersFocus}\n activeDrawer={activeDrawer}\n onResize={changeDetail => onActiveDrawerResize(changeDetail)}\n refs={drawerRefs}\n toolsContent={drawers?.find(drawer => drawer.id === TOOLS_DRAWER_ID)?.content}\n >\n {activeDrawer?.content}\n </ResizableDrawer>\n ) : (\n !toolsHide && (\n <Drawer\n contentClassName={testutilStyles.tools}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={testutilStyles['tools-close']}\n ariaLabels={togglesConfig.tools.getLabels(ariaLabels)}\n width={toolsWidth}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={onToolsToggle}\n isOpen={toolsOpen}\n toggleRefs={toolsRefs}\n type=\"tools\"\n onLoseFocus={loseToolsFocus}\n >\n {tools}\n </Drawer>\n )\n )}\n {hasDrawers && drawers.length > 0 && (\n <DrawerTriggersBar\n drawerRefs={drawerRefs}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n if (activeDrawerId !== newDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n }}\n ariaLabels={ariaLabels}\n />\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default ClassicAppLayout;\n"]}
1
+ {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { SplitPanelSideToggleProps } from '../internal/context/split-panel-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { Drawer, DrawerTriggersBar } from './drawer';\nimport { ResizableDrawer } from './drawer/resizable-drawer';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { Notifications } from './notifications';\nimport {\n SideSplitPanelDrawer,\n SPLIT_PANEL_MIN_WIDTH,\n SplitPanelProvider,\n SplitPanelProviderProps,\n} from './split-panel';\nimport { togglesConfig } from './toggles';\nimport { getStickyOffsetVars } from './utils/sticky-offsets';\nimport { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';\nimport { useFocusControl } from './utils/use-focus-control';\nimport { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';\n\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\n\nconst ClassicAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth,\n navigationHide,\n navigationOpen,\n tools,\n toolsWidth,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType,\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n placement,\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest\n }: AppLayoutPropsWithDefaults,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n // Private API for embedded view mode\n const __embeddedViewMode = Boolean((rest as any).__embeddedViewMode);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n\n const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, false, {\n componentName: 'AppLayout',\n controlledProp: 'toolsOpen',\n changeHandler: 'onToolsChange',\n });\n const onToolsToggle = (open: boolean) => {\n setToolsOpen(open);\n if (hasDrawers) {\n focusDrawersButtons();\n } else {\n focusToolsButtons();\n }\n fireNonCancelableEvent(onToolsChange, { open });\n };\n\n const {\n drawers,\n activeDrawer,\n minDrawerSize,\n activeDrawerSize,\n activeDrawerId,\n ariaLabelsWithDrawers,\n onActiveDrawerChange,\n onActiveDrawerResize,\n } = useDrawers(\n {\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest,\n },\n ariaLabels,\n {\n disableDrawersMerge: true,\n ariaLabels,\n tools,\n toolsOpen,\n toolsHide,\n toolsWidth,\n onToolsToggle,\n }\n );\n ariaLabels = ariaLabelsWithDrawers;\n const hasDrawers = !!drawers;\n\n const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);\n const {\n refs: toolsRefs,\n setFocus: focusToolsButtons,\n loseFocus: loseToolsFocus,\n } = useFocusControl(toolsOpen || activeDrawer !== undefined, true);\n const {\n refs: drawerRefs,\n setFocus: focusDrawersButtons,\n loseFocus: loseDrawersFocus,\n } = useFocusControl(!!activeDrawerId, true, activeDrawerId);\n\n const onNavigationToggle = useStableCallback((open: boolean) => {\n focusNavButtons();\n fireNonCancelableEvent(onNavigationChange, { open });\n });\n\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle(false);\n }\n };\n\n useEffect(() => {\n // Close navigation drawer on mobile so that the main content is visible\n if (isMobile) {\n onNavigationToggle(false);\n }\n }, [isMobile, onNavigationToggle]);\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const [headerFooterHeight, setHeaderFooterHeight] = useState(0);\n // Delay applying changes in header/footer height, as applying them immediately can cause\n // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects\n // further up the tree, therefore blocking notifications to prevent loops\n useEffect(() => {\n const id = requestAnimationFrame(() =>\n setHeaderFooterHeight(placement.insetBlockStart + placement.insetBlockEnd)\n );\n return () => cancelAnimationFrame(id);\n }, [placement.insetBlockStart, placement.insetBlockEnd]);\n const contentHeightStyle = {\n [disableBodyScroll ? 'blockSize' : 'minBlockSize']: `calc(100vh - ${headerFooterHeight}px)`,\n };\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? notificationsHeight ?? 0 : 0;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState<SplitPanelSideToggleProps>({\n displayed: false,\n ariaLabel: undefined,\n });\n const splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const { refs: splitPanelRefs, setLastInteraction: setSplitPanelLastInteraction } = useSplitPanelFocusControl([\n splitPanelPreferences,\n splitPanelOpen,\n ]);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n setSplitPanelLastInteraction({ type: 'position' });\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange, setSplitPanelLastInteraction]\n );\n const onSplitPanelSizeSet = useCallback(\n (newSize: number) => {\n setSplitPanelSize(newSize);\n fireNonCancelableEvent(onSplitPanelResize, { size: newSize });\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n\n const onSplitPanelToggleHandler = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);\n\n const getSplitPanelMaxHeight = useStableCallback(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight =\n document.documentElement.clientHeight - placement.insetBlockStart - placement.insetBlockEnd;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;\n const contentPadding = 80;\n // all content except split-panel + drawers/tools area\n const resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth\n );\n\n const getEffectiveToolsWidth = () => {\n if (activeDrawerSize && activeDrawer) {\n return Math.min(resizableSpaceAvailable, activeDrawerSize);\n }\n\n if (toolsHide || drawers) {\n return 0;\n }\n\n if (toolsOpen) {\n return toolsWidth;\n }\n\n return closedDrawerWidth;\n };\n\n const effectiveToolsWidth = getEffectiveToolsWidth();\n\n // if there is no space to display split panel in the side, force to bottom\n const isSplitPanelForcedPosition =\n isMobile || resizableSpaceAvailable - effectiveToolsWidth < SPLIT_PANEL_MIN_WIDTH;\n const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';\n\n const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;\n const sideSplitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);\n const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);\n\n const splitPanelContextProps: SplitPanelProviderProps = {\n topOffset: placement.insetBlockStart + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight : 0),\n bottomOffset: placement.insetBlockEnd,\n leftOffset:\n placement.insetInlineStart +\n (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: isMobile ? 0 : placement.insetInlineEnd + effectiveToolsWidth + rightDrawerBarWidth,\n position: finalSplitPanePosition,\n size: splitPanelSize,\n maxWidth: sideSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isForcedPosition: isSplitPanelForcedPosition,\n onResize: onSplitPanelSizeSet,\n onToggle: onSplitPanelToggleHandler,\n onPreferencesChange: onSplitPanelPreferencesSet,\n setSplitPanelToggle: setSplitPanelReportedToggle,\n reportSize: setSplitPanelReportedSize,\n reportHeaderHeight: setSplitPanelReportedHeaderHeight,\n refs: splitPanelRefs,\n };\n const splitPanelWrapped = splitPanel && (\n <SplitPanelProvider {...splitPanelContextProps}>\n {finalSplitPanePosition === 'side' ? (\n <SideSplitPanelDrawer displayed={splitPanelDisplayed}>{splitPanel}</SideSplitPanelDrawer>\n ) : (\n splitPanel\n )}\n </SplitPanelProvider>\n );\n\n const contentWrapperProps: ContentWrapperProps = {\n contentType,\n navigationPadding: navigationHide || !!navigationOpen,\n contentWidthStyles: !isMobile ? { minWidth: minContentWidth, maxWidth: maxContentWidth } : undefined,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n toolsHide ||\n (hasDrawers && !activeDrawer && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n (splitPaneAvailableOnTheSide && splitPanelOpen),\n isMobile,\n };\n\n useImperativeHandle(ref, () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle(false);\n }\n },\n focusToolsClose: () => {\n if (hasDrawers) {\n focusDrawersButtons(true);\n } else {\n focusToolsButtons(true);\n }\n },\n focusActiveDrawer: () => focusDrawersButtons(true),\n focusSplitPanel: () => splitPanelRefs.slider.current?.focus(),\n }));\n\n const splitPanelBottomOffset =\n (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelReportedSize\n : splitPanelReportedHeaderHeight) ?? undefined;\n\n const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n style={contentHeightStyle}\n >\n {isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={placement.insetBlockStart}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle(true)}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n mobileBarRef={mobileBarRef}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n if (newDrawerId !== activeDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n }}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <Drawer\n contentClassName={testutilStyles.navigation}\n toggleClassName={testutilStyles['navigation-toggle']}\n closeClassName={testutilStyles['navigation-close']}\n ariaLabels={togglesConfig.navigation.getLabels(ariaLabels)}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n isOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onToggle={onNavigationToggle}\n toggleRefs={navigationRefs}\n type=\"navigation\"\n width={navigationWidth}\n >\n {navigation}\n </Drawer>\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n }}\n >\n {notifications && (\n <Notifications\n disableContentPaddings={disableContentPaddings}\n testUtilsClassName={testutilStyles.notifications}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : placement.insetBlockStart}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps}>\n {!isMobile && breadcrumbs && (\n <div className={clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}>{breadcrumbs}</div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n style={getStickyOffsetVars(\n placement.insetBlockStart,\n placement.insetBlockEnd + (splitPanelBottomOffset || 0),\n `${stickyNotificationsHeight}px`,\n mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px',\n !!disableBodyScroll,\n isMobile\n )}\n >\n {content}\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && splitPanelWrapped}\n </main>\n\n {finalSplitPanePosition === 'side' && splitPanelWrapped}\n\n {hasDrawers ? (\n <ResizableDrawer\n contentClassName={clsx(\n activeDrawerId && testutilStyles['active-drawer'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools\n )}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={clsx(\n testutilStyles['active-drawer-close-button'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']\n )}\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n resizeHandle: activeDrawer?.ariaLabels?.resizeHandle,\n }}\n minWidth={minDrawerSize}\n maxWidth={drawerMaxSize}\n width={activeDrawerSize}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={isOpen => {\n if (!isOpen) {\n focusToolsButtons();\n focusDrawersButtons();\n onActiveDrawerChange(null, { initiatedByUserAction: true });\n }\n }}\n isOpen={true}\n hideOpenButton={true}\n toggleRefs={drawerRefs}\n type=\"tools\"\n onLoseFocus={loseDrawersFocus}\n activeDrawer={activeDrawer}\n onResize={changeDetail => onActiveDrawerResize(changeDetail)}\n refs={drawerRefs}\n toolsContent={drawers?.find(drawer => drawer.id === TOOLS_DRAWER_ID)?.content}\n >\n {activeDrawer?.content}\n </ResizableDrawer>\n ) : (\n !toolsHide && (\n <Drawer\n contentClassName={testutilStyles.tools}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={testutilStyles['tools-close']}\n ariaLabels={togglesConfig.tools.getLabels(ariaLabels)}\n width={toolsWidth}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={onToolsToggle}\n isOpen={toolsOpen}\n toggleRefs={toolsRefs}\n type=\"tools\"\n onLoseFocus={loseToolsFocus}\n >\n {tools}\n </Drawer>\n )\n )}\n {hasDrawers && drawers.length > 0 && (\n <DrawerTriggersBar\n drawerRefs={drawerRefs}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n if (activeDrawerId !== newDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n }}\n ariaLabels={ariaLabels}\n />\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default ClassicAppLayout;\n"]}
@@ -1,4 +1,3 @@
1
1
  export declare const SPLIT_PANEL_MIN_HEIGHT = 160;
2
2
  export declare const SPLIT_PANEL_MIN_WIDTH = 280;
3
- export declare const SPLIT_PANEL_SCROLLBAR_MARGIN = 20;
4
3
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,4BAA4B,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,qBAAqB,MAAM,CAAC"}
@@ -2,5 +2,4 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  export const SPLIT_PANEL_MIN_HEIGHT = 160;
4
4
  export const SPLIT_PANEL_MIN_WIDTH = 280;
5
- export const SPLIT_PANEL_SCROLLBAR_MARGIN = 20;
6
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/constants.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const SPLIT_PANEL_MIN_HEIGHT = 160;\nexport const SPLIT_PANEL_MIN_WIDTH = 280;\nexport const SPLIT_PANEL_SCROLLBAR_MARGIN = 20;\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/constants.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const SPLIT_PANEL_MIN_HEIGHT = 160;\nexport const SPLIT_PANEL_MIN_WIDTH = 280;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-pointer-events.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-pointer-events.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,gBAAgB,gDAAiD,gBAAgB,eA+C7F,CAAC"}
1
+ {"version":3,"file":"use-pointer-events.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-pointer-events.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,gBAAgB,gDAAiD,gBAAgB,eAwD7F,CAAC"}
@@ -24,20 +24,29 @@ export const usePointerEvents = ({ position, panelRef, handleRef, onResize }) =>
24
24
  }
25
25
  }, [position, panelRef, handleRef, onResize]);
26
26
  const onDocumentPointerUp = useCallback(() => {
27
- if (!panelRef || !panelRef.current) {
27
+ const panelElement = panelRef === null || panelRef === void 0 ? void 0 : panelRef.current;
28
+ /* istanbul ignore if */
29
+ if (!panelElement) {
28
30
  return;
29
31
  }
30
- document.body.classList.remove(styles['resize-active']);
31
- document.body.classList.remove(styles[`resize-${position}`]);
32
- document.removeEventListener('pointerup', onDocumentPointerUp);
33
- document.removeEventListener('pointermove', onDocumentPointerMove);
32
+ const currentDocument = panelElement.ownerDocument;
33
+ currentDocument.body.classList.remove(styles['resize-active']);
34
+ currentDocument.body.classList.remove(styles[`resize-${position}`]);
35
+ currentDocument.removeEventListener('pointerup', onDocumentPointerUp);
36
+ currentDocument.removeEventListener('pointermove', onDocumentPointerMove);
34
37
  }, [panelRef, onDocumentPointerMove, position]);
35
38
  const onSliderPointerDown = useCallback(() => {
36
- document.body.classList.add(styles['resize-active']);
37
- document.body.classList.add(styles[`resize-${position}`]);
38
- document.addEventListener('pointerup', onDocumentPointerUp);
39
- document.addEventListener('pointermove', onDocumentPointerMove);
40
- }, [onDocumentPointerMove, onDocumentPointerUp, position]);
39
+ const panelElement = panelRef === null || panelRef === void 0 ? void 0 : panelRef.current;
40
+ /* istanbul ignore if */
41
+ if (!panelElement) {
42
+ return;
43
+ }
44
+ const currentDocument = panelElement.ownerDocument;
45
+ currentDocument.body.classList.add(styles['resize-active']);
46
+ currentDocument.body.classList.add(styles[`resize-${position}`]);
47
+ currentDocument.addEventListener('pointerup', onDocumentPointerUp);
48
+ currentDocument.addEventListener('pointermove', onDocumentPointerMove);
49
+ }, [panelRef, onDocumentPointerMove, onDocumentPointerUp, position]);
41
50
  return onSliderPointerDown;
42
51
  };
43
52
  //# sourceMappingURL=use-pointer-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-pointer-events.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-pointer-events.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,+CAA+C,CAAC;AAIvD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAoB,EAAE,EAAE;IAChG,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,KAAmB,EAAE,EAAE;QACtB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACtE,OAAO;SACR;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvB,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YAE/E,4EAA4E;YAC5E,MAAM,YAAY,GAAG,4BAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YACpF,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC;YAE1G,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;aAAM;YACL,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAExC,4EAA4E;YAC5E,MAAM,YAAY,GAAG,4BAA4B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,4BAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;YAE1G,QAAQ,CAAC,MAAM,CAAC,CAAC;SAClB;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAC1C,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAClC,OAAO;SACR;QAED,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC/D,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhD,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC5D,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback } from 'react';\n\nimport {\n getIsRtl,\n getLogicalBoundingClientRect,\n getLogicalClientX,\n} from '@cloudscape-design/component-toolkit/internal';\n\nimport { SizeControlProps } from './interfaces';\n\nimport styles from '../resize/styles.css.js';\n\nexport const usePointerEvents = ({ position, panelRef, handleRef, onResize }: SizeControlProps) => {\n const onDocumentPointerMove = useCallback(\n (event: PointerEvent) => {\n if (!panelRef || !panelRef.current || !handleRef || !handleRef.current) {\n return;\n }\n\n if (position === 'side') {\n const mouseClientX = getLogicalClientX(event, getIsRtl(panelRef.current)) || 0;\n\n // The handle offset aligns the cursor with the middle of the resize handle.\n const handleOffset = getLogicalBoundingClientRect(handleRef.current).inlineSize / 2;\n const width = getLogicalBoundingClientRect(panelRef.current).insetInlineEnd - mouseClientX + handleOffset;\n\n onResize(width);\n } else {\n const mouseClientY = event.clientY || 0;\n\n // The handle offset aligns the cursor with the middle of the resize handle.\n const handleOffset = getLogicalBoundingClientRect(handleRef.current).blockSize / 2;\n const height = getLogicalBoundingClientRect(panelRef.current).insetBlockEnd - mouseClientY + handleOffset;\n\n onResize(height);\n }\n },\n [position, panelRef, handleRef, onResize]\n );\n\n const onDocumentPointerUp = useCallback(() => {\n if (!panelRef || !panelRef.current) {\n return;\n }\n\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles[`resize-${position}`]);\n document.removeEventListener('pointerup', onDocumentPointerUp);\n document.removeEventListener('pointermove', onDocumentPointerMove);\n }, [panelRef, onDocumentPointerMove, position]);\n\n const onSliderPointerDown = useCallback(() => {\n document.body.classList.add(styles['resize-active']);\n document.body.classList.add(styles[`resize-${position}`]);\n document.addEventListener('pointerup', onDocumentPointerUp);\n document.addEventListener('pointermove', onDocumentPointerMove);\n }, [onDocumentPointerMove, onDocumentPointerUp, position]);\n\n return onSliderPointerDown;\n};\n"]}
1
+ {"version":3,"file":"use-pointer-events.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-pointer-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback } from 'react';\n\nimport {\n getIsRtl,\n getLogicalBoundingClientRect,\n getLogicalClientX,\n} from '@cloudscape-design/component-toolkit/internal';\n\nimport { SizeControlProps } from './interfaces';\n\nimport styles from '../resize/styles.css.js';\n\nexport const usePointerEvents = ({ position, panelRef, handleRef, onResize }: SizeControlProps) => {\n const onDocumentPointerMove = useCallback(\n (event: PointerEvent) => {\n if (!panelRef || !panelRef.current || !handleRef || !handleRef.current) {\n return;\n }\n\n if (position === 'side') {\n const mouseClientX = getLogicalClientX(event, getIsRtl(panelRef.current)) || 0;\n\n // The handle offset aligns the cursor with the middle of the resize handle.\n const handleOffset = getLogicalBoundingClientRect(handleRef.current).inlineSize / 2;\n const width = getLogicalBoundingClientRect(panelRef.current).insetInlineEnd - mouseClientX + handleOffset;\n\n onResize(width);\n } else {\n const mouseClientY = event.clientY || 0;\n\n // The handle offset aligns the cursor with the middle of the resize handle.\n const handleOffset = getLogicalBoundingClientRect(handleRef.current).blockSize / 2;\n const height = getLogicalBoundingClientRect(panelRef.current).insetBlockEnd - mouseClientY + handleOffset;\n\n onResize(height);\n }\n },\n [position, panelRef, handleRef, onResize]\n );\n\n const onDocumentPointerUp = useCallback(() => {\n const panelElement = panelRef?.current;\n /* istanbul ignore if */\n if (!panelElement) {\n return;\n }\n const currentDocument = panelElement.ownerDocument;\n\n currentDocument.body.classList.remove(styles['resize-active']);\n currentDocument.body.classList.remove(styles[`resize-${position}`]);\n currentDocument.removeEventListener('pointerup', onDocumentPointerUp);\n currentDocument.removeEventListener('pointermove', onDocumentPointerMove);\n }, [panelRef, onDocumentPointerMove, position]);\n\n const onSliderPointerDown = useCallback(() => {\n const panelElement = panelRef?.current;\n /* istanbul ignore if */\n if (!panelElement) {\n return;\n }\n const currentDocument = panelElement.ownerDocument;\n currentDocument.body.classList.add(styles['resize-active']);\n currentDocument.body.classList.add(styles[`resize-${position}`]);\n currentDocument.addEventListener('pointerup', onDocumentPointerUp);\n currentDocument.addEventListener('pointermove', onDocumentPointerMove);\n }, [panelRef, onDocumentPointerMove, onDocumentPointerUp, position]);\n\n return onSliderPointerDown;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh/context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh/context.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ import { useMobile } from '../../internal/hooks/use-mobile';
11
11
  import { useUniqueId } from '../../internal/hooks/use-unique-id';
12
12
  import { getSplitPanelDefaultSize } from '../../split-panel/utils/size-utils';
13
13
  import { SPLIT_PANEL_MIN_WIDTH } from '../split-panel';
14
- import { checkSplitPanelForcedPosition } from '../split-panel/split-panel-utils';
15
14
  import { useDrawers } from '../utils/use-drawers';
16
15
  import { useFocusControl } from '../utils/use-focus-control';
17
16
  import useResize from '../utils/use-resize';
@@ -115,7 +114,14 @@ export const AppLayoutInternalsProvider = React.forwardRef((props, forwardRef) =
115
114
  setSplitPanelLastInteraction({ type: isSplitPanelOpen ? 'close' : 'open' });
116
115
  fireNonCancelableEvent(props.onSplitPanelToggle, { open: !isSplitPanelOpen });
117
116
  }, [props.onSplitPanelToggle, isSplitPanelOpen, setIsSplitPanelOpen, setSplitPanelLastInteraction]);
118
- const isSplitPanelForcedPosition = checkSplitPanelForcedPosition({ isMobile, splitPanelMaxWidth });
117
+ /**
118
+ * The Split Panel will be in forced (bottom) position if the defined minimum width is
119
+ * greater than the maximum width. In other words, the maximum width is the currently
120
+ * available horizontal space based on all other components that are rendered. If the
121
+ * minimum width exceeds this value then there is not enough horizontal space and we must
122
+ * force it to the bottom position.
123
+ */
124
+ const isSplitPanelForcedPosition = isMobile || SPLIT_PANEL_MIN_WIDTH > splitPanelMaxWidth;
119
125
  const splitPanelPosition = getSplitPanelPosition(isSplitPanelForcedPosition, splitPanelPreferences);
120
126
  /**
121
127
  * The useControllable hook will set the default size of the SplitPanel based