@cloudscape-design/components-themeable 3.0.1138 → 3.0.1139

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 (790) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +127 -103
  3. package/lib/internal/scss/prompt-input/styles.scss +75 -13
  4. package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
  5. package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
  6. package/lib/internal/template/alert/index.js +2 -4
  7. package/lib/internal/template/alert/index.js.map +1 -1
  8. package/lib/internal/template/alert/internal.js +8 -10
  9. package/lib/internal/template/alert/internal.js.map +1 -1
  10. package/lib/internal/template/alert/style.js +12 -5
  11. package/lib/internal/template/alert/style.js.map +1 -1
  12. package/lib/internal/template/alert/styles.css.js +27 -27
  13. package/lib/internal/template/alert/styles.scoped.css +50 -50
  14. package/lib/internal/template/alert/styles.selectors.js +27 -27
  15. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  16. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  17. package/lib/internal/template/anchor-navigation/index.js +2 -4
  18. package/lib/internal/template/anchor-navigation/index.js.map +1 -1
  19. package/lib/internal/template/anchor-navigation/internal.js +2 -4
  20. package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
  21. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  22. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  23. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  24. package/lib/internal/template/annotation-context/index.js +3 -4
  25. package/lib/internal/template/annotation-context/index.js.map +1 -1
  26. package/lib/internal/template/app-layout/classic.js +20 -17
  27. package/lib/internal/template/app-layout/classic.js.map +1 -1
  28. package/lib/internal/template/app-layout/defaults.js +8 -3
  29. package/lib/internal/template/app-layout/defaults.js.map +1 -1
  30. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
  31. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
  32. package/lib/internal/template/app-layout/index.js +24 -21
  33. package/lib/internal/template/app-layout/index.js.map +1 -1
  34. package/lib/internal/template/app-layout/internal.js +3 -3
  35. package/lib/internal/template/app-layout/internal.js.map +1 -1
  36. package/lib/internal/template/app-layout/notifications/index.js +3 -5
  37. package/lib/internal/template/app-layout/notifications/index.js.map +1 -1
  38. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  39. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  40. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  41. package/lib/internal/template/app-layout/runtime-drawer/index.js +36 -18
  42. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  43. package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
  44. package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
  45. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
  46. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
  47. package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
  48. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  49. package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
  50. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
  52. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
  54. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
  56. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
  58. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  60. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  62. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  63. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  64. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
  65. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  67. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  107. package/lib/internal/template/app-layout-toolbar/index.js +24 -21
  108. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  109. package/lib/internal/template/area-chart/chart-container.js +1 -1
  110. package/lib/internal/template/area-chart/chart-container.js.map +1 -1
  111. package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
  112. package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
  113. package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
  114. package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
  115. package/lib/internal/template/area-chart/index.js +2 -4
  116. package/lib/internal/template/area-chart/index.js.map +1 -1
  117. package/lib/internal/template/area-chart/internal.js +2 -4
  118. package/lib/internal/template/area-chart/internal.js.map +1 -1
  119. package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
  120. package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
  121. package/lib/internal/template/attribute-editor/index.js +4 -6
  122. package/lib/internal/template/attribute-editor/index.js.map +1 -1
  123. package/lib/internal/template/attribute-editor/internal.js +6 -5
  124. package/lib/internal/template/attribute-editor/internal.js.map +1 -1
  125. package/lib/internal/template/attribute-editor/row.js +1 -1
  126. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  127. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  128. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  129. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  130. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
  131. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  132. package/lib/internal/template/autosuggest/index.js +2 -4
  133. package/lib/internal/template/autosuggest/index.js.map +1 -1
  134. package/lib/internal/template/autosuggest/internal.js +10 -5
  135. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  136. package/lib/internal/template/autosuggest/options-controller.js +15 -8
  137. package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
  138. package/lib/internal/template/autosuggest/plain-list.js +3 -3
  139. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  140. package/lib/internal/template/autosuggest/virtual-list.js +2 -2
  141. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  142. package/lib/internal/template/badge/index.js +2 -4
  143. package/lib/internal/template/badge/index.js.map +1 -1
  144. package/lib/internal/template/bar-chart/index.js +2 -4
  145. package/lib/internal/template/bar-chart/index.js.map +1 -1
  146. package/lib/internal/template/box/index.js +2 -4
  147. package/lib/internal/template/box/index.js.map +1 -1
  148. package/lib/internal/template/box/internal.js +2 -4
  149. package/lib/internal/template/box/internal.js.map +1 -1
  150. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
  151. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
  152. package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
  153. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  154. package/lib/internal/template/breadcrumb-group/index.js +3 -5
  155. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  156. package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
  157. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  158. package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
  159. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  160. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  161. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  162. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  163. package/lib/internal/template/button/icon-helper.js +3 -5
  164. package/lib/internal/template/button/icon-helper.js.map +1 -1
  165. package/lib/internal/template/button/index.js +2 -4
  166. package/lib/internal/template/button/index.js.map +1 -1
  167. package/lib/internal/template/button/internal.js +31 -14
  168. package/lib/internal/template/button/internal.js.map +1 -1
  169. package/lib/internal/template/button/style.js +38 -27
  170. package/lib/internal/template/button/style.js.map +1 -1
  171. package/lib/internal/template/button/styles.css.js +22 -22
  172. package/lib/internal/template/button/styles.scoped.css +256 -256
  173. package/lib/internal/template/button/styles.selectors.js +22 -22
  174. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
  175. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  176. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  177. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  178. package/lib/internal/template/button-dropdown/index.js +4 -6
  179. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  180. package/lib/internal/template/button-dropdown/internal.js +36 -25
  181. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  182. package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
  183. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  184. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  185. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  186. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  187. package/lib/internal/template/button-dropdown/tooltip.js +1 -1
  188. package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
  189. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
  190. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  191. package/lib/internal/template/button-group/index.js +2 -4
  192. package/lib/internal/template/button-group/index.js.map +1 -1
  193. package/lib/internal/template/button-group/internal.js +2 -4
  194. package/lib/internal/template/button-group/internal.js.map +1 -1
  195. package/lib/internal/template/button-group/item-element.js +4 -4
  196. package/lib/internal/template/button-group/item-element.js.map +1 -1
  197. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  198. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  199. package/lib/internal/template/button-group/style.js +34 -20
  200. package/lib/internal/template/button-group/style.js.map +1 -1
  201. package/lib/internal/template/calendar/grid/index.js +2 -3
  202. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  203. package/lib/internal/template/calendar/index.js +2 -4
  204. package/lib/internal/template/calendar/index.js.map +1 -1
  205. package/lib/internal/template/calendar/internal.js +2 -4
  206. package/lib/internal/template/calendar/internal.js.map +1 -1
  207. package/lib/internal/template/cards/index.js +17 -19
  208. package/lib/internal/template/cards/index.js.map +1 -1
  209. package/lib/internal/template/checkbox/index.js +2 -4
  210. package/lib/internal/template/checkbox/index.js.map +1 -1
  211. package/lib/internal/template/checkbox/internal.js +4 -6
  212. package/lib/internal/template/checkbox/internal.js.map +1 -1
  213. package/lib/internal/template/checkbox/styles.css.js +3 -3
  214. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  215. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  216. package/lib/internal/template/code-editor/index.js +2 -3
  217. package/lib/internal/template/code-editor/index.js.map +1 -1
  218. package/lib/internal/template/code-editor/use-editor.js +4 -1
  219. package/lib/internal/template/code-editor/use-editor.js.map +1 -1
  220. package/lib/internal/template/code-editor/util.js +4 -1
  221. package/lib/internal/template/code-editor/util.js.map +1 -1
  222. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  223. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  224. package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
  225. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  226. package/lib/internal/template/collection-preferences/index.js +20 -13
  227. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  228. package/lib/internal/template/collection-preferences/utils.js +9 -9
  229. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  230. package/lib/internal/template/collection-preferences/visible-content.js +8 -8
  231. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  232. package/lib/internal/template/column-layout/index.js +2 -4
  233. package/lib/internal/template/column-layout/index.js.map +1 -1
  234. package/lib/internal/template/column-layout/internal.js +2 -4
  235. package/lib/internal/template/column-layout/internal.js.map +1 -1
  236. package/lib/internal/template/container/index.js +2 -4
  237. package/lib/internal/template/container/index.js.map +1 -1
  238. package/lib/internal/template/container/internal.js +11 -9
  239. package/lib/internal/template/container/internal.js.map +1 -1
  240. package/lib/internal/template/container/style.js +11 -2
  241. package/lib/internal/template/container/style.js.map +1 -1
  242. package/lib/internal/template/content-layout/index.js +1 -1
  243. package/lib/internal/template/content-layout/index.js.map +1 -1
  244. package/lib/internal/template/content-layout/internal.js +3 -5
  245. package/lib/internal/template/content-layout/internal.js.map +1 -1
  246. package/lib/internal/template/content-layout/styles.css.js +14 -14
  247. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  248. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  249. package/lib/internal/template/copy-to-clipboard/index.js +2 -4
  250. package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
  251. package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
  252. package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
  253. package/lib/internal/template/date-input/index.js +1 -1
  254. package/lib/internal/template/date-input/index.js.map +1 -1
  255. package/lib/internal/template/date-input/internal.js +6 -8
  256. package/lib/internal/template/date-input/internal.js.map +1 -1
  257. package/lib/internal/template/date-picker/index.js +9 -6
  258. package/lib/internal/template/date-picker/index.js.map +1 -1
  259. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
  260. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  261. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
  262. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  263. package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
  264. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  265. package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
  266. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  267. package/lib/internal/template/date-range-picker/index.js +8 -6
  268. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  269. package/lib/internal/template/date-range-picker/utils.js +8 -2
  270. package/lib/internal/template/date-range-picker/utils.js.map +1 -1
  271. package/lib/internal/template/drawer/implementation.js +7 -6
  272. package/lib/internal/template/drawer/implementation.js.map +1 -1
  273. package/lib/internal/template/drawer/index.js +1 -1
  274. package/lib/internal/template/drawer/index.js.map +1 -1
  275. package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
  276. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  277. package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
  278. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  279. package/lib/internal/template/expandable-section/index.js +2 -4
  280. package/lib/internal/template/expandable-section/index.js.map +1 -1
  281. package/lib/internal/template/expandable-section/internal.js +2 -4
  282. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  283. package/lib/internal/template/file-dropzone/index.js +1 -1
  284. package/lib/internal/template/file-dropzone/index.js.map +1 -1
  285. package/lib/internal/template/file-dropzone/internal.js +3 -5
  286. package/lib/internal/template/file-dropzone/internal.js.map +1 -1
  287. package/lib/internal/template/file-input/index.js +2 -4
  288. package/lib/internal/template/file-input/index.js.map +1 -1
  289. package/lib/internal/template/file-input/internal.js +11 -8
  290. package/lib/internal/template/file-input/internal.js.map +1 -1
  291. package/lib/internal/template/file-token-group/default-formatters.js +3 -3
  292. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
  293. package/lib/internal/template/file-token-group/index.js +2 -4
  294. package/lib/internal/template/file-token-group/index.js.map +1 -1
  295. package/lib/internal/template/file-token-group/internal.js +2 -4
  296. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  297. package/lib/internal/template/file-upload/index.js +2 -4
  298. package/lib/internal/template/file-upload/index.js.map +1 -1
  299. package/lib/internal/template/file-upload/internal.js +5 -7
  300. package/lib/internal/template/file-upload/internal.js.map +1 -1
  301. package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
  302. package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
  303. package/lib/internal/template/flashbar/common.js +1 -3
  304. package/lib/internal/template/flashbar/common.js.map +1 -1
  305. package/lib/internal/template/flashbar/flash.js +4 -6
  306. package/lib/internal/template/flashbar/flash.js.map +1 -1
  307. package/lib/internal/template/flashbar/implementation.js +2 -2
  308. package/lib/internal/template/flashbar/implementation.js.map +1 -1
  309. package/lib/internal/template/flashbar/index.js +1 -1
  310. package/lib/internal/template/flashbar/index.js.map +1 -1
  311. package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
  312. package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
  313. package/lib/internal/template/flashbar/style.js +50 -32
  314. package/lib/internal/template/flashbar/style.js.map +1 -1
  315. package/lib/internal/template/flashbar/styles.css.js +50 -50
  316. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  317. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  318. package/lib/internal/template/flashbar/utils.js +2 -2
  319. package/lib/internal/template/flashbar/utils.js.map +1 -1
  320. package/lib/internal/template/form/index.js +4 -7
  321. package/lib/internal/template/form/index.js.map +1 -1
  322. package/lib/internal/template/form/internal.js +2 -4
  323. package/lib/internal/template/form/internal.js.map +1 -1
  324. package/lib/internal/template/form-field/index.js +7 -9
  325. package/lib/internal/template/form-field/index.js.map +1 -1
  326. package/lib/internal/template/form-field/internal.js +6 -5
  327. package/lib/internal/template/form-field/internal.js.map +1 -1
  328. package/lib/internal/template/grid/index.js +2 -4
  329. package/lib/internal/template/grid/index.js.map +1 -1
  330. package/lib/internal/template/grid/internal.js +2 -4
  331. package/lib/internal/template/grid/internal.js.map +1 -1
  332. package/lib/internal/template/header/index.js +2 -4
  333. package/lib/internal/template/header/index.js.map +1 -1
  334. package/lib/internal/template/header/internal.js +4 -6
  335. package/lib/internal/template/header/internal.js.map +1 -1
  336. package/lib/internal/template/help-panel/implementation.js +7 -6
  337. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  338. package/lib/internal/template/help-panel/index.js +1 -1
  339. package/lib/internal/template/help-panel/index.js.map +1 -1
  340. package/lib/internal/template/help-panel/styles.css.js +6 -6
  341. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  342. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  343. package/lib/internal/template/hotspot/index.js +3 -5
  344. package/lib/internal/template/hotspot/index.js.map +1 -1
  345. package/lib/internal/template/icon/index.js +2 -4
  346. package/lib/internal/template/icon/index.js.map +1 -1
  347. package/lib/internal/template/icon/internal.js +4 -6
  348. package/lib/internal/template/icon/internal.js.map +1 -1
  349. package/lib/internal/template/icon-provider/index.js +1 -1
  350. package/lib/internal/template/icon-provider/index.js.map +1 -1
  351. package/lib/internal/template/icon-provider/internal.js +2 -2
  352. package/lib/internal/template/icon-provider/internal.js.map +1 -1
  353. package/lib/internal/template/input/index.js +5 -5
  354. package/lib/internal/template/input/index.js.map +1 -1
  355. package/lib/internal/template/input/internal.js +10 -12
  356. package/lib/internal/template/input/internal.js.map +1 -1
  357. package/lib/internal/template/input/styles.css.js +13 -13
  358. package/lib/internal/template/input/styles.js +42 -30
  359. package/lib/internal/template/input/styles.js.map +1 -1
  360. package/lib/internal/template/input/styles.scoped.css +65 -65
  361. package/lib/internal/template/input/styles.selectors.js +13 -13
  362. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
  363. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  364. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
  365. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  366. package/lib/internal/template/internal/animate.js +1 -1
  367. package/lib/internal/template/internal/animate.js.map +1 -1
  368. package/lib/internal/template/internal/base-component/index.js +1 -1
  369. package/lib/internal/template/internal/base-component/index.js.map +1 -1
  370. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  371. package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
  372. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  373. package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
  374. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  375. package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
  376. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  377. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  378. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  379. package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
  380. package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
  381. package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
  382. package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
  383. package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
  384. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  385. package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
  386. package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
  387. package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
  388. package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
  389. package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
  390. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  391. package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
  392. package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
  393. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  394. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  395. package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
  396. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  397. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  398. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  399. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  400. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  401. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  402. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  403. package/lib/internal/template/internal/components/masked-input/index.js +12 -8
  404. package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
  405. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
  406. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  407. package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
  408. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  409. package/lib/internal/template/internal/components/option/index.js +6 -8
  410. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  411. package/lib/internal/template/internal/components/option/option-parts.js +1 -1
  412. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  413. package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
  414. package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
  415. package/lib/internal/template/internal/components/options-list/index.js +2 -4
  416. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  417. package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
  418. package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
  419. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  420. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  421. package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
  422. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  423. package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
  424. package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
  425. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  426. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  427. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  428. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js +1 -1
  429. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
  430. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  431. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  432. package/lib/internal/template/internal/components/transition/index.js +3 -5
  433. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  434. package/lib/internal/template/internal/environment.js +2 -2
  435. package/lib/internal/template/internal/environment.json +2 -2
  436. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +24 -0
  437. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  438. package/lib/internal/template/internal/generated/custom-css-properties/index.js +126 -102
  439. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  440. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
  441. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
  442. package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
  443. package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
  444. package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
  445. package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
  446. package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
  447. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  448. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  449. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  450. package/lib/internal/template/internal/plugins/widget/index.js +1 -1
  451. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  452. package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
  453. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  454. package/lib/internal/template/internal/widgets/index.js +2 -2
  455. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  456. package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
  457. package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
  458. package/lib/internal/template/key-value-pairs/index.js +2 -4
  459. package/lib/internal/template/key-value-pairs/index.js.map +1 -1
  460. package/lib/internal/template/key-value-pairs/internal.js +4 -6
  461. package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
  462. package/lib/internal/template/line-chart/index.js +2 -4
  463. package/lib/internal/template/line-chart/index.js.map +1 -1
  464. package/lib/internal/template/link/index.js +2 -4
  465. package/lib/internal/template/link/index.js.map +1 -1
  466. package/lib/internal/template/link/internal.js +13 -6
  467. package/lib/internal/template/link/internal.js.map +1 -1
  468. package/lib/internal/template/link/style.js +12 -9
  469. package/lib/internal/template/link/style.js.map +1 -1
  470. package/lib/internal/template/link/styles.css.js +20 -20
  471. package/lib/internal/template/link/styles.scoped.css +103 -103
  472. package/lib/internal/template/link/styles.selectors.js +20 -20
  473. package/lib/internal/template/list/index.js +1 -1
  474. package/lib/internal/template/list/index.js.map +1 -1
  475. package/lib/internal/template/list/internal.js +6 -8
  476. package/lib/internal/template/list/internal.js.map +1 -1
  477. package/lib/internal/template/live-region/index.js +2 -4
  478. package/lib/internal/template/live-region/index.js.map +1 -1
  479. package/lib/internal/template/live-region/internal.js +2 -4
  480. package/lib/internal/template/live-region/internal.js.map +1 -1
  481. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
  482. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  483. package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
  484. package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
  485. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
  486. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
  487. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  488. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  489. package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
  490. package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
  491. package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
  492. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  493. package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
  494. package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
  495. package/lib/internal/template/modal/index.js +5 -8
  496. package/lib/internal/template/modal/index.js.map +1 -1
  497. package/lib/internal/template/modal/internal.js +11 -14
  498. package/lib/internal/template/modal/internal.js.map +1 -1
  499. package/lib/internal/template/multiselect/embedded.js +15 -6
  500. package/lib/internal/template/multiselect/embedded.js.map +1 -1
  501. package/lib/internal/template/multiselect/index.js +2 -4
  502. package/lib/internal/template/multiselect/index.js.map +1 -1
  503. package/lib/internal/template/multiselect/internal.js +13 -12
  504. package/lib/internal/template/multiselect/internal.js.map +1 -1
  505. package/lib/internal/template/multiselect/use-multiselect.js +9 -5
  506. package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
  507. package/lib/internal/template/navigable-group/index.js +2 -4
  508. package/lib/internal/template/navigable-group/index.js.map +1 -1
  509. package/lib/internal/template/navigable-group/internal.js +2 -4
  510. package/lib/internal/template/navigable-group/internal.js.map +1 -1
  511. package/lib/internal/template/pagination/index.js +10 -10
  512. package/lib/internal/template/pagination/index.js.map +1 -1
  513. package/lib/internal/template/pagination/internal.js +36 -40
  514. package/lib/internal/template/pagination/internal.js.map +1 -1
  515. package/lib/internal/template/pie-chart/index.js +4 -6
  516. package/lib/internal/template/pie-chart/index.js.map +1 -1
  517. package/lib/internal/template/pie-chart/labels.js +2 -2
  518. package/lib/internal/template/pie-chart/labels.js.map +1 -1
  519. package/lib/internal/template/pie-chart/segments.js +1 -1
  520. package/lib/internal/template/pie-chart/segments.js.map +1 -1
  521. package/lib/internal/template/pie-chart/utils.js +17 -5
  522. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  523. package/lib/internal/template/popover/body.js +3 -3
  524. package/lib/internal/template/popover/body.js.map +1 -1
  525. package/lib/internal/template/popover/container.js +1 -1
  526. package/lib/internal/template/popover/container.js.map +1 -1
  527. package/lib/internal/template/popover/index.js +2 -4
  528. package/lib/internal/template/popover/index.js.map +1 -1
  529. package/lib/internal/template/popover/internal.js +4 -6
  530. package/lib/internal/template/popover/internal.js.map +1 -1
  531. package/lib/internal/template/progress-bar/index.js +2 -4
  532. package/lib/internal/template/progress-bar/index.js.map +1 -1
  533. package/lib/internal/template/progress-bar/internal.js +4 -1
  534. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  535. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  536. package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
  537. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  538. package/lib/internal/template/prompt-input/index.js +2 -4
  539. package/lib/internal/template/prompt-input/index.js.map +1 -1
  540. package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
  541. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  542. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  543. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  544. package/lib/internal/template/prompt-input/internal.js +5 -6
  545. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  546. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  547. package/lib/internal/template/prompt-input/styles.d.ts +5 -0
  548. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
  549. package/lib/internal/template/prompt-input/styles.js +44 -0
  550. package/lib/internal/template/prompt-input/styles.js.map +1 -0
  551. package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
  552. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  553. package/lib/internal/template/property-filter/controller.js +6 -6
  554. package/lib/internal/template/property-filter/controller.js.map +1 -1
  555. package/lib/internal/template/property-filter/filter-options.js +1 -1
  556. package/lib/internal/template/property-filter/filter-options.js.map +1 -1
  557. package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
  558. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  559. package/lib/internal/template/property-filter/i18n-utils.js +48 -11
  560. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  561. package/lib/internal/template/property-filter/index.js +4 -6
  562. package/lib/internal/template/property-filter/index.js.map +1 -1
  563. package/lib/internal/template/property-filter/internal.js +15 -13
  564. package/lib/internal/template/property-filter/internal.js.map +1 -1
  565. package/lib/internal/template/property-filter/property-editor.js +1 -1
  566. package/lib/internal/template/property-filter/property-editor.js.map +1 -1
  567. package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
  568. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  569. package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
  570. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  571. package/lib/internal/template/property-filter/token-editor.js +10 -10
  572. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  573. package/lib/internal/template/property-filter/token.js +8 -8
  574. package/lib/internal/template/property-filter/token.js.map +1 -1
  575. package/lib/internal/template/property-filter/use-load-items.js +6 -1
  576. package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
  577. package/lib/internal/template/radio-group/index.js +9 -9
  578. package/lib/internal/template/radio-group/index.js.map +1 -1
  579. package/lib/internal/template/radio-group/internal.js +10 -12
  580. package/lib/internal/template/radio-group/internal.js.map +1 -1
  581. package/lib/internal/template/radio-group/radio-button.js +4 -6
  582. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  583. package/lib/internal/template/radio-group/styles.css.js +10 -10
  584. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  585. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  586. package/lib/internal/template/s3-resource-selector/index.js +3 -5
  587. package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
  588. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  589. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  590. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
  591. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  592. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
  593. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  594. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  595. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  596. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
  597. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  598. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
  599. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  600. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
  601. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  602. package/lib/internal/template/segmented-control/index.js +1 -1
  603. package/lib/internal/template/segmented-control/index.js.map +1 -1
  604. package/lib/internal/template/segmented-control/internal.js +6 -8
  605. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  606. package/lib/internal/template/segmented-control/segment.js +1 -1
  607. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  608. package/lib/internal/template/select/index.js +2 -4
  609. package/lib/internal/template/select/index.js.map +1 -1
  610. package/lib/internal/template/select/internal.js +13 -10
  611. package/lib/internal/template/select/internal.js.map +1 -1
  612. package/lib/internal/template/select/parts/filter.js +9 -4
  613. package/lib/internal/template/select/parts/filter.js.map +1 -1
  614. package/lib/internal/template/select/parts/item.js +3 -5
  615. package/lib/internal/template/select/parts/item.js.map +1 -1
  616. package/lib/internal/template/select/parts/multiselect-item.js +3 -5
  617. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  618. package/lib/internal/template/select/parts/plain-list.js +1 -1
  619. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  620. package/lib/internal/template/select/parts/trigger.js +2 -2
  621. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  622. package/lib/internal/template/select/parts/virtual-list.js +3 -3
  623. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  624. package/lib/internal/template/select/utils/get-item-props.js +7 -1
  625. package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
  626. package/lib/internal/template/select/utils/render-options.js +1 -1
  627. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  628. package/lib/internal/template/side-navigation/implementation.js +2 -4
  629. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  630. package/lib/internal/template/side-navigation/index.js +2 -4
  631. package/lib/internal/template/side-navigation/index.js.map +1 -1
  632. package/lib/internal/template/side-navigation/parts.js +4 -4
  633. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  634. package/lib/internal/template/slider/index.js +2 -4
  635. package/lib/internal/template/slider/index.js.map +1 -1
  636. package/lib/internal/template/slider/internal.js +2 -4
  637. package/lib/internal/template/slider/internal.js.map +1 -1
  638. package/lib/internal/template/slider/styles.css.js +26 -26
  639. package/lib/internal/template/slider/styles.scoped.css +86 -86
  640. package/lib/internal/template/slider/styles.selectors.js +26 -26
  641. package/lib/internal/template/slider/tick-marks.js +3 -3
  642. package/lib/internal/template/slider/tick-marks.js.map +1 -1
  643. package/lib/internal/template/space-between/index.js +2 -4
  644. package/lib/internal/template/space-between/index.js.map +1 -1
  645. package/lib/internal/template/space-between/internal.js +2 -4
  646. package/lib/internal/template/space-between/internal.js.map +1 -1
  647. package/lib/internal/template/spinner/index.js +2 -4
  648. package/lib/internal/template/spinner/index.js.map +1 -1
  649. package/lib/internal/template/spinner/internal.js +2 -4
  650. package/lib/internal/template/spinner/internal.js.map +1 -1
  651. package/lib/internal/template/spinner/styles.css.js +13 -13
  652. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  653. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  654. package/lib/internal/template/split-panel/bottom.js +2 -2
  655. package/lib/internal/template/split-panel/bottom.js.map +1 -1
  656. package/lib/internal/template/split-panel/implementation.js +2 -4
  657. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  658. package/lib/internal/template/split-panel/index.js +16 -4
  659. package/lib/internal/template/split-panel/index.js.map +1 -1
  660. package/lib/internal/template/split-panel/side.js +6 -2
  661. package/lib/internal/template/split-panel/side.js.map +1 -1
  662. package/lib/internal/template/status-indicator/index.js +2 -4
  663. package/lib/internal/template/status-indicator/index.js.map +1 -1
  664. package/lib/internal/template/status-indicator/internal.js +3 -5
  665. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  666. package/lib/internal/template/steps/index.js +2 -4
  667. package/lib/internal/template/steps/index.js.map +1 -1
  668. package/lib/internal/template/steps/internal.js +2 -4
  669. package/lib/internal/template/steps/internal.js.map +1 -1
  670. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
  671. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  672. package/lib/internal/template/table/body-cell/index.js +9 -11
  673. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  674. package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
  675. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  676. package/lib/internal/template/table/body-cell/td-element.js +3 -5
  677. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  678. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  679. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  680. package/lib/internal/template/table/header-cell/index.js +20 -20
  681. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  682. package/lib/internal/template/table/header-cell/th-element.js +3 -5
  683. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  684. package/lib/internal/template/table/index.js +14 -10
  685. package/lib/internal/template/table/index.js.map +1 -1
  686. package/lib/internal/template/table/internal.js +47 -34
  687. package/lib/internal/template/table/internal.js.map +1 -1
  688. package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
  689. package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
  690. package/lib/internal/template/table/selection/selection-cell.js +8 -11
  691. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  692. package/lib/internal/template/table/selection/selection-control.js +10 -12
  693. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  694. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
  695. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  696. package/lib/internal/template/table/sticky-header.js +2 -2
  697. package/lib/internal/template/table/sticky-header.js.map +1 -1
  698. package/lib/internal/template/table/thead.js +5 -5
  699. package/lib/internal/template/table/thead.js.map +1 -1
  700. package/lib/internal/template/table/use-cell-editing.js +3 -4
  701. package/lib/internal/template/table/use-cell-editing.js.map +1 -1
  702. package/lib/internal/template/table/utils.js +1 -1
  703. package/lib/internal/template/table/utils.js.map +1 -1
  704. package/lib/internal/template/tabs/index.js +6 -8
  705. package/lib/internal/template/tabs/index.js.map +1 -1
  706. package/lib/internal/template/tabs/tab-header-bar.js +12 -5
  707. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  708. package/lib/internal/template/tag-editor/index.js +7 -9
  709. package/lib/internal/template/tag-editor/index.js.map +1 -1
  710. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  711. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  712. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  713. package/lib/internal/template/text-content/index.js +2 -4
  714. package/lib/internal/template/text-content/index.js.map +1 -1
  715. package/lib/internal/template/text-content/styles.css.js +1 -1
  716. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  717. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  718. package/lib/internal/template/text-filter/index.js +1 -1
  719. package/lib/internal/template/text-filter/index.js.map +1 -1
  720. package/lib/internal/template/text-filter/internal.js +2 -4
  721. package/lib/internal/template/text-filter/internal.js.map +1 -1
  722. package/lib/internal/template/textarea/index.js +3 -5
  723. package/lib/internal/template/textarea/index.js.map +1 -1
  724. package/lib/internal/template/textarea/styles.css.js +5 -5
  725. package/lib/internal/template/textarea/styles.js +42 -30
  726. package/lib/internal/template/textarea/styles.js.map +1 -1
  727. package/lib/internal/template/textarea/styles.scoped.css +41 -41
  728. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  729. package/lib/internal/template/tiles/index.js +3 -3
  730. package/lib/internal/template/tiles/index.js.map +1 -1
  731. package/lib/internal/template/tiles/internal.js +12 -14
  732. package/lib/internal/template/tiles/internal.js.map +1 -1
  733. package/lib/internal/template/tiles/tile.js +3 -5
  734. package/lib/internal/template/tiles/tile.js.map +1 -1
  735. package/lib/internal/template/time-input/index.js +2 -4
  736. package/lib/internal/template/time-input/index.js.map +1 -1
  737. package/lib/internal/template/time-input/internal.js +2 -4
  738. package/lib/internal/template/time-input/internal.js.map +1 -1
  739. package/lib/internal/template/toggle/index.js +1 -1
  740. package/lib/internal/template/toggle/index.js.map +1 -1
  741. package/lib/internal/template/toggle/internal.js +5 -7
  742. package/lib/internal/template/toggle/internal.js.map +1 -1
  743. package/lib/internal/template/toggle/styles.css.js +10 -10
  744. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  745. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  746. package/lib/internal/template/toggle-button/index.js +2 -4
  747. package/lib/internal/template/toggle-button/index.js.map +1 -1
  748. package/lib/internal/template/toggle-button/internal.js +3 -5
  749. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  750. package/lib/internal/template/token/dismiss-button.js +2 -2
  751. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  752. package/lib/internal/template/token/index.js +1 -1
  753. package/lib/internal/template/token/index.js.map +1 -1
  754. package/lib/internal/template/token/internal.js +20 -14
  755. package/lib/internal/template/token/internal.js.map +1 -1
  756. package/lib/internal/template/token-group/index.js +2 -4
  757. package/lib/internal/template/token-group/index.js.map +1 -1
  758. package/lib/internal/template/token-group/internal.js +6 -8
  759. package/lib/internal/template/token-group/internal.js.map +1 -1
  760. package/lib/internal/template/top-navigation/index.js +2 -4
  761. package/lib/internal/template/top-navigation/index.js.map +1 -1
  762. package/lib/internal/template/top-navigation/internal.js +2 -4
  763. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  764. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  765. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  766. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  767. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  768. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  769. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  770. package/lib/internal/template/top-navigation/parts/utility.js +1 -1
  771. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  772. package/lib/internal/template/tree-view/index.js +1 -1
  773. package/lib/internal/template/tree-view/index.js.map +1 -1
  774. package/lib/internal/template/tree-view/internal.js +2 -4
  775. package/lib/internal/template/tree-view/internal.js.map +1 -1
  776. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  777. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  778. package/lib/internal/template/tutorial-panel/index.js +2 -4
  779. package/lib/internal/template/tutorial-panel/index.js.map +1 -1
  780. package/lib/internal/template/wizard/index.js +2 -4
  781. package/lib/internal/template/wizard/index.js.map +1 -1
  782. package/lib/internal/template/wizard/internal.js +23 -10
  783. package/lib/internal/template/wizard/internal.js.map +1 -1
  784. package/lib/internal/template/wizard/wizard-actions.js +3 -3
  785. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  786. package/lib/internal/template/wizard/wizard-form.js +2 -2
  787. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  788. package/lib/internal/template/wizard/wizard-navigation.js +7 -7
  789. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  790. package/package.json +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, { useContext, useEffect, useRef } from 'react';
@@ -68,31 +67,50 @@ const convertRuntimeTriggerToReactNode = (runtimeTrigger) => {
68
67
  };
69
68
  export const mapRuntimeConfigToDrawer = (runtimeConfig) => {
70
69
  var _a;
71
- const { mountContent, unmountContent, trigger } = runtimeConfig, runtimeDrawer = __rest(runtimeConfig, ["mountContent", "unmountContent", "trigger"]);
72
- return Object.assign(Object.assign({}, runtimeDrawer), { ariaLabels: Object.assign({ drawerName: (_a = runtimeDrawer.ariaLabels.content) !== null && _a !== void 0 ? _a : '' }, runtimeDrawer.ariaLabels), trigger: trigger
73
- ? Object.assign({}, (trigger.iconSvg && {
74
- iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),
75
- })) : undefined, content: (React.createElement(RuntimeDrawerWrapper, { key: runtimeDrawer.id, mountContent: mountContent, unmountContent: unmountContent, id: runtimeDrawer.id })), onResize: event => {
70
+ const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;
71
+ return {
72
+ ...runtimeDrawer,
73
+ ariaLabels: { drawerName: (_a = runtimeDrawer.ariaLabels.content) !== null && _a !== void 0 ? _a : '', ...runtimeDrawer.ariaLabels },
74
+ trigger: trigger
75
+ ? {
76
+ ...(trigger.iconSvg && {
77
+ iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),
78
+ }),
79
+ }
80
+ : undefined,
81
+ content: (React.createElement(RuntimeDrawerWrapper, { key: runtimeDrawer.id, mountContent: mountContent, unmountContent: unmountContent, id: runtimeDrawer.id })),
82
+ onResize: event => {
76
83
  fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });
77
- }, headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined });
84
+ },
85
+ headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined,
86
+ };
78
87
  };
79
88
  export const mapRuntimeConfigToAiDrawer = (runtimeConfig) => {
80
89
  var _a;
81
- const { mountContent, unmountContent, trigger, exitExpandedModeTrigger } = runtimeConfig, runtimeDrawer = __rest(runtimeConfig, ["mountContent", "unmountContent", "trigger", "exitExpandedModeTrigger"]);
82
- return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, runtimeDrawer), { ariaLabels: Object.assign({ drawerName: (_a = runtimeDrawer.ariaLabels.content) !== null && _a !== void 0 ? _a : '' }, runtimeDrawer.ariaLabels) }), (trigger && {
83
- trigger: {
84
- customIcon: convertRuntimeTriggerToReactNode(trigger === null || trigger === void 0 ? void 0 : trigger.customIcon),
85
- iconSvg: convertRuntimeTriggerToReactNode(trigger === null || trigger === void 0 ? void 0 : trigger.iconSvg),
86
- },
87
- })), { exitExpandedModeTrigger: exitExpandedModeTrigger
90
+ const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;
91
+ return {
92
+ ...runtimeDrawer,
93
+ ariaLabels: { drawerName: (_a = runtimeDrawer.ariaLabels.content) !== null && _a !== void 0 ? _a : '', ...runtimeDrawer.ariaLabels },
94
+ ...(trigger && {
95
+ trigger: {
96
+ customIcon: convertRuntimeTriggerToReactNode(trigger === null || trigger === void 0 ? void 0 : trigger.customIcon),
97
+ iconSvg: convertRuntimeTriggerToReactNode(trigger === null || trigger === void 0 ? void 0 : trigger.iconSvg),
98
+ },
99
+ }),
100
+ exitExpandedModeTrigger: exitExpandedModeTrigger
88
101
  ? {
89
102
  customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger === null || exitExpandedModeTrigger === void 0 ? void 0 : exitExpandedModeTrigger.customIcon),
90
103
  }
91
- : undefined, content: (React.createElement(RuntimeDrawerWrapper, { key: runtimeDrawer.id, mountContent: mountContent, unmountContent: unmountContent, id: runtimeDrawer.id })) }), (runtimeDrawer.mountHeader && {
92
- header: (React.createElement(RuntimeDrawerHeader, { mountHeader: runtimeDrawer.mountHeader, unmountHeader: runtimeDrawer.unmountHeader })),
93
- })), { onResize: event => {
104
+ : undefined,
105
+ content: (React.createElement(RuntimeDrawerWrapper, { key: runtimeDrawer.id, mountContent: mountContent, unmountContent: unmountContent, id: runtimeDrawer.id })),
106
+ ...(runtimeDrawer.mountHeader && {
107
+ header: (React.createElement(RuntimeDrawerHeader, { mountHeader: runtimeDrawer.mountHeader, unmountHeader: runtimeDrawer.unmountHeader })),
108
+ }),
109
+ onResize: event => {
94
110
  fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });
95
- }, headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined });
111
+ },
112
+ headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined,
113
+ };
96
114
  };
97
115
  export function convertRuntimeDrawers(localDrawers, globalDrawers) {
98
116
  const converted = localDrawers.map(mapRuntimeConfigToDrawer);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/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\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonGroupProps } from '../../button-group/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport {\n DrawerConfig as RuntimeDrawerConfig,\n DrawerStateChangeParams,\n} from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nimport styles from './styles.css.js';\n\nexport interface RuntimeDrawer extends AppLayoutProps.Drawer {\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n position?: 'side' | 'bottom';\n}\n\nexport interface DrawersLayout {\n global: Array<RuntimeDrawer>;\n localBefore: Array<RuntimeDrawer>;\n localAfter: Array<RuntimeDrawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref} className={styles['runtime-content-wrapper']} data-awsui-runtime-drawer-root-id={id}></div>;\n}\n\ninterface RuntimeContentHeaderProps {\n mountHeader: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n}\n\nfunction RuntimeDrawerHeader({ mountHeader, unmountHeader }: RuntimeContentHeaderProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = ref.current!;\n mountHeader?.(container);\n return () => {\n unmountHeader?.(container);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <div className={styles['runtime-header-wrapper']} ref={ref} />;\n}\n\nfunction checkForUnsupportedProps(headerActions: ReadonlyArray<ButtonGroupProps.Item>) {\n const unsupportedProps = new Set([\n 'iconSvg',\n 'popoverFeedback',\n 'pressedIconSvg',\n 'popoverFeedback',\n 'pressedPopoverFeedback',\n ]);\n for (const item of headerActions) {\n const unsupported = Object.keys(item).filter(key => unsupportedProps.has(key));\n if (unsupported.length > 0) {\n warnOnce('AppLayout', `The headerActions properties are not supported for runtime api: ${unsupported.join(' ')}`);\n }\n }\n return headerActions;\n}\n\nconst convertRuntimeTriggerToReactNode = (runtimeTrigger?: string) => {\n if (!runtimeTrigger) {\n return undefined;\n }\n // eslint-disable-next-line react/no-danger\n return <span style={{ lineHeight: 0 }} dangerouslySetInnerHTML={{ __html: runtimeTrigger }} />;\n};\n\nexport const mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n ...(trigger.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),\n }),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined,\n };\n};\n\nexport const mapRuntimeConfigToAiDrawer = (\n runtimeConfig: RuntimeAiDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n exitExpandedModeTrigger?: React.ReactNode;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n} => {\n const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n ...(trigger && {\n trigger: {\n customIcon: convertRuntimeTriggerToReactNode(trigger?.customIcon),\n iconSvg: convertRuntimeTriggerToReactNode(trigger?.iconSvg),\n },\n }),\n exitExpandedModeTrigger: exitExpandedModeTrigger\n ? {\n customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger?.customIcon),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n ...(runtimeDrawer.mountHeader && {\n header: (\n <RuntimeDrawerHeader mountHeader={runtimeDrawer.mountHeader} unmountHeader={runtimeDrawer.unmountHeader} />\n ),\n }),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined,\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/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\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonGroupProps } from '../../button-group/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport {\n DrawerConfig as RuntimeDrawerConfig,\n DrawerStateChangeParams,\n} from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nimport styles from './styles.css.js';\n\nexport interface RuntimeDrawer extends AppLayoutProps.Drawer {\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n position?: 'side' | 'bottom';\n}\n\nexport interface DrawersLayout {\n global: Array<RuntimeDrawer>;\n localBefore: Array<RuntimeDrawer>;\n localAfter: Array<RuntimeDrawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref} className={styles['runtime-content-wrapper']} data-awsui-runtime-drawer-root-id={id}></div>;\n}\n\ninterface RuntimeContentHeaderProps {\n mountHeader: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n}\n\nfunction RuntimeDrawerHeader({ mountHeader, unmountHeader }: RuntimeContentHeaderProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = ref.current!;\n mountHeader?.(container);\n return () => {\n unmountHeader?.(container);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <div className={styles['runtime-header-wrapper']} ref={ref} />;\n}\n\nfunction checkForUnsupportedProps(headerActions: ReadonlyArray<ButtonGroupProps.Item>) {\n const unsupportedProps = new Set([\n 'iconSvg',\n 'popoverFeedback',\n 'pressedIconSvg',\n 'popoverFeedback',\n 'pressedPopoverFeedback',\n ]);\n for (const item of headerActions) {\n const unsupported = Object.keys(item).filter(key => unsupportedProps.has(key));\n if (unsupported.length > 0) {\n warnOnce('AppLayout', `The headerActions properties are not supported for runtime api: ${unsupported.join(' ')}`);\n }\n }\n return headerActions;\n}\n\nconst convertRuntimeTriggerToReactNode = (runtimeTrigger?: string) => {\n if (!runtimeTrigger) {\n return undefined;\n }\n // eslint-disable-next-line react/no-danger\n return <span style={{ lineHeight: 0 }} dangerouslySetInnerHTML={{ __html: runtimeTrigger }} />;\n};\n\nexport const mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n ...(trigger.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),\n }),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined,\n };\n};\n\nexport const mapRuntimeConfigToAiDrawer = (\n runtimeConfig: RuntimeAiDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n exitExpandedModeTrigger?: React.ReactNode;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n} => {\n const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n ...(trigger && {\n trigger: {\n customIcon: convertRuntimeTriggerToReactNode(trigger?.customIcon),\n iconSvg: convertRuntimeTriggerToReactNode(trigger?.iconSvg),\n },\n }),\n exitExpandedModeTrigger: exitExpandedModeTrigger\n ? {\n customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger?.customIcon),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n ...(runtimeDrawer.mountHeader && {\n header: (\n <RuntimeDrawerHeader mountHeader={runtimeDrawer.mountHeader} unmountHeader={runtimeDrawer.unmountHeader} />\n ),\n }),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions ? checkForUnsupportedProps(runtimeDrawer.headerActions) : undefined,\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
@@ -1,12 +1,10 @@
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, { useEffect, useState } from 'react';
5
4
  import { SplitPanelContextProvider } from '../../internal/context/split-panel-context';
6
5
  import { getLimitedValue } from '../../split-panel/utils/size-utils';
7
6
  import { SPLIT_PANEL_MIN_HEIGHT, SPLIT_PANEL_MIN_WIDTH } from './constants';
8
- export function SplitPanelProvider(_a) {
9
- var { children, size, getMaxHeight, maxWidth, reportSize, onResize } = _a, rest = __rest(_a, ["children", "size", "getMaxHeight", "maxWidth", "reportSize", "onResize"]);
7
+ export function SplitPanelProvider({ children, size, getMaxHeight, maxWidth, reportSize, onResize, ...rest }) {
10
8
  const { position, isOpen } = rest;
11
9
  const [maxHeight, setMaxHeight] = useState(size);
12
10
  const minSize = position === 'bottom' ? SPLIT_PANEL_MIN_HEIGHT : SPLIT_PANEL_MIN_WIDTH;
@@ -40,6 +38,6 @@ export function SplitPanelProvider(_a) {
40
38
  window.addEventListener('resize', handler);
41
39
  return () => window.removeEventListener('resize', handler);
42
40
  }, [position, getMaxHeight]);
43
- return (React.createElement(SplitPanelContextProvider, { value: Object.assign(Object.assign({}, rest), { size: cappedSize, relativeSize, onResize: onResizeWithValidation }) }, children));
41
+ return (React.createElement(SplitPanelContextProvider, { value: { ...rest, size: cappedSize, relativeSize, onResize: onResizeWithValidation } }, children));
44
42
  }
45
43
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/provider.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useState } from 'react';\n\nimport { SplitPanelContextBaseProps, SplitPanelContextProvider } from '../../internal/context/split-panel-context';\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { SPLIT_PANEL_MIN_HEIGHT, SPLIT_PANEL_MIN_WIDTH } from './constants';\n\nexport interface SplitPanelProviderProps extends SplitPanelContextBaseProps {\n maxWidth: number;\n reportSize: (size: number) => void;\n getMaxHeight: () => number;\n children?: React.ReactNode;\n animationDisabled?: boolean;\n}\n\nexport function SplitPanelProvider({\n children,\n size,\n getMaxHeight,\n maxWidth,\n reportSize,\n onResize,\n ...rest\n}: SplitPanelProviderProps) {\n const { position, isOpen } = rest;\n const [maxHeight, setMaxHeight] = useState(size);\n const minSize = position === 'bottom' ? SPLIT_PANEL_MIN_HEIGHT : SPLIT_PANEL_MIN_WIDTH;\n const maxSize = position === 'bottom' ? maxHeight : maxWidth;\n const cappedSize = getLimitedValue(minSize, size, maxSize);\n const relativeSize = ((size - minSize) / (maxSize - minSize)) * 100;\n\n const onResizeWithValidation = (newSize: number) => {\n const maxSize = position === 'side' ? maxWidth : getMaxHeight();\n const isResizeValid = position === 'side' ? maxSize >= SPLIT_PANEL_MIN_WIDTH : maxSize >= SPLIT_PANEL_MIN_HEIGHT;\n if (isOpen && isResizeValid) {\n onResize(getLimitedValue(minSize, newSize, maxSize));\n }\n };\n\n useEffect(() => {\n if (position !== 'bottom') {\n return;\n }\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => setMaxHeight(getMaxHeight()));\n return () => cancelAnimationFrame(handle);\n }, [size, minSize, position, getMaxHeight]);\n\n useEffect(() => {\n reportSize(cappedSize);\n }, [reportSize, cappedSize]);\n\n useEffect(() => {\n if (position !== 'bottom') {\n return;\n }\n const handler = () => setMaxHeight(getMaxHeight());\n window.addEventListener('resize', handler);\n return () => window.removeEventListener('resize', handler);\n }, [position, getMaxHeight]);\n\n return (\n <SplitPanelContextProvider value={{ ...rest, size: cappedSize, relativeSize, onResize: onResizeWithValidation }}>\n {children}\n </SplitPanelContextProvider>\n );\n}\n"]}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/provider.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useState } from 'react';\n\nimport { SplitPanelContextBaseProps, SplitPanelContextProvider } from '../../internal/context/split-panel-context';\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { SPLIT_PANEL_MIN_HEIGHT, SPLIT_PANEL_MIN_WIDTH } from './constants';\n\nexport interface SplitPanelProviderProps extends SplitPanelContextBaseProps {\n maxWidth: number;\n reportSize: (size: number) => void;\n getMaxHeight: () => number;\n children?: React.ReactNode;\n animationDisabled?: boolean;\n}\n\nexport function SplitPanelProvider({\n children,\n size,\n getMaxHeight,\n maxWidth,\n reportSize,\n onResize,\n ...rest\n}: SplitPanelProviderProps) {\n const { position, isOpen } = rest;\n const [maxHeight, setMaxHeight] = useState(size);\n const minSize = position === 'bottom' ? SPLIT_PANEL_MIN_HEIGHT : SPLIT_PANEL_MIN_WIDTH;\n const maxSize = position === 'bottom' ? maxHeight : maxWidth;\n const cappedSize = getLimitedValue(minSize, size, maxSize);\n const relativeSize = ((size - minSize) / (maxSize - minSize)) * 100;\n\n const onResizeWithValidation = (newSize: number) => {\n const maxSize = position === 'side' ? maxWidth : getMaxHeight();\n const isResizeValid = position === 'side' ? maxSize >= SPLIT_PANEL_MIN_WIDTH : maxSize >= SPLIT_PANEL_MIN_HEIGHT;\n if (isOpen && isResizeValid) {\n onResize(getLimitedValue(minSize, newSize, maxSize));\n }\n };\n\n useEffect(() => {\n if (position !== 'bottom') {\n return;\n }\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => setMaxHeight(getMaxHeight()));\n return () => cancelAnimationFrame(handle);\n }, [size, minSize, position, getMaxHeight]);\n\n useEffect(() => {\n reportSize(cappedSize);\n }, [reportSize, cappedSize]);\n\n useEffect(() => {\n if (position !== 'bottom') {\n return;\n }\n const handler = () => setMaxHeight(getMaxHeight());\n window.addEventListener('resize', handler);\n return () => window.removeEventListener('resize', handler);\n }, [position, getMaxHeight]);\n\n return (\n <SplitPanelContextProvider value={{ ...rest, size: cappedSize, relativeSize, onResize: onResizeWithValidation }}>\n {children}\n </SplitPanelContextProvider>\n );\n}\n"]}
@@ -29,6 +29,6 @@ export function useAppLayoutPlacement(headerSelector, footerSelector) {
29
29
  return () => window.removeEventListener('resize', updatePosition);
30
30
  }, [updatePosition]);
31
31
  useResizeObserver(mainElementRef, updatePosition);
32
- return [mainElementRef, Object.assign(Object.assign({}, offsets), { insetBlockStart: headerHeight, insetBlockEnd: footerHeight })];
32
+ return [mainElementRef, { ...offsets, insetBlockStart: headerHeight, insetBlockEnd: footerHeight }];
33
33
  }
34
34
  //# sourceMappingURL=use-app-layout-placement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-app-layout-placement.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-app-layout-placement.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,cAAsB,EAAE,cAAsB;IAClF,MAAM,cAAc,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC;QACrC,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,iBAAiB;KACrC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9G,8BAA8B;QAC9B,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,GAAG,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5F,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAElD,OAAO,CAAC,cAAc,kCAAO,OAAO,KAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,IAAY,CAAC;AAC/G,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useObservedElement } from './use-observed-element';\n\nexport function useAppLayoutPlacement(headerSelector: string, footerSelector: string) {\n const mainElementRef = useRef<HTMLElement>(null);\n const headerHeight = useObservedElement(mainElementRef, headerSelector);\n const footerHeight = useObservedElement(mainElementRef, footerSelector);\n const [offsets, setOffsets] = useState({\n insetInlineStart: 0,\n insetInlineEnd: 0,\n inlineSize: Number.POSITIVE_INFINITY,\n });\n\n const updatePosition = useCallback(() => {\n if (!mainElementRef.current) {\n return;\n }\n const { insetInlineStart, insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(mainElementRef.current);\n\n // skip reading sizes in JSDOM\n if (inlineSize === 0) {\n return;\n }\n\n setOffsets({ insetInlineStart, insetInlineEnd: inlineSize - insetInlineEnd, inlineSize });\n }, []);\n\n useEffect(() => {\n window.addEventListener('resize', updatePosition);\n return () => window.removeEventListener('resize', updatePosition);\n }, [updatePosition]);\n\n useResizeObserver(mainElementRef, updatePosition);\n\n return [mainElementRef, { ...offsets, insetBlockStart: headerHeight, insetBlockEnd: footerHeight }] as const;\n}\n"]}
1
+ {"version":3,"file":"use-app-layout-placement.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-app-layout-placement.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,cAAsB,EAAE,cAAsB;IAClF,MAAM,cAAc,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC;QACrC,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,iBAAiB;KACrC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9G,8BAA8B;QAC9B,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,GAAG,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5F,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAElD,OAAO,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAU,CAAC;AAC/G,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useObservedElement } from './use-observed-element';\n\nexport function useAppLayoutPlacement(headerSelector: string, footerSelector: string) {\n const mainElementRef = useRef<HTMLElement>(null);\n const headerHeight = useObservedElement(mainElementRef, headerSelector);\n const footerHeight = useObservedElement(mainElementRef, footerSelector);\n const [offsets, setOffsets] = useState({\n insetInlineStart: 0,\n insetInlineEnd: 0,\n inlineSize: Number.POSITIVE_INFINITY,\n });\n\n const updatePosition = useCallback(() => {\n if (!mainElementRef.current) {\n return;\n }\n const { insetInlineStart, insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(mainElementRef.current);\n\n // skip reading sizes in JSDOM\n if (inlineSize === 0) {\n return;\n }\n\n setOffsets({ insetInlineStart, insetInlineEnd: inlineSize - insetInlineEnd, inlineSize });\n }, []);\n\n useEffect(() => {\n window.addEventListener('resize', updatePosition);\n return () => window.removeEventListener('resize', updatePosition);\n }, [updatePosition]);\n\n useResizeObserver(mainElementRef, updatePosition);\n\n return [mainElementRef, { ...offsets, insetBlockStart: headerHeight, insetBlockEnd: footerHeight }] as const;\n}\n"]}
@@ -143,7 +143,7 @@ export function useDrawers({ drawers, activeDrawerId: controlledActiveDrawerId,
143
143
  // FIFO queue that keeps track of open drawers, where the first element is the most recently opened drawer
144
144
  const drawersOpenQueue = useRef([]);
145
145
  function onActiveDrawerResize({ id, size }) {
146
- setDrawerSizes(oldSizes => (Object.assign(Object.assign({}, oldSizes), { [id]: size })));
146
+ setDrawerSizes(oldSizes => ({ ...oldSizes, [id]: size }));
147
147
  if ((activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id) === id) {
148
148
  fireNonCancelableEvent(activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.onResize, { id, size });
149
149
  }
@@ -216,11 +216,17 @@ export function useDrawers({ drawers, activeDrawerId: controlledActiveDrawerId,
216
216
  const activeGlobalDrawersSizes = activeGlobalDrawersIds.reduce((acc, currentGlobalDrawerId) => {
217
217
  var _a, _b;
218
218
  const currentGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === currentGlobalDrawerId);
219
- return Object.assign(Object.assign({}, acc), { [currentGlobalDrawerId]: (_b = (_a = drawerSizes[currentGlobalDrawerId]) !== null && _a !== void 0 ? _a : currentGlobalDrawer === null || currentGlobalDrawer === void 0 ? void 0 : currentGlobalDrawer.defaultSize) !== null && _b !== void 0 ? _b : MIN_DRAWER_SIZE });
219
+ return {
220
+ ...acc,
221
+ [currentGlobalDrawerId]: (_b = (_a = drawerSizes[currentGlobalDrawerId]) !== null && _a !== void 0 ? _a : currentGlobalDrawer === null || currentGlobalDrawer === void 0 ? void 0 : currentGlobalDrawer.defaultSize) !== null && _b !== void 0 ? _b : MIN_DRAWER_SIZE,
222
+ };
220
223
  }, {});
221
224
  const minGlobalDrawersSizes = runtimeGlobalDrawers.reduce((acc, globalDrawer) => {
222
225
  var _a;
223
- return Object.assign(Object.assign({}, acc), { [globalDrawer.id]: Math.min((_a = globalDrawer.defaultSize) !== null && _a !== void 0 ? _a : MIN_DRAWER_SIZE, MIN_DRAWER_SIZE) });
226
+ return {
227
+ ...acc,
228
+ [globalDrawer.id]: Math.min((_a = globalDrawer.defaultSize) !== null && _a !== void 0 ? _a : MIN_DRAWER_SIZE, MIN_DRAWER_SIZE),
229
+ };
224
230
  }, {});
225
231
  const minDrawerSize = Math.min((toolsProps === null || toolsProps === void 0 ? void 0 : toolsProps.toolsOpen) ? toolsProps.toolsWidth : ((_d = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.defaultSize) !== null && _d !== void 0 ? _d : MIN_DRAWER_SIZE), MIN_DRAWER_SIZE);
226
232
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-drawers.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-drawers.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAiB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAgBtD,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzE,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,OAAO,EAAE,KAAK,CAAC,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE;YACV,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,QAAQ;SACnB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,wBAAwB,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;AAEjE,SAAS,iBAAiB,CACxB,qBAA0C,EAC1C,cAA6B,EAC7B,oBAAqG,EACrG,sBAAqC,EACrC,2BAAqG;IAErG,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB;QAClE,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC1E,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAEnF,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,qBAAqB,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,cAAc,CAAC;IAClF,MAAM,yBAAyB,GAAG,MAAM,CAAgB,EAAE,CAAC,CAAC;IAC5D,yBAAyB,CAAC,OAAO,GAAG,sBAAsB,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE;YAC/E,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACxE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACzE,iBAAiB,CAAC,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,wBAAwB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACnG,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,yBAAyB,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YAED,MAAM,yBAAyB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACxF,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACzE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CACtD,CAAC;YACF,IAAI,0BAA0B,IAAI,yBAAyB,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7F,OAAO;YACT,CAAC;YAED,MAAM,0BAA0B,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,MAAM,CACrE,MAAM,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,aAAa,CACzF,CAAC;YACF,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1C,2BAA2B,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,iBAAiB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAEpF,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,yBAAyB,CAChC,qBAA0C,EAC1C,YAA4C,EAC5C,aAAsC,EACtC,cAA6B,EAC7B,oBAAqG,EACrG,sBAAqC,EACrC,2BAAqG;IAErG,MAAM,cAAc,GAA2B,iBAAiB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,EAAE,EAAE;QAC/G,MAAM,WAAW,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC1E,IAAI,WAAW,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC/C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,YAAY,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAA2B,iBAAiB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,EAAE,EAAE;QAC/G,MAAM,WAAW,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC1E,IAAI,WAAW,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC/C,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,YAAY,IAAI,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,OAAO,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,OAAO,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,sBAAsB,CAC7B,qBAA0C,EAC1C,oBAA0E;IAE1E,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,CAAC,QAAgB,EAAE,IAAY,EAAE,EAAE;QACjF,oBAAoB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,OAAO,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE,cAA6B;IAC7E,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAUnC,MAAM,UAAU,UAAU,CACxB,EACE,OAAO,EACP,cAAc,EAAE,wBAAwB,EACxC,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EAAE,qBAAqB,GAC9B,EAClB,UAAwC,EACxC,UAAsB;;IAEtB,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,iBAAiB,CAAC,GAAG,eAAe,CAAC,wBAAwB,EAAE,cAAc,EAAE,IAAI,EAAE;QACjH,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,UAAU;KAC1B,CAAC,CAAC;IACH,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IACxF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IAC3E,0GAA0G;IAC1G,MAAM,gBAAgB,GAAG,MAAM,CAAgB,EAAE,CAAC,CAAC;IAEnD,SAAS,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAgC;QACtE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,iCAAM,QAAQ,KAAE,CAAC,EAAE,CAAC,EAAE,IAAI,IAAG,CAAC,CAAC;QAC1D,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,MAAK,EAAE,EAAE,CAAC;YAC5B,sBAAsB,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,sBAAsB,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,oBAAoB,CAC3B,WAA0B,EAC1B,EAAE,qBAAqB,KAAqB,wBAAwB;;QAEpE,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,WAAW,EAAE,CAAC;YAChB,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,WAAW,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,sBAAsB,CAAC,cAAc,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACjC,UAAU,CAAC,aAAa,CAAC,WAAW,KAAK,eAAe,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,OAAO,GAAG,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,MAAA,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,0CAAE,IAAI,CACnF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,WAAW,CACpC,CAAC;YACF,sBAAsB,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,gBAAgB,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;YACxF,MAAM,YAAY,GAAG,MAAA,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,0CAAE,IAAI,CACtF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,cAAc,CACvC,CAAC;YACF,sBAAsB,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,SAAS,2BAA2B,CAClC,QAAgB,EAChB,EAAE,qBAAqB,KAA8B,wBAAwB;QAE7E,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;YACtF,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,gBAAgB,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YAClF,sBAAsB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnF,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBAClC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,QAAQ,CAAC,CAAC;YACjC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,aAAc,CAAC,CAAC,CAAC;YAChG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,gBAAgB,CAAC,OAAO,GAAG,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACnE,sBAAsB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;IAChC,iDAAiD;IACjD,IAAI,sBAAsB,GACxB,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,KAAI,CAAC,aAAa;QACrC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,cAAc,KAAK,eAAe;YAClC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,IAAI,CAAC;IACb,MAAM,cAAc,GAAG,iBAAiB,CACtC,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,CAC5B,CAAC;IACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAC;IACjF,MAAM,oBAAoB,GAAG,OAAO;QAClC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC;QAC7C,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,sBAAsB,CAAC,CAAC;IAChG,wDAAwD;IACxD,sBAAsB,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,mCAAI,IAAI,CAAC;IAClD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9G,yBAAyB,CACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,CAC5B,CAAC;IAEF,sBAAsB,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IAEpE,MAAM,gBAAgB,GAAG,sBAAsB;QAC7C,CAAC,CAAC,CAAC,MAAA,MAAA,WAAW,CAAC,sBAAsB,CAAC,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,mCAAI,UAAU,CAAC,UAAU,CAAC;QAC7F,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAC1B,MAAM,wBAAwB,GAA2B,sBAAsB,CAAC,MAAM,CACpF,CAAC,GAAG,EAAE,qBAAqB,EAAE,EAAE;;QAC7B,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC;QACrG,uCACK,GAAG,KACN,CAAC,qBAAqB,CAAC,EACrB,MAAA,MAAA,WAAW,CAAC,qBAAqB,CAAC,mCAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,mCAAI,eAAe,IAC3F;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IACF,MAAM,qBAAqB,GAA2B,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;;QACtG,uCACK,GAAG,KACN,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAA,YAAY,CAAC,WAAW,mCAAI,eAAe,EAAE,eAAe,CAAC,IACzF;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,mCAAI,eAAe,CAAC,EAC9F,eAAe,CAChB,CAAC;IAEF,OAAO;QACL,qBAAqB,EAAE,UAAU;QACjC,OAAO,EAAE,oBAAoB,IAAI,SAAS;QAC1C,YAAY;QACZ,cAAc,EAAE,sBAAsB;QACtC,aAAa,EAAE,oBAAoB;QACnC,mBAAmB,EAAE,mBAAmB;QACxC,sBAAsB;QACtB,wBAAwB;QACxB,gBAAgB;QAChB,aAAa;QACb,qBAAqB;QACrB,WAAW;QACX,gBAAgB;QAChB,oBAAoB;QACpB,oBAAoB;QACpB,2BAA2B;KAC5B,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { useControllable } from '../../internal/hooks/use-controllable';\nimport { awsuiPluginsInternal } from '../../internal/plugins/api';\nimport { DrawersToggledListener } from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { convertRuntimeDrawers, DrawersLayout } from '../runtime-drawer';\nimport { togglesConfig } from '../toggles';\n\nexport const TOOLS_DRAWER_ID = 'awsui-internal-tools';\n\ninterface ToolsProps {\n toolsHide: boolean | undefined;\n toolsOpen: boolean | undefined;\n toolsWidth: number;\n tools: React.ReactNode | undefined;\n onToolsToggle: (newOpen: boolean) => void;\n ariaLabels: AppLayoutProps.Labels | undefined;\n disableDrawersMerge?: boolean;\n}\n\nexport interface OnChangeParams {\n initiatedByUserAction: boolean;\n}\n\nfunction getToolsDrawerItem(props: ToolsProps): AppLayoutProps.Drawer | null {\n if (props.toolsHide) {\n return null;\n }\n const { iconName, getLabels } = togglesConfig.tools;\n const { mainLabel, closeLabel, openLabel } = getLabels(props.ariaLabels);\n return {\n id: TOOLS_DRAWER_ID,\n content: props.tools,\n resizable: false,\n ariaLabels: {\n triggerButton: openLabel,\n closeButton: closeLabel,\n drawerName: mainLabel ?? '',\n },\n trigger: {\n iconName: iconName,\n },\n };\n}\n\nconst DRAWERS_LIMIT = 2;\n\nconst DEFAULT_ON_CHANGE_PARAMS = { initiatedByUserAction: true };\n\nfunction useRuntimeDrawers(\n disableRuntimeDrawers: boolean | undefined,\n activeDrawerId: string | null,\n onActiveDrawerChange: (newDrawerId: string | null, { initiatedByUserAction }: OnChangeParams) => void,\n activeGlobalDrawersIds: Array<string>,\n onActiveGlobalDrawersChange: (newDrawerId: string, { initiatedByUserAction }: OnChangeParams) => void\n) {\n const [runtimeDrawers, setRuntimeDrawers] = useState<DrawersLayout>({\n localBefore: [],\n localAfter: [],\n global: [],\n });\n const onLocalDrawerChangeStable = useStableCallback(onActiveDrawerChange);\n const onGlobalDrawersChangeStable = useStableCallback(onActiveGlobalDrawersChange);\n\n const localDrawerWasOpenRef = useRef(false);\n localDrawerWasOpenRef.current = localDrawerWasOpenRef.current || !!activeDrawerId;\n const activeGlobalDrawersIdsRef = useRef<Array<string>>([]);\n activeGlobalDrawersIdsRef.current = activeGlobalDrawersIds;\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawersRegistered(drawers => {\n const localDrawers = drawers.filter(drawer => drawer.type !== 'global');\n const globalDrawers = drawers.filter(drawer => drawer.type === 'global');\n setRuntimeDrawers(convertRuntimeDrawers(localDrawers, globalDrawers));\n if (!localDrawerWasOpenRef.current) {\n const defaultActiveLocalDrawer = sortByPriority(localDrawers).find(drawer => drawer.defaultActive);\n if (defaultActiveLocalDrawer) {\n onLocalDrawerChangeStable(defaultActiveLocalDrawer.id, { initiatedByUserAction: false });\n }\n }\n\n const drawersNotActiveByDefault = globalDrawers.filter(drawer => !drawer.defaultActive);\n const hasDrawersOpenByUserAction = drawersNotActiveByDefault.find(drawer =>\n activeGlobalDrawersIdsRef.current.includes(drawer.id)\n );\n if (hasDrawersOpenByUserAction || activeGlobalDrawersIdsRef.current.length === DRAWERS_LIMIT) {\n return;\n }\n\n const defaultActiveGlobalDrawers = sortByPriority(globalDrawers).filter(\n drawer => !activeGlobalDrawersIdsRef.current.includes(drawer.id) && drawer.defaultActive\n );\n defaultActiveGlobalDrawers.forEach(drawer => {\n onGlobalDrawersChangeStable(drawer.id, { initiatedByUserAction: false });\n });\n });\n return () => {\n unsubscribe();\n setRuntimeDrawers({ localBefore: [], localAfter: [], global: [] });\n };\n }, [disableRuntimeDrawers, onGlobalDrawersChangeStable, onLocalDrawerChangeStable]);\n\n return runtimeDrawers;\n}\n\nfunction useDrawerRuntimeOpenClose(\n disableRuntimeDrawers: boolean | undefined,\n localDrawers: AppLayoutProps.Drawer[] | null,\n globalDrawers: AppLayoutProps.Drawer[],\n activeDrawerId: string | null,\n onActiveDrawerChange: (newDrawerId: string | null, { initiatedByUserAction }: OnChangeParams) => void,\n activeGlobalDrawersIds: Array<string>,\n onActiveGlobalDrawersChange: (newDrawerId: string, { initiatedByUserAction }: OnChangeParams) => void\n) {\n const onDrawerOpened: DrawersToggledListener = useStableCallback((drawerId, params = DEFAULT_ON_CHANGE_PARAMS) => {\n const localDrawer = localDrawers?.find(drawer => drawer.id === drawerId);\n const globalDrawer = globalDrawers.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId !== drawerId) {\n onActiveDrawerChange(drawerId, params);\n }\n if (globalDrawer && !activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId, params);\n }\n });\n\n const onDrawerClosed: DrawersToggledListener = useStableCallback((drawerId, params = DEFAULT_ON_CHANGE_PARAMS) => {\n const localDrawer = localDrawers?.find(drawer => drawer.id === drawerId);\n const globalDrawer = globalDrawers.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId === drawerId) {\n onActiveDrawerChange(null, params);\n }\n if (globalDrawer && activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId, params);\n }\n });\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n return awsuiPluginsInternal.appLayout.onDrawerOpened(onDrawerOpened);\n }, [disableRuntimeDrawers, onDrawerOpened]);\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n return awsuiPluginsInternal.appLayout.onDrawerClosed(onDrawerClosed);\n }, [disableRuntimeDrawers, onDrawerClosed]);\n}\n\nfunction useDrawerRuntimeResize(\n disableRuntimeDrawers: boolean | undefined,\n onActiveDrawerResize: ({ id, size }: { id: string; size: number }) => void\n) {\n const onRuntimeDrawerResize = useStableCallback((drawerId: string, size: number) => {\n onActiveDrawerResize({ id: drawerId, size });\n });\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n\n return awsuiPluginsInternal.appLayout.onDrawerResize(onRuntimeDrawerResize);\n }, [disableRuntimeDrawers, onRuntimeDrawerResize]);\n}\n\nfunction applyToolsDrawer(toolsProps: ToolsProps, runtimeDrawers: DrawersLayout) {\n const drawers = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter];\n if (drawers.length === 0 && toolsProps.disableDrawersMerge) {\n return null;\n }\n const toolsItem = getToolsDrawerItem(toolsProps);\n if (toolsItem) {\n drawers.unshift(toolsItem);\n }\n\n return drawers;\n}\n\nexport const MIN_DRAWER_SIZE = 290;\n\ntype UseDrawersProps = Pick<AppLayoutProps, 'drawers' | 'activeDrawerId' | 'onDrawerChange'> & {\n __disableRuntimeDrawers?: boolean;\n onGlobalDrawerFocus?: (drawerId: string, open: boolean) => void;\n onAddNewActiveDrawer?: (drawerId: string) => void;\n expandedDrawerId?: string | null;\n setExpandedDrawerId?: (value: string | null) => void;\n};\n\nexport function useDrawers(\n {\n drawers,\n activeDrawerId: controlledActiveDrawerId,\n onDrawerChange,\n onGlobalDrawerFocus,\n onAddNewActiveDrawer,\n expandedDrawerId,\n setExpandedDrawerId,\n __disableRuntimeDrawers: disableRuntimeDrawers,\n }: UseDrawersProps,\n ariaLabels: AppLayoutProps['ariaLabels'],\n toolsProps: ToolsProps\n) {\n const [activeDrawerId = null, setActiveDrawerId] = useControllable(controlledActiveDrawerId, onDrawerChange, null, {\n componentName: 'AppLayout',\n controlledProp: 'activeDrawerId',\n changeHandler: 'onChange',\n });\n const [activeGlobalDrawersIds, setActiveGlobalDrawersIds] = useState<Array<string>>([]);\n const [drawerSizes, setDrawerSizes] = useState<Record<string, number>>({});\n // FIFO queue that keeps track of open drawers, where the first element is the most recently opened drawer\n const drawersOpenQueue = useRef<Array<string>>([]);\n\n function onActiveDrawerResize({ id, size }: { id: string; size: number }) {\n setDrawerSizes(oldSizes => ({ ...oldSizes, [id]: size }));\n if (activeDrawer?.id === id) {\n fireNonCancelableEvent(activeDrawer?.onResize, { id, size });\n }\n const activeGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === id);\n fireNonCancelableEvent(activeGlobalDrawer?.onResize, { id, size });\n }\n\n function onActiveDrawerChange(\n newDrawerId: string | null,\n { initiatedByUserAction }: OnChangeParams = DEFAULT_ON_CHANGE_PARAMS\n ) {\n setActiveDrawerId(newDrawerId);\n if (newDrawerId) {\n onAddNewActiveDrawer?.(newDrawerId);\n }\n if (hasOwnDrawers) {\n fireNonCancelableEvent(onDrawerChange, { activeDrawerId: newDrawerId });\n } else if (!toolsProps.toolsHide) {\n toolsProps.onToolsToggle(newDrawerId === TOOLS_DRAWER_ID);\n }\n\n if (newDrawerId) {\n drawersOpenQueue.current = [newDrawerId, ...drawersOpenQueue.current];\n const newDrawer = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === newDrawerId\n );\n fireNonCancelableEvent(newDrawer?.onToggle, { isOpen: true, initiatedByUserAction });\n }\n\n if (activeDrawerId) {\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== activeDrawerId);\n const activeDrawer = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === activeDrawerId\n );\n fireNonCancelableEvent(activeDrawer?.onToggle, { isOpen: false, initiatedByUserAction });\n }\n }\n\n function onActiveGlobalDrawersChange(\n drawerId: string,\n { initiatedByUserAction }: Partial<OnChangeParams> = DEFAULT_ON_CHANGE_PARAMS\n ) {\n const drawer = runtimeGlobalDrawers.find(drawer => drawer.id === drawerId);\n if (activeGlobalDrawersIds.includes(drawerId)) {\n setActiveGlobalDrawersIds(currentState => currentState.filter(id => id !== drawerId));\n onGlobalDrawerFocus?.(drawerId, false);\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== drawerId);\n fireNonCancelableEvent(drawer?.onToggle, { isOpen: false, initiatedByUserAction });\n if (drawerId === expandedDrawerId) {\n setExpandedDrawerId?.(null);\n }\n } else if (drawerId) {\n onAddNewActiveDrawer?.(drawerId);\n setActiveGlobalDrawersIds(currentState => [drawerId, ...currentState].slice(0, DRAWERS_LIMIT!));\n onGlobalDrawerFocus?.(drawerId, true);\n drawersOpenQueue.current = [drawerId, ...drawersOpenQueue.current];\n fireNonCancelableEvent(drawer?.onToggle, { isOpen: true, initiatedByUserAction });\n }\n }\n\n const hasOwnDrawers = !!drawers;\n // support toolsOpen in runtime-drawers-only mode\n let activeDrawerIdResolved =\n toolsProps?.toolsOpen && !hasOwnDrawers\n ? TOOLS_DRAWER_ID\n : activeDrawerId !== TOOLS_DRAWER_ID\n ? activeDrawerId\n : null;\n const runtimeDrawers = useRuntimeDrawers(\n disableRuntimeDrawers,\n activeDrawerIdResolved,\n onActiveDrawerChange,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange\n );\n const { localBefore, localAfter, global: runtimeGlobalDrawers } = runtimeDrawers;\n const combinedLocalDrawers = drawers\n ? [...localBefore, ...drawers, ...localAfter]\n : applyToolsDrawer(toolsProps, runtimeDrawers);\n const activeDrawer = combinedLocalDrawers?.find(drawer => drawer.id === activeDrawerIdResolved);\n // ensure that id is only defined when the drawer exists\n activeDrawerIdResolved = activeDrawer?.id ?? null;\n const activeGlobalDrawers = runtimeGlobalDrawers.filter(drawer => activeGlobalDrawersIds.includes(drawer.id));\n\n useDrawerRuntimeOpenClose(\n disableRuntimeDrawers,\n combinedLocalDrawers,\n runtimeGlobalDrawers,\n activeDrawerId,\n onActiveDrawerChange,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange\n );\n\n useDrawerRuntimeResize(disableRuntimeDrawers, onActiveDrawerResize);\n\n const activeDrawerSize = activeDrawerIdResolved\n ? (drawerSizes[activeDrawerIdResolved] ?? activeDrawer?.defaultSize ?? toolsProps.toolsWidth)\n : toolsProps.toolsWidth;\n const activeGlobalDrawersSizes: Record<string, number> = activeGlobalDrawersIds.reduce(\n (acc, currentGlobalDrawerId) => {\n const currentGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === currentGlobalDrawerId);\n return {\n ...acc,\n [currentGlobalDrawerId]:\n drawerSizes[currentGlobalDrawerId] ?? currentGlobalDrawer?.defaultSize ?? MIN_DRAWER_SIZE,\n };\n },\n {}\n );\n const minGlobalDrawersSizes: Record<string, number> = runtimeGlobalDrawers.reduce((acc, globalDrawer) => {\n return {\n ...acc,\n [globalDrawer.id]: Math.min(globalDrawer.defaultSize ?? MIN_DRAWER_SIZE, MIN_DRAWER_SIZE),\n };\n }, {});\n const minDrawerSize = Math.min(\n toolsProps?.toolsOpen ? toolsProps.toolsWidth : (activeDrawer?.defaultSize ?? MIN_DRAWER_SIZE),\n MIN_DRAWER_SIZE\n );\n\n return {\n ariaLabelsWithDrawers: ariaLabels,\n drawers: combinedLocalDrawers || undefined,\n activeDrawer,\n activeDrawerId: activeDrawerIdResolved,\n globalDrawers: runtimeGlobalDrawers,\n activeGlobalDrawers: activeGlobalDrawers,\n activeGlobalDrawersIds,\n activeGlobalDrawersSizes,\n activeDrawerSize,\n minDrawerSize,\n minGlobalDrawersSizes,\n drawerSizes,\n drawersOpenQueue,\n onActiveDrawerChange,\n onActiveDrawerResize,\n onActiveGlobalDrawersChange,\n };\n}\n"]}
1
+ {"version":3,"file":"use-drawers.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-drawers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { useControllable } from '../../internal/hooks/use-controllable';\nimport { awsuiPluginsInternal } from '../../internal/plugins/api';\nimport { DrawersToggledListener } from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { convertRuntimeDrawers, DrawersLayout } from '../runtime-drawer';\nimport { togglesConfig } from '../toggles';\n\nexport const TOOLS_DRAWER_ID = 'awsui-internal-tools';\n\ninterface ToolsProps {\n toolsHide: boolean | undefined;\n toolsOpen: boolean | undefined;\n toolsWidth: number;\n tools: React.ReactNode | undefined;\n onToolsToggle: (newOpen: boolean) => void;\n ariaLabels: AppLayoutProps.Labels | undefined;\n disableDrawersMerge?: boolean;\n}\n\nexport interface OnChangeParams {\n initiatedByUserAction: boolean;\n}\n\nfunction getToolsDrawerItem(props: ToolsProps): AppLayoutProps.Drawer | null {\n if (props.toolsHide) {\n return null;\n }\n const { iconName, getLabels } = togglesConfig.tools;\n const { mainLabel, closeLabel, openLabel } = getLabels(props.ariaLabels);\n return {\n id: TOOLS_DRAWER_ID,\n content: props.tools,\n resizable: false,\n ariaLabels: {\n triggerButton: openLabel,\n closeButton: closeLabel,\n drawerName: mainLabel ?? '',\n },\n trigger: {\n iconName: iconName,\n },\n };\n}\n\nconst DRAWERS_LIMIT = 2;\n\nconst DEFAULT_ON_CHANGE_PARAMS = { initiatedByUserAction: true };\n\nfunction useRuntimeDrawers(\n disableRuntimeDrawers: boolean | undefined,\n activeDrawerId: string | null,\n onActiveDrawerChange: (newDrawerId: string | null, { initiatedByUserAction }: OnChangeParams) => void,\n activeGlobalDrawersIds: Array<string>,\n onActiveGlobalDrawersChange: (newDrawerId: string, { initiatedByUserAction }: OnChangeParams) => void\n) {\n const [runtimeDrawers, setRuntimeDrawers] = useState<DrawersLayout>({\n localBefore: [],\n localAfter: [],\n global: [],\n });\n const onLocalDrawerChangeStable = useStableCallback(onActiveDrawerChange);\n const onGlobalDrawersChangeStable = useStableCallback(onActiveGlobalDrawersChange);\n\n const localDrawerWasOpenRef = useRef(false);\n localDrawerWasOpenRef.current = localDrawerWasOpenRef.current || !!activeDrawerId;\n const activeGlobalDrawersIdsRef = useRef<Array<string>>([]);\n activeGlobalDrawersIdsRef.current = activeGlobalDrawersIds;\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawersRegistered(drawers => {\n const localDrawers = drawers.filter(drawer => drawer.type !== 'global');\n const globalDrawers = drawers.filter(drawer => drawer.type === 'global');\n setRuntimeDrawers(convertRuntimeDrawers(localDrawers, globalDrawers));\n if (!localDrawerWasOpenRef.current) {\n const defaultActiveLocalDrawer = sortByPriority(localDrawers).find(drawer => drawer.defaultActive);\n if (defaultActiveLocalDrawer) {\n onLocalDrawerChangeStable(defaultActiveLocalDrawer.id, { initiatedByUserAction: false });\n }\n }\n\n const drawersNotActiveByDefault = globalDrawers.filter(drawer => !drawer.defaultActive);\n const hasDrawersOpenByUserAction = drawersNotActiveByDefault.find(drawer =>\n activeGlobalDrawersIdsRef.current.includes(drawer.id)\n );\n if (hasDrawersOpenByUserAction || activeGlobalDrawersIdsRef.current.length === DRAWERS_LIMIT) {\n return;\n }\n\n const defaultActiveGlobalDrawers = sortByPriority(globalDrawers).filter(\n drawer => !activeGlobalDrawersIdsRef.current.includes(drawer.id) && drawer.defaultActive\n );\n defaultActiveGlobalDrawers.forEach(drawer => {\n onGlobalDrawersChangeStable(drawer.id, { initiatedByUserAction: false });\n });\n });\n return () => {\n unsubscribe();\n setRuntimeDrawers({ localBefore: [], localAfter: [], global: [] });\n };\n }, [disableRuntimeDrawers, onGlobalDrawersChangeStable, onLocalDrawerChangeStable]);\n\n return runtimeDrawers;\n}\n\nfunction useDrawerRuntimeOpenClose(\n disableRuntimeDrawers: boolean | undefined,\n localDrawers: AppLayoutProps.Drawer[] | null,\n globalDrawers: AppLayoutProps.Drawer[],\n activeDrawerId: string | null,\n onActiveDrawerChange: (newDrawerId: string | null, { initiatedByUserAction }: OnChangeParams) => void,\n activeGlobalDrawersIds: Array<string>,\n onActiveGlobalDrawersChange: (newDrawerId: string, { initiatedByUserAction }: OnChangeParams) => void\n) {\n const onDrawerOpened: DrawersToggledListener = useStableCallback((drawerId, params = DEFAULT_ON_CHANGE_PARAMS) => {\n const localDrawer = localDrawers?.find(drawer => drawer.id === drawerId);\n const globalDrawer = globalDrawers.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId !== drawerId) {\n onActiveDrawerChange(drawerId, params);\n }\n if (globalDrawer && !activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId, params);\n }\n });\n\n const onDrawerClosed: DrawersToggledListener = useStableCallback((drawerId, params = DEFAULT_ON_CHANGE_PARAMS) => {\n const localDrawer = localDrawers?.find(drawer => drawer.id === drawerId);\n const globalDrawer = globalDrawers.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId === drawerId) {\n onActiveDrawerChange(null, params);\n }\n if (globalDrawer && activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId, params);\n }\n });\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n return awsuiPluginsInternal.appLayout.onDrawerOpened(onDrawerOpened);\n }, [disableRuntimeDrawers, onDrawerOpened]);\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n return awsuiPluginsInternal.appLayout.onDrawerClosed(onDrawerClosed);\n }, [disableRuntimeDrawers, onDrawerClosed]);\n}\n\nfunction useDrawerRuntimeResize(\n disableRuntimeDrawers: boolean | undefined,\n onActiveDrawerResize: ({ id, size }: { id: string; size: number }) => void\n) {\n const onRuntimeDrawerResize = useStableCallback((drawerId: string, size: number) => {\n onActiveDrawerResize({ id: drawerId, size });\n });\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n\n return awsuiPluginsInternal.appLayout.onDrawerResize(onRuntimeDrawerResize);\n }, [disableRuntimeDrawers, onRuntimeDrawerResize]);\n}\n\nfunction applyToolsDrawer(toolsProps: ToolsProps, runtimeDrawers: DrawersLayout) {\n const drawers = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter];\n if (drawers.length === 0 && toolsProps.disableDrawersMerge) {\n return null;\n }\n const toolsItem = getToolsDrawerItem(toolsProps);\n if (toolsItem) {\n drawers.unshift(toolsItem);\n }\n\n return drawers;\n}\n\nexport const MIN_DRAWER_SIZE = 290;\n\ntype UseDrawersProps = Pick<AppLayoutProps, 'drawers' | 'activeDrawerId' | 'onDrawerChange'> & {\n __disableRuntimeDrawers?: boolean;\n onGlobalDrawerFocus?: (drawerId: string, open: boolean) => void;\n onAddNewActiveDrawer?: (drawerId: string) => void;\n expandedDrawerId?: string | null;\n setExpandedDrawerId?: (value: string | null) => void;\n};\n\nexport function useDrawers(\n {\n drawers,\n activeDrawerId: controlledActiveDrawerId,\n onDrawerChange,\n onGlobalDrawerFocus,\n onAddNewActiveDrawer,\n expandedDrawerId,\n setExpandedDrawerId,\n __disableRuntimeDrawers: disableRuntimeDrawers,\n }: UseDrawersProps,\n ariaLabels: AppLayoutProps['ariaLabels'],\n toolsProps: ToolsProps\n) {\n const [activeDrawerId = null, setActiveDrawerId] = useControllable(controlledActiveDrawerId, onDrawerChange, null, {\n componentName: 'AppLayout',\n controlledProp: 'activeDrawerId',\n changeHandler: 'onChange',\n });\n const [activeGlobalDrawersIds, setActiveGlobalDrawersIds] = useState<Array<string>>([]);\n const [drawerSizes, setDrawerSizes] = useState<Record<string, number>>({});\n // FIFO queue that keeps track of open drawers, where the first element is the most recently opened drawer\n const drawersOpenQueue = useRef<Array<string>>([]);\n\n function onActiveDrawerResize({ id, size }: { id: string; size: number }) {\n setDrawerSizes(oldSizes => ({ ...oldSizes, [id]: size }));\n if (activeDrawer?.id === id) {\n fireNonCancelableEvent(activeDrawer?.onResize, { id, size });\n }\n const activeGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === id);\n fireNonCancelableEvent(activeGlobalDrawer?.onResize, { id, size });\n }\n\n function onActiveDrawerChange(\n newDrawerId: string | null,\n { initiatedByUserAction }: OnChangeParams = DEFAULT_ON_CHANGE_PARAMS\n ) {\n setActiveDrawerId(newDrawerId);\n if (newDrawerId) {\n onAddNewActiveDrawer?.(newDrawerId);\n }\n if (hasOwnDrawers) {\n fireNonCancelableEvent(onDrawerChange, { activeDrawerId: newDrawerId });\n } else if (!toolsProps.toolsHide) {\n toolsProps.onToolsToggle(newDrawerId === TOOLS_DRAWER_ID);\n }\n\n if (newDrawerId) {\n drawersOpenQueue.current = [newDrawerId, ...drawersOpenQueue.current];\n const newDrawer = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === newDrawerId\n );\n fireNonCancelableEvent(newDrawer?.onToggle, { isOpen: true, initiatedByUserAction });\n }\n\n if (activeDrawerId) {\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== activeDrawerId);\n const activeDrawer = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === activeDrawerId\n );\n fireNonCancelableEvent(activeDrawer?.onToggle, { isOpen: false, initiatedByUserAction });\n }\n }\n\n function onActiveGlobalDrawersChange(\n drawerId: string,\n { initiatedByUserAction }: Partial<OnChangeParams> = DEFAULT_ON_CHANGE_PARAMS\n ) {\n const drawer = runtimeGlobalDrawers.find(drawer => drawer.id === drawerId);\n if (activeGlobalDrawersIds.includes(drawerId)) {\n setActiveGlobalDrawersIds(currentState => currentState.filter(id => id !== drawerId));\n onGlobalDrawerFocus?.(drawerId, false);\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== drawerId);\n fireNonCancelableEvent(drawer?.onToggle, { isOpen: false, initiatedByUserAction });\n if (drawerId === expandedDrawerId) {\n setExpandedDrawerId?.(null);\n }\n } else if (drawerId) {\n onAddNewActiveDrawer?.(drawerId);\n setActiveGlobalDrawersIds(currentState => [drawerId, ...currentState].slice(0, DRAWERS_LIMIT!));\n onGlobalDrawerFocus?.(drawerId, true);\n drawersOpenQueue.current = [drawerId, ...drawersOpenQueue.current];\n fireNonCancelableEvent(drawer?.onToggle, { isOpen: true, initiatedByUserAction });\n }\n }\n\n const hasOwnDrawers = !!drawers;\n // support toolsOpen in runtime-drawers-only mode\n let activeDrawerIdResolved =\n toolsProps?.toolsOpen && !hasOwnDrawers\n ? TOOLS_DRAWER_ID\n : activeDrawerId !== TOOLS_DRAWER_ID\n ? activeDrawerId\n : null;\n const runtimeDrawers = useRuntimeDrawers(\n disableRuntimeDrawers,\n activeDrawerIdResolved,\n onActiveDrawerChange,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange\n );\n const { localBefore, localAfter, global: runtimeGlobalDrawers } = runtimeDrawers;\n const combinedLocalDrawers = drawers\n ? [...localBefore, ...drawers, ...localAfter]\n : applyToolsDrawer(toolsProps, runtimeDrawers);\n const activeDrawer = combinedLocalDrawers?.find(drawer => drawer.id === activeDrawerIdResolved);\n // ensure that id is only defined when the drawer exists\n activeDrawerIdResolved = activeDrawer?.id ?? null;\n const activeGlobalDrawers = runtimeGlobalDrawers.filter(drawer => activeGlobalDrawersIds.includes(drawer.id));\n\n useDrawerRuntimeOpenClose(\n disableRuntimeDrawers,\n combinedLocalDrawers,\n runtimeGlobalDrawers,\n activeDrawerId,\n onActiveDrawerChange,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange\n );\n\n useDrawerRuntimeResize(disableRuntimeDrawers, onActiveDrawerResize);\n\n const activeDrawerSize = activeDrawerIdResolved\n ? (drawerSizes[activeDrawerIdResolved] ?? activeDrawer?.defaultSize ?? toolsProps.toolsWidth)\n : toolsProps.toolsWidth;\n const activeGlobalDrawersSizes: Record<string, number> = activeGlobalDrawersIds.reduce(\n (acc, currentGlobalDrawerId) => {\n const currentGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === currentGlobalDrawerId);\n return {\n ...acc,\n [currentGlobalDrawerId]:\n drawerSizes[currentGlobalDrawerId] ?? currentGlobalDrawer?.defaultSize ?? MIN_DRAWER_SIZE,\n };\n },\n {}\n );\n const minGlobalDrawersSizes: Record<string, number> = runtimeGlobalDrawers.reduce((acc, globalDrawer) => {\n return {\n ...acc,\n [globalDrawer.id]: Math.min(globalDrawer.defaultSize ?? MIN_DRAWER_SIZE, MIN_DRAWER_SIZE),\n };\n }, {});\n const minDrawerSize = Math.min(\n toolsProps?.toolsOpen ? toolsProps.toolsWidth : (activeDrawer?.defaultSize ?? MIN_DRAWER_SIZE),\n MIN_DRAWER_SIZE\n );\n\n return {\n ariaLabelsWithDrawers: ariaLabels,\n drawers: combinedLocalDrawers || undefined,\n activeDrawer,\n activeDrawerId: activeDrawerIdResolved,\n globalDrawers: runtimeGlobalDrawers,\n activeGlobalDrawers: activeGlobalDrawers,\n activeGlobalDrawersIds,\n activeGlobalDrawersSizes,\n activeDrawerSize,\n minDrawerSize,\n minGlobalDrawersSizes,\n drawerSizes,\n drawersOpenQueue,\n onActiveDrawerChange,\n onActiveDrawerResize,\n onActiveGlobalDrawersChange,\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, { createContext, useCallback, useContext, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState, } from 'react';
@@ -151,7 +150,7 @@ export const AppLayoutInternalsProvider = React.forwardRef((props, forwardRef) =
151
150
  setSplitPanelLastInteraction({ type: 'position' });
152
151
  fireNonCancelableEvent(props.onSplitPanelPreferencesChange, detail);
153
152
  }, [props.onSplitPanelPreferencesChange, setSplitPanelPreferences, setSplitPanelLastInteraction]);
154
- const _f = useDrawers(props, props.ariaLabels, {
153
+ const { drawers, activeDrawer, activeDrawerId, minDrawerSize: drawersMinWidth, onActiveDrawerChange, onActiveDrawerResize, activeDrawerSize, ...drawersProps } = useDrawers(props, props.ariaLabels, {
155
154
  disableDrawersMerge: true,
156
155
  ariaLabels: props.ariaLabels,
157
156
  toolsHide,
@@ -159,7 +158,7 @@ export const AppLayoutInternalsProvider = React.forwardRef((props, forwardRef) =
159
158
  tools: props.tools,
160
159
  toolsWidth,
161
160
  onToolsToggle: handleToolsClick,
162
- }), { drawers, activeDrawer, activeDrawerId, minDrawerSize: drawersMinWidth, onActiveDrawerChange, onActiveDrawerResize, activeDrawerSize } = _f, drawersProps = __rest(_f, ["drawers", "activeDrawer", "activeDrawerId", "minDrawerSize", "onActiveDrawerChange", "onActiveDrawerResize", "activeDrawerSize"]);
161
+ });
163
162
  const [drawersMaxWidth, setDrawersMaxWidth] = useState(toolsWidth);
164
163
  const hasDrawers = !!drawers && drawers.length > 0;
165
164
  const { refs: drawersRefs, setFocus: focusDrawersButtons, loseFocus: loseDrawersFocus, } = useFocusControl(!!activeDrawerId, true, activeDrawerId);
@@ -323,26 +322,41 @@ export const AppLayoutInternalsProvider = React.forwardRef((props, forwardRef) =
323
322
  splitPanelRefs.slider,
324
323
  hasDrawers,
325
324
  ]);
326
- return (React.createElement(AppLayoutInternalsContext.Provider, { value: Object.assign(Object.assign({}, props), { activeDrawerId,
325
+ return (React.createElement(AppLayoutInternalsContext.Provider, { value: {
326
+ ...props,
327
+ activeDrawerId,
327
328
  contentType,
328
- drawers, drawersAriaLabel: (_c = drawersProps.ariaLabelsWithDrawers) === null || _c === void 0 ? void 0 : _c.drawers, drawersOverflowAriaLabel: (_d = drawersProps.ariaLabelsWithDrawers) === null || _d === void 0 ? void 0 : _d.drawersOverflow, drawersOverflowWithBadgeAriaLabel: (_e = drawersProps.ariaLabelsWithDrawers) === null || _e === void 0 ? void 0 : _e.drawersOverflowWithBadge, drawersRefs,
329
+ drawers,
330
+ drawersAriaLabel: (_c = drawersProps.ariaLabelsWithDrawers) === null || _c === void 0 ? void 0 : _c.drawers,
331
+ drawersOverflowAriaLabel: (_d = drawersProps.ariaLabelsWithDrawers) === null || _d === void 0 ? void 0 : _d.drawersOverflow,
332
+ drawersOverflowWithBadgeAriaLabel: (_e = drawersProps.ariaLabelsWithDrawers) === null || _e === void 0 ? void 0 : _e.drawersOverflowWithBadge,
333
+ drawersRefs,
329
334
  drawersMinWidth,
330
335
  drawersMaxWidth,
331
336
  drawerSize,
332
337
  drawerRef,
333
338
  resizeHandle,
334
- drawersTriggerCount, headerHeight: placement.insetBlockStart, footerHeight: placement.insetBlockEnd, hasDrawerViewportOverlay,
335
- handleDrawersClick, handleNavigationClick: isOpen => handleNavigationClick({ isOpen, autoFocus: true }), handleSplitPanelClick,
339
+ drawersTriggerCount,
340
+ headerHeight: placement.insetBlockStart,
341
+ footerHeight: placement.insetBlockEnd,
342
+ hasDrawerViewportOverlay,
343
+ handleDrawersClick,
344
+ handleNavigationClick: isOpen => handleNavigationClick({ isOpen, autoFocus: true }),
345
+ handleSplitPanelClick,
336
346
  handleSplitPanelPreferencesChange,
337
347
  handleSplitPanelResize,
338
348
  handleToolsClick,
339
349
  hasBackgroundOverlap,
340
350
  hasNotificationsContent,
341
- hasOpenDrawer, isBackgroundOverlapDisabled: props.disableContentHeaderOverlap || !hasBackgroundOverlap, isMobile,
351
+ hasOpenDrawer,
352
+ isBackgroundOverlapDisabled: props.disableContentHeaderOverlap || !hasBackgroundOverlap,
353
+ isMobile,
342
354
  isSplitPanelForcedPosition,
343
355
  isSplitPanelOpen,
344
356
  isToolsOpen,
345
- layoutElement, layoutWidth: placement.inlineSize, loseToolsFocus,
357
+ layoutElement,
358
+ layoutWidth: placement.inlineSize,
359
+ loseToolsFocus,
346
360
  loseDrawersFocus,
347
361
  mainElement,
348
362
  mainOffsetLeft,
@@ -368,9 +382,12 @@ export const AppLayoutInternalsProvider = React.forwardRef((props, forwardRef) =
368
382
  setSplitPanelToggle,
369
383
  splitPanelRefs,
370
384
  toolsControlId,
371
- toolsHide, toolsOpen: isToolsOpen, toolsWidth,
385
+ toolsHide,
386
+ toolsOpen: isToolsOpen,
387
+ toolsWidth,
372
388
  toolsRefs,
373
- __embeddedViewMode }) },
389
+ __embeddedViewMode,
390
+ } },
374
391
  React.createElement(DynamicOverlapContext.Provider, { value: updateBackgroundOverlapHeight }, children)));
375
392
  });
376
393
  //# sourceMappingURL=context.js.map