@cloudscape-design/components 3.0.1129 → 3.0.1130

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 (788) hide show
  1. package/alert/actions-wrapper/index.js +3 -3
  2. package/alert/actions-wrapper/index.js.map +1 -1
  3. package/alert/internal-do-not-use-core.js +2 -4
  4. package/alert/internal-do-not-use-core.js.map +1 -1
  5. package/alert/internal.js +8 -10
  6. package/alert/internal.js.map +1 -1
  7. package/alert/style.js +12 -5
  8. package/alert/style.js.map +1 -1
  9. package/alert/styles.css.js +27 -27
  10. package/alert/styles.scoped.css +50 -50
  11. package/alert/styles.selectors.js +27 -27
  12. package/anchor-navigation/anchor-item/index.js +1 -1
  13. package/anchor-navigation/anchor-item/index.js.map +1 -1
  14. package/anchor-navigation/index.js +2 -4
  15. package/anchor-navigation/index.js.map +1 -1
  16. package/anchor-navigation/internal.js +2 -4
  17. package/anchor-navigation/internal.js.map +1 -1
  18. package/annotation-context/annotation/styles.css.js +24 -24
  19. package/annotation-context/annotation/styles.scoped.css +32 -32
  20. package/annotation-context/annotation/styles.selectors.js +24 -24
  21. package/annotation-context/index.js +3 -4
  22. package/annotation-context/index.js.map +1 -1
  23. package/app-layout/classic.js +20 -17
  24. package/app-layout/classic.js.map +1 -1
  25. package/app-layout/defaults.js +8 -3
  26. package/app-layout/defaults.js.map +1 -1
  27. package/app-layout/drawer/resizable-drawer.js +8 -10
  28. package/app-layout/drawer/resizable-drawer.js.map +1 -1
  29. package/app-layout/index.js +24 -21
  30. package/app-layout/index.js.map +1 -1
  31. package/app-layout/internal.js +3 -3
  32. package/app-layout/internal.js.map +1 -1
  33. package/app-layout/notifications/index.js +3 -5
  34. package/app-layout/notifications/index.js.map +1 -1
  35. package/app-layout/notifications/styles.css.js +3 -3
  36. package/app-layout/notifications/styles.scoped.css +7 -7
  37. package/app-layout/notifications/styles.selectors.js +3 -3
  38. package/app-layout/runtime-drawer/index.js +36 -18
  39. package/app-layout/runtime-drawer/index.js.map +1 -1
  40. package/app-layout/split-panel/provider.js +2 -4
  41. package/app-layout/split-panel/provider.js.map +1 -1
  42. package/app-layout/utils/use-app-layout-placement.js +1 -1
  43. package/app-layout/utils/use-app-layout-placement.js.map +1 -1
  44. package/app-layout/utils/use-drawers.js +9 -3
  45. package/app-layout/utils/use-drawers.js.map +1 -1
  46. package/app-layout/visual-refresh/context.js +28 -11
  47. package/app-layout/visual-refresh/context.js.map +1 -1
  48. package/app-layout/visual-refresh/drawers.js +3 -1
  49. package/app-layout/visual-refresh/drawers.js.map +1 -1
  50. package/app-layout/visual-refresh/index.js +1 -1
  51. package/app-layout/visual-refresh/index.js.map +1 -1
  52. package/app-layout/visual-refresh/layout.js +9 -1
  53. package/app-layout/visual-refresh/layout.js.map +1 -1
  54. package/app-layout/visual-refresh/main.js +4 -1
  55. package/app-layout/visual-refresh/main.js.map +1 -1
  56. package/app-layout/visual-refresh/split-panel.js +1 -1
  57. package/app-layout/visual-refresh/split-panel.js.map +1 -1
  58. package/app-layout/visual-refresh/styles.css.js +86 -86
  59. package/app-layout/visual-refresh/styles.scoped.css +258 -258
  60. package/app-layout/visual-refresh/styles.selectors.js +86 -86
  61. package/app-layout/visual-refresh/trigger-button.js +6 -3
  62. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  63. package/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  64. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  65. package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  66. package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  67. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  68. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  69. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  70. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  71. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  72. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  73. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  74. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  75. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  76. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  77. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  78. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  79. package/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  80. package/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  81. package/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  82. package/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  83. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  84. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  85. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  86. package/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  87. package/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  88. package/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  89. package/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  90. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  91. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  92. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  93. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  94. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  95. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  96. package/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  97. package/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  98. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  99. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  100. package/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  101. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  102. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  103. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  104. package/app-layout-toolbar/index.js +24 -21
  105. package/app-layout-toolbar/index.js.map +1 -1
  106. package/area-chart/chart-container.js +1 -1
  107. package/area-chart/chart-container.js.map +1 -1
  108. package/area-chart/elements/chart-popover.js +1 -1
  109. package/area-chart/elements/chart-popover.js.map +1 -1
  110. package/area-chart/elements/threshold-series.js +1 -1
  111. package/area-chart/elements/threshold-series.js.map +1 -1
  112. package/area-chart/index.js +2 -4
  113. package/area-chart/index.js.map +1 -1
  114. package/area-chart/internal.js +2 -4
  115. package/area-chart/internal.js.map +1 -1
  116. package/area-chart/model/interactions-store.js +39 -9
  117. package/area-chart/model/interactions-store.js.map +1 -1
  118. package/attribute-editor/index.js +4 -6
  119. package/attribute-editor/index.js.map +1 -1
  120. package/attribute-editor/internal.js +6 -5
  121. package/attribute-editor/internal.js.map +1 -1
  122. package/attribute-editor/row.js +1 -1
  123. package/attribute-editor/row.js.map +1 -1
  124. package/attribute-editor/styles.css.js +15 -15
  125. package/attribute-editor/styles.scoped.css +28 -28
  126. package/attribute-editor/styles.selectors.js +15 -15
  127. package/autosuggest/autosuggest-option.js +3 -5
  128. package/autosuggest/autosuggest-option.js.map +1 -1
  129. package/autosuggest/internal-do-not-use-core.js +2 -4
  130. package/autosuggest/internal-do-not-use-core.js.map +1 -1
  131. package/autosuggest/internal.js +10 -5
  132. package/autosuggest/internal.js.map +1 -1
  133. package/autosuggest/options-controller.js +15 -8
  134. package/autosuggest/options-controller.js.map +1 -1
  135. package/autosuggest/plain-list.js +3 -3
  136. package/autosuggest/plain-list.js.map +1 -1
  137. package/autosuggest/virtual-list.js +2 -2
  138. package/autosuggest/virtual-list.js.map +1 -1
  139. package/badge/internal-do-not-use-core.js +2 -4
  140. package/badge/internal-do-not-use-core.js.map +1 -1
  141. package/bar-chart/index.js +2 -4
  142. package/bar-chart/index.js.map +1 -1
  143. package/box/internal-do-not-use-core.js +2 -4
  144. package/box/internal-do-not-use-core.js.map +1 -1
  145. package/box/internal.js +2 -4
  146. package/box/internal.js.map +1 -1
  147. package/breadcrumb-group/all-items-dropdown.js +3 -3
  148. package/breadcrumb-group/all-items-dropdown.js.map +1 -1
  149. package/breadcrumb-group/implementation.js +9 -8
  150. package/breadcrumb-group/implementation.js.map +1 -1
  151. package/breadcrumb-group/index.js +3 -5
  152. package/breadcrumb-group/index.js.map +1 -1
  153. package/breadcrumb-group/item/funnel.js +1 -1
  154. package/breadcrumb-group/item/funnel.js.map +1 -1
  155. package/breadcrumb-group/item/item.js +5 -7
  156. package/breadcrumb-group/item/item.js.map +1 -1
  157. package/breadcrumb-group/item/styles.css.js +7 -7
  158. package/breadcrumb-group/item/styles.scoped.css +28 -28
  159. package/breadcrumb-group/item/styles.selectors.js +7 -7
  160. package/button/icon-helper.js +3 -5
  161. package/button/icon-helper.js.map +1 -1
  162. package/button/internal-do-not-use-core.js +2 -4
  163. package/button/internal-do-not-use-core.js.map +1 -1
  164. package/button/internal.js +31 -14
  165. package/button/internal.js.map +1 -1
  166. package/button/style.js +38 -27
  167. package/button/style.js.map +1 -1
  168. package/button/styles.css.js +22 -22
  169. package/button/styles.scoped.css +256 -256
  170. package/button/styles.selectors.js +22 -22
  171. package/button-dropdown/category-elements/expandable-category-element.js +11 -11
  172. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  173. package/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  174. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  175. package/button-dropdown/internal-do-not-use-core.js +4 -6
  176. package/button-dropdown/internal-do-not-use-core.js.map +1 -1
  177. package/button-dropdown/internal.js +36 -25
  178. package/button-dropdown/internal.js.map +1 -1
  179. package/button-dropdown/item-element/index.js +25 -17
  180. package/button-dropdown/item-element/index.js.map +1 -1
  181. package/button-dropdown/item-element/styles.css.js +16 -16
  182. package/button-dropdown/item-element/styles.scoped.css +27 -27
  183. package/button-dropdown/item-element/styles.selectors.js +16 -16
  184. package/button-dropdown/tooltip.js +1 -1
  185. package/button-dropdown/tooltip.js.map +1 -1
  186. package/button-dropdown/utils/use-button-dropdown.js +1 -2
  187. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  188. package/button-group/internal-do-not-use-core.js +2 -4
  189. package/button-group/internal-do-not-use-core.js.map +1 -1
  190. package/button-group/internal.js +2 -4
  191. package/button-group/internal.js.map +1 -1
  192. package/button-group/item-element.js +4 -4
  193. package/button-group/item-element.js.map +1 -1
  194. package/button-group/menu-dropdown-item.js +1 -1
  195. package/button-group/menu-dropdown-item.js.map +1 -1
  196. package/button-group/style.js +34 -20
  197. package/button-group/style.js.map +1 -1
  198. package/calendar/grid/index.js +2 -3
  199. package/calendar/grid/index.js.map +1 -1
  200. package/calendar/index.js +2 -4
  201. package/calendar/index.js.map +1 -1
  202. package/calendar/internal.js +2 -4
  203. package/calendar/internal.js.map +1 -1
  204. package/cards/index.js +17 -19
  205. package/cards/index.js.map +1 -1
  206. package/checkbox/internal-do-not-use-core.js +2 -4
  207. package/checkbox/internal-do-not-use-core.js.map +1 -1
  208. package/checkbox/internal.js +4 -6
  209. package/checkbox/internal.js.map +1 -1
  210. package/checkbox/styles.css.js +3 -3
  211. package/checkbox/styles.scoped.css +11 -11
  212. package/checkbox/styles.selectors.js +3 -3
  213. package/code-editor/index.js +2 -3
  214. package/code-editor/index.js.map +1 -1
  215. package/code-editor/use-editor.js +4 -1
  216. package/code-editor/use-editor.js.map +1 -1
  217. package/code-editor/util.js +4 -1
  218. package/code-editor/util.js.map +1 -1
  219. package/collection-preferences/content-display/index.js +1 -1
  220. package/collection-preferences/content-display/index.js.map +1 -1
  221. package/collection-preferences/content-display/utils.js +1 -1
  222. package/collection-preferences/content-display/utils.js.map +1 -1
  223. package/collection-preferences/index.js +20 -13
  224. package/collection-preferences/index.js.map +1 -1
  225. package/collection-preferences/utils.js +9 -9
  226. package/collection-preferences/utils.js.map +1 -1
  227. package/collection-preferences/visible-content.js +8 -8
  228. package/collection-preferences/visible-content.js.map +1 -1
  229. package/column-layout/index.js +2 -4
  230. package/column-layout/index.js.map +1 -1
  231. package/column-layout/internal.js +2 -4
  232. package/column-layout/internal.js.map +1 -1
  233. package/container/internal-do-not-use-core.js +2 -4
  234. package/container/internal-do-not-use-core.js.map +1 -1
  235. package/container/internal.js +11 -9
  236. package/container/internal.js.map +1 -1
  237. package/container/style.js +11 -2
  238. package/container/style.js.map +1 -1
  239. package/content-layout/index.js +1 -1
  240. package/content-layout/index.js.map +1 -1
  241. package/content-layout/internal.js +3 -5
  242. package/content-layout/internal.js.map +1 -1
  243. package/content-layout/styles.css.js +14 -14
  244. package/content-layout/styles.scoped.css +27 -27
  245. package/content-layout/styles.selectors.js +14 -14
  246. package/copy-to-clipboard/index.js +2 -4
  247. package/copy-to-clipboard/index.js.map +1 -1
  248. package/copy-to-clipboard/internal.js +2 -4
  249. package/copy-to-clipboard/internal.js.map +1 -1
  250. package/date-input/internal-do-not-use-core.js +1 -1
  251. package/date-input/internal-do-not-use-core.js.map +1 -1
  252. package/date-input/internal.js +6 -8
  253. package/date-input/internal.js.map +1 -1
  254. package/date-picker/index.js +9 -6
  255. package/date-picker/index.js.map +1 -1
  256. package/date-range-picker/calendar/grids/grid-cell.js +3 -4
  257. package/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  258. package/date-range-picker/calendar/grids/grid.js +8 -8
  259. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  260. package/date-range-picker/calendar/grids/index.js +2 -2
  261. package/date-range-picker/calendar/grids/index.js.map +1 -1
  262. package/date-range-picker/calendar/index.js +5 -2
  263. package/date-range-picker/calendar/index.js.map +1 -1
  264. package/date-range-picker/index.js +8 -6
  265. package/date-range-picker/index.js.map +1 -1
  266. package/date-range-picker/utils.js +8 -2
  267. package/date-range-picker/utils.js.map +1 -1
  268. package/drawer/implementation.js +7 -6
  269. package/drawer/implementation.js.map +1 -1
  270. package/drawer/index.js +1 -1
  271. package/drawer/index.js.map +1 -1
  272. package/expandable-section/expandable-section-container.js +3 -5
  273. package/expandable-section/expandable-section-container.js.map +1 -1
  274. package/expandable-section/expandable-section-header.js +8 -8
  275. package/expandable-section/expandable-section-header.js.map +1 -1
  276. package/expandable-section/index.js +2 -4
  277. package/expandable-section/index.js.map +1 -1
  278. package/expandable-section/internal.js +2 -4
  279. package/expandable-section/internal.js.map +1 -1
  280. package/file-dropzone/index.js +1 -1
  281. package/file-dropzone/index.js.map +1 -1
  282. package/file-dropzone/internal.js +3 -5
  283. package/file-dropzone/internal.js.map +1 -1
  284. package/file-input/index.js +2 -4
  285. package/file-input/index.js.map +1 -1
  286. package/file-input/internal.js +11 -8
  287. package/file-input/internal.js.map +1 -1
  288. package/file-token-group/default-formatters.js +3 -3
  289. package/file-token-group/default-formatters.js.map +1 -1
  290. package/file-token-group/index.js +2 -4
  291. package/file-token-group/index.js.map +1 -1
  292. package/file-token-group/internal.js +2 -4
  293. package/file-token-group/internal.js.map +1 -1
  294. package/file-upload/index.js +2 -4
  295. package/file-upload/index.js.map +1 -1
  296. package/file-upload/internal.js +5 -7
  297. package/file-upload/internal.js.map +1 -1
  298. package/flashbar/collapsible-flashbar.js +33 -23
  299. package/flashbar/collapsible-flashbar.js.map +1 -1
  300. package/flashbar/common.js +1 -3
  301. package/flashbar/common.js.map +1 -1
  302. package/flashbar/flash.js +4 -6
  303. package/flashbar/flash.js.map +1 -1
  304. package/flashbar/implementation.js +2 -2
  305. package/flashbar/implementation.js.map +1 -1
  306. package/flashbar/internal-do-not-use-core.js +1 -1
  307. package/flashbar/internal-do-not-use-core.js.map +1 -1
  308. package/flashbar/non-collapsible-flashbar.js +10 -9
  309. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  310. package/flashbar/style.js +50 -32
  311. package/flashbar/style.js.map +1 -1
  312. package/flashbar/styles.css.js +50 -50
  313. package/flashbar/styles.scoped.css +187 -187
  314. package/flashbar/styles.selectors.js +50 -50
  315. package/flashbar/utils.js +2 -2
  316. package/flashbar/utils.js.map +1 -1
  317. package/form/index.js +4 -7
  318. package/form/index.js.map +1 -1
  319. package/form/internal.js +2 -4
  320. package/form/internal.js.map +1 -1
  321. package/form-field/index.js +7 -9
  322. package/form-field/index.js.map +1 -1
  323. package/form-field/internal.js +6 -5
  324. package/form-field/internal.js.map +1 -1
  325. package/grid/index.js +2 -4
  326. package/grid/index.js.map +1 -1
  327. package/grid/internal.js +2 -4
  328. package/grid/internal.js.map +1 -1
  329. package/header/index.js +2 -4
  330. package/header/index.js.map +1 -1
  331. package/header/internal.js +4 -6
  332. package/header/internal.js.map +1 -1
  333. package/help-panel/implementation.js +7 -6
  334. package/help-panel/implementation.js.map +1 -1
  335. package/help-panel/index.js +1 -1
  336. package/help-panel/index.js.map +1 -1
  337. package/help-panel/styles.css.js +6 -6
  338. package/help-panel/styles.scoped.css +73 -73
  339. package/help-panel/styles.selectors.js +6 -6
  340. package/hotspot/index.js +3 -5
  341. package/hotspot/index.js.map +1 -1
  342. package/icon/internal-do-not-use-core.js +2 -4
  343. package/icon/internal-do-not-use-core.js.map +1 -1
  344. package/icon/internal.js +4 -6
  345. package/icon/internal.js.map +1 -1
  346. package/icon-provider/index.js.map +1 -1
  347. package/icon-provider/internal.js +2 -2
  348. package/icon-provider/internal.js.map +1 -1
  349. package/input/internal-do-not-use-core.js +5 -5
  350. package/input/internal-do-not-use-core.js.map +1 -1
  351. package/input/internal.js +10 -12
  352. package/input/internal.js.map +1 -1
  353. package/input/styles.css.js +13 -13
  354. package/input/styles.js +42 -30
  355. package/input/styles.js.map +1 -1
  356. package/input/styles.scoped.css +65 -65
  357. package/input/styles.selectors.js +13 -13
  358. package/internal/analytics/components/analytics-funnel.js +9 -12
  359. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  360. package/internal/analytics/hooks/use-funnel.js +5 -6
  361. package/internal/analytics/hooks/use-funnel.js.map +1 -1
  362. package/internal/animate.js +1 -1
  363. package/internal/animate.js.map +1 -1
  364. package/internal/base-component/index.js +1 -1
  365. package/internal/base-component/index.js.map +1 -1
  366. package/internal/base-component/styles.scoped.css +1 -1
  367. package/internal/components/abstract-switch/index.js +21 -20
  368. package/internal/components/abstract-switch/index.js.map +1 -1
  369. package/internal/components/autosuggest-input/index.js +3 -5
  370. package/internal/components/autosuggest-input/index.js.map +1 -1
  371. package/internal/components/button-trigger/index.js +25 -6
  372. package/internal/components/button-trigger/index.js.map +1 -1
  373. package/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  374. package/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  375. package/internal/components/chart-filter/index.js +2 -4
  376. package/internal/components/chart-filter/index.js.map +1 -1
  377. package/internal/components/chart-plot/index.js +2 -2
  378. package/internal/components/chart-plot/index.js.map +1 -1
  379. package/internal/components/chart-popover/index.js +3 -5
  380. package/internal/components/chart-popover/index.js.map +1 -1
  381. package/internal/components/chart-series-details/index.js +2 -4
  382. package/internal/components/chart-series-details/index.js.map +1 -1
  383. package/internal/components/chart-wrapper/index.js +3 -5
  384. package/internal/components/chart-wrapper/index.js.map +1 -1
  385. package/internal/components/checkbox-icon/index.js +5 -7
  386. package/internal/components/checkbox-icon/index.js.map +1 -1
  387. package/internal/components/drag-handle/button.js +5 -5
  388. package/internal/components/drag-handle/button.js.map +1 -1
  389. package/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  390. package/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  391. package/internal/components/drag-handle/index.js +1 -3
  392. package/internal/components/drag-handle/index.js.map +1 -1
  393. package/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  394. package/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  395. package/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  396. package/internal/components/dropdown/styles.css.js +20 -20
  397. package/internal/components/dropdown/styles.scoped.css +38 -38
  398. package/internal/components/dropdown/styles.selectors.js +20 -20
  399. package/internal/components/masked-input/index.js +12 -8
  400. package/internal/components/masked-input/index.js.map +1 -1
  401. package/internal/components/masked-input/utils/mask-format.js +6 -1
  402. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  403. package/internal/components/menu-dropdown/index.js +2 -4
  404. package/internal/components/menu-dropdown/index.js.map +1 -1
  405. package/internal/components/option/index.js +6 -8
  406. package/internal/components/option/index.js.map +1 -1
  407. package/internal/components/option/option-parts.js +1 -1
  408. package/internal/components/option/option-parts.js.map +1 -1
  409. package/internal/components/option/utils/flatten-options.js +1 -2
  410. package/internal/components/option/utils/flatten-options.js.map +1 -1
  411. package/internal/components/options-list/index.js +2 -4
  412. package/internal/components/options-list/index.js.map +1 -1
  413. package/internal/components/screenreader-only/index.js +1 -1
  414. package/internal/components/screenreader-only/index.js.map +1 -1
  415. package/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  416. package/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  417. package/internal/components/selectable-item/index.js +5 -7
  418. package/internal/components/selectable-item/index.js.map +1 -1
  419. package/internal/components/sortable-area/index.js +19 -6
  420. package/internal/components/sortable-area/index.js.map +1 -1
  421. package/internal/components/token-list/styles.css.js +10 -10
  422. package/internal/components/token-list/styles.scoped.css +25 -25
  423. package/internal/components/token-list/styles.selectors.js +10 -10
  424. package/internal/components/token-list/token-limit-toggle.js +1 -1
  425. package/internal/components/token-list/token-limit-toggle.js.map +1 -1
  426. package/internal/components/tooltip/index.js +1 -1
  427. package/internal/components/tooltip/index.js.map +1 -1
  428. package/internal/components/transition/index.js +3 -5
  429. package/internal/components/transition/index.js.map +1 -1
  430. package/internal/environment.js +2 -2
  431. package/internal/environment.json +2 -2
  432. package/internal/generated/custom-css-properties/index.d.ts +24 -0
  433. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  434. package/internal/generated/custom-css-properties/index.js +126 -102
  435. package/internal/generated/custom-css-properties/index.js.map +1 -1
  436. package/internal/hooks/use-intersection-observer/index.js +1 -1
  437. package/internal/hooks/use-intersection-observer/index.js.map +1 -1
  438. package/internal/hooks/use-performance-marks/index.js +12 -2
  439. package/internal/hooks/use-performance-marks/index.js.map +1 -1
  440. package/internal/hooks/use-virtual/index.js +5 -2
  441. package/internal/hooks/use-virtual/index.js.map +1 -1
  442. package/internal/manifest.json +1 -1
  443. package/internal/plugins/controllers/drawers.js +4 -6
  444. package/internal/plugins/controllers/drawers.js.map +1 -1
  445. package/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  446. package/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  447. package/internal/plugins/widget/index.js +1 -1
  448. package/internal/plugins/widget/index.js.map +1 -1
  449. package/internal/utils/with-native-attributes.js +4 -6
  450. package/internal/utils/with-native-attributes.js.map +1 -1
  451. package/internal/widgets/index.js +2 -2
  452. package/internal/widgets/index.js.map +1 -1
  453. package/internal/widgets/loader-mock.js +2 -2
  454. package/internal/widgets/loader-mock.js.map +1 -1
  455. package/key-value-pairs/index.js +2 -4
  456. package/key-value-pairs/index.js.map +1 -1
  457. package/key-value-pairs/internal.js +4 -6
  458. package/key-value-pairs/internal.js.map +1 -1
  459. package/line-chart/index.js +2 -4
  460. package/line-chart/index.js.map +1 -1
  461. package/link/internal-do-not-use-core.js +2 -4
  462. package/link/internal-do-not-use-core.js.map +1 -1
  463. package/link/internal.js +13 -6
  464. package/link/internal.js.map +1 -1
  465. package/link/style.js +12 -9
  466. package/link/style.js.map +1 -1
  467. package/link/styles.css.js +20 -20
  468. package/link/styles.scoped.css +103 -103
  469. package/link/styles.selectors.js +20 -20
  470. package/list/index.js +1 -1
  471. package/list/index.js.map +1 -1
  472. package/list/internal.js +6 -8
  473. package/list/internal.js.map +1 -1
  474. package/live-region/index.js +2 -4
  475. package/live-region/index.js.map +1 -1
  476. package/live-region/internal.js +2 -4
  477. package/live-region/internal.js.map +1 -1
  478. package/mixed-line-bar-chart/bar-series.js +3 -3
  479. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  480. package/mixed-line-bar-chart/chart-container.js +7 -9
  481. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  482. package/mixed-line-bar-chart/chart-popover.js +4 -1
  483. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  484. package/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  485. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  486. package/mixed-line-bar-chart/index.js +2 -4
  487. package/mixed-line-bar-chart/index.js.map +1 -1
  488. package/mixed-line-bar-chart/internal.js +2 -4
  489. package/mixed-line-bar-chart/internal.js.map +1 -1
  490. package/mixed-line-bar-chart/line-series.js +3 -3
  491. package/mixed-line-bar-chart/line-series.js.map +1 -1
  492. package/modal/index.js +5 -8
  493. package/modal/index.js.map +1 -1
  494. package/modal/internal.js +11 -14
  495. package/modal/internal.js.map +1 -1
  496. package/multiselect/embedded.js +15 -6
  497. package/multiselect/embedded.js.map +1 -1
  498. package/multiselect/index.js +2 -4
  499. package/multiselect/index.js.map +1 -1
  500. package/multiselect/internal.js +13 -12
  501. package/multiselect/internal.js.map +1 -1
  502. package/multiselect/use-multiselect.js +9 -5
  503. package/multiselect/use-multiselect.js.map +1 -1
  504. package/navigable-group/index.js +2 -4
  505. package/navigable-group/index.js.map +1 -1
  506. package/navigable-group/internal.js +2 -4
  507. package/navigable-group/internal.js.map +1 -1
  508. package/package.json +1 -1
  509. package/pagination/index.js +10 -10
  510. package/pagination/index.js.map +1 -1
  511. package/pagination/internal.js +36 -40
  512. package/pagination/internal.js.map +1 -1
  513. package/pie-chart/index.js +4 -6
  514. package/pie-chart/index.js.map +1 -1
  515. package/pie-chart/labels.js +2 -2
  516. package/pie-chart/labels.js.map +1 -1
  517. package/pie-chart/segments.js +1 -1
  518. package/pie-chart/segments.js.map +1 -1
  519. package/pie-chart/utils.js +17 -5
  520. package/pie-chart/utils.js.map +1 -1
  521. package/popover/body.js +3 -3
  522. package/popover/body.js.map +1 -1
  523. package/popover/container.js +1 -1
  524. package/popover/container.js.map +1 -1
  525. package/popover/index.js +2 -4
  526. package/popover/index.js.map +1 -1
  527. package/popover/internal.js +4 -6
  528. package/popover/internal.js.map +1 -1
  529. package/progress-bar/internal-do-not-use-core.js +2 -4
  530. package/progress-bar/internal-do-not-use-core.js.map +1 -1
  531. package/progress-bar/internal.js +4 -1
  532. package/progress-bar/internal.js.map +1 -1
  533. package/progress-bar/styles.css.js +19 -19
  534. package/progress-bar/styles.scoped.css +56 -56
  535. package/progress-bar/styles.selectors.js +19 -19
  536. package/prompt-input/index.js +1 -1
  537. package/prompt-input/interfaces.d.ts +48 -0
  538. package/prompt-input/interfaces.d.ts.map +1 -1
  539. package/prompt-input/interfaces.js.map +1 -1
  540. package/prompt-input/internal-do-not-use-core.js +2 -4
  541. package/prompt-input/internal-do-not-use-core.js.map +1 -1
  542. package/prompt-input/internal.d.ts.map +1 -1
  543. package/prompt-input/internal.js +5 -6
  544. package/prompt-input/internal.js.map +1 -1
  545. package/prompt-input/styles.css.js +17 -17
  546. package/prompt-input/styles.d.ts +4 -0
  547. package/prompt-input/styles.d.ts.map +1 -0
  548. package/prompt-input/styles.js +44 -0
  549. package/prompt-input/styles.js.map +1 -0
  550. package/prompt-input/styles.scoped.css +73 -61
  551. package/prompt-input/styles.selectors.js +17 -17
  552. package/property-filter/controller.js +6 -6
  553. package/property-filter/controller.js.map +1 -1
  554. package/property-filter/filter-options.js +1 -1
  555. package/property-filter/filter-options.js.map +1 -1
  556. package/property-filter/filtering-token/index.js +11 -14
  557. package/property-filter/filtering-token/index.js.map +1 -1
  558. package/property-filter/i18n-utils.js +48 -11
  559. package/property-filter/i18n-utils.js.map +1 -1
  560. package/property-filter/index.js +4 -6
  561. package/property-filter/index.js.map +1 -1
  562. package/property-filter/internal.js +15 -13
  563. package/property-filter/internal.js.map +1 -1
  564. package/property-filter/property-editor.js +1 -1
  565. package/property-filter/property-editor.js.map +1 -1
  566. package/property-filter/property-filter-autosuggest.js +8 -4
  567. package/property-filter/property-filter-autosuggest.js.map +1 -1
  568. package/property-filter/token-editor-inputs.js +10 -9
  569. package/property-filter/token-editor-inputs.js.map +1 -1
  570. package/property-filter/token-editor.js +10 -10
  571. package/property-filter/token-editor.js.map +1 -1
  572. package/property-filter/token.js +8 -8
  573. package/property-filter/token.js.map +1 -1
  574. package/property-filter/use-load-items.js +6 -1
  575. package/property-filter/use-load-items.js.map +1 -1
  576. package/radio-group/internal-do-not-use-core.js +9 -9
  577. package/radio-group/internal-do-not-use-core.js.map +1 -1
  578. package/radio-group/internal.js +10 -12
  579. package/radio-group/internal.js.map +1 -1
  580. package/radio-group/radio-button.js +4 -6
  581. package/radio-group/radio-button.js.map +1 -1
  582. package/radio-group/styles.css.js +10 -10
  583. package/radio-group/styles.scoped.css +22 -22
  584. package/radio-group/styles.selectors.js +10 -10
  585. package/s3-resource-selector/index.js +3 -5
  586. package/s3-resource-selector/index.js.map +1 -1
  587. package/s3-resource-selector/s3-in-context/index.js +1 -1
  588. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  589. package/s3-resource-selector/s3-in-context/search-input.js +1 -1
  590. package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  591. package/s3-resource-selector/s3-modal/basic-table.js +4 -7
  592. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  593. package/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  594. package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  595. package/s3-resource-selector/s3-modal/index.js +4 -1
  596. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  597. package/s3-resource-selector/s3-modal/objects-table.js +14 -2
  598. package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  599. package/s3-resource-selector/s3-modal/versions-table.js +13 -1
  600. package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  601. package/segmented-control/index.js +1 -1
  602. package/segmented-control/index.js.map +1 -1
  603. package/segmented-control/internal.js +6 -8
  604. package/segmented-control/internal.js.map +1 -1
  605. package/segmented-control/segment.js +1 -1
  606. package/segmented-control/segment.js.map +1 -1
  607. package/select/index.js +2 -4
  608. package/select/index.js.map +1 -1
  609. package/select/internal.js +13 -10
  610. package/select/internal.js.map +1 -1
  611. package/select/parts/filter.js +9 -4
  612. package/select/parts/filter.js.map +1 -1
  613. package/select/parts/item.js +3 -5
  614. package/select/parts/item.js.map +1 -1
  615. package/select/parts/multiselect-item.js +3 -5
  616. package/select/parts/multiselect-item.js.map +1 -1
  617. package/select/parts/plain-list.js +1 -1
  618. package/select/parts/plain-list.js.map +1 -1
  619. package/select/parts/trigger.js +2 -2
  620. package/select/parts/trigger.js.map +1 -1
  621. package/select/parts/virtual-list.js +3 -3
  622. package/select/parts/virtual-list.js.map +1 -1
  623. package/select/utils/get-item-props.js +7 -1
  624. package/select/utils/get-item-props.js.map +1 -1
  625. package/select/utils/render-options.js +1 -1
  626. package/select/utils/render-options.js.map +1 -1
  627. package/side-navigation/implementation.js +2 -4
  628. package/side-navigation/implementation.js.map +1 -1
  629. package/side-navigation/index.js +2 -4
  630. package/side-navigation/index.js.map +1 -1
  631. package/side-navigation/parts.js +4 -4
  632. package/side-navigation/parts.js.map +1 -1
  633. package/slider/index.js +2 -4
  634. package/slider/index.js.map +1 -1
  635. package/slider/internal.js +2 -4
  636. package/slider/internal.js.map +1 -1
  637. package/slider/styles.css.js +26 -26
  638. package/slider/styles.scoped.css +86 -86
  639. package/slider/styles.selectors.js +26 -26
  640. package/slider/tick-marks.js +3 -3
  641. package/slider/tick-marks.js.map +1 -1
  642. package/space-between/internal-do-not-use-core.js +2 -4
  643. package/space-between/internal-do-not-use-core.js.map +1 -1
  644. package/space-between/internal.js +2 -4
  645. package/space-between/internal.js.map +1 -1
  646. package/spinner/internal-do-not-use-core.js +2 -4
  647. package/spinner/internal-do-not-use-core.js.map +1 -1
  648. package/spinner/internal.js +2 -4
  649. package/spinner/internal.js.map +1 -1
  650. package/spinner/styles.css.js +13 -13
  651. package/spinner/styles.scoped.css +39 -39
  652. package/spinner/styles.selectors.js +13 -13
  653. package/split-panel/bottom.js +2 -2
  654. package/split-panel/bottom.js.map +1 -1
  655. package/split-panel/implementation.js +2 -4
  656. package/split-panel/implementation.js.map +1 -1
  657. package/split-panel/index.js +16 -4
  658. package/split-panel/index.js.map +1 -1
  659. package/split-panel/side.js +6 -2
  660. package/split-panel/side.js.map +1 -1
  661. package/status-indicator/internal-do-not-use-core.js +2 -4
  662. package/status-indicator/internal-do-not-use-core.js.map +1 -1
  663. package/status-indicator/internal.js +3 -5
  664. package/status-indicator/internal.js.map +1 -1
  665. package/steps/internal-do-not-use-core.js +2 -4
  666. package/steps/internal-do-not-use-core.js.map +1 -1
  667. package/steps/internal.js +2 -4
  668. package/steps/internal.js.map +1 -1
  669. package/table/body-cell/disabled-inline-editor.js +4 -6
  670. package/table/body-cell/disabled-inline-editor.js.map +1 -1
  671. package/table/body-cell/index.js +9 -11
  672. package/table/body-cell/index.js.map +1 -1
  673. package/table/body-cell/inline-editor.js +18 -21
  674. package/table/body-cell/inline-editor.js.map +1 -1
  675. package/table/body-cell/td-element.js +3 -5
  676. package/table/body-cell/td-element.js.map +1 -1
  677. package/table/expandable-rows/expandable-rows-utils.js +1 -1
  678. package/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  679. package/table/header-cell/index.js +20 -20
  680. package/table/header-cell/index.js.map +1 -1
  681. package/table/header-cell/th-element.js +3 -5
  682. package/table/header-cell/th-element.js.map +1 -1
  683. package/table/index.js +14 -10
  684. package/table/index.js.map +1 -1
  685. package/table/internal.js +47 -34
  686. package/table/internal.js.map +1 -1
  687. package/table/progressive-loading/loader-cell.js +2 -4
  688. package/table/progressive-loading/loader-cell.js.map +1 -1
  689. package/table/selection/selection-cell.js +8 -11
  690. package/table/selection/selection-cell.js.map +1 -1
  691. package/table/selection/selection-control.js +10 -12
  692. package/table/selection/selection-control.js.map +1 -1
  693. package/table/sticky-columns/use-sticky-columns.js +1 -1
  694. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  695. package/table/sticky-header.js +2 -2
  696. package/table/sticky-header.js.map +1 -1
  697. package/table/thead.js +5 -5
  698. package/table/thead.js.map +1 -1
  699. package/table/use-cell-editing.js +3 -4
  700. package/table/use-cell-editing.js.map +1 -1
  701. package/table/utils.js +1 -1
  702. package/table/utils.js.map +1 -1
  703. package/tabs/index.js +6 -8
  704. package/tabs/index.js.map +1 -1
  705. package/tabs/tab-header-bar.js +12 -5
  706. package/tabs/tab-header-bar.js.map +1 -1
  707. package/tag-editor/index.js +7 -9
  708. package/tag-editor/index.js.map +1 -1
  709. package/tag-editor/styles.css.js +3 -3
  710. package/tag-editor/styles.scoped.css +13 -13
  711. package/tag-editor/styles.selectors.js +3 -3
  712. package/text-content/index.js +2 -4
  713. package/text-content/index.js.map +1 -1
  714. package/text-content/styles.css.js +1 -1
  715. package/text-content/styles.scoped.css +66 -66
  716. package/text-content/styles.selectors.js +1 -1
  717. package/text-filter/index.js +1 -1
  718. package/text-filter/index.js.map +1 -1
  719. package/text-filter/internal.js +2 -4
  720. package/text-filter/internal.js.map +1 -1
  721. package/textarea/internal-do-not-use-core.js +3 -5
  722. package/textarea/internal-do-not-use-core.js.map +1 -1
  723. package/textarea/styles.css.js +5 -5
  724. package/textarea/styles.js +42 -30
  725. package/textarea/styles.js.map +1 -1
  726. package/textarea/styles.scoped.css +41 -41
  727. package/textarea/styles.selectors.js +5 -5
  728. package/tiles/index.js +3 -3
  729. package/tiles/index.js.map +1 -1
  730. package/tiles/internal.js +12 -14
  731. package/tiles/internal.js.map +1 -1
  732. package/tiles/tile.js +3 -5
  733. package/tiles/tile.js.map +1 -1
  734. package/time-input/internal-do-not-use-core.js +2 -4
  735. package/time-input/internal-do-not-use-core.js.map +1 -1
  736. package/time-input/internal.js +2 -4
  737. package/time-input/internal.js.map +1 -1
  738. package/toggle/internal-do-not-use-core.js +1 -1
  739. package/toggle/internal-do-not-use-core.js.map +1 -1
  740. package/toggle/internal.js +5 -7
  741. package/toggle/internal.js.map +1 -1
  742. package/toggle/styles.css.js +10 -10
  743. package/toggle/styles.scoped.css +23 -23
  744. package/toggle/styles.selectors.js +10 -10
  745. package/toggle-button/internal-do-not-use-core.js +2 -4
  746. package/toggle-button/internal-do-not-use-core.js.map +1 -1
  747. package/toggle-button/internal.js +3 -5
  748. package/toggle-button/internal.js.map +1 -1
  749. package/token/dismiss-button.js +2 -2
  750. package/token/dismiss-button.js.map +1 -1
  751. package/token/index.js +1 -1
  752. package/token/index.js.map +1 -1
  753. package/token/internal.js +20 -14
  754. package/token/internal.js.map +1 -1
  755. package/token-group/index.js +2 -4
  756. package/token-group/index.js.map +1 -1
  757. package/token-group/internal.js +6 -8
  758. package/token-group/internal.js.map +1 -1
  759. package/top-navigation/index.js +2 -4
  760. package/top-navigation/index.js.map +1 -1
  761. package/top-navigation/internal.js +2 -4
  762. package/top-navigation/internal.js.map +1 -1
  763. package/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  764. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  765. package/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  766. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  767. package/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  768. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  769. package/top-navigation/parts/utility.js +1 -1
  770. package/top-navigation/parts/utility.js.map +1 -1
  771. package/tree-view/index.js +1 -1
  772. package/tree-view/index.js.map +1 -1
  773. package/tree-view/internal.js +2 -4
  774. package/tree-view/internal.js.map +1 -1
  775. package/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  776. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  777. package/tutorial-panel/index.js +2 -4
  778. package/tutorial-panel/index.js.map +1 -1
  779. package/wizard/internal-do-not-use-core.js +2 -4
  780. package/wizard/internal-do-not-use-core.js.map +1 -1
  781. package/wizard/internal.js +23 -10
  782. package/wizard/internal.js.map +1 -1
  783. package/wizard/wizard-actions.js +3 -3
  784. package/wizard/wizard-actions.js.map +1 -1
  785. package/wizard/wizard-form.js +2 -2
  786. package/wizard/wizard-form.js.map +1 -1
  787. package/wizard/wizard-navigation.js +7 -7
  788. package/wizard/wizard-navigation.js.map +1 -1
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
@@ -24,9 +23,8 @@ import { useFocusControl } from './utils/use-focus-control';
24
23
  import { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';
25
24
  import styles from './styles.css.js';
26
25
  import testutilStyles from './test-classes/styles.css.js';
27
- const ClassicAppLayout = React.forwardRef((_a, ref) => {
28
- var _b, _c, _d, _e, _f, _g, _h;
29
- var { navigation, navigationWidth, navigationHide, navigationOpen, tools, toolsWidth, toolsHide, toolsOpen: controlledToolsOpen, breadcrumbs, notifications, stickyNotifications, contentHeader, disableContentHeaderOverlap, content, contentType, disableContentPaddings, disableBodyScroll, maxContentWidth, minContentWidth, placement, ariaLabels, splitPanel, splitPanelSize: controlledSplitPanelSize, splitPanelOpen: controlledSplitPanelOpen, splitPanelPreferences: controlledSplitPanelPreferences, onSplitPanelPreferencesChange, onSplitPanelResize, onSplitPanelToggle, onNavigationChange, onToolsChange, drawers: controlledDrawers, onDrawerChange, activeDrawerId: controlledActiveDrawerId } = _a, rest = __rest(_a, ["navigation", "navigationWidth", "navigationHide", "navigationOpen", "tools", "toolsWidth", "toolsHide", "toolsOpen", "breadcrumbs", "notifications", "stickyNotifications", "contentHeader", "disableContentHeaderOverlap", "content", "contentType", "disableContentPaddings", "disableBodyScroll", "maxContentWidth", "minContentWidth", "placement", "ariaLabels", "splitPanel", "splitPanelSize", "splitPanelOpen", "splitPanelPreferences", "onSplitPanelPreferencesChange", "onSplitPanelResize", "onSplitPanelToggle", "onNavigationChange", "onToolsChange", "drawers", "onDrawerChange", "activeDrawerId"]);
26
+ const ClassicAppLayout = React.forwardRef(({ navigation, navigationWidth, navigationHide, navigationOpen, tools, toolsWidth, toolsHide, toolsOpen: controlledToolsOpen, breadcrumbs, notifications, stickyNotifications, contentHeader, disableContentHeaderOverlap, content, contentType, disableContentPaddings, disableBodyScroll, maxContentWidth, minContentWidth, placement, ariaLabels, splitPanel, splitPanelSize: controlledSplitPanelSize, splitPanelOpen: controlledSplitPanelOpen, splitPanelPreferences: controlledSplitPanelPreferences, onSplitPanelPreferencesChange, onSplitPanelResize, onSplitPanelToggle, onNavigationChange, onToolsChange, drawers: controlledDrawers, onDrawerChange, activeDrawerId: controlledActiveDrawerId, ...rest }, ref) => {
27
+ var _a, _b, _c, _d, _e, _f, _g;
30
28
  // Private API for embedded view mode
31
29
  const __embeddedViewMode = Boolean(rest.__embeddedViewMode);
32
30
  const rootRef = useRef(null);
@@ -46,7 +44,12 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
46
44
  }
47
45
  fireNonCancelableEvent(onToolsChange, { open });
48
46
  };
49
- const { drawers, activeDrawer, minDrawerSize, activeDrawerSize, activeDrawerId, ariaLabelsWithDrawers, onActiveDrawerChange, onActiveDrawerResize, } = useDrawers(Object.assign({ drawers: controlledDrawers, onDrawerChange, activeDrawerId: controlledActiveDrawerId }, rest), ariaLabels, {
47
+ const { drawers, activeDrawer, minDrawerSize, activeDrawerSize, activeDrawerId, ariaLabelsWithDrawers, onActiveDrawerChange, onActiveDrawerResize, } = useDrawers({
48
+ drawers: controlledDrawers,
49
+ onDrawerChange,
50
+ activeDrawerId: controlledActiveDrawerId,
51
+ ...rest,
52
+ }, ariaLabels, {
50
53
  disableDrawersMerge: true,
51
54
  ariaLabels,
52
55
  tools,
@@ -205,7 +208,7 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
205
208
  reportHeaderHeight: setSplitPanelReportedHeaderHeight,
206
209
  refs: splitPanelRefs,
207
210
  };
208
- const splitPanelWrapped = splitPanel && (React.createElement(SplitPanelProvider, Object.assign({}, splitPanelContextProps), finalSplitPanePosition === 'side' ? (React.createElement(SideSplitPanelDrawer, { displayed: splitPanelDisplayed }, splitPanel)) : (splitPanel)));
211
+ const splitPanelWrapped = splitPanel && (React.createElement(SplitPanelProvider, { ...splitPanelContextProps }, finalSplitPanePosition === 'side' ? (React.createElement(SideSplitPanelDrawer, { displayed: splitPanelDisplayed }, splitPanel)) : (splitPanel)));
209
212
  const contentWrapperProps = {
210
213
  contentType,
211
214
  navigationPadding: navigationHide || !!navigationOpen,
@@ -239,11 +242,11 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
239
242
  focusActiveDrawer: () => focusDrawersButtons({ force: true }),
240
243
  focusSplitPanel: () => { var _a; return (_a = splitPanelRefs.slider.current) === null || _a === void 0 ? void 0 : _a.focus(); },
241
244
  }));
242
- const splitPanelBottomOffset = (_b = (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'
245
+ const splitPanelBottomOffset = (_a = (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'
243
246
  ? undefined
244
247
  : splitPanelOpen
245
248
  ? splitPanelReportedSize
246
- : splitPanelReportedHeaderHeight)) !== null && _b !== void 0 ? _b : undefined;
249
+ : splitPanelReportedHeaderHeight)) !== null && _a !== void 0 ? _a : undefined;
247
250
  const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);
248
251
  return (React.createElement("div", { className: clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll']), ref: rootRef, style: contentHeightStyle },
249
252
  isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (React.createElement(MobileToolbar, { anyPanelOpen: anyPanelOpen, toggleRefs: { navigation: navigationRefs.toggle, tools: toolsRefs.toggle }, topOffset: placement.insetBlockStart, ariaLabels: ariaLabels, navigationHide: navigationHide, toolsHide: toolsHide, onNavigationOpen: () => onNavigationToggle({ isOpen: true, autoFocus: true }), onToolsOpen: () => onToolsToggle(true), unfocusable: anyPanelOpen, mobileBarRef: mobileBarRef, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
@@ -264,32 +267,32 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
264
267
  marginBottom: splitPanelBottomOffset,
265
268
  } },
266
269
  notifications && (React.createElement(Notifications, { disableContentPaddings: disableContentPaddings, testUtilsClassName: testutilStyles.notifications, labels: ariaLabels, topOffset: disableBodyScroll ? 0 : placement.insetBlockStart, sticky: !isMobile && stickyNotifications, ref: notificationsRef }, notifications)),
267
- ((!isMobile && breadcrumbs) || contentHeader) && (React.createElement(ContentWrapper, Object.assign({}, contentWrapperProps),
270
+ ((!isMobile && breadcrumbs) || contentHeader) && (React.createElement(ContentWrapper, { ...contentWrapperProps },
268
271
  !isMobile && breadcrumbs && (React.createElement("div", { className: clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop']) }, breadcrumbs)),
269
272
  contentHeader && (React.createElement("div", { className: clsx(styles['content-header-wrapper'], !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'], !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'], !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']) }, contentHeader)))),
270
- React.createElement(ContentWrapper, Object.assign({}, contentWrapperProps, { ref: mainContentRef, disablePaddings: disableContentPaddings, className: clsx(!disableContentPaddings && styles['content-wrapper'], !disableContentPaddings &&
273
+ React.createElement(ContentWrapper, { ...contentWrapperProps, ref: mainContentRef, disablePaddings: disableContentPaddings, className: clsx(!disableContentPaddings && styles['content-wrapper'], !disableContentPaddings &&
271
274
  (isMobile || !breadcrumbs) &&
272
275
  !contentHeader &&
273
276
  styles['content-extra-top-padding'], testutilStyles.content, !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'], !hasRenderedNotifications &&
274
277
  !breadcrumbs &&
275
278
  !isMobile &&
276
279
  !contentHeader &&
277
- styles['content-wrapper-first-child']), style: getStickyOffsetVars(placement.insetBlockStart, placement.insetBlockEnd + (splitPanelBottomOffset || 0), `${stickyNotificationsHeight}px`, mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px', !!disableBodyScroll, isMobile) }), content)),
280
+ styles['content-wrapper-first-child']), style: getStickyOffsetVars(placement.insetBlockStart, placement.insetBlockEnd + (splitPanelBottomOffset || 0), `${stickyNotificationsHeight}px`, mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px', !!disableBodyScroll, isMobile) }, content)),
278
281
  finalSplitPanePosition === 'bottom' && splitPanelWrapped),
279
282
  finalSplitPanePosition === 'side' && splitPanelWrapped,
280
283
  hasDrawers ? (React.createElement(ResizableDrawer, { contentClassName: clsx(activeDrawerId && testutilStyles['active-drawer'], activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools), toggleClassName: testutilStyles['tools-toggle'], closeClassName: clsx(testutilStyles['active-drawer-close-button'], activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']), ariaLabels: {
281
- openLabel: (_c = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _c === void 0 ? void 0 : _c.triggerButton,
282
- closeLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.closeButton,
283
- mainLabel: (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.drawerName,
284
- resizeHandle: (_f = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _f === void 0 ? void 0 : _f.resizeHandle,
285
- resizeHandleTooltipText: (_g = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _g === void 0 ? void 0 : _g.resizeHandleTooltipText,
284
+ openLabel: (_b = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.triggerButton,
285
+ closeLabel: (_c = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _c === void 0 ? void 0 : _c.closeButton,
286
+ mainLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.drawerName,
287
+ resizeHandle: (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.resizeHandle,
288
+ resizeHandleTooltipText: (_f = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _f === void 0 ? void 0 : _f.resizeHandleTooltipText,
286
289
  }, minWidth: minDrawerSize, maxWidth: drawerMaxSize, width: activeDrawerSize, bottomOffset: placement.insetBlockEnd, topOffset: placement.insetBlockStart, isMobile: isMobile, onToggle: isOpen => {
287
290
  if (!isOpen) {
288
291
  focusToolsButtons();
289
292
  focusDrawersButtons();
290
293
  onActiveDrawerChange(null, { initiatedByUserAction: true });
291
294
  }
292
- }, isOpen: true, hideOpenButton: true, toggleRefs: drawerRefs, type: "tools", onLoseFocus: loseDrawersFocus, activeDrawer: activeDrawer, onResize: changeDetail => onActiveDrawerResize(changeDetail), refs: drawerRefs, toolsContent: (_h = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _h === void 0 ? void 0 : _h.content }, activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.content)) : (!toolsHide && (React.createElement(Drawer, { contentClassName: testutilStyles.tools, toggleClassName: testutilStyles['tools-toggle'], closeClassName: testutilStyles['tools-close'], ariaLabels: togglesConfig.tools.getLabels(ariaLabels), width: toolsWidth, bottomOffset: placement.insetBlockEnd, topOffset: placement.insetBlockStart, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen, toggleRefs: toolsRefs, type: "tools", onLoseFocus: loseToolsFocus }, tools))),
295
+ }, isOpen: true, hideOpenButton: true, toggleRefs: drawerRefs, type: "tools", onLoseFocus: loseDrawersFocus, activeDrawer: activeDrawer, onResize: changeDetail => onActiveDrawerResize(changeDetail), refs: drawerRefs, toolsContent: (_g = drawers === null || drawers === void 0 ? void 0 : drawers.find(drawer => drawer.id === TOOLS_DRAWER_ID)) === null || _g === void 0 ? void 0 : _g.content }, activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.content)) : (!toolsHide && (React.createElement(Drawer, { contentClassName: testutilStyles.tools, toggleClassName: testutilStyles['tools-toggle'], closeClassName: testutilStyles['tools-close'], ariaLabels: togglesConfig.tools.getLabels(ariaLabels), width: toolsWidth, bottomOffset: placement.insetBlockEnd, topOffset: placement.insetBlockStart, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen, toggleRefs: toolsRefs, type: "tools", onLoseFocus: loseToolsFocus }, tools))),
293
296
  hasDrawers && drawers.length > 0 && (React.createElement(DrawerTriggersBar, { drawerRefs: drawerRefs, bottomOffset: placement.insetBlockEnd, topOffset: placement.insetBlockStart, isMobile: isMobile, drawers: drawers, activeDrawerId: activeDrawerId, onDrawerChange: newDrawerId => {
294
297
  if (activeDrawerId !== newDrawerId) {
295
298
  focusToolsButtons();
@@ -1 +1 @@
1
- {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { SplitPanelSideToggleProps } from '../internal/context/split-panel-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { Drawer, DrawerTriggersBar } from './drawer';\nimport { ResizableDrawer } from './drawer/resizable-drawer';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { Notifications } from './notifications';\nimport { SideSplitPanelDrawer, SplitPanelProvider, SplitPanelProviderProps } from './split-panel';\nimport { shouldSplitPanelBeForcedToBottom } from './split-panel/split-panel-forced-position';\nimport { togglesConfig } from './toggles';\nimport { getStickyOffsetVars } from './utils/sticky-offsets';\nimport { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';\nimport { useFocusControl } from './utils/use-focus-control';\nimport { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';\n\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\n\nconst ClassicAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth,\n navigationHide,\n navigationOpen,\n tools,\n toolsWidth,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType,\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n placement,\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest\n }: AppLayoutPropsWithDefaults,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n // Private API for embedded view mode\n const __embeddedViewMode = Boolean((rest as any).__embeddedViewMode);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n\n const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, false, {\n componentName: 'AppLayout',\n controlledProp: 'toolsOpen',\n changeHandler: 'onToolsChange',\n });\n const onToolsToggle = (open: boolean) => {\n setToolsOpen(open);\n if (hasDrawers) {\n focusDrawersButtons();\n } else {\n focusToolsButtons();\n }\n fireNonCancelableEvent(onToolsChange, { open });\n };\n\n const {\n drawers,\n activeDrawer,\n minDrawerSize,\n activeDrawerSize,\n activeDrawerId,\n ariaLabelsWithDrawers,\n onActiveDrawerChange,\n onActiveDrawerResize,\n } = useDrawers(\n {\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest,\n },\n ariaLabels,\n {\n disableDrawersMerge: true,\n ariaLabels,\n tools,\n toolsOpen,\n toolsHide,\n toolsWidth,\n onToolsToggle,\n }\n );\n ariaLabels = ariaLabelsWithDrawers;\n const hasDrawers = !!drawers;\n\n const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);\n const {\n refs: toolsRefs,\n setFocus: focusToolsButtons,\n loseFocus: loseToolsFocus,\n } = useFocusControl(toolsOpen || activeDrawer !== undefined, true);\n const {\n refs: drawerRefs,\n setFocus: focusDrawersButtons,\n loseFocus: loseDrawersFocus,\n } = useFocusControl(!!activeDrawerId, true, activeDrawerId);\n\n const onNavigationToggle = useStableCallback(({ isOpen, autoFocus }: { isOpen: boolean; autoFocus: boolean }) => {\n focusNavButtons({ force: false, autoFocus });\n fireNonCancelableEvent(onNavigationChange, { open: isOpen });\n });\n\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle({ isOpen: false, autoFocus: true });\n }\n };\n\n useEffect(() => {\n // Close navigation drawer on mobile so that the main content is visible\n if (isMobile) {\n onNavigationToggle({ isOpen: false, autoFocus: false });\n }\n }, [isMobile, onNavigationToggle]);\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const [headerFooterHeight, setHeaderFooterHeight] = useState(0);\n // Delay applying changes in header/footer height, as applying them immediately can cause\n // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects\n // further up the tree, therefore blocking notifications to prevent loops\n useEffect(() => {\n const id = requestAnimationFrame(() =>\n setHeaderFooterHeight(placement.insetBlockStart + placement.insetBlockEnd)\n );\n return () => cancelAnimationFrame(id);\n }, [placement.insetBlockStart, placement.insetBlockEnd]);\n const contentHeightStyle = {\n [disableBodyScroll ? 'blockSize' : 'minBlockSize']: `calc(100vh - ${headerFooterHeight}px)`,\n };\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? (notificationsHeight ?? 0) : 0;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState<SplitPanelSideToggleProps>({\n displayed: false,\n ariaLabel: undefined,\n });\n const splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const { refs: splitPanelRefs, setLastInteraction: setSplitPanelLastInteraction } = useSplitPanelFocusControl([\n splitPanelPreferences,\n splitPanelOpen,\n ]);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n setSplitPanelLastInteraction({ type: 'position' });\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange, setSplitPanelLastInteraction]\n );\n const onSplitPanelSizeSet = useCallback(\n (newSize: number) => {\n setSplitPanelSize(newSize);\n fireNonCancelableEvent(onSplitPanelResize, { size: newSize });\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n\n const onSplitPanelToggleHandler = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);\n\n const getSplitPanelMaxHeight = useStableCallback(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight =\n document.documentElement.clientHeight - placement.insetBlockStart - placement.insetBlockEnd;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;\n const contentPadding = 80;\n // all content except split-panel + drawers/tools area\n const resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth\n );\n\n const getEffectiveToolsWidth = () => {\n if (activeDrawerSize && activeDrawer) {\n return Math.min(resizableSpaceAvailable, activeDrawerSize);\n }\n\n if (toolsHide || drawers) {\n return 0;\n }\n\n if (toolsOpen) {\n return toolsWidth;\n }\n\n return closedDrawerWidth;\n };\n\n const effectiveToolsWidth = getEffectiveToolsWidth();\n const availableWidthForSplitPanel = resizableSpaceAvailable - effectiveToolsWidth;\n const isSplitPanelForcedPosition = shouldSplitPanelBeForcedToBottom({\n isMobile,\n availableWidthForSplitPanel,\n });\n const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';\n\n const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;\n const sideSplitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);\n const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);\n\n const splitPanelContextProps: SplitPanelProviderProps = {\n topOffset: placement.insetBlockStart + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight : 0),\n bottomOffset: placement.insetBlockEnd,\n leftOffset:\n placement.insetInlineStart +\n (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: isMobile ? 0 : placement.insetInlineEnd + effectiveToolsWidth + rightDrawerBarWidth,\n position: finalSplitPanePosition,\n size: splitPanelSize,\n maxWidth: sideSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isForcedPosition: isSplitPanelForcedPosition,\n onResize: onSplitPanelSizeSet,\n onToggle: onSplitPanelToggleHandler,\n onPreferencesChange: onSplitPanelPreferencesSet,\n setSplitPanelToggle: setSplitPanelReportedToggle,\n reportSize: setSplitPanelReportedSize,\n reportHeaderHeight: setSplitPanelReportedHeaderHeight,\n refs: splitPanelRefs,\n };\n const splitPanelWrapped = splitPanel && (\n <SplitPanelProvider {...splitPanelContextProps}>\n {finalSplitPanePosition === 'side' ? (\n <SideSplitPanelDrawer displayed={splitPanelDisplayed}>{splitPanel}</SideSplitPanelDrawer>\n ) : (\n splitPanel\n )}\n </SplitPanelProvider>\n );\n\n const contentWrapperProps: ContentWrapperProps = {\n contentType,\n navigationPadding: navigationHide || !!navigationOpen,\n contentWidthStyles: !isMobile ? { minWidth: minContentWidth, maxWidth: maxContentWidth } : undefined,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n toolsHide ||\n (hasDrawers && !activeDrawer && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n (splitPaneAvailableOnTheSide && splitPanelOpen),\n isMobile,\n };\n\n useImperativeHandle(ref, () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle({ isOpen: false, autoFocus: true });\n }\n },\n focusToolsClose: () => {\n if (hasDrawers) {\n focusDrawersButtons({ force: true });\n } else {\n focusToolsButtons({ force: true });\n }\n },\n focusActiveDrawer: () => focusDrawersButtons({ force: true }),\n focusSplitPanel: () => splitPanelRefs.slider.current?.focus(),\n }));\n\n const splitPanelBottomOffset =\n (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelReportedSize\n : splitPanelReportedHeaderHeight) ?? undefined;\n\n const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n style={contentHeightStyle}\n >\n {isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={placement.insetBlockStart}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle({ isOpen: true, autoFocus: true })}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n mobileBarRef={mobileBarRef}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n if (newDrawerId !== activeDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n }}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <Drawer\n contentClassName={testutilStyles.navigation}\n toggleClassName={testutilStyles['navigation-toggle']}\n closeClassName={testutilStyles['navigation-close']}\n ariaLabels={togglesConfig.navigation.getLabels(ariaLabels)}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n isOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onToggle={isOpen => onNavigationToggle({ isOpen, autoFocus: true })}\n toggleRefs={navigationRefs}\n type=\"navigation\"\n width={navigationWidth}\n >\n {navigation}\n </Drawer>\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n }}\n >\n {notifications && (\n <Notifications\n disableContentPaddings={disableContentPaddings}\n testUtilsClassName={testutilStyles.notifications}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : placement.insetBlockStart}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps}>\n {!isMobile && breadcrumbs && (\n <div className={clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}>{breadcrumbs}</div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n style={getStickyOffsetVars(\n placement.insetBlockStart,\n placement.insetBlockEnd + (splitPanelBottomOffset || 0),\n `${stickyNotificationsHeight}px`,\n mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px',\n !!disableBodyScroll,\n isMobile\n )}\n >\n {content}\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && splitPanelWrapped}\n </main>\n\n {finalSplitPanePosition === 'side' && splitPanelWrapped}\n\n {hasDrawers ? (\n <ResizableDrawer\n contentClassName={clsx(\n activeDrawerId && testutilStyles['active-drawer'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools\n )}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={clsx(\n testutilStyles['active-drawer-close-button'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']\n )}\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n resizeHandle: activeDrawer?.ariaLabels?.resizeHandle,\n resizeHandleTooltipText: activeDrawer?.ariaLabels?.resizeHandleTooltipText,\n }}\n minWidth={minDrawerSize}\n maxWidth={drawerMaxSize}\n width={activeDrawerSize}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={isOpen => {\n if (!isOpen) {\n focusToolsButtons();\n focusDrawersButtons();\n onActiveDrawerChange(null, { initiatedByUserAction: true });\n }\n }}\n isOpen={true}\n hideOpenButton={true}\n toggleRefs={drawerRefs}\n type=\"tools\"\n onLoseFocus={loseDrawersFocus}\n activeDrawer={activeDrawer}\n onResize={changeDetail => onActiveDrawerResize(changeDetail)}\n refs={drawerRefs}\n toolsContent={drawers?.find(drawer => drawer.id === TOOLS_DRAWER_ID)?.content}\n >\n {activeDrawer?.content}\n </ResizableDrawer>\n ) : (\n !toolsHide && (\n <Drawer\n contentClassName={testutilStyles.tools}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={testutilStyles['tools-close']}\n ariaLabels={togglesConfig.tools.getLabels(ariaLabels)}\n width={toolsWidth}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={onToolsToggle}\n isOpen={toolsOpen}\n toggleRefs={toolsRefs}\n type=\"tools\"\n onLoseFocus={loseToolsFocus}\n >\n {tools}\n </Drawer>\n )\n )}\n {hasDrawers && drawers.length > 0 && (\n <DrawerTriggersBar\n drawerRefs={drawerRefs}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n if (activeDrawerId !== newDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n }}\n ariaLabels={ariaLabels}\n />\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default ClassicAppLayout;\n"]}
1
+ {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,cAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAA2B,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAE1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CACE,EACE,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,KAAK,EACL,UAAU,EACV,SAAS,EACT,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EAAE,wBAAwB,EACxC,cAAc,EAAE,wBAAwB,EACxC,qBAAqB,EAAE,+BAA+B,EACtD,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EACd,cAAc,EAAE,wBAAwB,EACxC,GAAG,IAAI,EACoB,EAC7B,GAAkC,EAClC,EAAE;;IACF,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,OAAO,CAAE,IAAY,CAAC,kBAAkB,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,YAAY,CAAC,GAAG,eAAe,CAAC,mBAAmB,EAAE,aAAa,EAAE,KAAK,EAAE;QACnG,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,WAAW;QAC3B,aAAa,EAAE,eAAe;KAC/B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,CAAC,IAAa,EAAE,EAAE;QACtC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,UAAU,EAAE,CAAC;YACf,mBAAmB,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,iBAAiB,EAAE,CAAC;QACtB,CAAC;QACD,sBAAsB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,GAAG,UAAU,CACZ;QACE,OAAO,EAAE,iBAAiB;QAC1B,cAAc;QACd,cAAc,EAAE,wBAAwB;QACxC,GAAG,IAAI;KACR,EACD,UAAU,EACV;QACE,mBAAmB,EAAE,IAAI;QACzB,UAAU;QACV,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,aAAa;KACd,CACF,CAAC;IACF,UAAU,GAAG,qBAAqB,CAAC;IACnC,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC;IAE7B,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5F,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,cAAc,GAC1B,GAAG,eAAe,CAAC,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,gBAAgB,GAC5B,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAE5D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAA2C,EAAE,EAAE;QAC9G,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7C,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,CAAC,MAAqB,EAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,CAAE,IAA0B,CAAC,IAAI,CACnE,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,wEAAwE;QACxE,IAAI,QAAQ,EAAE,CAAC;YACb,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEnC,MAAM,iBAAiB,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC;IAC5D,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IAE7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChE,yFAAyF;IACzF,+FAA+F;IAC/F,yEAAyE;IACzE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,CACpC,qBAAqB,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,CAC3E,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG;QACzB,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,gBAAgB,kBAAkB,KAAK;KAC5F,CAAC;IAEF,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,iBAAiB,IAAI,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;IACzE,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,eAAe,CACvE,+BAA+B,EAC/B,6BAA6B,EAC7B,SAAS,EACT;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,+BAA+B;KAC/C,CACF,CAAC;IACF,MAAM,CAAC,cAAc,GAAG,KAAK,EAAE,iBAAiB,CAAC,GAAG,eAAe,CACjE,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,oBAAoB;KACpC,CACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,KAAI,QAAQ,CAAC;IACvE,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAA4B;QAClG,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,wBAAwB,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC;IAErG,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,wBAAwB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE3G,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAC3E,MAAM,CAAC,cAAc,GAAG,qBAAqB,EAAE,iBAAiB,CAAC,GAAG,eAAe,CACjF,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,oBAAoB;KACpC,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAEtD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,GAAG,yBAAyB,CAAC;QAC3G,qBAAqB;QACrB,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,0BAA0B,GAAG,WAAW,CAC5C,CAAC,MAAuC,EAAE,EAAE;QAC1C,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjC,4BAA4B,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,sBAAsB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,4BAA4B,CAAC,CACxF,CAAC;IACF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,OAAe,EAAE,EAAE;QAClB,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CACxC,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC,4BAA4B,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAE1F,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,GAAG,EAAE;QACpD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,CAAC,CAAC,CAAC,sDAAsD;QAClE,CAAC;aAAM,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC5D,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;YACjE,OAAO,eAAe,GAAG,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,qBAAqB,CAAC;QAC/G,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GACnB,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC;YAC9F,OAAO,eAAe,GAAG,uBAAuB;gBAC9C,CAAC,CAAC,eAAe,GAAG,iCAAiC;gBACrD,CAAC,CAAC,eAAe,GAAG,qBAAqB,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,sDAAsD;IACtD,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CACtC,CAAC,EACD,SAAS,CAAC,UAAU,GAAG,wBAAwB,GAAG,eAAe,GAAG,cAAc,GAAG,mBAAmB,CACzG,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IACrD,MAAM,2BAA2B,GAAG,uBAAuB,GAAG,mBAAmB,CAAC;IAClF,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;QAClE,QAAQ;QACR,2BAA2B;KAC5B,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAE1F,MAAM,2BAA2B,GAAG,mBAAmB,IAAI,sBAAsB,KAAK,MAAM,CAAC;IAE7F,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,GAAG,mBAAmB,CAAC,CAAC;IAC1F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,GAAG,kBAAkB,CAAC,CAAC;IAEhF,MAAM,qBAAqB,GAAG,cAAc,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAEjF,MAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,8BAA8B,EAAE,iCAAiC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExF,MAAM,sBAAsB,GAA4B;QACtD,SAAS,EAAE,SAAS,CAAC,eAAe,GAAG,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,YAAY,EAAE,SAAS,CAAC,aAAa;QACrC,UAAU,EACR,SAAS,CAAC,gBAAgB;YAC1B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC9F,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,mBAAmB,GAAG,mBAAmB;QAChG,QAAQ,EAAE,sBAAsB;QAChC,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,sBAAsB;QACpC,sBAAsB;QACtB,kBAAkB,EAAE,oBAAoB;QACxC,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,0BAA0B;QAC5C,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,yBAAyB;QACnC,mBAAmB,EAAE,0BAA0B;QAC/C,mBAAmB,EAAE,2BAA2B;QAChD,UAAU,EAAE,yBAAyB;QACrC,kBAAkB,EAAE,iCAAiC;QACrD,IAAI,EAAE,cAAc;KACrB,CAAC;IACF,MAAM,iBAAiB,GAAG,UAAU,IAAI,CACtC,oBAAC,kBAAkB,OAAK,sBAAsB,IAC3C,sBAAsB,KAAK,MAAM,CAAC,CAAC,CAAC,CACnC,oBAAC,oBAAoB,IAAC,SAAS,EAAE,mBAAmB,IAAG,UAAU,CAAwB,CAC1F,CAAC,CAAC,CAAC,CACF,UAAU,CACX,CACkB,CACtB,CAAC;IAEF,MAAM,mBAAmB,GAAwB;QAC/C,WAAW;QACX,iBAAiB,EAAE,cAAc,IAAI,CAAC,CAAC,cAAc;QACrD,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;QACpG,YAAY;QACV,uDAAuD;QACvD,yEAAyE;QACzE,SAAS;YACT,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,mBAAmB,IAAI,sBAAsB,KAAK,MAAM,CAAC,CAAC;YAC5F,qCAAqC;YACrC,YAAY;YACZ,0CAA0C;YAC1C,CAAC,2BAA2B,IAAI,cAAc,CAAC;QACjD,QAAQ;KACT,CAAC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;QACpC,0BAA0B,EAAE,GAAG,EAAE;YAC/B,IAAI,QAAQ,EAAE,CAAC;gBACb,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,eAAe,EAAE,GAAG,EAAE;YACpB,IAAI,UAAU,EAAE,CAAC;gBACf,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC7D,eAAe,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,cAAc,CAAC,MAAM,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA;KAC9D,CAAC,CAAC,CAAC;IAEJ,MAAM,sBAAsB,GAC1B,MAAA,CAAC,CAAC,mBAAmB,IAAI,sBAAsB,KAAK,QAAQ;QAC1D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc;YACd,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,8BAA8B,CAAC,mCAAI,SAAS,CAAC;IAErD,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEzF,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAChG,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB;QAExB,QAAQ,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,IAAI,CACpF,oBAAC,aAAa,IACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAC1E,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAC7E,WAAW,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACtC,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,WAAW,CAAC,EAAE;gBAC5B,oBAAoB,CAAC,WAAW,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;oBACnC,iBAAiB,EAAE,CAAC;oBACpB,mBAAmB,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC,IAEA,WAAW,CACE,CACjB;QACD,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACjF,CAAC,cAAc,IAAI,CAClB,oBAAC,MAAM,IACL,gBAAgB,EAAE,cAAc,CAAC,UAAU,EAC3C,eAAe,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACpD,cAAc,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAClD,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAC1D,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EACnE,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAC,YAAY,EACjB,KAAK,EAAE,eAAe,IAErB,UAAU,CACJ,CACV;YACD,8BACE,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;oBACrC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,iBAAiB;oBACrD,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,EAAE,iBAAiB;oBAC/D,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,YAAY;iBAC/C,CAAC;gBAEF,6BACE,KAAK,EAAE;wBACL,YAAY,EAAE,sBAAsB;qBACrC;oBAEA,aAAa,IAAI,CAChB,oBAAC,aAAa,IACZ,sBAAsB,EAAE,sBAAsB,EAC9C,kBAAkB,EAAE,cAAc,CAAC,aAAa,EAChD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,EAC5D,MAAM,EAAE,CAAC,QAAQ,IAAI,mBAAmB,EACxC,GAAG,EAAE,gBAAgB,IAEpB,aAAa,CACA,CACjB;oBACA,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,aAAa,CAAC,IAAI,CAChD,oBAAC,cAAc,OAAK,mBAAmB;wBACpC,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC3B,6BAAK,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAG,WAAW,CAAO,CACrG;wBACA,aAAa,IAAI,CAChB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,wBAAwB,CAAC,EAChC,CAAC,wBAAwB,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,2BAA2B,CAAC,EAC9F,CAAC,wBAAwB,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,oCAAoC,CAAC,EACzF,CAAC,2BAA2B,IAAI,MAAM,CAAC,mCAAmC,CAAC,CAC5E,IAEA,aAAa,CACV,CACP,CACc,CAClB;oBACD,oBAAC,cAAc,OACT,mBAAmB,EACvB,GAAG,EAAE,cAAc,EACnB,eAAe,EAAE,sBAAsB,EACvC,SAAS,EAAE,IAAI,CACb,CAAC,sBAAsB,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACpD,CAAC,sBAAsB;4BACrB,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;4BAC1B,CAAC,aAAa;4BACd,MAAM,CAAC,2BAA2B,CAAC,EACrC,cAAc,CAAC,OAAO,EACtB,CAAC,2BAA2B,IAAI,aAAa,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAC7E,CAAC,wBAAwB;4BACvB,CAAC,WAAW;4BACZ,CAAC,QAAQ;4BACT,CAAC,aAAa;4BACd,MAAM,CAAC,6BAA6B,CAAC,CACxC,EACD,KAAK,EAAE,mBAAmB,CACxB,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,aAAa,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC,EACvD,GAAG,yBAAyB,IAAI,EAChC,eAAe,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,KAAK,EACtE,CAAC,CAAC,iBAAiB,EACnB,QAAQ,CACT,IAEA,OAAO,CACO,CACb;gBACL,sBAAsB,KAAK,QAAQ,IAAI,iBAAiB,CACpD;YAEN,sBAAsB,KAAK,MAAM,IAAI,iBAAiB;YAEtD,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,eAAe,IACd,gBAAgB,EAAE,IAAI,CACpB,cAAc,IAAI,cAAc,CAAC,eAAe,CAAC,EACjD,cAAc,KAAK,eAAe,IAAI,cAAc,CAAC,KAAK,CAC3D,EACD,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,EAC/C,cAAc,EAAE,IAAI,CAClB,cAAc,CAAC,4BAA4B,CAAC,EAC5C,cAAc,KAAK,eAAe,IAAI,cAAc,CAAC,aAAa,CAAC,CACpE,EACD,UAAU,EAAE;oBACV,SAAS,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,aAAa;oBAClD,UAAU,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,WAAW;oBACjD,SAAS,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,UAAU;oBAC/C,YAAY,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,YAAY;oBACpD,uBAAuB,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,uBAAuB;iBAC3E,EACD,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,iBAAiB,EAAE,CAAC;wBACpB,mBAAmB,EAAE,CAAC;wBACtB,oBAAoB,CAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC,EACD,MAAM,EAAE,IAAI,EACZ,cAAc,EAAE,IAAI,EACpB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAC5D,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,eAAe,CAAC,0CAAE,OAAO,IAE5E,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CACN,CACnB,CAAC,CAAC,CAAC,CACF,CAAC,SAAS,IAAI,CACZ,oBAAC,MAAM,IACL,gBAAgB,EAAE,cAAc,CAAC,KAAK,EACtC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,EAC/C,cAAc,EAAE,cAAc,CAAC,aAAa,CAAC,EAC7C,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EACrD,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,SAAS,EACrB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,cAAc,IAE1B,KAAK,CACC,CACV,CACF;YACA,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,oBAAC,iBAAiB,IAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,WAAW,CAAC,EAAE;oBAC5B,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;wBACnC,iBAAiB,EAAE,CAAC;wBACpB,mBAAmB,EAAE,CAAC;oBACxB,CAAC;oBACD,oBAAoB,CAAC,WAAW,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC,EACD,UAAU,EAAE,UAAU,GACtB,CACH,CACG,CACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { SplitPanelSideToggleProps } from '../internal/context/split-panel-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { Drawer, DrawerTriggersBar } from './drawer';\nimport { ResizableDrawer } from './drawer/resizable-drawer';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { Notifications } from './notifications';\nimport { SideSplitPanelDrawer, SplitPanelProvider, SplitPanelProviderProps } from './split-panel';\nimport { shouldSplitPanelBeForcedToBottom } from './split-panel/split-panel-forced-position';\nimport { togglesConfig } from './toggles';\nimport { getStickyOffsetVars } from './utils/sticky-offsets';\nimport { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';\nimport { useFocusControl } from './utils/use-focus-control';\nimport { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';\n\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\n\nconst ClassicAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth,\n navigationHide,\n navigationOpen,\n tools,\n toolsWidth,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType,\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n placement,\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest\n }: AppLayoutPropsWithDefaults,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n // Private API for embedded view mode\n const __embeddedViewMode = Boolean((rest as any).__embeddedViewMode);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n\n const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, false, {\n componentName: 'AppLayout',\n controlledProp: 'toolsOpen',\n changeHandler: 'onToolsChange',\n });\n const onToolsToggle = (open: boolean) => {\n setToolsOpen(open);\n if (hasDrawers) {\n focusDrawersButtons();\n } else {\n focusToolsButtons();\n }\n fireNonCancelableEvent(onToolsChange, { open });\n };\n\n const {\n drawers,\n activeDrawer,\n minDrawerSize,\n activeDrawerSize,\n activeDrawerId,\n ariaLabelsWithDrawers,\n onActiveDrawerChange,\n onActiveDrawerResize,\n } = useDrawers(\n {\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest,\n },\n ariaLabels,\n {\n disableDrawersMerge: true,\n ariaLabels,\n tools,\n toolsOpen,\n toolsHide,\n toolsWidth,\n onToolsToggle,\n }\n );\n ariaLabels = ariaLabelsWithDrawers;\n const hasDrawers = !!drawers;\n\n const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);\n const {\n refs: toolsRefs,\n setFocus: focusToolsButtons,\n loseFocus: loseToolsFocus,\n } = useFocusControl(toolsOpen || activeDrawer !== undefined, true);\n const {\n refs: drawerRefs,\n setFocus: focusDrawersButtons,\n loseFocus: loseDrawersFocus,\n } = useFocusControl(!!activeDrawerId, true, activeDrawerId);\n\n const onNavigationToggle = useStableCallback(({ isOpen, autoFocus }: { isOpen: boolean; autoFocus: boolean }) => {\n focusNavButtons({ force: false, autoFocus });\n fireNonCancelableEvent(onNavigationChange, { open: isOpen });\n });\n\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle({ isOpen: false, autoFocus: true });\n }\n };\n\n useEffect(() => {\n // Close navigation drawer on mobile so that the main content is visible\n if (isMobile) {\n onNavigationToggle({ isOpen: false, autoFocus: false });\n }\n }, [isMobile, onNavigationToggle]);\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const [headerFooterHeight, setHeaderFooterHeight] = useState(0);\n // Delay applying changes in header/footer height, as applying them immediately can cause\n // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects\n // further up the tree, therefore blocking notifications to prevent loops\n useEffect(() => {\n const id = requestAnimationFrame(() =>\n setHeaderFooterHeight(placement.insetBlockStart + placement.insetBlockEnd)\n );\n return () => cancelAnimationFrame(id);\n }, [placement.insetBlockStart, placement.insetBlockEnd]);\n const contentHeightStyle = {\n [disableBodyScroll ? 'blockSize' : 'minBlockSize']: `calc(100vh - ${headerFooterHeight}px)`,\n };\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? (notificationsHeight ?? 0) : 0;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState<SplitPanelSideToggleProps>({\n displayed: false,\n ariaLabel: undefined,\n });\n const splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const { refs: splitPanelRefs, setLastInteraction: setSplitPanelLastInteraction } = useSplitPanelFocusControl([\n splitPanelPreferences,\n splitPanelOpen,\n ]);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n setSplitPanelLastInteraction({ type: 'position' });\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange, setSplitPanelLastInteraction]\n );\n const onSplitPanelSizeSet = useCallback(\n (newSize: number) => {\n setSplitPanelSize(newSize);\n fireNonCancelableEvent(onSplitPanelResize, { size: newSize });\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n\n const onSplitPanelToggleHandler = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);\n\n const getSplitPanelMaxHeight = useStableCallback(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight =\n document.documentElement.clientHeight - placement.insetBlockStart - placement.insetBlockEnd;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;\n const contentPadding = 80;\n // all content except split-panel + drawers/tools area\n const resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth\n );\n\n const getEffectiveToolsWidth = () => {\n if (activeDrawerSize && activeDrawer) {\n return Math.min(resizableSpaceAvailable, activeDrawerSize);\n }\n\n if (toolsHide || drawers) {\n return 0;\n }\n\n if (toolsOpen) {\n return toolsWidth;\n }\n\n return closedDrawerWidth;\n };\n\n const effectiveToolsWidth = getEffectiveToolsWidth();\n const availableWidthForSplitPanel = resizableSpaceAvailable - effectiveToolsWidth;\n const isSplitPanelForcedPosition = shouldSplitPanelBeForcedToBottom({\n isMobile,\n availableWidthForSplitPanel,\n });\n const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';\n\n const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;\n const sideSplitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);\n const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);\n\n const splitPanelContextProps: SplitPanelProviderProps = {\n topOffset: placement.insetBlockStart + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight : 0),\n bottomOffset: placement.insetBlockEnd,\n leftOffset:\n placement.insetInlineStart +\n (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: isMobile ? 0 : placement.insetInlineEnd + effectiveToolsWidth + rightDrawerBarWidth,\n position: finalSplitPanePosition,\n size: splitPanelSize,\n maxWidth: sideSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isForcedPosition: isSplitPanelForcedPosition,\n onResize: onSplitPanelSizeSet,\n onToggle: onSplitPanelToggleHandler,\n onPreferencesChange: onSplitPanelPreferencesSet,\n setSplitPanelToggle: setSplitPanelReportedToggle,\n reportSize: setSplitPanelReportedSize,\n reportHeaderHeight: setSplitPanelReportedHeaderHeight,\n refs: splitPanelRefs,\n };\n const splitPanelWrapped = splitPanel && (\n <SplitPanelProvider {...splitPanelContextProps}>\n {finalSplitPanePosition === 'side' ? (\n <SideSplitPanelDrawer displayed={splitPanelDisplayed}>{splitPanel}</SideSplitPanelDrawer>\n ) : (\n splitPanel\n )}\n </SplitPanelProvider>\n );\n\n const contentWrapperProps: ContentWrapperProps = {\n contentType,\n navigationPadding: navigationHide || !!navigationOpen,\n contentWidthStyles: !isMobile ? { minWidth: minContentWidth, maxWidth: maxContentWidth } : undefined,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n toolsHide ||\n (hasDrawers && !activeDrawer && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n (splitPaneAvailableOnTheSide && splitPanelOpen),\n isMobile,\n };\n\n useImperativeHandle(ref, () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle({ isOpen: false, autoFocus: true });\n }\n },\n focusToolsClose: () => {\n if (hasDrawers) {\n focusDrawersButtons({ force: true });\n } else {\n focusToolsButtons({ force: true });\n }\n },\n focusActiveDrawer: () => focusDrawersButtons({ force: true }),\n focusSplitPanel: () => splitPanelRefs.slider.current?.focus(),\n }));\n\n const splitPanelBottomOffset =\n (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelReportedSize\n : splitPanelReportedHeaderHeight) ?? undefined;\n\n const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n style={contentHeightStyle}\n >\n {isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={placement.insetBlockStart}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle({ isOpen: true, autoFocus: true })}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n mobileBarRef={mobileBarRef}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n if (newDrawerId !== activeDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n }}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <Drawer\n contentClassName={testutilStyles.navigation}\n toggleClassName={testutilStyles['navigation-toggle']}\n closeClassName={testutilStyles['navigation-close']}\n ariaLabels={togglesConfig.navigation.getLabels(ariaLabels)}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n isOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onToggle={isOpen => onNavigationToggle({ isOpen, autoFocus: true })}\n toggleRefs={navigationRefs}\n type=\"navigation\"\n width={navigationWidth}\n >\n {navigation}\n </Drawer>\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n }}\n >\n {notifications && (\n <Notifications\n disableContentPaddings={disableContentPaddings}\n testUtilsClassName={testutilStyles.notifications}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : placement.insetBlockStart}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps}>\n {!isMobile && breadcrumbs && (\n <div className={clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}>{breadcrumbs}</div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n style={getStickyOffsetVars(\n placement.insetBlockStart,\n placement.insetBlockEnd + (splitPanelBottomOffset || 0),\n `${stickyNotificationsHeight}px`,\n mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px',\n !!disableBodyScroll,\n isMobile\n )}\n >\n {content}\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && splitPanelWrapped}\n </main>\n\n {finalSplitPanePosition === 'side' && splitPanelWrapped}\n\n {hasDrawers ? (\n <ResizableDrawer\n contentClassName={clsx(\n activeDrawerId && testutilStyles['active-drawer'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools\n )}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={clsx(\n testutilStyles['active-drawer-close-button'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']\n )}\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n resizeHandle: activeDrawer?.ariaLabels?.resizeHandle,\n resizeHandleTooltipText: activeDrawer?.ariaLabels?.resizeHandleTooltipText,\n }}\n minWidth={minDrawerSize}\n maxWidth={drawerMaxSize}\n width={activeDrawerSize}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={isOpen => {\n if (!isOpen) {\n focusToolsButtons();\n focusDrawersButtons();\n onActiveDrawerChange(null, { initiatedByUserAction: true });\n }\n }}\n isOpen={true}\n hideOpenButton={true}\n toggleRefs={drawerRefs}\n type=\"tools\"\n onLoseFocus={loseDrawersFocus}\n activeDrawer={activeDrawer}\n onResize={changeDetail => onActiveDrawerResize(changeDetail)}\n refs={drawerRefs}\n toolsContent={drawers?.find(drawer => drawer.id === TOOLS_DRAWER_ID)?.content}\n >\n {activeDrawer?.content}\n </ResizableDrawer>\n ) : (\n !toolsHide && (\n <Drawer\n contentClassName={testutilStyles.tools}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={testutilStyles['tools-close']}\n ariaLabels={togglesConfig.tools.getLabels(ariaLabels)}\n width={toolsWidth}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={onToolsToggle}\n isOpen={toolsOpen}\n toggleRefs={toolsRefs}\n type=\"tools\"\n onLoseFocus={loseToolsFocus}\n >\n {tools}\n </Drawer>\n )\n )}\n {hasDrawers && drawers.length > 0 && (\n <DrawerTriggersBar\n drawerRefs={drawerRefs}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n if (activeDrawerId !== newDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n }}\n ariaLabels={ariaLabels}\n />\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default ClassicAppLayout;\n"]}
@@ -4,8 +4,12 @@ const defaultContentTypeState = {
4
4
  maxContentWidth: undefined,
5
5
  };
6
6
  const defaults = {
7
- default: Object.assign({}, defaultContentTypeState),
8
- dashboard: Object.assign({}, defaultContentTypeState),
7
+ default: {
8
+ ...defaultContentTypeState,
9
+ },
10
+ dashboard: {
11
+ ...defaultContentTypeState,
12
+ },
9
13
  cards: {
10
14
  navigationOpen: true,
11
15
  minContentWidth: 280,
@@ -30,7 +34,8 @@ const defaults = {
30
34
  export function applyDefaults(contentType, stateFromProps, isRefresh) {
31
35
  var _a, _b, _c;
32
36
  const contentTypeDefaults = isRefresh
33
- ? Object.assign(Object.assign({}, defaults[contentType]), { maxContentWidth: undefined }) : defaults[contentType];
37
+ ? { ...defaults[contentType], maxContentWidth: undefined }
38
+ : defaults[contentType];
34
39
  return {
35
40
  maxContentWidth: (_a = stateFromProps.maxContentWidth) !== null && _a !== void 0 ? _a : contentTypeDefaults.maxContentWidth,
36
41
  minContentWidth: (_b = stateFromProps.minContentWidth) !== null && _b !== void 0 ? _b : contentTypeDefaults.minContentWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/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;AAQF,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;KACpF,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\ninterface AppLayoutState {\n navigationOpen?: 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 };\n}\n"]}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/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,EAAE;QACP,GAAG,uBAAuB;KAC3B;IACD,SAAS,EAAE;QACT,GAAG,uBAAuB;KAC3B;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;AAQF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA4G,EAC5G,SAAkB;;IAElB,MAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE;QAC1D,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;KACpF,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\ninterface AppLayoutState {\n navigationOpen?: 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 };\n}\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React, { useRef } from 'react';
@@ -11,9 +10,8 @@ import { usePointerEvents } from '../utils/use-pointer-events';
11
10
  import { Drawer } from './index';
12
11
  import testutilStyles from '../test-classes/styles.css.js';
13
12
  import styles from './styles.css.js';
14
- export const ResizableDrawer = (_a) => {
15
- var _b, _c, _d, _e, _f;
16
- var { onResize, maxWidth, minWidth, refs, activeDrawer, toolsContent } = _a, props = __rest(_a, ["onResize", "maxWidth", "minWidth", "refs", "activeDrawer", "toolsContent"]);
13
+ export const ResizableDrawer = ({ onResize, maxWidth, minWidth, refs, activeDrawer, toolsContent, ...props }) => {
14
+ var _a, _b, _c, _d, _e;
17
15
  const { isOpen, children, width, isMobile } = props;
18
16
  const clampedWidth = getLimitedValue(minWidth, width, maxWidth);
19
17
  const relativeSize = ((clampedWidth - minWidth) / (maxWidth - minWidth)) * 100;
@@ -33,12 +31,12 @@ export const ResizableDrawer = (_a) => {
33
31
  };
34
32
  const onSliderPointerDown = usePointerEvents(sizeControlProps);
35
33
  const { onKeyDown, onDirectionClick } = useKeyboardEvents(sizeControlProps);
36
- 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 &&
37
- (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.resizable) && (React.createElement(PanelResizeHandle, { ref: refs.slider, position: "side", className: testutilStyles['drawers-slider'], ariaLabel: (_b = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.resizeHandle, tooltipText: (_c = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _c === void 0 ? void 0 : _c.resizeHandleTooltipText, ariaValuenow: relativeSize, onKeyDown: onKeyDown, onDirectionClick: onDirectionClick, onPointerDown: onSliderPointerDown })), ariaLabels: {
38
- openLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.triggerButton,
39
- mainLabel: (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.drawerName,
40
- closeLabel: (_f = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _f === void 0 ? void 0 : _f.closeButton,
41
- } }),
34
+ return (React.createElement(Drawer, { ...props, id: activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id, width: clampedWidth, ref: drawerRefObject, isHidden: !activeDrawer, resizeHandle: !isMobile &&
35
+ (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.resizable) && (React.createElement(PanelResizeHandle, { ref: refs.slider, position: "side", 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: relativeSize, onKeyDown: onKeyDown, onDirectionClick: onDirectionClick, onPointerDown: onSliderPointerDown })), ariaLabels: {
36
+ openLabel: (_c = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _c === void 0 ? void 0 : _c.triggerButton,
37
+ mainLabel: (_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.drawerName,
38
+ closeLabel: (_e = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _e === void 0 ? void 0 : _e.closeButton,
39
+ } },
42
40
  toolsContent && React.createElement("div", { className: clsx((activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id) !== TOOLS_DRAWER_ID && styles.hide) }, toolsContent),
43
41
  (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id) !== TOOLS_DRAWER_ID ? children : null));
44
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-drawer.js","sourceRoot":"","sources":["../../../../src/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 React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport PanelResizeHandle from '../../internal/components/panel-resize-handle';\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { SizeControlProps } from '../utils/interfaces';\nimport { TOOLS_DRAWER_ID } from '../utils/use-drawers';\nimport { useKeyboardEvents } from '../utils/use-keyboard-events';\nimport { usePointerEvents } from '../utils/use-pointer-events';\nimport { Drawer } from './index';\nimport { ResizableDrawerProps } from './interfaces';\n\nimport testutilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\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, onDirectionClick } = useKeyboardEvents(sizeControlProps);\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 && (\n <PanelResizeHandle\n ref={refs.slider}\n position=\"side\"\n className={testutilStyles['drawers-slider']}\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={relativeSize}\n onKeyDown={onKeyDown}\n onDirectionClick={onDirectionClick}\n onPointerDown={onSliderPointerDown}\n />\n )\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":"","sources":["../../../../src/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 React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport PanelResizeHandle from '../../internal/components/panel-resize-handle';\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { SizeControlProps } from '../utils/interfaces';\nimport { TOOLS_DRAWER_ID } from '../utils/use-drawers';\nimport { useKeyboardEvents } from '../utils/use-keyboard-events';\nimport { usePointerEvents } from '../utils/use-pointer-events';\nimport { Drawer } from './index';\nimport { ResizableDrawerProps } from './interfaces';\n\nimport testutilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\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, onDirectionClick } = useKeyboardEvents(sizeControlProps);\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 && (\n <PanelResizeHandle\n ref={refs.slider}\n position=\"side\"\n className={testutilStyles['drawers-slider']}\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={relativeSize}\n onKeyDown={onKeyDown}\n onDirectionClick={onDirectionClick}\n onPointerDown={onSliderPointerDown}\n />\n )\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,7 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React from 'react';
6
5
  import { useMergeRefs, warnOnce } from '@cloudscape-design/component-toolkit/internal';
7
6
  import { useInternalI18n } from '../i18n/context';
@@ -15,9 +14,8 @@ import { applyDisplayName } from '../internal/utils/apply-display-name';
15
14
  import { applyDefaults } from './defaults';
16
15
  import { AppLayoutInternal } from './internal';
17
16
  import { useAppLayoutPlacement } from './utils/use-app-layout-placement';
18
- const AppLayout = React.forwardRef((_a, ref) => {
19
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
20
- var { contentType = 'default', headerSelector = '#b #h', footerSelector = '#b #f', navigationWidth = 280, toolsWidth = 290, maxContentWidth, minContentWidth, navigationOpen: controlledNavigationOpen, onNavigationChange: controlledOnNavigationChange, analyticsMetadata } = _a, rest = __rest(_a, ["contentType", "headerSelector", "footerSelector", "navigationWidth", "toolsWidth", "maxContentWidth", "minContentWidth", "navigationOpen", "onNavigationChange", "analyticsMetadata"]);
17
+ const AppLayout = React.forwardRef(({ contentType = 'default', headerSelector = '#b #h', footerSelector = '#b #f', navigationWidth = 280, toolsWidth = 290, maxContentWidth, minContentWidth, navigationOpen: controlledNavigationOpen, onNavigationChange: controlledOnNavigationChange, analyticsMetadata, ...rest }, ref) => {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
21
19
  if (isDevelopment) {
22
20
  if (rest.toolsOpen && rest.toolsHide) {
23
21
  warnOnce('AppLayout', `You have enabled both the \`toolsOpen\` prop and the \`toolsHide\` prop. This is not supported. Set \`toolsOpen\` to \`false\` when you set \`toolsHide\` to \`true\`.`);
@@ -38,7 +36,7 @@ const AppLayout = React.forwardRef((_a, ref) => {
38
36
  disableContentHeaderOverlap: rest.disableContentHeaderOverlap,
39
37
  },
40
38
  metadata: {
41
- drawersCount: (_c = (_b = rest.drawers) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : null,
39
+ drawersCount: (_b = (_a = rest.drawers) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : null,
42
40
  hasContentHeader: !!rest.contentHeader,
43
41
  },
44
42
  }, analyticsMetadata);
@@ -46,18 +44,18 @@ const AppLayout = React.forwardRef((_a, ref) => {
46
44
  const isMobile = useMobile();
47
45
  const i18n = useInternalI18n('app-layout');
48
46
  const ariaLabels = {
49
- navigation: i18n('ariaLabels.navigation', (_d = rest.ariaLabels) === null || _d === void 0 ? void 0 : _d.navigation),
50
- navigationClose: i18n('ariaLabels.navigationClose', (_e = rest.ariaLabels) === null || _e === void 0 ? void 0 : _e.navigationClose),
51
- navigationToggle: i18n('ariaLabels.navigationToggle', (_f = rest.ariaLabels) === null || _f === void 0 ? void 0 : _f.navigationToggle),
52
- notifications: i18n('ariaLabels.notifications', (_g = rest.ariaLabels) === null || _g === void 0 ? void 0 : _g.notifications),
53
- tools: i18n('ariaLabels.tools', (_h = rest.ariaLabels) === null || _h === void 0 ? void 0 : _h.tools),
54
- toolsClose: i18n('ariaLabels.toolsClose', (_j = rest.ariaLabels) === null || _j === void 0 ? void 0 : _j.toolsClose),
55
- toolsToggle: i18n('ariaLabels.toolsToggle', (_k = rest.ariaLabels) === null || _k === void 0 ? void 0 : _k.toolsToggle),
56
- drawers: i18n('ariaLabels.drawers', (_l = rest.ariaLabels) === null || _l === void 0 ? void 0 : _l.drawers),
57
- drawersOverflow: i18n('ariaLabels.drawersOverflow', (_m = rest.ariaLabels) === null || _m === void 0 ? void 0 : _m.drawersOverflow),
58
- drawersOverflowWithBadge: i18n('ariaLabels.drawersOverflowWithBadge', (_o = rest.ariaLabels) === null || _o === void 0 ? void 0 : _o.drawersOverflowWithBadge),
47
+ navigation: i18n('ariaLabels.navigation', (_c = rest.ariaLabels) === null || _c === void 0 ? void 0 : _c.navigation),
48
+ navigationClose: i18n('ariaLabels.navigationClose', (_d = rest.ariaLabels) === null || _d === void 0 ? void 0 : _d.navigationClose),
49
+ navigationToggle: i18n('ariaLabels.navigationToggle', (_e = rest.ariaLabels) === null || _e === void 0 ? void 0 : _e.navigationToggle),
50
+ notifications: i18n('ariaLabels.notifications', (_f = rest.ariaLabels) === null || _f === void 0 ? void 0 : _f.notifications),
51
+ tools: i18n('ariaLabels.tools', (_g = rest.ariaLabels) === null || _g === void 0 ? void 0 : _g.tools),
52
+ toolsClose: i18n('ariaLabels.toolsClose', (_h = rest.ariaLabels) === null || _h === void 0 ? void 0 : _h.toolsClose),
53
+ toolsToggle: i18n('ariaLabels.toolsToggle', (_j = rest.ariaLabels) === null || _j === void 0 ? void 0 : _j.toolsToggle),
54
+ drawers: i18n('ariaLabels.drawers', (_k = rest.ariaLabels) === null || _k === void 0 ? void 0 : _k.drawers),
55
+ drawersOverflow: i18n('ariaLabels.drawersOverflow', (_l = rest.ariaLabels) === null || _l === void 0 ? void 0 : _l.drawersOverflow),
56
+ drawersOverflowWithBadge: i18n('ariaLabels.drawersOverflowWithBadge', (_m = rest.ariaLabels) === null || _m === void 0 ? void 0 : _m.drawersOverflowWithBadge),
59
57
  };
60
- const _p = applyDefaults(contentType, { maxContentWidth, minContentWidth }, isRefresh), { navigationOpen: defaultNavigationOpen } = _p, restDefaults = __rest(_p, ["navigationOpen"]);
58
+ const { navigationOpen: defaultNavigationOpen, ...restDefaults } = applyDefaults(contentType, { maxContentWidth, minContentWidth }, isRefresh);
61
59
  const [navigationOpen = false, setNavigationOpen] = useControllable(controlledNavigationOpen, controlledOnNavigationChange, isMobile ? false : defaultNavigationOpen, { componentName: 'AppLayout', controlledProp: 'navigationOpen', changeHandler: 'onNavigationChange' });
62
60
  const onNavigationChange = (event) => {
63
61
  setNavigationOpen(event.detail.open);
@@ -65,15 +63,20 @@ const AppLayout = React.forwardRef((_a, ref) => {
65
63
  };
66
64
  const [rootRef, placement] = useAppLayoutPlacement(headerSelector, footerSelector);
67
65
  // This re-builds the props including the default values
68
- const props = Object.assign(Object.assign(Object.assign({ contentType,
66
+ const props = {
67
+ contentType,
69
68
  navigationWidth,
70
69
  toolsWidth,
71
70
  navigationOpen,
72
- onNavigationChange }, restDefaults), rest), { ariaLabels,
73
- placement });
71
+ onNavigationChange,
72
+ ...restDefaults,
73
+ ...rest,
74
+ ariaLabels,
75
+ placement,
76
+ };
74
77
  const baseProps = getBaseProps(rest);
75
- return (React.createElement("div", Object.assign({ ref: useMergeRefs(__internalRootRef, rootRef) }, baseProps),
76
- React.createElement(AppLayoutInternal, Object.assign({ ref: ref }, props))));
78
+ return (React.createElement("div", { ref: useMergeRefs(__internalRootRef, rootRef), ...baseProps },
79
+ React.createElement(AppLayoutInternal, { ref: ref, ...props })));
77
80
  });
78
81
  applyDisplayName(AppLayout, 'AppLayout');
79
82
  export default AppLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app-layout/index.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\n'use client';\nimport React from 'react';\n\nimport { useMergeRefs, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useInternalI18n } from '../i18n/context';\nimport { getBaseProps } from '../internal/base-component';\nimport { NonCancelableCustomEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { isDevelopment } from '../internal/is-development';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { applyDefaults } from './defaults';\nimport { AppLayoutProps } from './interfaces';\nimport { AppLayoutInternal } from './internal';\nimport { useAppLayoutPlacement } from './utils/use-app-layout-placement';\n\nexport { AppLayoutProps };\n\nconst AppLayout = React.forwardRef(\n (\n {\n contentType = 'default',\n headerSelector = '#b #h',\n footerSelector = '#b #f',\n navigationWidth = 280,\n toolsWidth = 290,\n maxContentWidth,\n minContentWidth,\n navigationOpen: controlledNavigationOpen,\n onNavigationChange: controlledOnNavigationChange,\n analyticsMetadata,\n ...rest\n }: AppLayoutProps,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n if (isDevelopment) {\n if (rest.toolsOpen && rest.toolsHide) {\n warnOnce(\n 'AppLayout',\n `You have enabled both the \\`toolsOpen\\` prop and the \\`toolsHide\\` prop. This is not supported. Set \\`toolsOpen\\` to \\`false\\` when you set \\`toolsHide\\` to \\`true\\`.`\n );\n }\n }\n const { __internalRootRef } = useBaseComponent(\n 'AppLayout',\n {\n props: {\n contentType,\n disableContentPaddings: rest.disableContentPaddings,\n disableBodyScroll: rest.disableBodyScroll,\n navigationWidth,\n navigationHide: rest.navigationHide,\n toolsHide: rest.toolsHide,\n toolsWidth,\n maxContentWidth,\n minContentWidth,\n stickyNotifications: rest.stickyNotifications,\n disableContentHeaderOverlap: rest.disableContentHeaderOverlap,\n },\n metadata: {\n drawersCount: rest.drawers?.length ?? null,\n hasContentHeader: !!rest.contentHeader,\n },\n },\n analyticsMetadata\n );\n const isRefresh = useVisualRefresh();\n const isMobile = useMobile();\n\n const i18n = useInternalI18n('app-layout');\n const ariaLabels = {\n navigation: i18n('ariaLabels.navigation', rest.ariaLabels?.navigation),\n navigationClose: i18n('ariaLabels.navigationClose', rest.ariaLabels?.navigationClose),\n navigationToggle: i18n('ariaLabels.navigationToggle', rest.ariaLabels?.navigationToggle),\n notifications: i18n('ariaLabels.notifications', rest.ariaLabels?.notifications),\n tools: i18n('ariaLabels.tools', rest.ariaLabels?.tools),\n toolsClose: i18n('ariaLabels.toolsClose', rest.ariaLabels?.toolsClose),\n toolsToggle: i18n('ariaLabels.toolsToggle', rest.ariaLabels?.toolsToggle),\n drawers: i18n('ariaLabels.drawers', rest.ariaLabels?.drawers),\n drawersOverflow: i18n('ariaLabels.drawersOverflow', rest.ariaLabels?.drawersOverflow),\n drawersOverflowWithBadge: i18n('ariaLabels.drawersOverflowWithBadge', rest.ariaLabels?.drawersOverflowWithBadge),\n };\n const { navigationOpen: defaultNavigationOpen, ...restDefaults } = applyDefaults(\n contentType,\n { maxContentWidth, minContentWidth },\n isRefresh\n );\n\n const [navigationOpen = false, setNavigationOpen] = useControllable(\n controlledNavigationOpen,\n controlledOnNavigationChange,\n isMobile ? false : defaultNavigationOpen,\n { componentName: 'AppLayout', controlledProp: 'navigationOpen', changeHandler: 'onNavigationChange' }\n );\n const onNavigationChange = (event: NonCancelableCustomEvent<AppLayoutProps.ChangeDetail>) => {\n setNavigationOpen(event.detail.open);\n controlledOnNavigationChange?.(event);\n };\n\n const [rootRef, placement] = useAppLayoutPlacement(headerSelector, footerSelector);\n\n // This re-builds the props including the default values\n const props = {\n contentType,\n navigationWidth,\n toolsWidth,\n navigationOpen,\n onNavigationChange,\n ...restDefaults,\n ...rest,\n ariaLabels,\n placement,\n };\n\n const baseProps = getBaseProps(rest);\n\n return (\n <div ref={useMergeRefs(__internalRootRef, rootRef)} {...baseProps}>\n <AppLayoutInternal ref={ref} {...props} />\n </div>\n );\n }\n);\n\napplyDisplayName(AppLayout, 'AppLayout');\nexport default AppLayout;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app-layout/index.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\n'use client';\nimport React from 'react';\n\nimport { useMergeRefs, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useInternalI18n } from '../i18n/context';\nimport { getBaseProps } from '../internal/base-component';\nimport { NonCancelableCustomEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { isDevelopment } from '../internal/is-development';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { applyDefaults } from './defaults';\nimport { AppLayoutProps } from './interfaces';\nimport { AppLayoutInternal } from './internal';\nimport { useAppLayoutPlacement } from './utils/use-app-layout-placement';\n\nexport { AppLayoutProps };\n\nconst AppLayout = React.forwardRef(\n (\n {\n contentType = 'default',\n headerSelector = '#b #h',\n footerSelector = '#b #f',\n navigationWidth = 280,\n toolsWidth = 290,\n maxContentWidth,\n minContentWidth,\n navigationOpen: controlledNavigationOpen,\n onNavigationChange: controlledOnNavigationChange,\n analyticsMetadata,\n ...rest\n }: AppLayoutProps,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n if (isDevelopment) {\n if (rest.toolsOpen && rest.toolsHide) {\n warnOnce(\n 'AppLayout',\n `You have enabled both the \\`toolsOpen\\` prop and the \\`toolsHide\\` prop. This is not supported. Set \\`toolsOpen\\` to \\`false\\` when you set \\`toolsHide\\` to \\`true\\`.`\n );\n }\n }\n const { __internalRootRef } = useBaseComponent(\n 'AppLayout',\n {\n props: {\n contentType,\n disableContentPaddings: rest.disableContentPaddings,\n disableBodyScroll: rest.disableBodyScroll,\n navigationWidth,\n navigationHide: rest.navigationHide,\n toolsHide: rest.toolsHide,\n toolsWidth,\n maxContentWidth,\n minContentWidth,\n stickyNotifications: rest.stickyNotifications,\n disableContentHeaderOverlap: rest.disableContentHeaderOverlap,\n },\n metadata: {\n drawersCount: rest.drawers?.length ?? null,\n hasContentHeader: !!rest.contentHeader,\n },\n },\n analyticsMetadata\n );\n const isRefresh = useVisualRefresh();\n const isMobile = useMobile();\n\n const i18n = useInternalI18n('app-layout');\n const ariaLabels = {\n navigation: i18n('ariaLabels.navigation', rest.ariaLabels?.navigation),\n navigationClose: i18n('ariaLabels.navigationClose', rest.ariaLabels?.navigationClose),\n navigationToggle: i18n('ariaLabels.navigationToggle', rest.ariaLabels?.navigationToggle),\n notifications: i18n('ariaLabels.notifications', rest.ariaLabels?.notifications),\n tools: i18n('ariaLabels.tools', rest.ariaLabels?.tools),\n toolsClose: i18n('ariaLabels.toolsClose', rest.ariaLabels?.toolsClose),\n toolsToggle: i18n('ariaLabels.toolsToggle', rest.ariaLabels?.toolsToggle),\n drawers: i18n('ariaLabels.drawers', rest.ariaLabels?.drawers),\n drawersOverflow: i18n('ariaLabels.drawersOverflow', rest.ariaLabels?.drawersOverflow),\n drawersOverflowWithBadge: i18n('ariaLabels.drawersOverflowWithBadge', rest.ariaLabels?.drawersOverflowWithBadge),\n };\n const { navigationOpen: defaultNavigationOpen, ...restDefaults } = applyDefaults(\n contentType,\n { maxContentWidth, minContentWidth },\n isRefresh\n );\n\n const [navigationOpen = false, setNavigationOpen] = useControllable(\n controlledNavigationOpen,\n controlledOnNavigationChange,\n isMobile ? false : defaultNavigationOpen,\n { componentName: 'AppLayout', controlledProp: 'navigationOpen', changeHandler: 'onNavigationChange' }\n );\n const onNavigationChange = (event: NonCancelableCustomEvent<AppLayoutProps.ChangeDetail>) => {\n setNavigationOpen(event.detail.open);\n controlledOnNavigationChange?.(event);\n };\n\n const [rootRef, placement] = useAppLayoutPlacement(headerSelector, footerSelector);\n\n // This re-builds the props including the default values\n const props = {\n contentType,\n navigationWidth,\n toolsWidth,\n navigationOpen,\n onNavigationChange,\n ...restDefaults,\n ...rest,\n ariaLabels,\n placement,\n };\n\n const baseProps = getBaseProps(rest);\n\n return (\n <div ref={useMergeRefs(__internalRootRef, rootRef)} {...baseProps}>\n <AppLayoutInternal ref={ref} {...props} />\n </div>\n );\n }\n);\n\napplyDisplayName(AppLayout, 'AppLayout');\nexport default AppLayout;\n"]}
@@ -11,12 +11,12 @@ export const AppLayoutInternal = React.forwardRef((props, ref) => {
11
11
  const isToolbar = useAppLayoutFlagEnabled();
12
12
  if (isRefresh) {
13
13
  if (isToolbar) {
14
- return React.createElement(ToolbarAppLayout, Object.assign({ ref: ref }, props));
14
+ return React.createElement(ToolbarAppLayout, { ref: ref, ...props });
15
15
  }
16
16
  else {
17
- return React.createElement(RefreshedAppLayout, Object.assign({ ref: ref }, props));
17
+ return React.createElement(RefreshedAppLayout, { ref: ref, ...props });
18
18
  }
19
19
  }
20
- return React.createElement(ClassicAppLayout, Object.assign({ ref: ref }, props));
20
+ return React.createElement(ClassicAppLayout, { ref: ref, ...props });
21
21
  });
22
22
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/app-layout/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,gBAAgB,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,kBAAkB,MAAM,kBAAkB,CAAC;AAClD,OAAO,gBAAgB,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAiD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,oBAAC,gBAAgB,kBAAC,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,oBAAC,kBAAkB,kBAAC,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,oBAAC,gBAAgB,kBAAC,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAAC;AACnD,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport ClassicAppLayout from './classic';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { useAppLayoutFlagEnabled } from './utils/feature-flags';\nimport RefreshedAppLayout from './visual-refresh';\nimport ToolbarAppLayout from './visual-refresh-toolbar';\n\nexport const AppLayoutInternal = React.forwardRef<AppLayoutProps.Ref, AppLayoutPropsWithDefaults>((props, ref) => {\n const isRefresh = useVisualRefresh();\n const isToolbar = useAppLayoutFlagEnabled();\n if (isRefresh) {\n if (isToolbar) {\n return <ToolbarAppLayout ref={ref} {...props} />;\n } else {\n return <RefreshedAppLayout ref={ref} {...props} />;\n }\n }\n return <ClassicAppLayout ref={ref} {...props} />;\n});\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/app-layout/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,gBAAgB,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,kBAAkB,MAAM,kBAAkB,CAAC;AAClD,OAAO,gBAAgB,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAiD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,oBAAC,gBAAgB,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,oBAAC,kBAAkB,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,oBAAC,gBAAgB,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC;AACnD,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport ClassicAppLayout from './classic';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { useAppLayoutFlagEnabled } from './utils/feature-flags';\nimport RefreshedAppLayout from './visual-refresh';\nimport ToolbarAppLayout from './visual-refresh-toolbar';\n\nexport const AppLayoutInternal = React.forwardRef<AppLayoutProps.Ref, AppLayoutPropsWithDefaults>((props, ref) => {\n const isRefresh = useVisualRefresh();\n const isToolbar = useAppLayoutFlagEnabled();\n if (isRefresh) {\n if (isToolbar) {\n return <ToolbarAppLayout ref={ref} {...props} />;\n } else {\n return <RefreshedAppLayout ref={ref} {...props} />;\n }\n }\n return <ClassicAppLayout ref={ref} {...props} />;\n});\n"]}