@cloudscape-design/components-themeable 3.0.1126 → 3.0.1127

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 (199) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/resize/styles.scss +1 -1
  3. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +40 -0
  4. package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +20 -3
  5. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +87 -86
  6. package/lib/internal/template/alert/styles.css.js +27 -27
  7. package/lib/internal/template/alert/styles.scoped.css +50 -50
  8. package/lib/internal/template/alert/styles.selectors.js +27 -27
  9. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  10. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  11. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  12. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  13. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  14. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  15. package/lib/internal/template/app-layout/resize/styles.css.js +5 -5
  16. package/lib/internal/template/app-layout/resize/styles.scoped.css +13 -13
  17. package/lib/internal/template/app-layout/resize/styles.selectors.js +5 -5
  18. package/lib/internal/template/app-layout/runtime-drawer/index.d.ts +1 -0
  19. package/lib/internal/template/app-layout/runtime-drawer/index.d.ts.map +1 -1
  20. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  21. package/lib/internal/template/app-layout/utils/use-drawers.d.ts +1 -1
  22. package/lib/internal/template/app-layout/utils/use-drawers.d.ts.map +1 -1
  23. package/lib/internal/template/app-layout/utils/use-drawers.js +4 -2
  24. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  25. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  26. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  27. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  28. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts +1 -1
  29. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  30. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +2 -2
  31. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  32. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.d.ts +13 -0
  33. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.d.ts.map +1 -0
  34. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +183 -0
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -0
  36. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawers.js +1 -1
  37. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawers.js.map +1 -1
  38. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.d.ts +2 -1
  39. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.d.ts.map +1 -1
  40. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +2 -2
  41. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  42. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +27 -26
  43. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +110 -76
  44. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +27 -26
  45. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.d.ts +1 -1
  46. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.d.ts.map +1 -1
  47. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.js.map +1 -1
  48. package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts +15 -2
  49. package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts.map +1 -1
  50. package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.d.ts +2 -1
  52. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js +2 -2
  54. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  56. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  57. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  58. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -25
  59. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +68 -52
  60. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -25
  61. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.d.ts +2 -1
  62. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.d.ts.map +1 -1
  63. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  64. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  65. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.d.ts +4 -0
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.d.ts.map +1 -1
  67. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.d.ts.map +1 -1
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +12 -0
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.d.ts.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +0 -17
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.d.ts.map +1 -1
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +108 -12
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.d.ts +33 -0
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.d.ts.map +1 -0
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +85 -0
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -0
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.d.ts.map +1 -1
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +3 -1
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +8 -3
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +34 -7
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +4 -0
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +7 -3
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.d.ts.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.js +7 -3
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.d.ts.map +1 -1
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js +2 -2
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js.map +1 -1
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.d.ts.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.js +6 -2
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.js.map +1 -1
  101. package/lib/internal/template/attribute-editor/interfaces.d.ts +2 -0
  102. package/lib/internal/template/attribute-editor/interfaces.d.ts.map +1 -1
  103. package/lib/internal/template/attribute-editor/interfaces.js.map +1 -1
  104. package/lib/internal/template/attribute-editor/row.d.ts.map +1 -1
  105. package/lib/internal/template/attribute-editor/row.js +2 -2
  106. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  107. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  108. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  109. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  110. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  111. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  112. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  113. package/lib/internal/template/button/styles.css.js +22 -22
  114. package/lib/internal/template/button/styles.scoped.css +256 -256
  115. package/lib/internal/template/button/styles.selectors.js +22 -22
  116. package/lib/internal/template/button-dropdown/interfaces.d.ts +3 -1
  117. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  118. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  119. package/lib/internal/template/button-dropdown/item-element/index.d.ts.map +1 -1
  120. package/lib/internal/template/button-dropdown/item-element/index.js +1 -1
  121. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  122. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  123. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  124. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  125. package/lib/internal/template/checkbox/styles.css.js +3 -3
  126. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  127. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  128. package/lib/internal/template/content-layout/styles.css.js +14 -14
  129. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  130. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  131. package/lib/internal/template/flashbar/styles.css.js +50 -50
  132. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  133. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  134. package/lib/internal/template/help-panel/styles.css.js +6 -6
  135. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  136. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  137. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  138. package/lib/internal/template/internal/components/autosuggest-input/index.d.ts.map +1 -1
  139. package/lib/internal/template/internal/components/autosuggest-input/index.js +30 -7
  140. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  141. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  142. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  143. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  144. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  145. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  146. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  147. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  148. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  149. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  150. package/lib/internal/template/internal/environment.js +2 -2
  151. package/lib/internal/template/internal/environment.json +2 -2
  152. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
  153. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  154. package/lib/internal/template/internal/generated/custom-css-properties/index.js +86 -85
  155. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  156. package/lib/internal/template/internal/plugins/controllers/drawers.d.ts +1 -1
  157. package/lib/internal/template/internal/plugins/controllers/drawers.d.ts.map +1 -1
  158. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  159. package/lib/internal/template/internal/plugins/widget/index.d.ts +6 -1
  160. package/lib/internal/template/internal/plugins/widget/index.d.ts.map +1 -1
  161. package/lib/internal/template/internal/plugins/widget/index.js +11 -1
  162. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  163. package/lib/internal/template/internal/plugins/widget/interfaces.d.ts +2 -1
  164. package/lib/internal/template/internal/plugins/widget/interfaces.d.ts.map +1 -1
  165. package/lib/internal/template/internal/plugins/widget/interfaces.js.map +1 -1
  166. package/lib/internal/template/internal/plugins/widget.d.ts +1 -1
  167. package/lib/internal/template/internal/plugins/widget.d.ts.map +1 -1
  168. package/lib/internal/template/internal/plugins/widget.js +1 -1
  169. package/lib/internal/template/internal/plugins/widget.js.map +1 -1
  170. package/lib/internal/template/link/styles.css.js +20 -20
  171. package/lib/internal/template/link/styles.scoped.css +103 -103
  172. package/lib/internal/template/link/styles.selectors.js +20 -20
  173. package/lib/internal/template/radio-group/styles.css.js +10 -10
  174. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  175. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  176. package/lib/internal/template/slider/styles.css.js +26 -26
  177. package/lib/internal/template/slider/styles.scoped.css +86 -86
  178. package/lib/internal/template/slider/styles.selectors.js +26 -26
  179. package/lib/internal/template/spinner/styles.css.js +13 -13
  180. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  181. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  182. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  183. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  184. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  185. package/lib/internal/template/text-content/styles.css.js +1 -1
  186. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  187. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  188. package/lib/internal/template/toggle/styles.css.js +10 -10
  189. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  190. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  191. package/lib/internal/template/top-navigation/interfaces.d.ts +1 -1
  192. package/lib/internal/template/top-navigation/interfaces.js.map +1 -1
  193. package/lib/internal/template/top-navigation/internal.d.ts.map +1 -1
  194. package/lib/internal/template/top-navigation/internal.js +0 -9
  195. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  196. package/lib/internal/template/top-navigation/parts/utility.d.ts.map +1 -1
  197. package/lib/internal/template/top-navigation/parts/utility.js +1 -15
  198. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  199. package/package.json +1 -1
@@ -2,91 +2,91 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "background": "awsui_background_hyvsj_12yx8_149",
6
- "scrolling-background": "awsui_scrolling-background_hyvsj_12yx8_152",
7
- "breadcrumbs": "awsui_breadcrumbs_hyvsj_12yx8_163",
8
- "drawers-container": "awsui_drawers-container_hyvsj_12yx8_176",
9
- "has-open-drawer": "awsui_has-open-drawer_hyvsj_12yx8_187",
10
- "disable-body-scroll": "awsui_disable-body-scroll_hyvsj_12yx8_208",
11
- "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_hyvsj_12yx8_213",
12
- "has-multiple-triggers": "awsui_has-multiple-triggers_hyvsj_12yx8_251",
13
- "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_hyvsj_12yx8_261",
14
- "drawers-trigger-content": "awsui_drawers-trigger-content_hyvsj_12yx8_266",
15
- "drawers-trigger-overflow": "awsui_drawers-trigger-overflow_hyvsj_12yx8_280",
16
- "drawers-trigger": "awsui_drawers-trigger_hyvsj_12yx8_266",
17
- "drawer": "awsui_drawer_hyvsj_12yx8_176",
18
- "drawer-content-container": "awsui_drawer-content-container_hyvsj_12yx8_311",
19
- "drawer-close-button": "awsui_drawer-close-button_hyvsj_12yx8_320",
20
- "drawer-content": "awsui_drawer-content_hyvsj_12yx8_311",
21
- "drawer-content-hidden": "awsui_drawer-content-hidden_hyvsj_12yx8_329",
22
- "drawer-slider": "awsui_drawer-slider_hyvsj_12yx8_332",
23
- "is-drawer-open": "awsui_is-drawer-open_hyvsj_12yx8_339",
24
- "content": "awsui_content_hyvsj_12yx8_365",
25
- "layout": "awsui_layout_hyvsj_12yx8_390",
26
- "has-max-content-width": "awsui_has-max-content-width_hyvsj_12yx8_462",
27
- "content-type-dashboard": "awsui_content-type-dashboard_hyvsj_12yx8_477",
28
- "content-type-table": "awsui_content-type-table_hyvsj_12yx8_491",
29
- "content-type-cards": "awsui_content-type-cards_hyvsj_12yx8_491",
30
- "is-overlap-disabled": "awsui_is-overlap-disabled_hyvsj_12yx8_497",
31
- "is-hide-mobile-toolbar": "awsui_is-hide-mobile-toolbar_hyvsj_12yx8_500",
32
- "has-content-gap-left": "awsui_has-content-gap-left_hyvsj_12yx8_514",
33
- "has-content-gap-right": "awsui_has-content-gap-right_hyvsj_12yx8_517",
34
- "has-breadcrumbs": "awsui_has-breadcrumbs_hyvsj_12yx8_527",
35
- "content-first-child-header": "awsui_content-first-child-header_hyvsj_12yx8_530",
36
- "content-first-child-notifications": "awsui_content-first-child-notifications_hyvsj_12yx8_530",
37
- "has-header": "awsui_has-header_hyvsj_12yx8_530",
38
- "content-first-child-main": "awsui_content-first-child-main_hyvsj_12yx8_545",
39
- "disable-content-paddings": "awsui_disable-content-paddings_hyvsj_12yx8_545",
40
- "has-left-toggles-gutter": "awsui_has-left-toggles-gutter_hyvsj_12yx8_565",
41
- "has-right-toggles-gutter": "awsui_has-right-toggles-gutter_hyvsj_12yx8_568",
42
- "has-split-panel": "awsui_has-split-panel_hyvsj_12yx8_588",
43
- "split-panel-position-bottom": "awsui_split-panel-position-bottom_hyvsj_12yx8_588",
44
- "block-body-scroll": "awsui_block-body-scroll_hyvsj_12yx8_596",
45
- "unfocusable": "awsui_unfocusable_hyvsj_12yx8_601",
46
- "container": "awsui_container_hyvsj_12yx8_611",
47
- "is-navigation-open": "awsui_is-navigation-open_hyvsj_12yx8_637",
48
- "is-tools-open": "awsui_is-tools-open_hyvsj_12yx8_640",
49
- "is-split-panel-open": "awsui_is-split-panel-open_hyvsj_12yx8_640",
50
- "split-panel-position-side": "awsui_split-panel-position-side_hyvsj_12yx8_640",
51
- "has-active-drawer": "awsui_has-active-drawer_hyvsj_12yx8_640",
52
- "mobile-toolbar": "awsui_mobile-toolbar_hyvsj_12yx8_653",
53
- "remove-high-contrast-header": "awsui_remove-high-contrast-header_hyvsj_12yx8_670",
54
- "mobile-toolbar-nav": "awsui_mobile-toolbar-nav_hyvsj_12yx8_674",
55
- "mobile-toolbar-breadcrumbs": "awsui_mobile-toolbar-breadcrumbs_hyvsj_12yx8_678",
56
- "mobile-toolbar-tools": "awsui_mobile-toolbar-tools_hyvsj_12yx8_682",
57
- "navigation-container": "awsui_navigation-container_hyvsj_12yx8_691",
58
- "show-navigation": "awsui_show-navigation_hyvsj_12yx8_729",
59
- "animating": "awsui_animating_hyvsj_12yx8_752",
60
- "showButtons": "awsui_showButtons_hyvsj_12yx8_1",
61
- "navigation": "awsui_navigation_hyvsj_12yx8_691",
62
- "openNavigation": "awsui_openNavigation_hyvsj_12yx8_1",
63
- "animated-content": "awsui_animated-content_hyvsj_12yx8_816",
64
- "content-container": "awsui_content-container_hyvsj_12yx8_819",
65
- "hide-navigation": "awsui_hide-navigation_hyvsj_12yx8_828",
66
- "notifications": "awsui_notifications_hyvsj_12yx8_838",
67
- "has-notification-content": "awsui_has-notification-content_hyvsj_12yx8_843",
68
- "sticky-notifications": "awsui_sticky-notifications_hyvsj_12yx8_847",
69
- "high-contrast": "awsui_high-contrast_hyvsj_12yx8_852",
70
- "split-panel-bottom": "awsui_split-panel-bottom_hyvsj_12yx8_870",
71
- "position-bottom": "awsui_position-bottom_hyvsj_12yx8_917",
72
- "openSplitPanelBottom": "awsui_openSplitPanelBottom_hyvsj_12yx8_1",
73
- "split-panel-side": "awsui_split-panel-side_hyvsj_12yx8_946",
74
- "position-side": "awsui_position-side_hyvsj_12yx8_959",
75
- "tools-container": "awsui_tools-container_hyvsj_12yx8_981",
76
- "tools": "awsui_tools_hyvsj_12yx8_981",
77
- "openTools": "awsui_openTools_hyvsj_12yx8_1",
78
- "has-tools-form-persistence": "awsui_has-tools-form-persistence_hyvsj_12yx8_1070",
79
- "hide-tools": "awsui_hide-tools_hyvsj_12yx8_1080",
80
- "show-tools": "awsui_show-tools_hyvsj_12yx8_1092",
81
- "has-tools-form": "awsui_has-tools-form_hyvsj_12yx8_1070",
82
- "trigger-button-styles": "awsui_trigger-button-styles_hyvsj_12yx8_1172",
83
- "trigger-badge-wrapper": "awsui_trigger-badge-wrapper_hyvsj_12yx8_1188",
84
- "trigger": "awsui_trigger_hyvsj_12yx8_1172",
85
- "selected": "awsui_selected_hyvsj_12yx8_1240",
86
- "badge": "awsui_badge_hyvsj_12yx8_1260",
87
- "trigger-wrapper": "awsui_trigger-wrapper_hyvsj_12yx8_1264",
88
- "trigger-wrapper-tooltip-visible": "awsui_trigger-wrapper-tooltip-visible_hyvsj_12yx8_1275",
89
- "dot": "awsui_dot_hyvsj_12yx8_1279",
90
- "trigger-tooltip": "awsui_trigger-tooltip_hyvsj_12yx8_1292"
5
+ "background": "awsui_background_hyvsj_1kl4h_149",
6
+ "scrolling-background": "awsui_scrolling-background_hyvsj_1kl4h_152",
7
+ "breadcrumbs": "awsui_breadcrumbs_hyvsj_1kl4h_163",
8
+ "drawers-container": "awsui_drawers-container_hyvsj_1kl4h_176",
9
+ "has-open-drawer": "awsui_has-open-drawer_hyvsj_1kl4h_187",
10
+ "disable-body-scroll": "awsui_disable-body-scroll_hyvsj_1kl4h_208",
11
+ "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_hyvsj_1kl4h_213",
12
+ "has-multiple-triggers": "awsui_has-multiple-triggers_hyvsj_1kl4h_251",
13
+ "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_hyvsj_1kl4h_261",
14
+ "drawers-trigger-content": "awsui_drawers-trigger-content_hyvsj_1kl4h_266",
15
+ "drawers-trigger-overflow": "awsui_drawers-trigger-overflow_hyvsj_1kl4h_280",
16
+ "drawers-trigger": "awsui_drawers-trigger_hyvsj_1kl4h_266",
17
+ "drawer": "awsui_drawer_hyvsj_1kl4h_176",
18
+ "drawer-content-container": "awsui_drawer-content-container_hyvsj_1kl4h_311",
19
+ "drawer-close-button": "awsui_drawer-close-button_hyvsj_1kl4h_320",
20
+ "drawer-content": "awsui_drawer-content_hyvsj_1kl4h_311",
21
+ "drawer-content-hidden": "awsui_drawer-content-hidden_hyvsj_1kl4h_329",
22
+ "drawer-slider": "awsui_drawer-slider_hyvsj_1kl4h_332",
23
+ "is-drawer-open": "awsui_is-drawer-open_hyvsj_1kl4h_339",
24
+ "content": "awsui_content_hyvsj_1kl4h_365",
25
+ "layout": "awsui_layout_hyvsj_1kl4h_390",
26
+ "has-max-content-width": "awsui_has-max-content-width_hyvsj_1kl4h_462",
27
+ "content-type-dashboard": "awsui_content-type-dashboard_hyvsj_1kl4h_477",
28
+ "content-type-table": "awsui_content-type-table_hyvsj_1kl4h_491",
29
+ "content-type-cards": "awsui_content-type-cards_hyvsj_1kl4h_491",
30
+ "is-overlap-disabled": "awsui_is-overlap-disabled_hyvsj_1kl4h_497",
31
+ "is-hide-mobile-toolbar": "awsui_is-hide-mobile-toolbar_hyvsj_1kl4h_500",
32
+ "has-content-gap-left": "awsui_has-content-gap-left_hyvsj_1kl4h_514",
33
+ "has-content-gap-right": "awsui_has-content-gap-right_hyvsj_1kl4h_517",
34
+ "has-breadcrumbs": "awsui_has-breadcrumbs_hyvsj_1kl4h_527",
35
+ "content-first-child-header": "awsui_content-first-child-header_hyvsj_1kl4h_530",
36
+ "content-first-child-notifications": "awsui_content-first-child-notifications_hyvsj_1kl4h_530",
37
+ "has-header": "awsui_has-header_hyvsj_1kl4h_530",
38
+ "content-first-child-main": "awsui_content-first-child-main_hyvsj_1kl4h_545",
39
+ "disable-content-paddings": "awsui_disable-content-paddings_hyvsj_1kl4h_545",
40
+ "has-left-toggles-gutter": "awsui_has-left-toggles-gutter_hyvsj_1kl4h_565",
41
+ "has-right-toggles-gutter": "awsui_has-right-toggles-gutter_hyvsj_1kl4h_568",
42
+ "has-split-panel": "awsui_has-split-panel_hyvsj_1kl4h_588",
43
+ "split-panel-position-bottom": "awsui_split-panel-position-bottom_hyvsj_1kl4h_588",
44
+ "block-body-scroll": "awsui_block-body-scroll_hyvsj_1kl4h_596",
45
+ "unfocusable": "awsui_unfocusable_hyvsj_1kl4h_601",
46
+ "container": "awsui_container_hyvsj_1kl4h_611",
47
+ "is-navigation-open": "awsui_is-navigation-open_hyvsj_1kl4h_637",
48
+ "is-tools-open": "awsui_is-tools-open_hyvsj_1kl4h_640",
49
+ "is-split-panel-open": "awsui_is-split-panel-open_hyvsj_1kl4h_640",
50
+ "split-panel-position-side": "awsui_split-panel-position-side_hyvsj_1kl4h_640",
51
+ "has-active-drawer": "awsui_has-active-drawer_hyvsj_1kl4h_640",
52
+ "mobile-toolbar": "awsui_mobile-toolbar_hyvsj_1kl4h_653",
53
+ "remove-high-contrast-header": "awsui_remove-high-contrast-header_hyvsj_1kl4h_670",
54
+ "mobile-toolbar-nav": "awsui_mobile-toolbar-nav_hyvsj_1kl4h_674",
55
+ "mobile-toolbar-breadcrumbs": "awsui_mobile-toolbar-breadcrumbs_hyvsj_1kl4h_678",
56
+ "mobile-toolbar-tools": "awsui_mobile-toolbar-tools_hyvsj_1kl4h_682",
57
+ "navigation-container": "awsui_navigation-container_hyvsj_1kl4h_691",
58
+ "show-navigation": "awsui_show-navigation_hyvsj_1kl4h_729",
59
+ "animating": "awsui_animating_hyvsj_1kl4h_752",
60
+ "showButtons": "awsui_showButtons_hyvsj_1kl4h_1",
61
+ "navigation": "awsui_navigation_hyvsj_1kl4h_691",
62
+ "openNavigation": "awsui_openNavigation_hyvsj_1kl4h_1",
63
+ "animated-content": "awsui_animated-content_hyvsj_1kl4h_816",
64
+ "content-container": "awsui_content-container_hyvsj_1kl4h_819",
65
+ "hide-navigation": "awsui_hide-navigation_hyvsj_1kl4h_828",
66
+ "notifications": "awsui_notifications_hyvsj_1kl4h_838",
67
+ "has-notification-content": "awsui_has-notification-content_hyvsj_1kl4h_843",
68
+ "sticky-notifications": "awsui_sticky-notifications_hyvsj_1kl4h_847",
69
+ "high-contrast": "awsui_high-contrast_hyvsj_1kl4h_852",
70
+ "split-panel-bottom": "awsui_split-panel-bottom_hyvsj_1kl4h_870",
71
+ "position-bottom": "awsui_position-bottom_hyvsj_1kl4h_917",
72
+ "openSplitPanelBottom": "awsui_openSplitPanelBottom_hyvsj_1kl4h_1",
73
+ "split-panel-side": "awsui_split-panel-side_hyvsj_1kl4h_946",
74
+ "position-side": "awsui_position-side_hyvsj_1kl4h_959",
75
+ "tools-container": "awsui_tools-container_hyvsj_1kl4h_981",
76
+ "tools": "awsui_tools_hyvsj_1kl4h_981",
77
+ "openTools": "awsui_openTools_hyvsj_1kl4h_1",
78
+ "has-tools-form-persistence": "awsui_has-tools-form-persistence_hyvsj_1kl4h_1070",
79
+ "hide-tools": "awsui_hide-tools_hyvsj_1kl4h_1080",
80
+ "show-tools": "awsui_show-tools_hyvsj_1kl4h_1092",
81
+ "has-tools-form": "awsui_has-tools-form_hyvsj_1kl4h_1070",
82
+ "trigger-button-styles": "awsui_trigger-button-styles_hyvsj_1kl4h_1172",
83
+ "trigger-badge-wrapper": "awsui_trigger-badge-wrapper_hyvsj_1kl4h_1188",
84
+ "trigger": "awsui_trigger_hyvsj_1kl4h_1172",
85
+ "selected": "awsui_selected_hyvsj_1kl4h_1240",
86
+ "badge": "awsui_badge_hyvsj_1kl4h_1260",
87
+ "trigger-wrapper": "awsui_trigger-wrapper_hyvsj_1kl4h_1264",
88
+ "trigger-wrapper-tooltip-visible": "awsui_trigger-wrapper-tooltip-visible_hyvsj_1kl4h_1275",
89
+ "dot": "awsui_dot_hyvsj_1kl4h_1279",
90
+ "trigger-tooltip": "awsui_trigger-tooltip_hyvsj_1kl4h_1292"
91
91
  };
92
92
 
@@ -53,7 +53,7 @@ export declare function computeSplitPanelOffsets({ hasSplitPanel, splitPanelPosi
53
53
  stickyVerticalBottomOffset: number;
54
54
  mainContentPaddingBlockEnd: number;
55
55
  };
56
- export declare function getDrawerStyles(verticalOffsets: VerticalLayoutOutput, isMobile: boolean, placement: AppLayoutPropsWithDefaults['placement']): {
56
+ export declare function getDrawerStyles(verticalOffsets: VerticalLayoutOutput, isMobile: boolean, placement: AppLayoutPropsWithDefaults['placement'], activeGlobalBottomDrawerSize?: number): {
57
57
  drawerTopOffset: number;
58
58
  drawerHeight: string;
59
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compute-layout.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh-toolbar/compute-layout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG3D,UAAU,qBAAqB;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,wBAAgB,uBAAuB,CAAC,EACtC,cAAc,EACd,eAAe,EACf,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,GACnB,EAAE,qBAAqB;;;;;;;;;;EA6CvB;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,EAAE,mBAAmB,GAAG,oBAAoB,CAe5C;AAED,UAAU,qBAAqB;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACnD,kBAAkB,EAAE,QAAQ,GAAG,MAAM,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,EAAE,qBAAqB;;;;;;EAYvB;AAED,wBAAgB,eAAe,CAC7B,eAAe,EAAE,oBAAoB,EACrC,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,GACjD;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAIA"}
1
+ {"version":3,"file":"compute-layout.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh-toolbar/compute-layout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG3D,UAAU,qBAAqB;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,wBAAgB,uBAAuB,CAAC,EACtC,cAAc,EACd,eAAe,EACf,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,GACnB,EAAE,qBAAqB;;;;;;;;;;EA6CvB;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,EAAE,mBAAmB,GAAG,oBAAoB,CAe5C;AAED,UAAU,qBAAqB;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACnD,kBAAkB,EAAE,QAAQ,GAAG,MAAM,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,EAAE,qBAAqB;;;;;;EAYvB;AAED,wBAAgB,eAAe,CAC7B,eAAe,EAAE,oBAAoB,EACrC,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC,EAClD,4BAA4B,GAAE,MAAU,GACvC;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAIA"}
@@ -62,10 +62,10 @@ export function computeSplitPanelOffsets({ hasSplitPanel, splitPanelPosition, pl
62
62
  mainContentPaddingBlockEnd: mainContentBottomOffset,
63
63
  };
64
64
  }
65
- export function getDrawerStyles(verticalOffsets, isMobile, placement) {
65
+ export function getDrawerStyles(verticalOffsets, isMobile, placement, activeGlobalBottomDrawerSize = 0) {
66
66
  var _a;
67
67
  const drawerTopOffset = isMobile ? verticalOffsets.toolbar : ((_a = verticalOffsets.drawers) !== null && _a !== void 0 ? _a : placement.insetBlockStart);
68
- const drawerHeight = `calc(100vh - ${drawerTopOffset}px - ${placement.insetBlockEnd}px)`;
68
+ const drawerHeight = `calc(100vh - ${drawerTopOffset}px - ${placement.insetBlockEnd}px - ${activeGlobalBottomDrawerSize}px)`;
69
69
  return { drawerTopOffset, drawerHeight };
70
70
  }
71
71
  //# sourceMappingURL=compute-layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compute-layout.js","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh-toolbar/compute-layout.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\n\nimport { AppLayoutPropsWithDefaults } from '../interfaces';\nimport { shouldSplitPanelBeForcedToBottom } from '../split-panel/split-panel-forced-position';\n\ninterface HorizontalLayoutInput {\n navigationOpen: boolean;\n navigationWidth: number;\n placement: AppLayoutPropsWithDefaults['placement'];\n minContentWidth: number;\n activeDrawerSize: number;\n splitPanelOpen: boolean;\n splitPanelPosition: 'side' | 'bottom' | undefined;\n splitPanelSize: number;\n isMobile: boolean;\n activeGlobalDrawersSizes: Record<string, number>;\n activeAiDrawerSize: number;\n}\n\nexport const CONTENT_PADDING = 2 * 24; // space-xl\n\nexport function computeHorizontalLayout({\n navigationOpen,\n navigationWidth,\n placement,\n minContentWidth,\n activeDrawerSize,\n splitPanelOpen,\n splitPanelPosition,\n splitPanelSize,\n isMobile,\n activeGlobalDrawersSizes,\n activeAiDrawerSize,\n}: HorizontalLayoutInput) {\n const activeNavigationWidth = navigationOpen ? navigationWidth : 0;\n\n let resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - minContentWidth - CONTENT_PADDING - activeNavigationWidth - activeAiDrawerSize\n );\n const totalActiveGlobalDrawersSize = Object.values(activeGlobalDrawersSizes).reduce((acc, size) => acc + size, 0);\n\n const availableWidthForSplitPanel = resizableSpaceAvailable - activeDrawerSize;\n const splitPanelForcedPosition = shouldSplitPanelBeForcedToBottom({\n isMobile,\n availableWidthForSplitPanel,\n });\n const resolvedSplitPanelPosition = splitPanelForcedPosition ? 'bottom' : (splitPanelPosition ?? 'bottom');\n const sideSplitPanelSize = resolvedSplitPanelPosition === 'side' && splitPanelOpen ? (splitPanelSize ?? 0) : 0;\n const maxSplitPanelSize = Math.max(resizableSpaceAvailable - totalActiveGlobalDrawersSize - activeDrawerSize, 0);\n resizableSpaceAvailable -= sideSplitPanelSize;\n const maxDrawerSize = resizableSpaceAvailable - totalActiveGlobalDrawersSize;\n const maxAiDrawerSize = resizableSpaceAvailable - totalActiveGlobalDrawersSize + activeAiDrawerSize;\n const maxGlobalDrawersSizes: Record<string, number> = Object.keys(activeGlobalDrawersSizes).reduce(\n (acc, drawerId) => {\n return {\n ...acc,\n [drawerId]:\n resizableSpaceAvailable -\n activeDrawerSize -\n totalActiveGlobalDrawersSize +\n activeGlobalDrawersSizes[drawerId],\n };\n },\n {}\n );\n\n return {\n splitPanelPosition: resolvedSplitPanelPosition,\n splitPanelForcedPosition,\n sideSplitPanelSize,\n maxSplitPanelSize,\n maxDrawerSize,\n maxGlobalDrawersSizes,\n totalActiveGlobalDrawersSize,\n resizableSpaceAvailable,\n maxAiDrawerSize,\n };\n}\n\ninterface VerticalLayoutInput {\n topOffset: number;\n hasVisibleToolbar: boolean;\n toolbarHeight: number;\n stickyNotifications: boolean;\n notificationsHeight: number;\n}\n\nexport interface VerticalLayoutOutput {\n toolbar: number;\n notifications: number;\n header: number;\n drawers: number;\n}\n\nexport function computeVerticalLayout({\n topOffset,\n hasVisibleToolbar,\n toolbarHeight,\n stickyNotifications,\n notificationsHeight,\n}: VerticalLayoutInput): VerticalLayoutOutput {\n const toolbar = topOffset;\n let notifications = topOffset;\n let drawers = topOffset;\n\n if (hasVisibleToolbar) {\n notifications += toolbarHeight;\n drawers += toolbarHeight;\n }\n let header = notifications;\n if (stickyNotifications) {\n header += notificationsHeight;\n }\n\n return { toolbar, notifications, header, drawers };\n}\n\ninterface SplitPanelOffsetInput {\n hasSplitPanel: boolean;\n placement: AppLayoutPropsWithDefaults['placement'];\n splitPanelPosition: 'bottom' | 'side';\n splitPanelOpen: boolean;\n splitPanelHeaderHeight: number;\n splitPanelFullHeight: number;\n}\n\nexport function computeSplitPanelOffsets({\n hasSplitPanel,\n splitPanelPosition,\n placement,\n splitPanelOpen,\n splitPanelFullHeight,\n splitPanelHeaderHeight,\n}: SplitPanelOffsetInput) {\n if (!hasSplitPanel || splitPanelPosition !== 'bottom') {\n return {\n stickyVerticalBottomOffset: placement.insetBlockEnd,\n mainContentPaddingBlockEnd: undefined,\n };\n }\n const mainContentBottomOffset = splitPanelOpen ? splitPanelFullHeight : splitPanelHeaderHeight;\n return {\n stickyVerticalBottomOffset: mainContentBottomOffset + placement.insetBlockEnd,\n mainContentPaddingBlockEnd: mainContentBottomOffset,\n };\n}\n\nexport function getDrawerStyles(\n verticalOffsets: VerticalLayoutOutput,\n isMobile: boolean,\n placement: AppLayoutPropsWithDefaults['placement']\n): {\n drawerTopOffset: number;\n drawerHeight: string;\n} {\n const drawerTopOffset = isMobile ? verticalOffsets.toolbar : (verticalOffsets.drawers ?? placement.insetBlockStart);\n const drawerHeight = `calc(100vh - ${drawerTopOffset}px - ${placement.insetBlockEnd}px)`;\n return { drawerTopOffset, drawerHeight };\n}\n"]}
1
+ {"version":3,"file":"compute-layout.js","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh-toolbar/compute-layout.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\n\nimport { AppLayoutPropsWithDefaults } from '../interfaces';\nimport { shouldSplitPanelBeForcedToBottom } from '../split-panel/split-panel-forced-position';\n\ninterface HorizontalLayoutInput {\n navigationOpen: boolean;\n navigationWidth: number;\n placement: AppLayoutPropsWithDefaults['placement'];\n minContentWidth: number;\n activeDrawerSize: number;\n splitPanelOpen: boolean;\n splitPanelPosition: 'side' | 'bottom' | undefined;\n splitPanelSize: number;\n isMobile: boolean;\n activeGlobalDrawersSizes: Record<string, number>;\n activeAiDrawerSize: number;\n}\n\nexport const CONTENT_PADDING = 2 * 24; // space-xl\n\nexport function computeHorizontalLayout({\n navigationOpen,\n navigationWidth,\n placement,\n minContentWidth,\n activeDrawerSize,\n splitPanelOpen,\n splitPanelPosition,\n splitPanelSize,\n isMobile,\n activeGlobalDrawersSizes,\n activeAiDrawerSize,\n}: HorizontalLayoutInput) {\n const activeNavigationWidth = navigationOpen ? navigationWidth : 0;\n\n let resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - minContentWidth - CONTENT_PADDING - activeNavigationWidth - activeAiDrawerSize\n );\n const totalActiveGlobalDrawersSize = Object.values(activeGlobalDrawersSizes).reduce((acc, size) => acc + size, 0);\n\n const availableWidthForSplitPanel = resizableSpaceAvailable - activeDrawerSize;\n const splitPanelForcedPosition = shouldSplitPanelBeForcedToBottom({\n isMobile,\n availableWidthForSplitPanel,\n });\n const resolvedSplitPanelPosition = splitPanelForcedPosition ? 'bottom' : (splitPanelPosition ?? 'bottom');\n const sideSplitPanelSize = resolvedSplitPanelPosition === 'side' && splitPanelOpen ? (splitPanelSize ?? 0) : 0;\n const maxSplitPanelSize = Math.max(resizableSpaceAvailable - totalActiveGlobalDrawersSize - activeDrawerSize, 0);\n resizableSpaceAvailable -= sideSplitPanelSize;\n const maxDrawerSize = resizableSpaceAvailable - totalActiveGlobalDrawersSize;\n const maxAiDrawerSize = resizableSpaceAvailable - totalActiveGlobalDrawersSize + activeAiDrawerSize;\n const maxGlobalDrawersSizes: Record<string, number> = Object.keys(activeGlobalDrawersSizes).reduce(\n (acc, drawerId) => {\n return {\n ...acc,\n [drawerId]:\n resizableSpaceAvailable -\n activeDrawerSize -\n totalActiveGlobalDrawersSize +\n activeGlobalDrawersSizes[drawerId],\n };\n },\n {}\n );\n\n return {\n splitPanelPosition: resolvedSplitPanelPosition,\n splitPanelForcedPosition,\n sideSplitPanelSize,\n maxSplitPanelSize,\n maxDrawerSize,\n maxGlobalDrawersSizes,\n totalActiveGlobalDrawersSize,\n resizableSpaceAvailable,\n maxAiDrawerSize,\n };\n}\n\ninterface VerticalLayoutInput {\n topOffset: number;\n hasVisibleToolbar: boolean;\n toolbarHeight: number;\n stickyNotifications: boolean;\n notificationsHeight: number;\n}\n\nexport interface VerticalLayoutOutput {\n toolbar: number;\n notifications: number;\n header: number;\n drawers: number;\n}\n\nexport function computeVerticalLayout({\n topOffset,\n hasVisibleToolbar,\n toolbarHeight,\n stickyNotifications,\n notificationsHeight,\n}: VerticalLayoutInput): VerticalLayoutOutput {\n const toolbar = topOffset;\n let notifications = topOffset;\n let drawers = topOffset;\n\n if (hasVisibleToolbar) {\n notifications += toolbarHeight;\n drawers += toolbarHeight;\n }\n let header = notifications;\n if (stickyNotifications) {\n header += notificationsHeight;\n }\n\n return { toolbar, notifications, header, drawers };\n}\n\ninterface SplitPanelOffsetInput {\n hasSplitPanel: boolean;\n placement: AppLayoutPropsWithDefaults['placement'];\n splitPanelPosition: 'bottom' | 'side';\n splitPanelOpen: boolean;\n splitPanelHeaderHeight: number;\n splitPanelFullHeight: number;\n}\n\nexport function computeSplitPanelOffsets({\n hasSplitPanel,\n splitPanelPosition,\n placement,\n splitPanelOpen,\n splitPanelFullHeight,\n splitPanelHeaderHeight,\n}: SplitPanelOffsetInput) {\n if (!hasSplitPanel || splitPanelPosition !== 'bottom') {\n return {\n stickyVerticalBottomOffset: placement.insetBlockEnd,\n mainContentPaddingBlockEnd: undefined,\n };\n }\n const mainContentBottomOffset = splitPanelOpen ? splitPanelFullHeight : splitPanelHeaderHeight;\n return {\n stickyVerticalBottomOffset: mainContentBottomOffset + placement.insetBlockEnd,\n mainContentPaddingBlockEnd: mainContentBottomOffset,\n };\n}\n\nexport function getDrawerStyles(\n verticalOffsets: VerticalLayoutOutput,\n isMobile: boolean,\n placement: AppLayoutPropsWithDefaults['placement'],\n activeGlobalBottomDrawerSize: number = 0\n): {\n drawerTopOffset: number;\n drawerHeight: string;\n} {\n const drawerTopOffset = isMobile ? verticalOffsets.toolbar : (verticalOffsets.drawers ?? placement.insetBlockStart);\n const drawerHeight = `calc(100vh - ${drawerTopOffset}px - ${placement.insetBlockEnd}px - ${activeGlobalBottomDrawerSize}px)`;\n return { drawerTopOffset, drawerHeight };\n}\n"]}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { AppLayoutWidgetizedState, InternalDrawer } from '../interfaces';
3
+ export declare function AppLayoutBottomDrawerWrapper({ widgetizedState }: {
4
+ widgetizedState: AppLayoutWidgetizedState;
5
+ }): JSX.Element;
6
+ interface AppLayoutGlobalDrawerImplementationProps {
7
+ widgetizedState: AppLayoutWidgetizedState;
8
+ show: boolean;
9
+ activeDrawer: InternalDrawer | undefined;
10
+ }
11
+ declare function AppLayoutGlobalBottomDrawerImplementation({ widgetizedState, show, activeDrawer, }: AppLayoutGlobalDrawerImplementationProps): JSX.Element;
12
+ export default AppLayoutGlobalBottomDrawerImplementation;
13
+ //# sourceMappingURL=global-bottom-drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-bottom-drawer.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOzE,wBAAgB,4BAA4B,CAAC,EAAE,eAAe,EAAE,EAAE;IAAE,eAAe,EAAE,wBAAwB,CAAA;CAAE,eA4B9G;AAED,UAAU,wCAAwC;IAChD,eAAe,EAAE,wBAAwB,CAAC;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,cAAc,GAAG,SAAS,CAAC;CAC1C;AAKD,iBAAS,yCAAyC,CAAC,EACjD,eAAe,EACf,IAAI,EACJ,YAAY,GACb,EAAE,wCAAwC,eAkP1C;AAED,eAAe,yCAAyC,CAAC"}
@@ -0,0 +1,183 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import React, { useEffect, useRef } from 'react';
4
+ import { Transition } from 'react-transition-group';
5
+ import clsx from 'clsx';
6
+ import ButtonGroup from '../../../button-group/internal';
7
+ import PanelResizeHandle from '../../../internal/components/panel-resize-handle';
8
+ import customCssProps from '../../../internal/generated/custom-css-properties';
9
+ import { usePrevious } from '../../../internal/hooks/use-previous';
10
+ import { getLimitedValue } from '../../../split-panel/utils/size-utils';
11
+ import { getDrawerStyles } from '../compute-layout';
12
+ import { useResize } from './use-resize';
13
+ import sharedStyles from '../../resize/styles.css.js';
14
+ import testutilStyles from '../../test-classes/styles.css.js';
15
+ import styles from './styles.css.js';
16
+ export function AppLayoutBottomDrawerWrapper({ widgetizedState }) {
17
+ const { activeGlobalBottomDrawerId, bottomDrawers } = widgetizedState;
18
+ const openBottomDrawersHistory = useRef(new Set());
19
+ useEffect(() => {
20
+ if (activeGlobalBottomDrawerId) {
21
+ openBottomDrawersHistory.current.add(activeGlobalBottomDrawerId);
22
+ }
23
+ }, [activeGlobalBottomDrawerId]);
24
+ return (React.createElement(React.Fragment, null, bottomDrawers.map(drawer => {
25
+ return (React.createElement(AppLayoutGlobalBottomDrawerImplementation, { key: drawer.id, activeDrawer: activeGlobalBottomDrawerId === drawer.id ||
26
+ (drawer.preserveInactiveContent && openBottomDrawersHistory.current.has(drawer.id))
27
+ ? drawer
28
+ : undefined, show: activeGlobalBottomDrawerId === drawer.id, widgetizedState: widgetizedState }));
29
+ })));
30
+ }
31
+ const GAP_HEIGHT = 10;
32
+ const RESIZE_HANDLER_HEIGHT = 18;
33
+ function AppLayoutGlobalBottomDrawerImplementation({ widgetizedState, show, activeDrawer, }) {
34
+ var _a, _b, _c, _d, _e, _f;
35
+ const { ariaLabels, isMobile, onActiveGlobalBottomDrawerChange, onActiveBottomDrawerResize, minGlobalBottomDrawerSize, activeGlobalBottomDrawerSize, drawersOpenQueue, expandedDrawerId, setExpandedDrawerId, activeAiDrawer, bottomDrawersFocusControl, getMaxGlobalBottomDrawerHeight, reportBottomDrawerSize, verticalOffsets, placement, } = widgetizedState;
36
+ const drawerRef = useRef(null);
37
+ const activeDrawerId = (_a = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id) !== null && _a !== void 0 ? _a : '';
38
+ const computedAriaLabels = {
39
+ closeButton: activeDrawer ? (_b = activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.closeButton : ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.toolsClose,
40
+ content: activeDrawer ? (_c = activeDrawer.ariaLabels) === null || _c === void 0 ? void 0 : _c.drawerName : ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.tools,
41
+ };
42
+ const { drawerTopOffset: mobileDrawerTopOffset, drawerHeight: drawerFullScreenHeight } = getDrawerStyles(verticalOffsets, isMobile, placement);
43
+ const activeDrawerSize = activeGlobalBottomDrawerSize !== null && activeGlobalBottomDrawerSize !== void 0 ? activeGlobalBottomDrawerSize : 0;
44
+ const minDrawerSize = minGlobalBottomDrawerSize !== null && minGlobalBottomDrawerSize !== void 0 ? minGlobalBottomDrawerSize : 0;
45
+ const maxDrawerSize = getMaxGlobalBottomDrawerHeight();
46
+ const refs = bottomDrawersFocusControl.refs;
47
+ const resizeProps = useResize({
48
+ currentWidth: activeDrawerSize,
49
+ minWidth: minDrawerSize,
50
+ maxWidth: maxDrawerSize,
51
+ panelRef: drawerRef,
52
+ handleRef: refs === null || refs === void 0 ? void 0 : refs.slider,
53
+ onResize: size => onActiveBottomDrawerResize({ id: activeDrawerId, size }),
54
+ position: 'bottom',
55
+ });
56
+ const size = getLimitedValue(minDrawerSize, activeDrawerSize, maxDrawerSize);
57
+ const lastOpenedDrawerId = drawersOpenQueue.length ? drawersOpenQueue[0] : null;
58
+ const hasTriggerButton = !!(activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.trigger);
59
+ const isExpanded = (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.isExpandable) && expandedDrawerId === activeDrawerId;
60
+ const wasExpanded = usePrevious(isExpanded);
61
+ const animationDisabled = ((activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.defaultActive) && !drawersOpenQueue.includes(activeDrawer.id)) || (wasExpanded && !isExpanded);
62
+ // Prevent main content scroll when bottom drawer opens with animations
63
+ useEffect(() => {
64
+ if (show && drawerRef.current) {
65
+ const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
66
+ const abortController = new AbortController();
67
+ // Temporarily prevent scrolling during animation
68
+ const preventScroll = () => {
69
+ document.documentElement.scrollTop = scrollTop;
70
+ document.body.scrollTop = scrollTop;
71
+ };
72
+ // Handle transition end to remove scroll prevention
73
+ const handleTransitionEnd = (event) => {
74
+ // Only handle transitions on the drawer element itself
75
+ if (event.target === drawerRef.current) {
76
+ abortController.abort();
77
+ }
78
+ };
79
+ // Add scroll prevention during animation
80
+ document.addEventListener('scroll', preventScroll, {
81
+ passive: false,
82
+ signal: abortController.signal,
83
+ });
84
+ drawerRef.current.addEventListener('transitionend', handleTransitionEnd, {
85
+ signal: abortController.signal,
86
+ });
87
+ return () => {
88
+ abortController.abort();
89
+ };
90
+ }
91
+ }, [show]);
92
+ let drawerActions = [
93
+ {
94
+ type: 'icon-button',
95
+ id: 'close',
96
+ iconName: isMobile ? 'close' : 'angle-down',
97
+ text: (_d = computedAriaLabels.closeButton) !== null && _d !== void 0 ? _d : '',
98
+ analyticsAction: 'close',
99
+ },
100
+ ];
101
+ if (!isMobile && (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.isExpandable)) {
102
+ drawerActions = [
103
+ {
104
+ type: 'icon-button',
105
+ id: 'expand',
106
+ iconName: isExpanded ? 'shrink' : 'expand',
107
+ text: (_f = (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.expandedModeButton) !== null && _f !== void 0 ? _f : '',
108
+ analyticsAction: isExpanded ? 'expand' : 'collapse',
109
+ },
110
+ ...drawerActions,
111
+ ];
112
+ }
113
+ if (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.headerActions) {
114
+ drawerActions = [
115
+ {
116
+ type: 'group',
117
+ text: 'Actions',
118
+ items: activeDrawer.headerActions,
119
+ },
120
+ ...drawerActions,
121
+ ];
122
+ }
123
+ useEffect(() => {
124
+ reportBottomDrawerSize(size);
125
+ }, [reportBottomDrawerSize, size]);
126
+ return (React.createElement(Transition, { nodeRef: drawerRef, in: show || isExpanded, appear: show || isExpanded, mountOnEnter: true, timeout: 250 }, state => {
127
+ var _a, _b;
128
+ return (React.createElement("aside", { id: activeDrawerId, "aria-hidden": !show, "aria-label": computedAriaLabels.content, className: clsx(styles.drawer, styles['bottom-drawer'], styles[state], !animationDisabled && sharedStyles['with-motion-vertical'], !animationDisabled && isExpanded && styles['with-expanded-motion'], {
129
+ [styles['drawer-hidden']]: !show && state === 'exited',
130
+ [styles['last-opened']]: (!activeAiDrawer && lastOpenedDrawerId === activeDrawerId) || isExpanded,
131
+ [testutilStyles['active-drawer']]: show,
132
+ [styles['drawer-expanded']]: isExpanded,
133
+ }), ref: drawerRef, onBlur: e => {
134
+ // Drawers with trigger buttons follow this restore focus logic:
135
+ // If a previously focused element exists, restore focus on it; otherwise, focus on the associated trigger button.
136
+ // This function resets the previously focused element.
137
+ // If the drawer has no trigger button and loses focus on the previously focused element, it defaults to document.body,
138
+ // which ideally should never happen.
139
+ if (!hasTriggerButton) {
140
+ return;
141
+ }
142
+ if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {
143
+ bottomDrawersFocusControl.loseFocus();
144
+ }
145
+ }, style: Object.assign(Object.assign({}, (isMobile && {
146
+ blockSize: drawerFullScreenHeight,
147
+ insetBlockStart: mobileDrawerTopOffset,
148
+ })), (!isMobile && {
149
+ [customCssProps.bottomDrawerSize]: `${['entering', 'entered'].includes(state) ? (isExpanded ? drawerFullScreenHeight : size + 'px') : 0}`,
150
+ })), "data-testid": `awsui-app-layout-drawer-${activeDrawerId}` },
151
+ React.createElement("div", { className: clsx(styles['global-drawer-wrapper']) },
152
+ !isMobile && !isExpanded && React.createElement("div", { className: styles['drawer-gap'] }),
153
+ !isMobile && (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.resizable) && !isExpanded && (React.createElement("div", { className: styles['drawer-slider'] },
154
+ React.createElement(PanelResizeHandle, { ref: refs === null || refs === void 0 ? void 0 : refs.slider, position: "bottom", className: testutilStyles['drawers-slider'], ariaLabel: (_a = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _a === void 0 ? void 0 : _a.resizeHandle, tooltipText: (_b = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.resizeHandleTooltipText, ariaValuenow: resizeProps.relativeSize, onKeyDown: resizeProps.onKeyDown, onDirectionClick: resizeProps.onDirectionClick, onPointerDown: resizeProps.onPointerDown }))),
155
+ React.createElement("div", { className: clsx(styles['drawer-content-container'], sharedStyles['with-motion-horizontal']), "data-testid": `awsui-app-layout-drawer-content-${activeDrawerId}` },
156
+ React.createElement("div", { className: styles['drawer-actions'] },
157
+ React.createElement(ButtonGroup, { dropdownExpandToViewport: false, variant: "icon", onItemClick: event => {
158
+ var _a;
159
+ switch (event.detail.id) {
160
+ case 'close':
161
+ onActiveGlobalBottomDrawerChange(null, { initiatedByUserAction: true });
162
+ break;
163
+ case 'expand':
164
+ setExpandedDrawerId(isExpanded ? null : activeDrawerId);
165
+ break;
166
+ default:
167
+ (_a = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.onHeaderActionClick) === null || _a === void 0 ? void 0 : _a.call(activeDrawer, event);
168
+ }
169
+ }, ariaLabel: "Global panel actions", items: drawerActions, __internalRootRef: (root) => {
170
+ if (!root) {
171
+ return;
172
+ }
173
+ refs.close = { current: root.querySelector('[data-itemid="close"]') };
174
+ } })),
175
+ React.createElement("div", { className: styles['drawer-content'], style: {
176
+ blockSize: isMobile || isExpanded
177
+ ? drawerFullScreenHeight
178
+ : `${size - GAP_HEIGHT - RESIZE_HANDLER_HEIGHT}px`,
179
+ } }, activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.content)))));
180
+ }));
181
+ }
182
+ export default AppLayoutGlobalBottomDrawerImplementation;
183
+ //# sourceMappingURL=global-bottom-drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-bottom-drawer.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-bottom-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 React, { useEffect, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport { InternalItemOrGroup } from '../../../button-group/interfaces';\nimport ButtonGroup from '../../../button-group/internal';\nimport PanelResizeHandle from '../../../internal/components/panel-resize-handle';\nimport customCssProps from '../../../internal/generated/custom-css-properties';\nimport { usePrevious } from '../../../internal/hooks/use-previous';\nimport { getLimitedValue } from '../../../split-panel/utils/size-utils';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { getDrawerStyles } from '../compute-layout';\nimport { AppLayoutWidgetizedState, InternalDrawer } from '../interfaces';\nimport { useResize } from './use-resize';\n\nimport sharedStyles from '../../resize/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport function AppLayoutBottomDrawerWrapper({ widgetizedState }: { widgetizedState: AppLayoutWidgetizedState }) {\n const { activeGlobalBottomDrawerId, bottomDrawers } = widgetizedState;\n const openBottomDrawersHistory = useRef<Set<string>>(new Set());\n useEffect(() => {\n if (activeGlobalBottomDrawerId) {\n openBottomDrawersHistory.current.add(activeGlobalBottomDrawerId);\n }\n }, [activeGlobalBottomDrawerId]);\n\n return (\n <>\n {bottomDrawers.map(drawer => {\n return (\n <AppLayoutGlobalBottomDrawerImplementation\n key={drawer.id}\n activeDrawer={\n activeGlobalBottomDrawerId === drawer.id ||\n (drawer.preserveInactiveContent && openBottomDrawersHistory.current.has(drawer.id))\n ? drawer\n : undefined\n }\n show={activeGlobalBottomDrawerId === drawer.id}\n widgetizedState={widgetizedState}\n />\n );\n })}\n </>\n );\n}\n\ninterface AppLayoutGlobalDrawerImplementationProps {\n widgetizedState: AppLayoutWidgetizedState;\n show: boolean;\n activeDrawer: InternalDrawer | undefined;\n}\n\nconst GAP_HEIGHT = 10;\nconst RESIZE_HANDLER_HEIGHT = 18;\n\nfunction AppLayoutGlobalBottomDrawerImplementation({\n widgetizedState,\n show,\n activeDrawer,\n}: AppLayoutGlobalDrawerImplementationProps) {\n const {\n ariaLabels,\n isMobile,\n onActiveGlobalBottomDrawerChange,\n onActiveBottomDrawerResize,\n minGlobalBottomDrawerSize,\n activeGlobalBottomDrawerSize,\n drawersOpenQueue,\n expandedDrawerId,\n setExpandedDrawerId,\n activeAiDrawer,\n bottomDrawersFocusControl,\n getMaxGlobalBottomDrawerHeight,\n reportBottomDrawerSize,\n verticalOffsets,\n placement,\n } = widgetizedState;\n const drawerRef = useRef<HTMLDivElement>(null);\n const activeDrawerId = activeDrawer?.id ?? '';\n\n const computedAriaLabels = {\n closeButton: activeDrawer ? activeDrawer.ariaLabels?.closeButton : ariaLabels?.toolsClose,\n content: activeDrawer ? activeDrawer.ariaLabels?.drawerName : ariaLabels?.tools,\n };\n\n const { drawerTopOffset: mobileDrawerTopOffset, drawerHeight: drawerFullScreenHeight } = getDrawerStyles(\n verticalOffsets,\n isMobile,\n placement\n );\n const activeDrawerSize = activeGlobalBottomDrawerSize ?? 0;\n const minDrawerSize = minGlobalBottomDrawerSize ?? 0;\n const maxDrawerSize = getMaxGlobalBottomDrawerHeight();\n const refs = bottomDrawersFocusControl.refs;\n const resizeProps = useResize({\n currentWidth: activeDrawerSize,\n minWidth: minDrawerSize,\n maxWidth: maxDrawerSize,\n panelRef: drawerRef,\n handleRef: refs?.slider,\n onResize: size => onActiveBottomDrawerResize({ id: activeDrawerId!, size }),\n position: 'bottom',\n });\n const size = getLimitedValue(minDrawerSize, activeDrawerSize, maxDrawerSize);\n const lastOpenedDrawerId = drawersOpenQueue.length ? drawersOpenQueue[0] : null;\n const hasTriggerButton = !!activeDrawer?.trigger;\n const isExpanded = activeDrawer?.isExpandable && expandedDrawerId === activeDrawerId;\n const wasExpanded = usePrevious(isExpanded);\n const animationDisabled =\n (activeDrawer?.defaultActive && !drawersOpenQueue.includes(activeDrawer.id)) || (wasExpanded && !isExpanded);\n\n // Prevent main content scroll when bottom drawer opens with animations\n useEffect(() => {\n if (show && drawerRef.current) {\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const abortController = new AbortController();\n\n // Temporarily prevent scrolling during animation\n const preventScroll = () => {\n document.documentElement.scrollTop = scrollTop;\n document.body.scrollTop = scrollTop;\n };\n\n // Handle transition end to remove scroll prevention\n const handleTransitionEnd = (event: TransitionEvent) => {\n // Only handle transitions on the drawer element itself\n if (event.target === drawerRef.current) {\n abortController.abort();\n }\n };\n\n // Add scroll prevention during animation\n document.addEventListener('scroll', preventScroll, {\n passive: false,\n signal: abortController.signal,\n });\n\n drawerRef.current.addEventListener('transitionend', handleTransitionEnd, {\n signal: abortController.signal,\n });\n\n return () => {\n abortController.abort();\n };\n }\n }, [show]);\n\n let drawerActions: ReadonlyArray<InternalItemOrGroup> = [\n {\n type: 'icon-button',\n id: 'close',\n iconName: isMobile ? 'close' : 'angle-down',\n text: computedAriaLabels.closeButton ?? '',\n analyticsAction: 'close',\n },\n ];\n if (!isMobile && activeDrawer?.isExpandable) {\n drawerActions = [\n {\n type: 'icon-button',\n id: 'expand',\n iconName: isExpanded ? 'shrink' : 'expand',\n text: activeDrawer?.ariaLabels?.expandedModeButton ?? '',\n analyticsAction: isExpanded ? 'expand' : 'collapse',\n },\n ...drawerActions,\n ];\n }\n if (activeDrawer?.headerActions) {\n drawerActions = [\n {\n type: 'group',\n text: 'Actions',\n items: activeDrawer.headerActions!,\n },\n ...drawerActions,\n ];\n }\n\n useEffect(() => {\n reportBottomDrawerSize(size);\n }, [reportBottomDrawerSize, size]);\n\n return (\n <Transition\n nodeRef={drawerRef}\n in={show || isExpanded}\n appear={show || isExpanded}\n mountOnEnter={true}\n timeout={250}\n >\n {state => {\n return (\n <aside\n id={activeDrawerId}\n aria-hidden={!show}\n aria-label={computedAriaLabels.content}\n className={clsx(\n styles.drawer,\n styles['bottom-drawer'],\n styles[state],\n !animationDisabled && sharedStyles['with-motion-vertical'],\n !animationDisabled && isExpanded && styles['with-expanded-motion'],\n {\n [styles['drawer-hidden']]: !show && state === 'exited',\n [styles['last-opened']]: (!activeAiDrawer && lastOpenedDrawerId === activeDrawerId) || isExpanded,\n [testutilStyles['active-drawer']]: show,\n [styles['drawer-expanded']]: isExpanded,\n }\n )}\n ref={drawerRef}\n onBlur={e => {\n // Drawers with trigger buttons follow this restore focus logic:\n // If a previously focused element exists, restore focus on it; otherwise, focus on the associated trigger button.\n // This function resets the previously focused element.\n // If the drawer has no trigger button and loses focus on the previously focused element, it defaults to document.body,\n // which ideally should never happen.\n if (!hasTriggerButton) {\n return;\n }\n\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n bottomDrawersFocusControl.loseFocus();\n }\n }}\n style={{\n ...(isMobile && {\n blockSize: drawerFullScreenHeight,\n insetBlockStart: mobileDrawerTopOffset,\n }),\n ...(!isMobile && {\n [customCssProps.bottomDrawerSize]: `${['entering', 'entered'].includes(state) ? (isExpanded ? drawerFullScreenHeight : size + 'px') : 0}`,\n }),\n }}\n data-testid={`awsui-app-layout-drawer-${activeDrawerId}`}\n >\n <div className={clsx(styles['global-drawer-wrapper'])}>\n {!isMobile && !isExpanded && <div className={styles['drawer-gap']} />}\n {!isMobile && activeDrawer?.resizable && !isExpanded && (\n <div className={styles['drawer-slider']}>\n <PanelResizeHandle\n ref={refs?.slider}\n position=\"bottom\"\n className={testutilStyles['drawers-slider']}\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={resizeProps.relativeSize}\n onKeyDown={resizeProps.onKeyDown}\n onDirectionClick={resizeProps.onDirectionClick}\n onPointerDown={resizeProps.onPointerDown}\n />\n </div>\n )}\n <div\n className={clsx(styles['drawer-content-container'], sharedStyles['with-motion-horizontal'])}\n data-testid={`awsui-app-layout-drawer-content-${activeDrawerId}`}\n >\n <div className={styles['drawer-actions']}>\n <ButtonGroup\n dropdownExpandToViewport={false}\n variant=\"icon\"\n onItemClick={event => {\n switch (event.detail.id) {\n case 'close':\n onActiveGlobalBottomDrawerChange(null, { initiatedByUserAction: true });\n break;\n case 'expand':\n setExpandedDrawerId(isExpanded ? null : activeDrawerId);\n break;\n default:\n activeDrawer?.onHeaderActionClick?.(event);\n }\n }}\n ariaLabel=\"Global panel actions\"\n items={drawerActions}\n __internalRootRef={(root: HTMLElement) => {\n if (!root) {\n return;\n }\n refs.close = { current: root.querySelector('[data-itemid=\"close\"]') as unknown as Focusable };\n }}\n />\n </div>\n <div\n className={styles['drawer-content']}\n style={{\n blockSize:\n isMobile || isExpanded\n ? drawerFullScreenHeight\n : `${size - GAP_HEIGHT - RESIZE_HANDLER_HEIGHT}px`,\n }}\n >\n {activeDrawer?.content}\n </div>\n </div>\n </div>\n </aside>\n );\n }}\n </Transition>\n );\n}\n\nexport default AppLayoutGlobalBottomDrawerImplementation;\n"]}
@@ -9,7 +9,7 @@ export function AppLayoutGlobalDrawersImplementation({ appLayoutInternals, }) {
9
9
  return React.createElement(React.Fragment, null);
10
10
  }
11
11
  return (React.createElement(React.Fragment, null, globalDrawers
12
- .filter(drawer => activeGlobalDrawersIds.includes(drawer.id) ||
12
+ .filter(drawer => (drawer.position !== 'bottom' && activeGlobalDrawersIds.includes(drawer.id)) ||
13
13
  (drawer.preserveInactiveContent && openDrawersHistory.current.has(drawer.id)))
14
14
  .map(drawer => {
15
15
  openDrawersHistory.current.add(drawer.id);
@@ -1 +1 @@
1
- {"version":3,"file":"global-drawers.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-drawers.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,qBAAqB,MAAM,iBAAiB,CAAC;AAMpD,MAAM,UAAU,oCAAoC,CAAC,EACnD,kBAAkB,GACwB;IAC1C,MAAM,EAAE,aAAa,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;IACvF,MAAM,kBAAkB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QACzB,OAAO,yCAAK,CAAC;KACd;IAED,OAAO,CACL,0CACG,aAAa;SACX,MAAM,CACL,MAAM,CAAC,EAAE,CACP,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,CAAC,MAAM,CAAC,uBAAuB,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAChF;SACA,GAAG,CAAC,MAAM,CAAC,EAAE;QACZ,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CACL,oBAAC,qBAAqB,IACpB,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC,EACzG,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAC;IACJ,CAAC,CAAC,CACH,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\n\nimport { AppLayoutInternals } from '../interfaces';\nimport AppLayoutGlobalDrawer from './global-drawer';\n\ninterface AppLayoutGlobalDrawersImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n}\n\nexport function AppLayoutGlobalDrawersImplementation({\n appLayoutInternals,\n}: AppLayoutGlobalDrawersImplementationProps) {\n const { globalDrawers, activeGlobalDrawersIds, expandedDrawerId } = appLayoutInternals;\n const openDrawersHistory = useRef<Set<string>>(new Set());\n\n if (!globalDrawers.length) {\n return <></>;\n }\n\n return (\n <>\n {globalDrawers\n .filter(\n drawer =>\n activeGlobalDrawersIds.includes(drawer.id) ||\n (drawer.preserveInactiveContent && openDrawersHistory.current.has(drawer.id))\n )\n .map(drawer => {\n openDrawersHistory.current.add(drawer.id);\n return (\n <AppLayoutGlobalDrawer\n key={drawer.id}\n show={activeGlobalDrawersIds.includes(drawer.id) && (!expandedDrawerId || drawer.id === expandedDrawerId)}\n activeGlobalDrawer={drawer}\n appLayoutInternals={appLayoutInternals}\n />\n );\n })}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"global-drawers.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-drawers.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,qBAAqB,MAAM,iBAAiB,CAAC;AAMpD,MAAM,UAAU,oCAAoC,CAAC,EACnD,kBAAkB,GACwB;IAC1C,MAAM,EAAE,aAAa,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;IACvF,MAAM,kBAAkB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QACzB,OAAO,yCAAK,CAAC;KACd;IAED,OAAO,CACL,0CACG,aAAa;SACX,MAAM,CACL,MAAM,CAAC,EAAE,CACP,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC,MAAM,CAAC,uBAAuB,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAChF;SACA,GAAG,CAAC,MAAM,CAAC,EAAE;QACZ,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,CACL,oBAAC,qBAAqB,IACpB,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,IAAI,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC,EACzG,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAC;IACJ,CAAC,CAAC,CACH,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\n\nimport { AppLayoutInternals } from '../interfaces';\nimport AppLayoutGlobalDrawer from './global-drawer';\n\ninterface AppLayoutGlobalDrawersImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n}\n\nexport function AppLayoutGlobalDrawersImplementation({\n appLayoutInternals,\n}: AppLayoutGlobalDrawersImplementationProps) {\n const { globalDrawers, activeGlobalDrawersIds, expandedDrawerId } = appLayoutInternals;\n const openDrawersHistory = useRef<Set<string>>(new Set());\n\n if (!globalDrawers.length) {\n return <></>;\n }\n\n return (\n <>\n {globalDrawers\n .filter(\n drawer =>\n (drawer.position !== 'bottom' && activeGlobalDrawersIds.includes(drawer.id)) ||\n (drawer.preserveInactiveContent && openDrawersHistory.current.has(drawer.id))\n )\n .map(drawer => {\n openDrawersHistory.current.add(drawer.id);\n return (\n <AppLayoutGlobalDrawer\n key={drawer.id}\n show={activeGlobalDrawersIds.includes(drawer.id) && (!expandedDrawerId || drawer.id === expandedDrawerId)}\n activeGlobalDrawer={drawer}\n appLayoutInternals={appLayoutInternals}\n />\n );\n })}\n </>\n );\n}\n"]}
@@ -2,7 +2,8 @@
2
2
  import { AppLayoutInternals } from '../interfaces';
3
3
  interface AppLayoutDrawerImplementationProps {
4
4
  appLayoutInternals: AppLayoutInternals;
5
+ bottomDrawerReportedSize?: number;
5
6
  }
6
- export declare function AppLayoutDrawerImplementation({ appLayoutInternals }: AppLayoutDrawerImplementationProps): JSX.Element;
7
+ export declare function AppLayoutDrawerImplementation({ appLayoutInternals, bottomDrawerReportedSize, }: AppLayoutDrawerImplementationProps): JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=local-drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-drawer.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/local-drawer.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOnD,UAAU,kCAAkC;IAC1C,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,wBAAgB,6BAA6B,CAAC,EAAE,kBAAkB,EAAE,EAAE,kCAAkC,eA4HvG"}
1
+ {"version":3,"file":"local-drawer.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/local-drawer.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOnD,UAAU,kCAAkC;IAC1C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,kBAAkB,EAClB,wBAAwB,GACzB,EAAE,kCAAkC,eAiIpC"}
@@ -13,7 +13,7 @@ import { useResize } from './use-resize';
13
13
  import sharedStyles from '../../resize/styles.css.js';
14
14
  import testutilStyles from '../../test-classes/styles.css.js';
15
15
  import styles from './styles.css.js';
16
- export function AppLayoutDrawerImplementation({ appLayoutInternals }) {
16
+ export function AppLayoutDrawerImplementation({ appLayoutInternals, bottomDrawerReportedSize, }) {
17
17
  var _a, _b, _c;
18
18
  const { activeDrawer, minDrawerSize, activeDrawerSize, maxDrawerSize, ariaLabels, drawers, drawersFocusControl, isMobile, placement, verticalOffsets, drawersOpenQueue, onActiveDrawerChange, onActiveDrawerResize, } = appLayoutInternals;
19
19
  const drawerRef = useRef(null);
@@ -22,7 +22,7 @@ export function AppLayoutDrawerImplementation({ appLayoutInternals }) {
22
22
  closeButton: activeDrawer ? (_a = activeDrawer.ariaLabels) === null || _a === void 0 ? void 0 : _a.closeButton : ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.toolsClose,
23
23
  content: activeDrawer ? (_b = activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.drawerName : ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.tools,
24
24
  };
25
- const { drawerTopOffset, drawerHeight } = getDrawerStyles(verticalOffsets, isMobile, placement);
25
+ const { drawerTopOffset, drawerHeight } = getDrawerStyles(verticalOffsets, isMobile, placement, isMobile ? 0 : (bottomDrawerReportedSize !== null && bottomDrawerReportedSize !== void 0 ? bottomDrawerReportedSize : 0));
26
26
  const toolsOnlyMode = drawers.length === 1 && drawers[0].id === TOOLS_DRAWER_ID;
27
27
  const isToolsDrawer = (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id) === TOOLS_DRAWER_ID || toolsOnlyMode;
28
28
  const toolsContent = (_c = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _c === void 0 ? void 0 : _c.content;