@cloudscape-design/components 3.0.519 → 3.0.521

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 (293) hide show
  1. package/alert/styles.css.js +25 -25
  2. package/alert/styles.scoped.css +48 -45
  3. package/alert/styles.selectors.js +25 -25
  4. package/anchor-navigation/styles.css.js +8 -8
  5. package/anchor-navigation/styles.scoped.css +22 -19
  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 +37 -34
  9. package/annotation-context/annotation/styles.selectors.js +24 -24
  10. package/app-layout/defaults.d.ts +2 -2
  11. package/app-layout/defaults.d.ts.map +1 -1
  12. package/app-layout/defaults.js.map +1 -1
  13. package/app-layout/drawer/interfaces.d.ts +3 -2
  14. package/app-layout/drawer/interfaces.d.ts.map +1 -1
  15. package/app-layout/drawer/interfaces.js.map +1 -1
  16. package/app-layout/drawer/resizable-drawer.d.ts +1 -1
  17. package/app-layout/drawer/resizable-drawer.d.ts.map +1 -1
  18. package/app-layout/drawer/resizable-drawer.js +18 -9
  19. package/app-layout/drawer/resizable-drawer.js.map +1 -1
  20. package/app-layout/index.d.ts.map +1 -1
  21. package/app-layout/index.js +76 -26
  22. package/app-layout/index.js.map +1 -1
  23. package/app-layout/split-panel/index.d.ts +0 -1
  24. package/app-layout/split-panel/index.d.ts.map +1 -1
  25. package/app-layout/split-panel/index.js +0 -1
  26. package/app-layout/split-panel/index.js.map +1 -1
  27. package/app-layout/split-panel/provider.d.ts +2 -2
  28. package/app-layout/split-panel/provider.d.ts.map +1 -1
  29. package/app-layout/split-panel/provider.js +16 -18
  30. package/app-layout/split-panel/provider.js.map +1 -1
  31. package/app-layout/toggles/styles.css.js +2 -2
  32. package/app-layout/toggles/styles.scoped.css +14 -11
  33. package/app-layout/toggles/styles.selectors.js +2 -2
  34. package/app-layout/utils/use-window-width.d.ts +2 -0
  35. package/app-layout/utils/use-window-width.d.ts.map +1 -0
  36. package/app-layout/utils/use-window-width.js +13 -0
  37. package/app-layout/utils/use-window-width.js.map +1 -0
  38. package/app-layout/visual-refresh/split-panel.js +1 -1
  39. package/app-layout/visual-refresh/split-panel.js.map +1 -1
  40. package/app-layout/visual-refresh/styles.css.js +81 -81
  41. package/app-layout/visual-refresh/styles.scoped.css +179 -176
  42. package/app-layout/visual-refresh/styles.selectors.js +81 -81
  43. package/breadcrumb-group/item/styles.css.js +9 -9
  44. package/breadcrumb-group/item/styles.scoped.css +23 -20
  45. package/breadcrumb-group/item/styles.selectors.js +9 -9
  46. package/button/styles.css.js +20 -20
  47. package/button/styles.scoped.css +392 -302
  48. package/button/styles.selectors.js +20 -20
  49. package/button-dropdown/item-element/styles.css.js +15 -15
  50. package/button-dropdown/item-element/styles.scoped.css +19 -19
  51. package/button-dropdown/item-element/styles.selectors.js +15 -15
  52. package/calendar/styles.css.js +18 -18
  53. package/calendar/styles.scoped.css +54 -48
  54. package/calendar/styles.selectors.js +18 -18
  55. package/cards/styles.css.js +40 -40
  56. package/cards/styles.scoped.css +58 -58
  57. package/cards/styles.selectors.js +40 -40
  58. package/checkbox/styles.css.js +3 -3
  59. package/checkbox/styles.scoped.css +18 -15
  60. package/checkbox/styles.selectors.js +3 -3
  61. package/code-editor/styles.css.js +32 -32
  62. package/code-editor/styles.scoped.css +165 -153
  63. package/code-editor/styles.selectors.js +32 -32
  64. package/collection-preferences/content-display/styles.css.js +11 -11
  65. package/collection-preferences/content-display/styles.scoped.css +26 -23
  66. package/collection-preferences/content-display/styles.selectors.js +11 -11
  67. package/collection-preferences/styles.css.js +37 -37
  68. package/collection-preferences/styles.scoped.css +53 -50
  69. package/collection-preferences/styles.selectors.js +37 -37
  70. package/container/styles.css.js +30 -30
  71. package/container/styles.scoped.css +100 -80
  72. package/container/styles.selectors.js +30 -30
  73. package/date-picker/styles.css.js +7 -7
  74. package/date-picker/styles.scoped.css +13 -10
  75. package/date-picker/styles.selectors.js +7 -7
  76. package/date-range-picker/calendar/grids/styles.css.js +25 -25
  77. package/date-range-picker/calendar/grids/styles.scoped.css +58 -52
  78. package/date-range-picker/calendar/grids/styles.selectors.js +25 -25
  79. package/date-range-picker/styles.css.js +38 -38
  80. package/date-range-picker/styles.scoped.css +50 -47
  81. package/date-range-picker/styles.selectors.js +38 -38
  82. package/expandable-section/interfaces.d.ts +3 -2
  83. package/expandable-section/interfaces.d.ts.map +1 -1
  84. package/expandable-section/interfaces.js.map +1 -1
  85. package/expandable-section/styles.css.js +32 -32
  86. package/expandable-section/styles.scoped.css +85 -75
  87. package/expandable-section/styles.selectors.js +32 -32
  88. package/file-upload/file-input/styles.css.js +4 -4
  89. package/file-upload/file-input/styles.scoped.css +15 -12
  90. package/file-upload/file-input/styles.selectors.js +4 -4
  91. package/flashbar/styles.css.js +47 -47
  92. package/flashbar/styles.scoped.css +168 -162
  93. package/flashbar/styles.selectors.js +47 -47
  94. package/form-field/styles.css.js +19 -19
  95. package/form-field/styles.scoped.css +35 -34
  96. package/form-field/styles.selectors.js +19 -19
  97. package/grid/styles.css.js +53 -53
  98. package/grid/styles.scoped.css +112 -108
  99. package/grid/styles.selectors.js +53 -53
  100. package/header/interfaces.d.ts +1 -1
  101. package/header/interfaces.js.map +1 -1
  102. package/header/styles.css.js +34 -34
  103. package/header/styles.scoped.css +92 -83
  104. package/header/styles.selectors.js +34 -34
  105. package/help-panel/styles.css.js +4 -4
  106. package/help-panel/styles.scoped.css +127 -108
  107. package/help-panel/styles.selectors.js +4 -4
  108. package/hotspot/styles.css.js +7 -7
  109. package/hotspot/styles.scoped.css +13 -13
  110. package/hotspot/styles.selectors.js +7 -7
  111. package/icon/styles.css.js +21 -21
  112. package/icon/styles.scoped.css +86 -78
  113. package/icon/styles.selectors.js +21 -21
  114. package/input/styles.css.js +12 -12
  115. package/input/styles.scoped.css +63 -49
  116. package/input/styles.selectors.js +12 -12
  117. package/internal/components/abstract-switch/styles.css.js +13 -13
  118. package/internal/components/abstract-switch/styles.scoped.css +31 -30
  119. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  120. package/internal/components/button-trigger/styles.css.js +10 -10
  121. package/internal/components/button-trigger/styles.scoped.css +61 -48
  122. package/internal/components/button-trigger/styles.selectors.js +10 -10
  123. package/internal/components/cartesian-chart/styles.css.js +27 -27
  124. package/internal/components/cartesian-chart/styles.scoped.css +38 -41
  125. package/internal/components/cartesian-chart/styles.selectors.js +27 -27
  126. package/internal/components/chart-legend/styles.css.js +6 -6
  127. package/internal/components/chart-legend/styles.scoped.css +33 -26
  128. package/internal/components/chart-legend/styles.selectors.js +6 -6
  129. package/internal/components/chart-plot/styles.css.js +5 -5
  130. package/internal/components/chart-plot/styles.scoped.css +7 -7
  131. package/internal/components/chart-plot/styles.selectors.js +5 -5
  132. package/internal/components/chart-popover/styles.css.js +3 -3
  133. package/internal/components/chart-popover/styles.scoped.css +7 -5
  134. package/internal/components/chart-popover/styles.selectors.js +3 -3
  135. package/internal/components/chart-popover-footer/styles.css.js +1 -1
  136. package/internal/components/chart-popover-footer/styles.scoped.css +8 -6
  137. package/internal/components/chart-popover-footer/styles.selectors.js +1 -1
  138. package/internal/components/chart-series-details/styles.css.js +20 -20
  139. package/internal/components/chart-series-details/styles.scoped.css +74 -59
  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 +40 -27
  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 +13 -13
  146. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  147. package/internal/components/checkbox-icon/styles.css.js +7 -7
  148. package/internal/components/checkbox-icon/styles.scoped.css +12 -12
  149. package/internal/components/checkbox-icon/styles.selectors.js +7 -7
  150. package/internal/components/dropdown/styles.css.js +20 -20
  151. package/internal/components/dropdown/styles.scoped.css +64 -56
  152. package/internal/components/dropdown/styles.selectors.js +20 -20
  153. package/internal/components/dropdown-footer/styles.css.js +3 -3
  154. package/internal/components/dropdown-footer/styles.scoped.css +5 -5
  155. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  156. package/internal/components/dropdown-status/styles.css.js +2 -2
  157. package/internal/components/dropdown-status/styles.scoped.css +5 -3
  158. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  159. package/internal/components/filtering-token/styles.css.js +7 -7
  160. package/internal/components/filtering-token/styles.scoped.css +41 -30
  161. package/internal/components/filtering-token/styles.selectors.js +7 -7
  162. package/internal/components/handle/styles.css.js +2 -2
  163. package/internal/components/handle/styles.scoped.css +20 -14
  164. package/internal/components/handle/styles.selectors.js +2 -2
  165. package/internal/components/menu-dropdown/styles.css.js +7 -7
  166. package/internal/components/menu-dropdown/styles.scoped.css +31 -28
  167. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  168. package/internal/components/option/styles.css.js +17 -17
  169. package/internal/components/option/styles.scoped.css +39 -39
  170. package/internal/components/option/styles.selectors.js +17 -17
  171. package/internal/components/options-list/styles.css.js +2 -2
  172. package/internal/components/options-list/styles.scoped.css +14 -8
  173. package/internal/components/options-list/styles.selectors.js +2 -2
  174. package/internal/components/screenreader-only/styles.css.js +1 -1
  175. package/internal/components/screenreader-only/styles.scoped.css +3 -3
  176. package/internal/components/screenreader-only/styles.selectors.js +1 -1
  177. package/internal/components/selectable-item/styles.css.js +16 -16
  178. package/internal/components/selectable-item/styles.scoped.css +74 -65
  179. package/internal/components/selectable-item/styles.selectors.js +16 -16
  180. package/internal/components/token-list/styles.css.js +9 -9
  181. package/internal/components/token-list/styles.scoped.css +44 -33
  182. package/internal/components/token-list/styles.selectors.js +9 -9
  183. package/internal/environment.js +1 -1
  184. package/internal/environment.json +1 -1
  185. package/internal/manifest.json +1 -1
  186. package/link/styles.css.js +20 -20
  187. package/link/styles.scoped.css +75 -72
  188. package/link/styles.selectors.js +20 -20
  189. package/modal/styles.css.js +23 -23
  190. package/modal/styles.scoped.css +76 -61
  191. package/modal/styles.selectors.js +23 -23
  192. package/multiselect/styles.css.js +2 -2
  193. package/multiselect/styles.scoped.css +3 -3
  194. package/multiselect/styles.selectors.js +2 -2
  195. package/package.json +1 -1
  196. package/pagination/styles.css.js +9 -9
  197. package/pagination/styles.scoped.css +29 -25
  198. package/pagination/styles.selectors.js +9 -9
  199. package/popover/styles.css.js +50 -50
  200. package/popover/styles.scoped.css +75 -72
  201. package/popover/styles.selectors.js +50 -50
  202. package/progress-bar/styles.css.js +18 -18
  203. package/progress-bar/styles.scoped.css +33 -33
  204. package/progress-bar/styles.selectors.js +18 -18
  205. package/property-filter/styles.css.js +31 -31
  206. package/property-filter/styles.scoped.css +34 -34
  207. package/property-filter/styles.selectors.js +31 -31
  208. package/radio-group/styles.css.js +9 -9
  209. package/radio-group/styles.scoped.css +28 -25
  210. package/radio-group/styles.selectors.js +9 -9
  211. package/segmented-control/styles.css.js +14 -14
  212. package/segmented-control/styles.scoped.css +42 -39
  213. package/segmented-control/styles.selectors.js +14 -14
  214. package/select/parts/styles.css.js +16 -16
  215. package/select/parts/styles.scoped.css +18 -18
  216. package/select/parts/styles.selectors.js +16 -16
  217. package/side-navigation/styles.css.js +28 -28
  218. package/side-navigation/styles.scoped.css +43 -40
  219. package/side-navigation/styles.selectors.js +28 -28
  220. package/split-panel/styles.css.js +55 -55
  221. package/split-panel/styles.scoped.css +84 -81
  222. package/split-panel/styles.selectors.js +55 -55
  223. package/status-indicator/styles.css.js +23 -23
  224. package/status-indicator/styles.scoped.css +30 -30
  225. package/status-indicator/styles.selectors.js +23 -23
  226. package/table/body-cell/styles.css.js +30 -30
  227. package/table/body-cell/styles.scoped.css +166 -153
  228. package/table/body-cell/styles.selectors.js +30 -30
  229. package/table/header-cell/styles.css.js +24 -24
  230. package/table/header-cell/styles.scoped.css +77 -70
  231. package/table/header-cell/styles.selectors.js +24 -24
  232. package/table/resizer/styles.css.js +8 -8
  233. package/table/resizer/styles.scoped.css +43 -40
  234. package/table/resizer/styles.selectors.js +8 -8
  235. package/table/selection/styles.css.js +3 -3
  236. package/table/selection/styles.scoped.css +9 -9
  237. package/table/selection/styles.selectors.js +3 -3
  238. package/table/sticky-scrollbar/styles.css.js +6 -6
  239. package/table/sticky-scrollbar/styles.scoped.css +16 -16
  240. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  241. package/table/styles.css.js +35 -35
  242. package/table/styles.scoped.css +94 -87
  243. package/table/styles.selectors.js +35 -35
  244. package/tabs/styles.css.js +21 -21
  245. package/tabs/styles.scoped.css +104 -79
  246. package/tabs/styles.selectors.js +21 -21
  247. package/tag-editor/styles.css.js +3 -3
  248. package/tag-editor/styles.scoped.css +14 -11
  249. package/tag-editor/styles.selectors.js +3 -3
  250. package/text-content/styles.css.js +1 -1
  251. package/text-content/styles.scoped.css +74 -67
  252. package/text-content/styles.selectors.js +1 -1
  253. package/text-filter/styles.css.js +3 -3
  254. package/text-filter/styles.scoped.css +5 -5
  255. package/text-filter/styles.selectors.js +3 -3
  256. package/textarea/styles.css.js +4 -4
  257. package/textarea/styles.scoped.css +34 -23
  258. package/textarea/styles.selectors.js +4 -4
  259. package/tiles/styles.css.js +29 -29
  260. package/tiles/styles.scoped.css +112 -99
  261. package/tiles/styles.selectors.js +29 -29
  262. package/toggle/styles.css.js +8 -8
  263. package/toggle/styles.scoped.css +38 -29
  264. package/toggle/styles.selectors.js +8 -8
  265. package/token-group/styles.css.js +8 -8
  266. package/token-group/styles.scoped.css +46 -31
  267. package/token-group/styles.selectors.js +8 -8
  268. package/top-navigation/1.0-beta/styles.css.js +25 -25
  269. package/top-navigation/1.0-beta/styles.scoped.css +90 -83
  270. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  271. package/top-navigation/styles.css.js +47 -47
  272. package/top-navigation/styles.scoped.css +149 -130
  273. package/top-navigation/styles.selectors.js +47 -47
  274. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  275. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +36 -32
  276. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  277. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  278. package/tutorial-panel/components/tutorial-list/styles.scoped.css +47 -36
  279. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  280. package/tutorial-panel/styles.css.js +1 -1
  281. package/tutorial-panel/styles.scoped.css +4 -2
  282. package/tutorial-panel/styles.selectors.js +1 -1
  283. package/wizard/styles.css.js +32 -32
  284. package/wizard/styles.scoped.css +145 -117
  285. package/wizard/styles.selectors.js +32 -32
  286. package/app-layout/split-panel/constants.d.ts +0 -3
  287. package/app-layout/split-panel/constants.d.ts.map +0 -1
  288. package/app-layout/split-panel/constants.js +0 -5
  289. package/app-layout/split-panel/constants.js.map +0 -1
  290. package/app-layout/utils/use-document-width.d.ts +0 -2
  291. package/app-layout/utils/use-document-width.d.ts.map +0 -1
  292. package/app-layout/utils/use-document-width.js +0 -11
  293. package/app-layout/utils/use-document-width.js.map +0 -1
@@ -90,11 +90,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_arrow_1hpp3_1dlb8_93:not(#\9) {
93
+ .awsui_arrow_1hpp3_b3kyy_93:not(#\9) {
94
94
  width: 20px;
95
95
  height: 10px;
96
96
  }
97
- .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9), .awsui_arrow-inner_1hpp3_1dlb8_97:not(#\9) {
97
+ .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9), .awsui_arrow-inner_1hpp3_b3kyy_97:not(#\9) {
98
98
  position: absolute;
99
99
  overflow: hidden;
100
100
  width: 20px;
@@ -102,7 +102,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
102
102
  top: 0;
103
103
  left: 0;
104
104
  }
105
- .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after, .awsui_arrow-inner_1hpp3_1dlb8_97:not(#\9)::after {
105
+ .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after, .awsui_arrow-inner_1hpp3_b3kyy_97:not(#\9)::after {
106
106
  content: "";
107
107
  box-sizing: border-box;
108
108
  display: inline-block;
@@ -115,26 +115,26 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
115
115
  transform: rotate(45deg);
116
116
  transform-origin: 0 100%;
117
117
  }
118
- .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after {
118
+ .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after {
119
119
  background-color: var(--color-border-status-info-8upc6f, #0972d3);
120
120
  }
121
- .awsui_arrow-inner_1hpp3_1dlb8_97:not(#\9) {
121
+ .awsui_arrow-inner_1hpp3_b3kyy_97:not(#\9) {
122
122
  top: 2px;
123
123
  }
124
- .awsui_arrow-inner_1hpp3_1dlb8_97:not(#\9)::after {
124
+ .awsui_arrow-inner_1hpp3_b3kyy_97:not(#\9)::after {
125
125
  border-radius: 1px 0 0 0;
126
126
  background-color: var(--color-background-status-info-mvnbre, #f2f8fd);
127
127
  }
128
- .awsui_arrow-position-right-top_1hpp3_1dlb8_128 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after, .awsui_arrow-position-right-bottom_1hpp3_1dlb8_128 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after {
128
+ .awsui_arrow-position-right-top_1hpp3_b3kyy_128 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after, .awsui_arrow-position-right-bottom_1hpp3_b3kyy_128 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after {
129
129
  box-shadow: -0.71px 0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
130
130
  }
131
- .awsui_arrow-position-left-top_1hpp3_1dlb8_131 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after, .awsui_arrow-position-left-bottom_1hpp3_1dlb8_131 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after {
131
+ .awsui_arrow-position-left-top_1hpp3_b3kyy_131 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after, .awsui_arrow-position-left-bottom_1hpp3_b3kyy_131 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after {
132
132
  box-shadow: 0.71px -0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
133
133
  }
134
- .awsui_arrow-position-top-center_1hpp3_1dlb8_134 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after, .awsui_arrow-position-top-responsive_1hpp3_1dlb8_134 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after {
134
+ .awsui_arrow-position-top-center_1hpp3_b3kyy_134 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after, .awsui_arrow-position-top-responsive_1hpp3_b3kyy_134 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after {
135
135
  box-shadow: -0.71px -0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
136
136
  }
137
- .awsui_arrow-position-bottom-center_1hpp3_1dlb8_137 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after, .awsui_arrow-position-bottom-responsive_1hpp3_1dlb8_137 > .awsui_arrow-outer_1hpp3_1dlb8_97:not(#\9)::after {
137
+ .awsui_arrow-position-bottom-center_1hpp3_b3kyy_137 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after, .awsui_arrow-position-bottom-responsive_1hpp3_b3kyy_137 > .awsui_arrow-outer_1hpp3_b3kyy_97:not(#\9)::after {
138
138
  box-shadow: 0.71px 0.71px 4px -2px var(--color-shadow-default-8jp634, rgba(0, 7, 22, 0.12));
139
139
  }
140
140
 
@@ -142,37 +142,37 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
142
142
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
143
143
  SPDX-License-Identifier: Apache-2.0
144
144
  */
145
- .awsui_annotation_1hpp3_1dlb8_145:not(#\9),
146
- .awsui_next-button_1hpp3_1dlb8_146:not(#\9),
147
- .awsui_previous-button_1hpp3_1dlb8_147:not(#\9),
148
- .awsui_finish-button_1hpp3_1dlb8_148:not(#\9),
149
- .awsui_header_1hpp3_1dlb8_149:not(#\9),
150
- .awsui_step-counter-content_1hpp3_1dlb8_150:not(#\9),
151
- .awsui_content_1hpp3_1dlb8_151:not(#\9) {
145
+ .awsui_annotation_1hpp3_b3kyy_145:not(#\9),
146
+ .awsui_next-button_1hpp3_b3kyy_146:not(#\9),
147
+ .awsui_previous-button_1hpp3_b3kyy_147:not(#\9),
148
+ .awsui_finish-button_1hpp3_b3kyy_148:not(#\9),
149
+ .awsui_header_1hpp3_b3kyy_149:not(#\9),
150
+ .awsui_step-counter-content_1hpp3_b3kyy_150:not(#\9),
151
+ .awsui_content_1hpp3_b3kyy_151:not(#\9) {
152
152
  /* used in test-utils */
153
153
  }
154
154
 
155
- .awsui_description_1hpp3_1dlb8_155:not(#\9) {
155
+ .awsui_description_1hpp3_b3kyy_155:not(#\9) {
156
156
  overflow: hidden;
157
157
  margin-top: var(--space-xxs-p8yyaw, 4px);
158
158
  }
159
159
 
160
- .awsui_actionBar_1hpp3_1dlb8_160:not(#\9) {
160
+ .awsui_actionBar_1hpp3_b3kyy_160:not(#\9) {
161
161
  display: flex;
162
162
  justify-content: space-between;
163
163
  align-items: center;
164
164
  position: relative;
165
165
  }
166
166
 
167
- .awsui_stepCounter_1hpp3_1dlb8_167:not(#\9) {
167
+ .awsui_stepCounter_1hpp3_b3kyy_167:not(#\9) {
168
168
  margin-right: 20px;
169
169
  }
170
170
 
171
- .awsui_divider_1hpp3_1dlb8_171:not(#\9) {
171
+ .awsui_divider_1hpp3_b3kyy_171:not(#\9) {
172
172
  border-bottom: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-divider-default-j74lyz, #b6bec9);
173
173
  }
174
174
 
175
- .awsui_hotspot_1hpp3_1dlb8_175:not(#\9) {
175
+ .awsui_hotspot_1hpp3_b3kyy_175:not(#\9) {
176
176
  border-collapse: separate;
177
177
  border-spacing: 0;
178
178
  box-sizing: border-box;
@@ -214,34 +214,37 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
214
214
  width: 16px;
215
215
  height: 16px;
216
216
  }
217
- .awsui_hotspot_1hpp3_1dlb8_175:not(#\9):focus {
217
+ .awsui_hotspot_1hpp3_b3kyy_175:not(#\9):focus {
218
218
  outline: none;
219
219
  }
220
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1dlb8_175:not(#\9):focus {
220
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_b3kyy_175:not(#\9):focus {
221
221
  position: relative;
222
222
  }
223
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1dlb8_175:not(#\9):focus {
223
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_b3kyy_175:not(#\9):focus {
224
224
  outline: 2px dotted transparent;
225
225
  outline-offset: calc(2px - 1px);
226
226
  }
227
- body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_1dlb8_175:not(#\9):focus::before {
227
+ body[data-awsui-focus-visible=true] .awsui_hotspot_1hpp3_b3kyy_175:not(#\9):focus::before {
228
228
  content: " ";
229
229
  display: block;
230
230
  position: absolute;
231
- left: calc(-1 * 2px);
232
- top: calc(-1 * 2px);
233
- width: calc(100% + 2 * 2px);
234
- height: calc(100% + 2 * 2px);
235
- border-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
231
+ inset-inline-start: calc(-1 * 2px);
232
+ inset-block-start: calc(-1 * 2px);
233
+ inline-size: calc(100% + 2 * 2px);
234
+ block-size: calc(100% + 2 * 2px);
235
+ border-start-start-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
236
+ border-start-end-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
237
+ border-end-start-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
238
+ border-end-end-radius: var(--border-radius-control-circular-focus-ring-w07mub, 4px);
236
239
  box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
237
240
  }
238
- .awsui_hotspot_1hpp3_1dlb8_175 > .awsui_icon_1hpp3_1dlb8_237:not(#\9) {
241
+ .awsui_hotspot_1hpp3_b3kyy_175 > .awsui_icon_1hpp3_b3kyy_240:not(#\9) {
239
242
  position: relative;
240
243
  stroke: var(--color-text-link-default-latg1a, #0972d3);
241
244
  }
242
- .awsui_hotspot_1hpp3_1dlb8_175:not(#\9):hover > .awsui_icon_1hpp3_1dlb8_237 {
245
+ .awsui_hotspot_1hpp3_b3kyy_175:not(#\9):hover > .awsui_icon_1hpp3_b3kyy_240 {
243
246
  stroke: var(--color-text-link-hover-8j6p14, #033160);
244
247
  }
245
- .awsui_hotspot_1hpp3_1dlb8_175:not(#\9):active > .awsui_icon_1hpp3_1dlb8_237 {
248
+ .awsui_hotspot_1hpp3_b3kyy_175:not(#\9):active > .awsui_icon_1hpp3_b3kyy_240 {
246
249
  stroke: var(--color-text-link-default-latg1a, #0972d3);
247
250
  }
@@ -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_1dlb8_93",
6
- "arrow-outer": "awsui_arrow-outer_1hpp3_1dlb8_97",
7
- "arrow-inner": "awsui_arrow-inner_1hpp3_1dlb8_97",
8
- "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_1dlb8_128",
9
- "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_1dlb8_128",
10
- "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_1dlb8_131",
11
- "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_1dlb8_131",
12
- "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_1dlb8_134",
13
- "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_1dlb8_134",
14
- "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_1dlb8_137",
15
- "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_1dlb8_137",
16
- "annotation": "awsui_annotation_1hpp3_1dlb8_145",
17
- "next-button": "awsui_next-button_1hpp3_1dlb8_146",
18
- "previous-button": "awsui_previous-button_1hpp3_1dlb8_147",
19
- "finish-button": "awsui_finish-button_1hpp3_1dlb8_148",
20
- "header": "awsui_header_1hpp3_1dlb8_149",
21
- "step-counter-content": "awsui_step-counter-content_1hpp3_1dlb8_150",
22
- "content": "awsui_content_1hpp3_1dlb8_151",
23
- "description": "awsui_description_1hpp3_1dlb8_155",
24
- "actionBar": "awsui_actionBar_1hpp3_1dlb8_160",
25
- "stepCounter": "awsui_stepCounter_1hpp3_1dlb8_167",
26
- "divider": "awsui_divider_1hpp3_1dlb8_171",
27
- "hotspot": "awsui_hotspot_1hpp3_1dlb8_175",
28
- "icon": "awsui_icon_1hpp3_1dlb8_237"
5
+ "arrow": "awsui_arrow_1hpp3_b3kyy_93",
6
+ "arrow-outer": "awsui_arrow-outer_1hpp3_b3kyy_97",
7
+ "arrow-inner": "awsui_arrow-inner_1hpp3_b3kyy_97",
8
+ "arrow-position-right-top": "awsui_arrow-position-right-top_1hpp3_b3kyy_128",
9
+ "arrow-position-right-bottom": "awsui_arrow-position-right-bottom_1hpp3_b3kyy_128",
10
+ "arrow-position-left-top": "awsui_arrow-position-left-top_1hpp3_b3kyy_131",
11
+ "arrow-position-left-bottom": "awsui_arrow-position-left-bottom_1hpp3_b3kyy_131",
12
+ "arrow-position-top-center": "awsui_arrow-position-top-center_1hpp3_b3kyy_134",
13
+ "arrow-position-top-responsive": "awsui_arrow-position-top-responsive_1hpp3_b3kyy_134",
14
+ "arrow-position-bottom-center": "awsui_arrow-position-bottom-center_1hpp3_b3kyy_137",
15
+ "arrow-position-bottom-responsive": "awsui_arrow-position-bottom-responsive_1hpp3_b3kyy_137",
16
+ "annotation": "awsui_annotation_1hpp3_b3kyy_145",
17
+ "next-button": "awsui_next-button_1hpp3_b3kyy_146",
18
+ "previous-button": "awsui_previous-button_1hpp3_b3kyy_147",
19
+ "finish-button": "awsui_finish-button_1hpp3_b3kyy_148",
20
+ "header": "awsui_header_1hpp3_b3kyy_149",
21
+ "step-counter-content": "awsui_step-counter-content_1hpp3_b3kyy_150",
22
+ "content": "awsui_content_1hpp3_b3kyy_151",
23
+ "description": "awsui_description_1hpp3_b3kyy_155",
24
+ "actionBar": "awsui_actionBar_1hpp3_b3kyy_160",
25
+ "stepCounter": "awsui_stepCounter_1hpp3_b3kyy_167",
26
+ "divider": "awsui_divider_1hpp3_b3kyy_171",
27
+ "hotspot": "awsui_hotspot_1hpp3_b3kyy_175",
28
+ "icon": "awsui_icon_1hpp3_b3kyy_240"
29
29
  };
30
30
 
@@ -2,8 +2,8 @@ import { AppLayoutProps } from './interfaces';
2
2
  export interface AppLayoutState {
3
3
  navigationOpen?: boolean;
4
4
  toolsOpen?: boolean;
5
- minContentWidth: number;
5
+ minContentWidth?: number;
6
6
  maxContentWidth?: number | undefined;
7
7
  }
8
- export declare function applyDefaults(contentType: AppLayoutProps.ContentType, stateFromProps: Pick<AppLayoutProps, 'minContentWidth' | 'maxContentWidth' | 'navigationOpen' | 'toolsOpen'>, isRefresh: boolean): AppLayoutState;
8
+ export declare function applyDefaults(contentType: AppLayoutProps.ContentType, stateFromProps: AppLayoutState, isRefresh: boolean): AppLayoutState;
9
9
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"lib/default/","sources":["app-layout/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqC9C,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,cAAc,CAAC,WAAW,EACvC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,CAAC,EAC5G,SAAS,EAAE,OAAO,GACjB,cAAc,CAWhB"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"lib/default/","sources":["app-layout/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqC9C,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,cAAc,CAAC,WAAW,EACvC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,OAAO,GACjB,cAAc,CAWhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"lib/default/","sources":["app-layout/defaults.ts"],"names":[],"mappings":"AAIA,MAAM,uBAAuB,GAAmB;IAC9C,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,MAAM,QAAQ,GAAuD;IACnE,OAAO,oBACF,uBAAuB,CAC3B;IACD,SAAS,oBACJ,uBAAuB,CAC3B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,GAAG;KACrB;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AASF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA4G,EAC5G,SAAkB;;IAElB,MAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,iCAAM,QAAQ,CAAC,WAAW,CAAC,KAAE,eAAe,EAAE,SAAS,IACxD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO;QACL,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,cAAc,EAAE,MAAA,cAAc,CAAC,cAAc,mCAAI,mBAAmB,CAAC,cAAc;QACnF,SAAS,EAAE,MAAA,cAAc,CAAC,SAAS,mCAAI,mBAAmB,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AppLayoutProps } from './interfaces';\n\nconst defaultContentTypeState: AppLayoutState = {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n};\n\nconst defaults: Record<AppLayoutProps.ContentType, AppLayoutState> = {\n default: {\n ...defaultContentTypeState,\n },\n dashboard: {\n ...defaultContentTypeState,\n },\n cards: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n form: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 800,\n },\n table: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n wizard: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 1080,\n },\n};\n\nexport interface AppLayoutState {\n navigationOpen?: boolean;\n toolsOpen?: boolean;\n minContentWidth: number;\n maxContentWidth?: number | undefined;\n}\n\nexport function applyDefaults(\n contentType: AppLayoutProps.ContentType,\n stateFromProps: Pick<AppLayoutProps, 'minContentWidth' | 'maxContentWidth' | 'navigationOpen' | 'toolsOpen'>,\n isRefresh: boolean\n): AppLayoutState {\n const contentTypeDefaults = isRefresh\n ? { ...defaults[contentType], maxContentWidth: undefined }\n : defaults[contentType];\n\n return {\n maxContentWidth: stateFromProps.maxContentWidth ?? contentTypeDefaults.maxContentWidth,\n minContentWidth: stateFromProps.minContentWidth ?? contentTypeDefaults.minContentWidth,\n navigationOpen: stateFromProps.navigationOpen ?? contentTypeDefaults.navigationOpen,\n toolsOpen: stateFromProps.toolsOpen ?? contentTypeDefaults.toolsOpen,\n };\n}\n"]}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"lib/default/","sources":["app-layout/defaults.ts"],"names":[],"mappings":"AAIA,MAAM,uBAAuB,GAAmB;IAC9C,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,MAAM,QAAQ,GAAuD;IACnE,OAAO,oBACF,uBAAuB,CAC3B;IACD,SAAS,oBACJ,uBAAuB,CAC3B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,GAAG;KACrB;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AASF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA8B,EAC9B,SAAkB;;IAElB,MAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,iCAAM,QAAQ,CAAC,WAAW,CAAC,KAAE,eAAe,EAAE,SAAS,IACxD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO;QACL,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,cAAc,EAAE,MAAA,cAAc,CAAC,cAAc,mCAAI,mBAAmB,CAAC,cAAc;QACnF,SAAS,EAAE,MAAA,cAAc,CAAC,SAAS,mCAAI,mBAAmB,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AppLayoutProps } from './interfaces';\n\nconst defaultContentTypeState: AppLayoutState = {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n};\n\nconst defaults: Record<AppLayoutProps.ContentType, AppLayoutState> = {\n default: {\n ...defaultContentTypeState,\n },\n dashboard: {\n ...defaultContentTypeState,\n },\n cards: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n form: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 800,\n },\n table: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n wizard: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 1080,\n },\n};\n\nexport interface AppLayoutState {\n navigationOpen?: boolean;\n toolsOpen?: boolean;\n minContentWidth?: number;\n maxContentWidth?: number | undefined;\n}\n\nexport function applyDefaults(\n contentType: AppLayoutProps.ContentType,\n stateFromProps: AppLayoutState,\n isRefresh: boolean\n): AppLayoutState {\n const contentTypeDefaults = isRefresh\n ? { ...defaults[contentType], maxContentWidth: undefined }\n : defaults[contentType];\n\n return {\n maxContentWidth: stateFromProps.maxContentWidth ?? contentTypeDefaults.maxContentWidth,\n minContentWidth: stateFromProps.minContentWidth ?? contentTypeDefaults.minContentWidth,\n navigationOpen: stateFromProps.navigationOpen ?? contentTypeDefaults.navigationOpen,\n toolsOpen: stateFromProps.toolsOpen ?? contentTypeDefaults.toolsOpen,\n };\n}\n"]}
@@ -43,8 +43,9 @@ export interface ResizableDrawerProps extends DesktopDrawerProps {
43
43
  size: number;
44
44
  id: string;
45
45
  }) => void;
46
- minWidth: number;
47
- maxWidth: number;
46
+ minSize: number;
47
+ size: number;
48
+ getMaxWidth: () => number;
48
49
  refs: FocusControlRefs;
49
50
  toolsContent: React.ReactNode;
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":";AA4FA,sBAAsB","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { togglesConfig } from '../toggles';\nimport { AppLayoutProps } from '../interfaces';\nimport { IconProps } from '../../icon/interfaces';\nimport { NonCancelableEventHandler } from '../../internal/events';\n\nimport { FocusControlRefs } from '../utils/use-focus-control';\n\nexport interface DesktopDrawerProps {\n id?: string;\n contentClassName: string;\n toggleClassName: string;\n closeClassName: string;\n toggleRefs: {\n toggle: React.Ref<{ focus(): void }>;\n close: React.Ref<{ focus(): void }>;\n };\n width: number;\n topOffset: number | undefined;\n bottomOffset: number | undefined;\n ariaLabels: {\n mainLabel: string | undefined;\n closeLabel: string | undefined;\n openLabel: string | undefined;\n resizeHandle?: string;\n };\n children: React.ReactNode;\n hideOpenButton?: boolean;\n type: keyof typeof togglesConfig;\n isMobile: boolean;\n isOpen: boolean;\n isHidden?: boolean;\n onToggle: (isOpen: boolean) => void;\n onClick?: (event: React.MouseEvent) => void;\n onLoseFocus?: (event: React.FocusEvent) => void;\n resizeHandle?: React.ReactNode;\n}\n\nexport interface ResizableDrawerProps extends DesktopDrawerProps {\n activeDrawer: AppLayoutProps.Drawer | undefined;\n onResize: (resizeDetail: { size: number; id: string }) => void;\n minWidth: number;\n maxWidth: number;\n refs: FocusControlRefs;\n toolsContent: React.ReactNode;\n}\n\nexport interface DrawerTriggersBarProps {\n topOffset: number | undefined;\n bottomOffset: number | undefined;\n isMobile: boolean;\n drawers: Array<AppLayoutProps.Drawer>;\n activeDrawerId: string | null;\n onDrawerChange: (newDrawerId: string | null) => void;\n ariaLabels: AppLayoutProps['ariaLabels'];\n drawerRefs: FocusControlRefs;\n}\n\n// Beta interfaces\n// TODO: remove after beta consumers migrate to prod API\ninterface BetaDrawerItemAriaLabels {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n}\n\ninterface BetaDrawerItem {\n id: string;\n content: React.ReactNode;\n trigger: {\n iconName?: IconProps.Name;\n iconSvg?: React.ReactNode;\n };\n ariaLabels: BetaDrawerItemAriaLabels;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n badge?: boolean;\n}\n\nexport interface BetaDrawersProps {\n items: Array<BetaDrawerItem>;\n activeDrawerId?: string | null;\n onChange?: NonCancelableEventHandler<string | null>;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n ariaLabel?: string;\n overflowAriaLabel?: string;\n overflowWithBadgeAriaLabel?: string;\n}\n// Beta interfaces end\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":";AA6FA,sBAAsB","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { togglesConfig } from '../toggles';\nimport { AppLayoutProps } from '../interfaces';\nimport { IconProps } from '../../icon/interfaces';\nimport { NonCancelableEventHandler } from '../../internal/events';\n\nimport { FocusControlRefs } from '../utils/use-focus-control';\n\nexport interface DesktopDrawerProps {\n id?: string;\n contentClassName: string;\n toggleClassName: string;\n closeClassName: string;\n toggleRefs: {\n toggle: React.Ref<{ focus(): void }>;\n close: React.Ref<{ focus(): void }>;\n };\n width: number;\n topOffset: number | undefined;\n bottomOffset: number | undefined;\n ariaLabels: {\n mainLabel: string | undefined;\n closeLabel: string | undefined;\n openLabel: string | undefined;\n resizeHandle?: string;\n };\n children: React.ReactNode;\n hideOpenButton?: boolean;\n type: keyof typeof togglesConfig;\n isMobile: boolean;\n isOpen: boolean;\n isHidden?: boolean;\n onToggle: (isOpen: boolean) => void;\n onClick?: (event: React.MouseEvent) => void;\n onLoseFocus?: (event: React.FocusEvent) => void;\n resizeHandle?: React.ReactNode;\n}\n\nexport interface ResizableDrawerProps extends DesktopDrawerProps {\n activeDrawer: AppLayoutProps.Drawer | undefined;\n onResize: (resizeDetail: { size: number; id: string }) => void;\n minSize: number;\n size: number;\n getMaxWidth: () => number;\n refs: FocusControlRefs;\n toolsContent: React.ReactNode;\n}\n\nexport interface DrawerTriggersBarProps {\n topOffset: number | undefined;\n bottomOffset: number | undefined;\n isMobile: boolean;\n drawers: Array<AppLayoutProps.Drawer>;\n activeDrawerId: string | null;\n onDrawerChange: (newDrawerId: string | null) => void;\n ariaLabels: AppLayoutProps['ariaLabels'];\n drawerRefs: FocusControlRefs;\n}\n\n// Beta interfaces\n// TODO: remove after beta consumers migrate to prod API\ninterface BetaDrawerItemAriaLabels {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n}\n\ninterface BetaDrawerItem {\n id: string;\n content: React.ReactNode;\n trigger: {\n iconName?: IconProps.Name;\n iconSvg?: React.ReactNode;\n };\n ariaLabels: BetaDrawerItemAriaLabels;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n badge?: boolean;\n}\n\nexport interface BetaDrawersProps {\n items: Array<BetaDrawerItem>;\n activeDrawerId?: string | null;\n onChange?: NonCancelableEventHandler<string | null>;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n ariaLabel?: string;\n overflowAriaLabel?: string;\n overflowWithBadgeAriaLabel?: string;\n}\n// Beta interfaces end\n"]}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { ResizableDrawerProps } from './interfaces';
3
- export declare const ResizableDrawer: ({ onResize, maxWidth, minWidth, refs, activeDrawer, toolsContent, ...props }: ResizableDrawerProps) => JSX.Element;
3
+ export declare const ResizableDrawer: ({ onResize, size, minSize, getMaxWidth, refs, activeDrawer, toolsContent, ...props }: ResizableDrawerProps) => JSX.Element;
4
4
  //# sourceMappingURL=resizable-drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-drawer.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,eAAe,iFAQzB,oBAAoB,gBAiEtB,CAAC"}
1
+ {"version":3,"file":"resizable-drawer.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,eAAO,MAAM,eAAe,yFASzB,oBAAoB,gBAyEtB,CAAC"}
@@ -2,7 +2,7 @@ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import clsx from 'clsx';
5
- import React, { useRef } from 'react';
5
+ import React, { useEffect, useState, useRef } from 'react';
6
6
  import { getLimitedValue } from '../../split-panel/utils/size-utils';
7
7
  import { usePointerEvents } from '../utils/use-pointer-events';
8
8
  import { useKeyboardEvents } from '../utils/use-keyboard-events';
@@ -14,14 +14,23 @@ import styles from './styles.css.js';
14
14
  import { TOOLS_DRAWER_ID } from '../utils/use-drawers';
15
15
  export const ResizableDrawer = (_a) => {
16
16
  var _b, _c, _d, _e;
17
- var { onResize, maxWidth, minWidth, refs, activeDrawer, toolsContent } = _a, props = __rest(_a, ["onResize", "maxWidth", "minWidth", "refs", "activeDrawer", "toolsContent"]);
18
- const { isOpen, children, width, isMobile } = props;
19
- const clampedWidth = getLimitedValue(minWidth, width, maxWidth);
20
- const relativeSize = ((clampedWidth - minWidth) / (maxWidth - minWidth)) * 100;
21
- const setSidePanelWidth = (newWidth) => {
22
- const size = getLimitedValue(minWidth, newWidth, maxWidth);
17
+ var { onResize, size, minSize, getMaxWidth, refs, activeDrawer, toolsContent } = _a, props = __rest(_a, ["onResize", "size", "minSize", "getMaxWidth", "refs", "activeDrawer", "toolsContent"]);
18
+ const { isOpen, children, isMobile } = props;
19
+ const [relativeSize, setRelativeSize] = useState(0);
20
+ useEffect(() => {
21
+ // effects are called inside out in the components tree
22
+ // wait one frame to allow app-layout to complete its calculations
23
+ const handle = requestAnimationFrame(() => {
24
+ const maxSize = getMaxWidth();
25
+ setRelativeSize((size / maxSize) * 100);
26
+ });
27
+ return () => cancelAnimationFrame(handle);
28
+ }, [size, getMaxWidth]);
29
+ const setSidePanelWidth = (width) => {
30
+ const maxWidth = getMaxWidth();
31
+ const size = getLimitedValue(minSize, width, maxWidth);
23
32
  const id = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id;
24
- if (isOpen && id && maxWidth >= minWidth) {
33
+ if (isOpen && id && maxWidth >= minSize) {
25
34
  onResize({ size, id });
26
35
  }
27
36
  };
@@ -36,7 +45,7 @@ export const ResizableDrawer = (_a) => {
36
45
  const onKeyDown = useKeyboardEvents(sizeControlProps);
37
46
  const resizeHandle = (React.createElement("div", { ref: refs.slider, role: "slider", tabIndex: 0, "aria-label": (_b = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.resizeHandle, "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": relativeSize, className: clsx(splitPanelStyles.slider, splitPanelStyles[`slider-side`], testutilStyles['drawers-slider']), onKeyDown: onKeyDown, onPointerDown: onSliderPointerDown },
38
47
  React.createElement(ResizeHandler, { className: clsx(splitPanelStyles['slider-icon'], splitPanelStyles[`slider-icon-side`]) })));
39
- return (React.createElement(Drawer, Object.assign({}, props, { id: activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id, width: clampedWidth, ref: drawerRefObject, isHidden: !activeDrawer, resizeHandle: !isMobile &&
48
+ return (React.createElement(Drawer, Object.assign({}, props, { id: activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id, ref: drawerRefObject, isHidden: !activeDrawer, resizeHandle: !isMobile &&
40
49
  (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.resizable) && React.createElement("div", { className: splitPanelStyles['slider-wrapper-side'] }, resizeHandle), ariaLabels: {
41
50
  openLabel: (_c = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _c === void 0 ? void 0 : _c.triggerButton,
42
51
  mainLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.drawerName,
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-drawer.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.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 clsx from 'clsx';\nimport React, { useRef } from 'react';\n\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { usePointerEvents } from '../utils/use-pointer-events';\nimport { useKeyboardEvents } from '../utils/use-keyboard-events';\nimport { SizeControlProps } from '../utils/interfaces';\nimport { Drawer } from './index';\nimport testutilStyles from '../test-classes/styles.css.js';\n\nimport ResizeHandler from '../../split-panel/icons/resize-handler';\nimport splitPanelStyles from '../../split-panel/styles.css.js';\nimport styles from './styles.css.js';\nimport { ResizableDrawerProps } from './interfaces';\nimport { TOOLS_DRAWER_ID } from '../utils/use-drawers';\n\nexport const ResizableDrawer = ({\n onResize,\n maxWidth,\n minWidth,\n refs,\n activeDrawer,\n toolsContent,\n ...props\n}: ResizableDrawerProps) => {\n const { isOpen, children, width, isMobile } = props;\n\n const clampedWidth = getLimitedValue(minWidth, width, maxWidth);\n const relativeSize = ((clampedWidth - minWidth) / (maxWidth - minWidth)) * 100;\n\n const setSidePanelWidth = (newWidth: number) => {\n const size = getLimitedValue(minWidth, newWidth, maxWidth);\n const id = activeDrawer?.id;\n\n if (isOpen && id && maxWidth >= minWidth) {\n onResize({ size, id });\n }\n };\n\n const drawerRefObject = useRef<HTMLDivElement>(null);\n\n const sizeControlProps: SizeControlProps = {\n position: 'side',\n panelRef: drawerRefObject,\n handleRef: refs.slider,\n onResize: setSidePanelWidth,\n };\n\n const onSliderPointerDown = usePointerEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const resizeHandle = (\n <div\n ref={refs.slider}\n role=\"slider\"\n tabIndex={0}\n aria-label={activeDrawer?.ariaLabels?.resizeHandle}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(splitPanelStyles.slider, splitPanelStyles[`slider-side`], testutilStyles['drawers-slider'])}\n onKeyDown={onKeyDown}\n onPointerDown={onSliderPointerDown}\n >\n <ResizeHandler className={clsx(splitPanelStyles['slider-icon'], splitPanelStyles[`slider-icon-side`])} />\n </div>\n );\n\n return (\n <Drawer\n {...props}\n id={activeDrawer?.id}\n width={clampedWidth}\n ref={drawerRefObject}\n isHidden={!activeDrawer}\n resizeHandle={\n !isMobile &&\n activeDrawer?.resizable && <div className={splitPanelStyles['slider-wrapper-side']}>{resizeHandle}</div>\n }\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n }}\n >\n {toolsContent && <div className={clsx(activeDrawer?.id !== TOOLS_DRAWER_ID && styles.hide)}>{toolsContent}</div>}\n {activeDrawer?.id !== TOOLS_DRAWER_ID ? children : null}\n </Drawer>\n );\n};\n"]}
1
+ {"version":3,"file":"resizable-drawer.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.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 clsx from 'clsx';\nimport React, { useEffect, useState, useRef } from 'react';\n\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { usePointerEvents } from '../utils/use-pointer-events';\nimport { useKeyboardEvents } from '../utils/use-keyboard-events';\nimport { SizeControlProps } from '../utils/interfaces';\nimport { Drawer } from './index';\nimport testutilStyles from '../test-classes/styles.css.js';\n\nimport ResizeHandler from '../../split-panel/icons/resize-handler';\nimport splitPanelStyles from '../../split-panel/styles.css.js';\nimport styles from './styles.css.js';\nimport { ResizableDrawerProps } from './interfaces';\nimport { TOOLS_DRAWER_ID } from '../utils/use-drawers';\n\nexport const ResizableDrawer = ({\n onResize,\n size,\n minSize,\n getMaxWidth,\n refs,\n activeDrawer,\n toolsContent,\n ...props\n}: ResizableDrawerProps) => {\n const { isOpen, children, isMobile } = props;\n const [relativeSize, setRelativeSize] = useState(0);\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = getMaxWidth();\n setRelativeSize((size / maxSize) * 100);\n });\n return () => cancelAnimationFrame(handle);\n }, [size, getMaxWidth]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = getMaxWidth();\n const size = getLimitedValue(minSize, width, maxWidth);\n const id = activeDrawer?.id;\n\n if (isOpen && id && maxWidth >= minSize) {\n onResize({ size, id });\n }\n };\n\n const drawerRefObject = useRef<HTMLDivElement>(null);\n\n const sizeControlProps: SizeControlProps = {\n position: 'side',\n panelRef: drawerRefObject,\n handleRef: refs.slider,\n onResize: setSidePanelWidth,\n };\n\n const onSliderPointerDown = usePointerEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const resizeHandle = (\n <div\n ref={refs.slider}\n role=\"slider\"\n tabIndex={0}\n aria-label={activeDrawer?.ariaLabels?.resizeHandle}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(splitPanelStyles.slider, splitPanelStyles[`slider-side`], testutilStyles['drawers-slider'])}\n onKeyDown={onKeyDown}\n onPointerDown={onSliderPointerDown}\n >\n <ResizeHandler className={clsx(splitPanelStyles['slider-icon'], splitPanelStyles[`slider-icon-side`])} />\n </div>\n );\n\n return (\n <Drawer\n {...props}\n id={activeDrawer?.id}\n ref={drawerRefObject}\n isHidden={!activeDrawer}\n resizeHandle={\n !isMobile &&\n activeDrawer?.resizable && <div className={splitPanelStyles['slider-wrapper-side']}>{resizeHandle}</div>\n }\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n }}\n >\n {toolsContent && <div className={clsx(activeDrawer?.id !== TOOLS_DRAWER_ID && styles.hide)}>{toolsContent}</div>}\n {activeDrawer?.id !== TOOLS_DRAWER_ID ? children : null}\n </Drawer>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAwC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FAiCd,CAAC;AAmlBF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAmC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FAiCd,CAAC;AAkpBF,eAAe,SAAS,CAAC"}
@@ -11,7 +11,7 @@ import { applyDefaults } from './defaults';
11
11
  import { Notifications } from './notifications';
12
12
  import { MobileToolbar } from './mobile-toolbar';
13
13
  import { useFocusControl } from './utils/use-focus-control';
14
- import useDocumentWidth from './utils/use-document-width';
14
+ import useWindowWidth from './utils/use-window-width';
15
15
  import useContentHeight from './utils/use-content-height';
16
16
  import styles from './styles.css.js';
17
17
  import testutilStyles from './test-classes/styles.css.js';
@@ -24,7 +24,7 @@ import { useVisualRefresh } from '../internal/hooks/use-visual-mode';
24
24
  import ContentWrapper from './content-wrapper';
25
25
  import { Drawer, DrawerTriggersBar } from './drawer';
26
26
  import { ResizableDrawer } from './drawer/resizable-drawer';
27
- import { SPLIT_PANEL_MIN_WIDTH, SideSplitPanelDrawer, SplitPanelProvider, } from './split-panel';
27
+ import { SplitPanelProvider, SideSplitPanelDrawer } from './split-panel';
28
28
  import useAppLayoutOffsets from './utils/use-content-width';
29
29
  import { isDevelopment } from '../internal/is-development';
30
30
  import { useStableCallback, warnOnce } from '@cloudscape-design/component-toolkit/internal';
@@ -110,6 +110,7 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
110
110
  const navigationVisible = !navigationHide && navigationOpen;
111
111
  const toolsVisible = !toolsHide && toolsOpen;
112
112
  const { contentHeightStyle, headerHeight, footerHeight } = useContentHeight(headerSelector, footerSelector, disableBodyScroll);
113
+ const [isSplitpanelForcedPosition, setIsSplitpanelForcedPosition] = useState(false);
113
114
  const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);
114
115
  const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;
115
116
  const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;
@@ -133,12 +134,14 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
133
134
  const closedDrawerWidth = 40;
134
135
  const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;
135
136
  const getEffectiveToolsWidth = () => {
137
+ if (toolsHide &&
138
+ (!splitPanelDisplayed || (splitPanelPreferences === null || splitPanelPreferences === void 0 ? void 0 : splitPanelPreferences.position) !== 'side') &&
139
+ (!drawers || drawers.length === 0)) {
140
+ return 0;
141
+ }
136
142
  if (activeDrawer && activeDrawerSize) {
137
143
  return activeDrawerSize;
138
144
  }
139
- if (toolsHide || drawers) {
140
- return 0;
141
- }
142
145
  if (toolsOpen) {
143
146
  return toolsWidth;
144
147
  }
@@ -171,6 +174,30 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
171
174
  setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });
172
175
  fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });
173
176
  }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);
177
+ const getSplitPanelMaxWidth = useStableCallback(() => {
178
+ if (!mainContentRef.current || !defaults.minContentWidth) {
179
+ return NaN;
180
+ }
181
+ const width = parseInt(getComputedStyle(mainContentRef.current).width);
182
+ // when disableContentPaddings is true there is less available space,
183
+ // so we subtract space-scaled-2x-xxxl * 2 for left and right padding
184
+ const contentPadding = disableContentPaddings ? 80 : 0;
185
+ const spaceAvailable = width - defaults.minContentWidth - contentPadding;
186
+ const spaceTaken = finalSplitPanePosition === 'side' ? splitPanelSize : 0;
187
+ return Math.max(0, spaceTaken + spaceAvailable);
188
+ });
189
+ const getDrawerMaxWidth = useStableCallback(() => {
190
+ if (!mainContentRef.current || !defaults.minContentWidth) {
191
+ return NaN;
192
+ }
193
+ // Either use the computed width of the drawer or the drawerSize as defined.
194
+ const width = parseInt(getComputedStyle(mainContentRef.current).width || `${activeDrawerSize}`);
195
+ // when disableContentPaddings is true there is less available space,
196
+ // so we subtract space-scaled-2x-xxxl * 2 for left and right padding
197
+ const contentPadding = disableContentPaddings ? 80 : 0;
198
+ const spaceAvailable = width - defaults.minContentWidth - contentPadding;
199
+ return Math.max(0, activeDrawerSize + spaceAvailable);
200
+ });
174
201
  const getSplitPanelMaxHeight = useStableCallback(() => {
175
202
  if (typeof document === 'undefined') {
176
203
  return 0; // render the split panel in its minimum possible size
@@ -186,42 +213,65 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
186
213
  : availableHeight - MAIN_PANEL_MIN_HEIGHT;
187
214
  }
188
215
  });
189
- const documentWidth = useDocumentWidth();
216
+ const finalSplitPanePosition = isSplitpanelForcedPosition ? 'bottom' : splitPanelPosition;
217
+ const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';
218
+ const splitPanelOpenOnTheSide = splitPaneAvailableOnTheSide && splitPanelOpen;
219
+ const toggleButtonsBarWidth = 0;
220
+ const windowWidth = useWindowWidth();
190
221
  const { left: leftOffset, right: rightOffset } = useAppLayoutOffsets(rootRef.current);
191
- const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;
192
- const contentPadding = 80;
193
- // all content except split-panel + drawers/tools area
194
- const resizableSpaceAvailable = Math.max(0, documentWidth -
222
+ const contentWidthWithSplitPanel = windowWidth -
195
223
  leftOffset -
196
224
  rightOffset -
225
+ effectiveToolsWidth -
197
226
  effectiveNavigationWidth -
198
- defaults.minContentWidth -
199
- contentPadding -
200
- rightDrawerBarWidth);
201
- // if there is no space to display split panel in the side, force to bottom
202
- const isSplitPanelForcedPosition = isMobile || resizableSpaceAvailable - effectiveToolsWidth < SPLIT_PANEL_MIN_WIDTH;
203
- const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;
204
- const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';
205
- const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;
206
- const splitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);
207
- const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);
227
+ (disableContentPaddings ? 0 : toggleButtonsBarWidth);
228
+ const isResizeInvalid = isMobile || (defaults.minContentWidth || 0) > contentWidthWithSplitPanel;
229
+ useEffect(() => {
230
+ const contentWidth = contentWidthWithSplitPanel - splitPanelSize;
231
+ setIsSplitpanelForcedPosition(isMobile || (defaults.minContentWidth || 0) > contentWidth);
232
+ // This is a workaround to avoid a forced position due to splitPanelSize, which is
233
+ // user controlled variable.
234
+ // eslint-disable-next-line react-hooks/exhaustive-deps
235
+ }, [contentWidthWithSplitPanel, activeDrawerSize, defaults.minContentWidth, isMobile]);
208
236
  const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;
237
+ const toolsClosedWidth = toolsHide || isMobile || (!hasDrawers && toolsHide) ? 0 : closedDrawerWidth;
209
238
  const contentMaxWidthStyle = !isMobile ? { maxWidth: defaults.maxContentWidth } : undefined;
210
239
  const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);
211
240
  const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);
241
+ const getSplitPanelRightOffset = () => {
242
+ if (isMobile) {
243
+ return 0;
244
+ }
245
+ if (hasDrawers) {
246
+ if (activeDrawer) {
247
+ if (drawers.length === 1) {
248
+ return activeDrawerSize;
249
+ }
250
+ if (!isResizeInvalid && activeDrawerSize) {
251
+ return activeDrawerSize + closedDrawerWidth;
252
+ }
253
+ return toolsWidth + closedDrawerWidth;
254
+ }
255
+ return drawers.length > 0 ? closedDrawerWidth : 0;
256
+ }
257
+ if (!toolsHide && toolsOpen) {
258
+ return toolsWidth;
259
+ }
260
+ return toolsClosedWidth;
261
+ };
212
262
  const splitPanelContextProps = {
213
263
  topOffset: headerHeight + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight || 0 : 0),
214
264
  bottomOffset: footerHeight,
215
265
  leftOffset: leftOffset + (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),
216
- rightOffset: isMobile ? 0 : rightOffset + effectiveToolsWidth + rightDrawerBarWidth,
266
+ rightOffset: rightOffset + getSplitPanelRightOffset(),
217
267
  position: finalSplitPanePosition,
218
268
  size: splitPanelSize,
219
- maxWidth: splitPanelMaxWidth,
269
+ getMaxWidth: getSplitPanelMaxWidth,
220
270
  getMaxHeight: getSplitPanelMaxHeight,
221
271
  disableContentPaddings,
222
272
  contentWidthStyles: contentMaxWidthStyle,
223
273
  isOpen: splitPanelOpen,
224
- isForcedPosition: isSplitPanelForcedPosition,
274
+ isForcedPosition: isSplitpanelForcedPosition,
225
275
  onResize: onSplitPanelSizeSet,
226
276
  onToggle: onSplitPanelToggleHandler,
227
277
  onPreferencesChange: onSplitPanelPreferencesSet,
@@ -245,7 +295,7 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
245
295
  // 2. Tools panel is present and open
246
296
  toolsVisible ||
247
297
  // 3. Split panel is open in side position
248
- (splitPaneAvailableOnTheSide && splitPanelOpen),
298
+ splitPanelOpenOnTheSide,
249
299
  isMobile,
250
300
  };
251
301
  useImperativeHandle(ref, () => ({
@@ -320,13 +370,13 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
320
370
  closeLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.closeButton,
321
371
  mainLabel: activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels.drawerName,
322
372
  resizeHandle: (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.resizeHandle,
323
- }, minWidth: minDrawerSize, maxWidth: drawerMaxSize, width: activeDrawerSize, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: isOpen => {
373
+ }, width: !isResizeInvalid ? activeDrawerSize : toolsWidth, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: isOpen => {
324
374
  if (!isOpen) {
325
375
  focusToolsButtons();
326
376
  focusDrawersButtons();
327
377
  onActiveDrawerChange(null);
328
378
  }
329
- }, isOpen: true, hideOpenButton: true, toggleRefs: drawerRefs, type: "tools", onLoseFocus: loseDrawersFocus, activeDrawer: activeDrawer, onResize: changeDetail => onActiveDrawerResize(changeDetail), refs: drawerRefs, toolsContent: (_f = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _f === void 0 ? void 0 : _f.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))),
379
+ }, isOpen: true, hideOpenButton: true, toggleRefs: drawerRefs, type: "tools", onLoseFocus: loseDrawersFocus, activeDrawer: activeDrawer, minSize: minDrawerSize, size: !isResizeInvalid ? activeDrawerSize : toolsWidth, onResize: changeDetail => onActiveDrawerResize(changeDetail), refs: drawerRefs, getMaxWidth: getDrawerMaxWidth, toolsContent: (_f = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _f === void 0 ? void 0 : _f.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: effectiveToolsWidth, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen, toggleRefs: toolsRefs, type: "tools", onLoseFocus: loseToolsFocus }, tools))),
330
380
  hasDrawers && drawers.length > 0 && (React.createElement(DrawerTriggersBar, { drawerRefs: drawerRefs, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
331
381
  if (activeDrawerId !== newDrawerId) {
332
382
  focusToolsButtons();