@cloudscape-design/components 3.0.840 → 3.0.841

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 (601) hide show
  1. package/annotation-context/annotation/annotation-icon.d.ts +2 -1
  2. package/annotation-context/annotation/annotation-icon.d.ts.map +1 -1
  3. package/annotation-context/annotation/annotation-icon.js.map +1 -1
  4. package/annotation-context/annotation/annotation-popover.d.ts +2 -1
  5. package/annotation-context/annotation/annotation-popover.d.ts.map +1 -1
  6. package/annotation-context/annotation/annotation-popover.js.map +1 -1
  7. package/annotation-context/annotation/annotation-trigger.d.ts +1 -1
  8. package/annotation-context/annotation/annotation-trigger.d.ts.map +1 -1
  9. package/annotation-context/annotation/annotation-trigger.js.map +1 -1
  10. package/annotation-context/annotation/closed-annotation.d.ts +2 -1
  11. package/annotation-context/annotation/closed-annotation.d.ts.map +1 -1
  12. package/annotation-context/annotation/closed-annotation.js.map +1 -1
  13. package/annotation-context/annotation/open-annotation.d.ts +2 -1
  14. package/annotation-context/annotation/open-annotation.d.ts.map +1 -1
  15. package/annotation-context/annotation/open-annotation.js.map +1 -1
  16. package/app-layout/classic.d.ts.map +1 -1
  17. package/app-layout/classic.js +7 -3
  18. package/app-layout/classic.js.map +1 -1
  19. package/app-layout/defaults.d.ts +2 -1
  20. package/app-layout/defaults.d.ts.map +1 -1
  21. package/app-layout/defaults.js.map +1 -1
  22. package/app-layout/split-panel/split-panel-forced-position.d.ts +5 -0
  23. package/app-layout/split-panel/split-panel-forced-position.d.ts.map +1 -0
  24. package/app-layout/split-panel/split-panel-forced-position.js +30 -0
  25. package/app-layout/split-panel/split-panel-forced-position.js.map +1 -0
  26. package/app-layout/utils/use-resize.d.ts +1 -1
  27. package/app-layout/utils/use-resize.d.ts.map +1 -1
  28. package/app-layout/utils/use-resize.js.map +1 -1
  29. package/app-layout/utils/use-split-panel-focus-control.d.ts +2 -1
  30. package/app-layout/utils/use-split-panel-focus-control.d.ts.map +1 -1
  31. package/app-layout/utils/use-split-panel-focus-control.js.map +1 -1
  32. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  33. package/app-layout/visual-refresh/context.js +5 -8
  34. package/app-layout/visual-refresh/context.js.map +1 -1
  35. package/app-layout/visual-refresh/drawers.d.ts +0 -8
  36. package/app-layout/visual-refresh/drawers.d.ts.map +1 -1
  37. package/app-layout/visual-refresh/drawers.js +1 -1
  38. package/app-layout/visual-refresh/drawers.js.map +1 -1
  39. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  40. package/app-layout/visual-refresh-toolbar/compute-layout.js +6 -2
  41. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  42. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +1 -1
  43. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  44. package/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
  45. package/app-layout/visual-refresh-toolbar/index.js +32 -2
  46. package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  47. package/app-layout/visual-refresh-toolbar/split-panel/index.d.ts +1 -1
  48. package/app-layout/visual-refresh-toolbar/split-panel/index.d.ts.map +1 -1
  49. package/app-layout/visual-refresh-toolbar/split-panel/index.js +3 -1
  50. package/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  51. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  52. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -5
  53. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  54. package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  55. package/app-layout/visual-refresh-toolbar/toolbar/index.js +4 -1
  56. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  57. package/area-chart/elements/area-series.d.ts +1 -1
  58. package/area-chart/elements/area-series.d.ts.map +1 -1
  59. package/area-chart/elements/area-series.js.map +1 -1
  60. package/area-chart/elements/threshold-series.d.ts +1 -1
  61. package/area-chart/elements/threshold-series.d.ts.map +1 -1
  62. package/area-chart/elements/threshold-series.js.map +1 -1
  63. package/attribute-editor/internal.d.ts.map +1 -1
  64. package/attribute-editor/internal.js +5 -1
  65. package/attribute-editor/internal.js.map +1 -1
  66. package/attribute-editor/row.d.ts +2 -1
  67. package/attribute-editor/row.d.ts.map +1 -1
  68. package/attribute-editor/row.js.map +1 -1
  69. package/autosuggest/analytics-metadata/interfaces.d.ts +0 -4
  70. package/autosuggest/analytics-metadata/interfaces.d.ts.map +1 -1
  71. package/autosuggest/analytics-metadata/interfaces.js.map +1 -1
  72. package/autosuggest/autosuggest-option.d.ts +1 -1
  73. package/autosuggest/autosuggest-option.d.ts.map +1 -1
  74. package/autosuggest/autosuggest-option.js.map +1 -1
  75. package/autosuggest/internal.d.ts +1 -1
  76. package/autosuggest/internal.d.ts.map +1 -1
  77. package/autosuggest/internal.js.map +1 -1
  78. package/autosuggest/load-more-controller.d.ts +3 -2
  79. package/autosuggest/load-more-controller.d.ts.map +1 -1
  80. package/autosuggest/load-more-controller.js.map +1 -1
  81. package/autosuggest/options-list.d.ts +2 -1
  82. package/autosuggest/options-list.d.ts.map +1 -1
  83. package/autosuggest/options-list.js.map +1 -1
  84. package/breadcrumb-group/analytics-metadata/interfaces.d.ts +0 -7
  85. package/breadcrumb-group/analytics-metadata/interfaces.d.ts.map +1 -1
  86. package/breadcrumb-group/analytics-metadata/interfaces.js.map +1 -1
  87. package/button-dropdown/interfaces.d.ts +4 -3
  88. package/button-dropdown/interfaces.d.ts.map +1 -1
  89. package/button-dropdown/interfaces.js.map +1 -1
  90. package/button-dropdown/item-element/index.d.ts +0 -7
  91. package/button-dropdown/item-element/index.d.ts.map +1 -1
  92. package/button-dropdown/item-element/index.js.map +1 -1
  93. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.d.ts +1 -1
  94. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.d.ts.map +1 -1
  95. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js.map +1 -1
  96. package/button-dropdown/tooltip.d.ts +2 -1
  97. package/button-dropdown/tooltip.d.ts.map +1 -1
  98. package/button-dropdown/tooltip.js.map +1 -1
  99. package/button-dropdown/utils/menu-item.d.ts +3 -2
  100. package/button-dropdown/utils/menu-item.d.ts.map +1 -1
  101. package/button-dropdown/utils/menu-item.js.map +1 -1
  102. package/calendar/grid/index.d.ts +2 -1
  103. package/calendar/grid/index.d.ts.map +1 -1
  104. package/calendar/grid/index.js.map +1 -1
  105. package/code-editor/pane.d.ts +2 -1
  106. package/code-editor/pane.d.ts.map +1 -1
  107. package/code-editor/pane.js.map +1 -1
  108. package/collection-preferences/analytics-metadata/interfaces.d.ts +0 -24
  109. package/collection-preferences/analytics-metadata/interfaces.d.ts.map +1 -1
  110. package/collection-preferences/analytics-metadata/interfaces.js.map +1 -1
  111. package/collection-preferences/content-display/content-display-option.d.ts +1 -1
  112. package/collection-preferences/content-display/content-display-option.d.ts.map +1 -1
  113. package/collection-preferences/content-display/content-display-option.js.map +1 -1
  114. package/collection-preferences/content-display/index.d.ts.map +1 -1
  115. package/collection-preferences/content-display/index.js +18 -42
  116. package/collection-preferences/content-display/index.js.map +1 -1
  117. package/collection-preferences/content-display/styles.css.js +12 -13
  118. package/collection-preferences/content-display/styles.scoped.css +15 -44
  119. package/collection-preferences/content-display/styles.selectors.js +12 -13
  120. package/collection-preferences/styles.css.js +38 -39
  121. package/collection-preferences/styles.scoped.css +42 -71
  122. package/collection-preferences/styles.selectors.js +38 -39
  123. package/copy-to-clipboard/internal.d.ts +2 -1
  124. package/copy-to-clipboard/internal.d.ts.map +1 -1
  125. package/copy-to-clipboard/internal.js.map +1 -1
  126. package/date-range-picker/calendar/grids/index.d.ts +2 -1
  127. package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  128. package/date-range-picker/calendar/grids/index.js.map +1 -1
  129. package/date-range-picker/calendar/grids/monthly-grid.d.ts +2 -1
  130. package/date-range-picker/calendar/grids/monthly-grid.d.ts.map +1 -1
  131. package/date-range-picker/calendar/grids/monthly-grid.js.map +1 -1
  132. package/date-range-picker/calendar/range-inputs.d.ts +1 -1
  133. package/date-range-picker/calendar/range-inputs.d.ts.map +1 -1
  134. package/date-range-picker/calendar/range-inputs.js.map +1 -1
  135. package/date-range-picker/dropdown.d.ts +2 -2
  136. package/date-range-picker/dropdown.d.ts.map +1 -1
  137. package/date-range-picker/dropdown.js +1 -1
  138. package/date-range-picker/dropdown.js.map +1 -1
  139. package/date-range-picker/interfaces.d.ts +2 -1
  140. package/date-range-picker/interfaces.d.ts.map +1 -1
  141. package/date-range-picker/interfaces.js.map +1 -1
  142. package/date-range-picker/relative-range/index.d.ts +2 -1
  143. package/date-range-picker/relative-range/index.d.ts.map +1 -1
  144. package/date-range-picker/relative-range/index.js.map +1 -1
  145. package/drawer/implementation.d.ts +2 -1
  146. package/drawer/implementation.d.ts.map +1 -1
  147. package/drawer/implementation.js.map +1 -1
  148. package/drawer/interfaces.d.ts +2 -1
  149. package/drawer/interfaces.d.ts.map +1 -1
  150. package/drawer/interfaces.js.map +1 -1
  151. package/expandable-section/expandable-section-container.d.ts +2 -1
  152. package/expandable-section/expandable-section-container.d.ts.map +1 -1
  153. package/expandable-section/expandable-section-container.js.map +1 -1
  154. package/expandable-section/expandable-section-header.d.ts +0 -1
  155. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  156. package/expandable-section/expandable-section-header.js +1 -1
  157. package/expandable-section/expandable-section-header.js.map +1 -1
  158. package/expandable-section/internal.d.ts +2 -1
  159. package/expandable-section/internal.d.ts.map +1 -1
  160. package/expandable-section/internal.js.map +1 -1
  161. package/file-token-group/file-token.d.ts +1 -1
  162. package/file-token-group/file-token.d.ts.map +1 -1
  163. package/file-token-group/file-token.js.map +1 -1
  164. package/file-upload/interfaces.d.ts +0 -5
  165. package/file-upload/interfaces.d.ts.map +1 -1
  166. package/file-upload/interfaces.js.map +1 -1
  167. package/flashbar/analytics-metadata/interfaces.d.ts +0 -6
  168. package/flashbar/analytics-metadata/interfaces.d.ts.map +1 -1
  169. package/flashbar/analytics-metadata/interfaces.js.map +1 -1
  170. package/flashbar/collapsible-flashbar.d.ts +0 -1
  171. package/flashbar/collapsible-flashbar.d.ts.map +1 -1
  172. package/flashbar/collapsible-flashbar.js.map +1 -1
  173. package/flashbar/flash.d.ts +2 -1
  174. package/flashbar/flash.d.ts.map +1 -1
  175. package/flashbar/flash.js.map +1 -1
  176. package/flashbar/non-collapsible-flashbar.d.ts +0 -1
  177. package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
  178. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  179. package/flashbar/utils.d.ts +2 -1
  180. package/flashbar/utils.d.ts.map +1 -1
  181. package/flashbar/utils.js.map +1 -1
  182. package/grid/internal.d.ts +1 -1
  183. package/grid/internal.d.ts.map +1 -1
  184. package/grid/internal.js.map +1 -1
  185. package/help-panel/implementation.d.ts +2 -1
  186. package/help-panel/implementation.d.ts.map +1 -1
  187. package/help-panel/implementation.js.map +1 -1
  188. package/i18n/context.d.ts +1 -1
  189. package/i18n/context.d.ts.map +1 -1
  190. package/i18n/context.js.map +1 -1
  191. package/i18n/testing.d.ts +2 -1
  192. package/i18n/testing.d.ts.map +1 -1
  193. package/i18n/testing.js.map +1 -1
  194. package/internal/analytics/components/analytics-funnel.d.ts +0 -1
  195. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  196. package/internal/analytics/components/analytics-funnel.js +1 -1
  197. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  198. package/internal/analytics/interfaces.d.ts +17 -24
  199. package/internal/analytics/interfaces.d.ts.map +1 -1
  200. package/internal/analytics/interfaces.js.map +1 -1
  201. package/internal/analytics/selectors.d.ts +1 -1
  202. package/internal/analytics/selectors.d.ts.map +1 -1
  203. package/internal/analytics/selectors.js +2 -1
  204. package/internal/analytics/selectors.js.map +1 -1
  205. package/internal/components/autosuggest-input/index.d.ts +2 -2
  206. package/internal/components/autosuggest-input/index.d.ts.map +1 -1
  207. package/internal/components/autosuggest-input/index.js.map +1 -1
  208. package/internal/components/cartesian-chart/highlighted-point.d.ts +1 -1
  209. package/internal/components/cartesian-chart/highlighted-point.d.ts.map +1 -1
  210. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  211. package/internal/components/cartesian-chart/scales.d.ts +4 -5
  212. package/internal/components/cartesian-chart/scales.d.ts.map +1 -1
  213. package/internal/components/cartesian-chart/scales.js +1 -1
  214. package/internal/components/cartesian-chart/scales.js.map +1 -1
  215. package/internal/components/cartesian-chart/vertical-marker.d.ts +1 -1
  216. package/internal/components/cartesian-chart/vertical-marker.d.ts.map +1 -1
  217. package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
  218. package/internal/components/chart-filter/index.d.ts +1 -1
  219. package/internal/components/chart-filter/index.d.ts.map +1 -1
  220. package/internal/components/chart-filter/index.js.map +1 -1
  221. package/internal/components/chart-legend/index.d.ts +1 -1
  222. package/internal/components/chart-legend/index.d.ts.map +1 -1
  223. package/internal/components/chart-legend/index.js.map +1 -1
  224. package/internal/components/chart-plot/application-controller.d.ts +1 -1
  225. package/internal/components/chart-plot/application-controller.d.ts.map +1 -1
  226. package/internal/components/chart-plot/application-controller.js.map +1 -1
  227. package/internal/components/chart-plot/focus-outline.d.ts +2 -1
  228. package/internal/components/chart-plot/focus-outline.d.ts.map +1 -1
  229. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  230. package/internal/components/chart-plot/index.d.ts +1 -1
  231. package/internal/components/chart-plot/index.d.ts.map +1 -1
  232. package/internal/components/chart-plot/index.js.map +1 -1
  233. package/internal/components/chart-popover/index.d.ts +1 -1
  234. package/internal/components/chart-popover/index.d.ts.map +1 -1
  235. package/internal/components/chart-popover/index.js.map +1 -1
  236. package/internal/components/chart-series-details/index.d.ts +1 -1
  237. package/internal/components/chart-series-details/index.d.ts.map +1 -1
  238. package/internal/components/chart-series-details/index.js.map +1 -1
  239. package/internal/components/checkbox-icon/index.d.ts +1 -10
  240. package/internal/components/checkbox-icon/index.d.ts.map +1 -1
  241. package/internal/components/checkbox-icon/index.js +1 -1
  242. package/internal/components/checkbox-icon/index.js.map +1 -1
  243. package/internal/components/dnd-container/index.d.ts +28 -0
  244. package/internal/components/dnd-container/index.d.ts.map +1 -0
  245. package/internal/components/dnd-container/index.js +67 -0
  246. package/internal/components/dnd-container/index.js.map +1 -0
  247. package/internal/components/dnd-container/interfaces.d.ts +13 -0
  248. package/internal/components/dnd-container/interfaces.d.ts.map +1 -0
  249. package/internal/components/dnd-container/interfaces.js +4 -0
  250. package/internal/components/dnd-container/interfaces.js.map +1 -0
  251. package/internal/components/dnd-container/keyboard-sensor/defaults.d.ts.map +1 -0
  252. package/internal/components/dnd-container/keyboard-sensor/defaults.js.map +1 -0
  253. package/internal/components/dnd-container/keyboard-sensor/index.d.ts.map +1 -0
  254. package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/index.js +1 -1
  255. package/internal/components/dnd-container/keyboard-sensor/index.js.map +1 -0
  256. package/internal/components/dnd-container/keyboard-sensor/utilities/events.d.ts +7 -0
  257. package/internal/components/dnd-container/keyboard-sensor/utilities/events.d.ts.map +1 -0
  258. package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/events.js +0 -4
  259. package/internal/components/dnd-container/keyboard-sensor/utilities/events.js.map +1 -0
  260. package/internal/components/dnd-container/keyboard-sensor/utilities/listeners.d.ts.map +1 -0
  261. package/internal/components/dnd-container/keyboard-sensor/utilities/listeners.js.map +1 -0
  262. package/internal/components/dnd-container/keyboard-sensor/utilities/scroll.d.ts +8 -0
  263. package/internal/components/dnd-container/keyboard-sensor/utilities/scroll.d.ts.map +1 -0
  264. package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/scroll.js +2 -2
  265. package/internal/components/dnd-container/keyboard-sensor/utilities/scroll.js.map +1 -0
  266. package/internal/components/dnd-container/styles.css.js +6 -0
  267. package/internal/components/dnd-container/styles.scoped.css +168 -0
  268. package/internal/components/dnd-container/styles.selectors.js +7 -0
  269. package/{collection-preferences/content-display → internal/components/dnd-container}/use-drag-and-drop-reorder.d.ts +2 -4
  270. package/internal/components/dnd-container/use-drag-and-drop-reorder.d.ts.map +1 -0
  271. package/{collection-preferences/content-display → internal/components/dnd-container}/use-drag-and-drop-reorder.js +4 -4
  272. package/internal/components/dnd-container/use-drag-and-drop-reorder.js.map +1 -0
  273. package/internal/components/dnd-container/use-live-announcements.d.ts +11 -0
  274. package/internal/components/dnd-container/use-live-announcements.d.ts.map +1 -0
  275. package/{collection-preferences/content-display → internal/components/dnd-container}/use-live-announcements.js +6 -6
  276. package/internal/components/dnd-container/use-live-announcements.js.map +1 -0
  277. package/internal/components/dropdown/dropdown-fit-handler.d.ts +0 -30
  278. package/internal/components/dropdown/dropdown-fit-handler.d.ts.map +1 -1
  279. package/internal/components/dropdown/dropdown-fit-handler.js +4 -4
  280. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  281. package/internal/components/focus-lock/utils.d.ts +0 -1
  282. package/internal/components/focus-lock/utils.d.ts.map +1 -1
  283. package/internal/components/focus-lock/utils.js +1 -1
  284. package/internal/components/focus-lock/utils.js.map +1 -1
  285. package/internal/components/masked-input/index.d.ts +1 -2
  286. package/internal/components/masked-input/index.d.ts.map +1 -1
  287. package/internal/components/masked-input/index.js +0 -1
  288. package/internal/components/masked-input/index.js.map +1 -1
  289. package/internal/components/masked-input/utils/mask-format.d.ts +1 -1
  290. package/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
  291. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  292. package/internal/components/option/highlight-match.d.ts +2 -1
  293. package/internal/components/option/highlight-match.d.ts.map +1 -1
  294. package/internal/components/option/highlight-match.js.map +1 -1
  295. package/internal/components/option/interfaces.d.ts +3 -2
  296. package/internal/components/option/interfaces.d.ts.map +1 -1
  297. package/internal/components/option/interfaces.js.map +1 -1
  298. package/internal/components/options-list/utils/use-highlight-option.d.ts +2 -1
  299. package/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
  300. package/internal/components/options-list/utils/use-highlight-option.js +2 -2
  301. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  302. package/internal/components/screenreader-only/index.d.ts +2 -1
  303. package/internal/components/screenreader-only/index.d.ts.map +1 -1
  304. package/internal/components/screenreader-only/index.js.map +1 -1
  305. package/internal/components/tab-trap/index.d.ts +2 -1
  306. package/internal/components/tab-trap/index.d.ts.map +1 -1
  307. package/internal/components/tab-trap/index.js.map +1 -1
  308. package/internal/components/transition/index.d.ts +2 -1
  309. package/internal/components/transition/index.d.ts.map +1 -1
  310. package/internal/components/transition/index.js.map +1 -1
  311. package/internal/context/single-tab-stop-navigation-context.d.ts +2 -4
  312. package/internal/context/single-tab-stop-navigation-context.d.ts.map +1 -1
  313. package/internal/context/single-tab-stop-navigation-context.js.map +1 -1
  314. package/internal/context/table-component-context.d.ts +2 -2
  315. package/internal/context/table-component-context.d.ts.map +1 -1
  316. package/internal/context/table-component-context.js +1 -1
  317. package/internal/context/table-component-context.js.map +1 -1
  318. package/internal/environment.js +1 -1
  319. package/internal/environment.json +1 -1
  320. package/internal/hooks/forward-focus/radio-group.d.ts +2 -1
  321. package/internal/hooks/forward-focus/radio-group.d.ts.map +1 -1
  322. package/internal/hooks/forward-focus/radio-group.js.map +1 -1
  323. package/internal/hooks/use-dynamic-overlap/index.d.ts +2 -1
  324. package/internal/hooks/use-dynamic-overlap/index.d.ts.map +1 -1
  325. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  326. package/internal/keycode.d.ts +1 -5
  327. package/internal/keycode.d.ts.map +1 -1
  328. package/internal/keycode.js +0 -4
  329. package/internal/keycode.js.map +1 -1
  330. package/internal/manifest.json +1 -1
  331. package/internal/plugins/controllers/action-buttons.d.ts +1 -1
  332. package/internal/plugins/controllers/action-buttons.d.ts.map +1 -1
  333. package/internal/plugins/controllers/action-buttons.js.map +1 -1
  334. package/internal/plugins/controllers/alert-flash-content.d.ts +3 -3
  335. package/internal/plugins/controllers/alert-flash-content.d.ts.map +1 -1
  336. package/internal/plugins/controllers/alert-flash-content.js.map +1 -1
  337. package/internal/plugins/controllers/app-layout-widget.d.ts +1 -1
  338. package/internal/plugins/controllers/app-layout-widget.d.ts.map +1 -1
  339. package/internal/plugins/controllers/app-layout-widget.js.map +1 -1
  340. package/internal/plugins/controllers/drawers.d.ts +4 -4
  341. package/internal/plugins/controllers/drawers.d.ts.map +1 -1
  342. package/internal/plugins/controllers/drawers.js.map +1 -1
  343. package/internal/utils/handle-key.d.ts +2 -1
  344. package/internal/utils/handle-key.d.ts.map +1 -1
  345. package/internal/utils/handle-key.js.map +1 -1
  346. package/internal/utils/throttle.d.ts +2 -1
  347. package/internal/utils/throttle.d.ts.map +1 -1
  348. package/internal/utils/throttle.js.map +1 -1
  349. package/live-region/internal.d.ts +1 -1
  350. package/live-region/internal.d.ts.map +1 -1
  351. package/live-region/internal.js.map +1 -1
  352. package/mixed-line-bar-chart/bar-groups.d.ts +2 -1
  353. package/mixed-line-bar-chart/bar-groups.d.ts.map +1 -1
  354. package/mixed-line-bar-chart/bar-groups.js.map +1 -1
  355. package/mixed-line-bar-chart/bar-series.d.ts +2 -1
  356. package/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
  357. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  358. package/mixed-line-bar-chart/data-series.d.ts +2 -1
  359. package/mixed-line-bar-chart/data-series.d.ts.map +1 -1
  360. package/mixed-line-bar-chart/data-series.js.map +1 -1
  361. package/mixed-line-bar-chart/interfaces.d.ts +0 -2
  362. package/mixed-line-bar-chart/interfaces.d.ts.map +1 -1
  363. package/mixed-line-bar-chart/interfaces.js.map +1 -1
  364. package/mixed-line-bar-chart/line-series.d.ts +2 -1
  365. package/mixed-line-bar-chart/line-series.d.ts.map +1 -1
  366. package/mixed-line-bar-chart/line-series.js.map +1 -1
  367. package/modal/index.d.ts.map +1 -1
  368. package/modal/index.js +8 -2
  369. package/modal/index.js.map +1 -1
  370. package/multiselect/analytics-metadata/interfaces.d.ts +0 -4
  371. package/multiselect/analytics-metadata/interfaces.d.ts.map +1 -1
  372. package/multiselect/analytics-metadata/interfaces.js.map +1 -1
  373. package/package.json +1 -1
  374. package/pie-chart/interfaces.d.ts +2 -1
  375. package/pie-chart/interfaces.d.ts.map +1 -1
  376. package/pie-chart/interfaces.js.map +1 -1
  377. package/pie-chart/labels.d.ts +1 -1
  378. package/pie-chart/labels.d.ts.map +1 -1
  379. package/pie-chart/labels.js.map +1 -1
  380. package/pie-chart/pie-chart.d.ts +2 -7
  381. package/pie-chart/pie-chart.d.ts.map +1 -1
  382. package/pie-chart/pie-chart.js.map +1 -1
  383. package/popover/arrow.d.ts +1 -1
  384. package/popover/arrow.d.ts.map +1 -1
  385. package/popover/arrow.js.map +1 -1
  386. package/popover/container.d.ts +2 -1
  387. package/popover/container.d.ts.map +1 -1
  388. package/popover/container.js.map +1 -1
  389. package/prompt-input/internal.d.ts +1 -1
  390. package/prompt-input/internal.d.ts.map +1 -1
  391. package/prompt-input/internal.js.map +1 -1
  392. package/property-filter/analytics-metadata/interfaces.d.ts +0 -15
  393. package/property-filter/analytics-metadata/interfaces.d.ts.map +1 -1
  394. package/property-filter/analytics-metadata/interfaces.js.map +1 -1
  395. package/property-filter/controller.d.ts +0 -1
  396. package/property-filter/controller.d.ts.map +1 -1
  397. package/property-filter/controller.js +1 -1
  398. package/property-filter/controller.js.map +1 -1
  399. package/property-filter/interfaces.d.ts +1 -6
  400. package/property-filter/interfaces.d.ts.map +1 -1
  401. package/property-filter/interfaces.js.map +1 -1
  402. package/property-filter/internal.d.ts +0 -2
  403. package/property-filter/internal.d.ts.map +1 -1
  404. package/property-filter/internal.js.map +1 -1
  405. package/property-filter/utils.d.ts +0 -1
  406. package/property-filter/utils.d.ts.map +1 -1
  407. package/property-filter/utils.js +1 -1
  408. package/property-filter/utils.js.map +1 -1
  409. package/s3-resource-selector/s3-modal/basic-table.d.ts +0 -6
  410. package/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
  411. package/s3-resource-selector/s3-modal/basic-table.js +1 -1
  412. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  413. package/segmented-control/segment.d.ts +2 -1
  414. package/segmented-control/segment.d.ts.map +1 -1
  415. package/segmented-control/segment.js.map +1 -1
  416. package/select/analytics-metadata/interfaces.d.ts +0 -4
  417. package/select/analytics-metadata/interfaces.d.ts.map +1 -1
  418. package/select/analytics-metadata/interfaces.js.map +1 -1
  419. package/select/utils/render-options.d.ts +2 -1
  420. package/select/utils/render-options.d.ts.map +1 -1
  421. package/select/utils/render-options.js.map +1 -1
  422. package/select/utils/use-native-search.d.ts +0 -1
  423. package/select/utils/use-native-search.d.ts.map +1 -1
  424. package/select/utils/use-native-search.js +1 -1
  425. package/select/utils/use-native-search.js.map +1 -1
  426. package/side-navigation/analytics-metadata/interfaces.d.ts +0 -2
  427. package/side-navigation/analytics-metadata/interfaces.d.ts.map +1 -1
  428. package/side-navigation/analytics-metadata/interfaces.js.map +1 -1
  429. package/side-navigation/implementation.d.ts +2 -1
  430. package/side-navigation/implementation.d.ts.map +1 -1
  431. package/side-navigation/implementation.js.map +1 -1
  432. package/side-navigation/parts.d.ts +2 -2
  433. package/side-navigation/parts.d.ts.map +1 -1
  434. package/side-navigation/parts.js.map +1 -1
  435. package/slider/internal.d.ts +2 -1
  436. package/slider/internal.d.ts.map +1 -1
  437. package/slider/internal.js.map +1 -1
  438. package/slider/slider-labels.d.ts +2 -1
  439. package/slider/slider-labels.d.ts.map +1 -1
  440. package/slider/slider-labels.js.map +1 -1
  441. package/slider/tick-marks.d.ts +2 -4
  442. package/slider/tick-marks.d.ts.map +1 -1
  443. package/slider/tick-marks.js.map +1 -1
  444. package/split-panel/bottom.d.ts.map +1 -1
  445. package/split-panel/bottom.js +13 -3
  446. package/split-panel/bottom.js.map +1 -1
  447. package/split-panel/implementation.js +1 -1
  448. package/split-panel/implementation.js.map +1 -1
  449. package/split-panel/styles.css.js +26 -26
  450. package/split-panel/styles.scoped.css +43 -48
  451. package/split-panel/styles.selectors.js +26 -26
  452. package/steps/internal.d.ts +1 -1
  453. package/steps/internal.d.ts.map +1 -1
  454. package/steps/internal.js +1 -1
  455. package/steps/internal.js.map +1 -1
  456. package/table/interfaces.d.ts +3 -2
  457. package/table/interfaces.d.ts.map +1 -1
  458. package/table/interfaces.js.map +1 -1
  459. package/table/internal.js +2 -2
  460. package/table/internal.js.map +1 -1
  461. package/table/progressive-loading/loader-cell.d.ts +2 -1
  462. package/table/progressive-loading/loader-cell.d.ts.map +1 -1
  463. package/table/progressive-loading/loader-cell.js.map +1 -1
  464. package/table/selection/utils.d.ts +0 -1
  465. package/table/selection/utils.d.ts.map +1 -1
  466. package/table/selection/utils.js +1 -1
  467. package/table/selection/utils.js.map +1 -1
  468. package/table/sticky-columns/use-sticky-columns.d.ts +1 -21
  469. package/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
  470. package/table/sticky-columns/use-sticky-columns.js +1 -1
  471. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  472. package/table/table-role/grid-navigation.js +10 -0
  473. package/table/table-role/grid-navigation.js.map +1 -1
  474. package/table/table-role/index.d.ts +1 -1
  475. package/table/table-role/index.d.ts.map +1 -1
  476. package/table/table-role/index.js.map +1 -1
  477. package/table/use-cell-editing.d.ts +1 -1
  478. package/table/use-cell-editing.d.ts.map +1 -1
  479. package/table/use-cell-editing.js.map +1 -1
  480. package/tabs/tab-header-bar.d.ts +2 -1
  481. package/tabs/tab-header-bar.d.ts.map +1 -1
  482. package/tabs/tab-header-bar.js.map +1 -1
  483. package/tag-editor/internal.d.ts +2 -1
  484. package/tag-editor/internal.d.ts.map +1 -1
  485. package/tag-editor/internal.js.map +1 -1
  486. package/test-utils/dom/anchor-navigation/index.d.ts +2 -1
  487. package/test-utils/dom/anchor-navigation/index.js +0 -2
  488. package/test-utils/dom/anchor-navigation/index.js.map +1 -1
  489. package/test-utils/dom/autosuggest/index.d.ts +0 -3
  490. package/test-utils/dom/autosuggest/index.js +1 -2
  491. package/test-utils/dom/autosuggest/index.js.map +1 -1
  492. package/test-utils/dom/cards/index.d.ts +3 -2
  493. package/test-utils/dom/cards/index.js +0 -3
  494. package/test-utils/dom/cards/index.js.map +1 -1
  495. package/test-utils/dom/key-value-pairs/index.d.ts +3 -2
  496. package/test-utils/dom/key-value-pairs/index.js +0 -3
  497. package/test-utils/dom/key-value-pairs/index.js.map +1 -1
  498. package/test-utils/dom/steps/index.d.ts +2 -1
  499. package/test-utils/dom/steps/index.js +0 -2
  500. package/test-utils/dom/steps/index.js.map +1 -1
  501. package/test-utils/dom/tabs/index.d.ts +2 -1
  502. package/test-utils/dom/tabs/index.js +0 -2
  503. package/test-utils/dom/tabs/index.js.map +1 -1
  504. package/test-utils/dom/tag-editor/index.d.ts +2 -1
  505. package/test-utils/dom/tag-editor/index.js +0 -2
  506. package/test-utils/dom/tag-editor/index.js.map +1 -1
  507. package/test-utils/selectors/anchor-navigation/index.d.ts +2 -1
  508. package/test-utils/selectors/anchor-navigation/index.js +0 -2
  509. package/test-utils/selectors/anchor-navigation/index.js.map +1 -1
  510. package/test-utils/selectors/autosuggest/index.d.ts +0 -3
  511. package/test-utils/selectors/autosuggest/index.js +1 -2
  512. package/test-utils/selectors/autosuggest/index.js.map +1 -1
  513. package/test-utils/selectors/cards/index.d.ts +3 -2
  514. package/test-utils/selectors/cards/index.js +0 -3
  515. package/test-utils/selectors/cards/index.js.map +1 -1
  516. package/test-utils/selectors/key-value-pairs/index.d.ts +3 -2
  517. package/test-utils/selectors/key-value-pairs/index.js +0 -3
  518. package/test-utils/selectors/key-value-pairs/index.js.map +1 -1
  519. package/test-utils/selectors/steps/index.d.ts +2 -1
  520. package/test-utils/selectors/steps/index.js +0 -2
  521. package/test-utils/selectors/steps/index.js.map +1 -1
  522. package/test-utils/selectors/tabs/index.d.ts +2 -1
  523. package/test-utils/selectors/tabs/index.js +0 -2
  524. package/test-utils/selectors/tabs/index.js.map +1 -1
  525. package/test-utils/selectors/tag-editor/index.d.ts +2 -1
  526. package/test-utils/selectors/tag-editor/index.js +0 -2
  527. package/test-utils/selectors/tag-editor/index.js.map +1 -1
  528. package/test-utils/tsconfig.tsbuildinfo +1 -1
  529. package/text-filter/analytics-metadata/interfaces.d.ts +0 -2
  530. package/text-filter/analytics-metadata/interfaces.d.ts.map +1 -1
  531. package/text-filter/analytics-metadata/interfaces.js.map +1 -1
  532. package/toggle-button/internal.d.ts +0 -1
  533. package/toggle-button/internal.d.ts.map +1 -1
  534. package/toggle-button/internal.js +0 -1
  535. package/toggle-button/internal.js.map +1 -1
  536. package/token-group/analytics-metadata/interfaces.d.ts +0 -2
  537. package/token-group/analytics-metadata/interfaces.d.ts.map +1 -1
  538. package/token-group/analytics-metadata/interfaces.js.map +1 -1
  539. package/top-navigation/1.0-beta/internal.d.ts +2 -1
  540. package/top-navigation/1.0-beta/internal.d.ts.map +1 -1
  541. package/top-navigation/1.0-beta/internal.js.map +1 -1
  542. package/top-navigation/1.0-beta/parts/overflow-menu.d.ts +2 -1
  543. package/top-navigation/1.0-beta/parts/overflow-menu.d.ts.map +1 -1
  544. package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
  545. package/top-navigation/1.0-beta/use-top-navigation.d.ts +4 -24
  546. package/top-navigation/1.0-beta/use-top-navigation.d.ts.map +1 -1
  547. package/top-navigation/1.0-beta/use-top-navigation.js +2 -2
  548. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  549. package/top-navigation/internal.d.ts +2 -1
  550. package/top-navigation/internal.d.ts.map +1 -1
  551. package/top-navigation/internal.js.map +1 -1
  552. package/top-navigation/parts/overflow-menu/router.d.ts +1 -10
  553. package/top-navigation/parts/overflow-menu/router.d.ts.map +1 -1
  554. package/top-navigation/parts/overflow-menu/router.js +1 -1
  555. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  556. package/top-navigation/use-top-navigation.d.ts +4 -3
  557. package/top-navigation/use-top-navigation.d.ts.map +1 -1
  558. package/top-navigation/use-top-navigation.js.map +1 -1
  559. package/tutorial-panel/components/tutorial-detail-view/task-list.d.ts +2 -1
  560. package/tutorial-panel/components/tutorial-detail-view/task-list.d.ts.map +1 -1
  561. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  562. package/tutorial-panel/components/tutorial-list/index.d.ts +2 -1
  563. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  564. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  565. package/wizard/analytics-metadata/interfaces.d.ts +0 -21
  566. package/wizard/analytics-metadata/interfaces.d.ts.map +1 -1
  567. package/wizard/analytics-metadata/interfaces.js.map +1 -1
  568. package/wizard/wizard-form.d.ts +1 -4
  569. package/wizard/wizard-form.d.ts.map +1 -1
  570. package/wizard/wizard-form.js +1 -1
  571. package/wizard/wizard-form.js.map +1 -1
  572. package/collection-preferences/content-display/draggable-option.d.ts +0 -9
  573. package/collection-preferences/content-display/draggable-option.d.ts.map +0 -1
  574. package/collection-preferences/content-display/draggable-option.js +0 -27
  575. package/collection-preferences/content-display/draggable-option.js.map +0 -1
  576. package/collection-preferences/content-display/keyboard-sensor/defaults.d.ts.map +0 -1
  577. package/collection-preferences/content-display/keyboard-sensor/defaults.js.map +0 -1
  578. package/collection-preferences/content-display/keyboard-sensor/index.d.ts.map +0 -1
  579. package/collection-preferences/content-display/keyboard-sensor/index.js.map +0 -1
  580. package/collection-preferences/content-display/keyboard-sensor/utilities/events.d.ts +0 -11
  581. package/collection-preferences/content-display/keyboard-sensor/utilities/events.d.ts.map +0 -1
  582. package/collection-preferences/content-display/keyboard-sensor/utilities/events.js.map +0 -1
  583. package/collection-preferences/content-display/keyboard-sensor/utilities/listeners.d.ts.map +0 -1
  584. package/collection-preferences/content-display/keyboard-sensor/utilities/listeners.js.map +0 -1
  585. package/collection-preferences/content-display/keyboard-sensor/utilities/scroll.d.ts +0 -30
  586. package/collection-preferences/content-display/keyboard-sensor/utilities/scroll.d.ts.map +0 -1
  587. package/collection-preferences/content-display/keyboard-sensor/utilities/scroll.js.map +0 -1
  588. package/collection-preferences/content-display/use-drag-and-drop-reorder.d.ts.map +0 -1
  589. package/collection-preferences/content-display/use-drag-and-drop-reorder.js.map +0 -1
  590. package/collection-preferences/content-display/use-live-announcements.d.ts +0 -12
  591. package/collection-preferences/content-display/use-live-announcements.d.ts.map +0 -1
  592. package/collection-preferences/content-display/use-live-announcements.js.map +0 -1
  593. package/internal/hooks/use-mutation-observer/index.d.ts +0 -8
  594. package/internal/hooks/use-mutation-observer/index.d.ts.map +0 -1
  595. package/internal/hooks/use-mutation-observer/index.js +0 -26
  596. package/internal/hooks/use-mutation-observer/index.js.map +0 -1
  597. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/defaults.d.ts +0 -0
  598. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/defaults.js +0 -0
  599. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/index.d.ts +0 -0
  600. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/listeners.d.ts +0 -0
  601. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/listeners.js +0 -0
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
- export interface AnnotationIconProps {
2
+ interface AnnotationIconProps {
3
3
  open?: boolean;
4
4
  }
5
5
  export declare const AnnotationIcon: ({ open }: AnnotationIconProps) => JSX.Element;
6
+ export {};
6
7
  //# sourceMappingURL=annotation-icon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-icon.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-icon.tsx"],"names":[],"mappings":";AAMA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,aAAc,mBAAmB,gBAuC3D,CAAC"}
1
+ {"version":3,"file":"annotation-icon.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-icon.tsx"],"names":[],"mappings":";AAMA,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,aAAc,mBAAmB,gBAuC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-icon.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-icon.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAuB,EAAE,EAAE;IAC9D,IAAI,IAAI,EAAE;QACR,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,OAAO,iBACL,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,IAAI;YAEtB,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,gBAAgB;gBAC1D,gCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,WAAW,EAAC,GAAG,GAAG;gBAC9C,8BAAM,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,KAAK,EAAC,CAAC,EAAC,gBAAgB,EAAC,SAAS,EAAC,sBAAsB,GAAG,CACnG,CACA,CACP,CAAC;KACH;SAAM;QACL,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,OAAO,iBACL,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,IAAI;YAEtB,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,gBAAgB;gBAC1D,gCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,WAAW,EAAC,GAAG,GAAG;gBAC9C,2BAAG,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,EAAC,kBAAkB;oBACtE,8BAAM,CAAC,EAAC,eAAe,EAAC,SAAS,EAAC,kBAAkB,GAAG;oBACvD,8BAAM,CAAC,EAAC,eAAe,GAAG,CACxB,CACF,CACA,CACP,CAAC;KACH;AACH,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport styles from './styles.css.js';\n\nexport interface AnnotationIconProps {\n open?: boolean;\n}\n\nexport const AnnotationIcon = ({ open }: AnnotationIconProps) => {\n if (open) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n focusable=\"false\"\n aria-hidden=\"true\"\n className={styles.icon}\n >\n <g fill=\"none\" fillRule=\"evenodd\" transform=\"translate(1 1)\">\n <circle cx=\"7\" cy=\"7\" r=\"7\" strokeWidth=\"2\" />\n <path strokeLinecap=\"square\" strokeWidth=\"2.2\" d=\"M2.5,-1 L2.5,3\" transform=\"rotate(90 1.75 6.25)\" />\n </g>\n </svg>\n );\n } else {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n focusable=\"false\"\n aria-hidden=\"true\"\n className={styles.icon}\n >\n <g fill=\"none\" fillRule=\"evenodd\" transform=\"translate(1 1)\">\n <circle cx=\"7\" cy=\"7\" r=\"7\" strokeWidth=\"2\" />\n <g strokeLinecap=\"square\" strokeWidth=\"2.2\" transform=\"translate(4.5 5)\">\n <path d=\"M2.5,0 L2.5,4\" transform=\"rotate(90 2.5 2)\" />\n <path d=\"M2.5,0 L2.5,4\" />\n </g>\n </g>\n </svg>\n );\n }\n};\n"]}
1
+ {"version":3,"file":"annotation-icon.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-icon.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAuB,EAAE,EAAE;IAC9D,IAAI,IAAI,EAAE;QACR,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,OAAO,iBACL,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,IAAI;YAEtB,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,gBAAgB;gBAC1D,gCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,WAAW,EAAC,GAAG,GAAG;gBAC9C,8BAAM,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,KAAK,EAAC,CAAC,EAAC,gBAAgB,EAAC,SAAS,EAAC,sBAAsB,GAAG,CACnG,CACA,CACP,CAAC;KACH;SAAM;QACL,OAAO,CACL,6BACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,OAAO,iBACL,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,IAAI;YAEtB,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,gBAAgB;gBAC1D,gCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,WAAW,EAAC,GAAG,GAAG;gBAC9C,2BAAG,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,EAAC,kBAAkB;oBACtE,8BAAM,CAAC,EAAC,eAAe,EAAC,SAAS,EAAC,kBAAkB,GAAG;oBACvD,8BAAM,CAAC,EAAC,eAAe,GAAG,CACxB,CACF,CACA,CACP,CAAC;KACH;AACH,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport styles from './styles.css.js';\n\ninterface AnnotationIconProps {\n open?: boolean;\n}\n\nexport const AnnotationIcon = ({ open }: AnnotationIconProps) => {\n if (open) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n focusable=\"false\"\n aria-hidden=\"true\"\n className={styles.icon}\n >\n <g fill=\"none\" fillRule=\"evenodd\" transform=\"translate(1 1)\">\n <circle cx=\"7\" cy=\"7\" r=\"7\" strokeWidth=\"2\" />\n <path strokeLinecap=\"square\" strokeWidth=\"2.2\" d=\"M2.5,-1 L2.5,3\" transform=\"rotate(90 1.75 6.25)\" />\n </g>\n </svg>\n );\n } else {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n focusable=\"false\"\n aria-hidden=\"true\"\n className={styles.icon}\n >\n <g fill=\"none\" fillRule=\"evenodd\" transform=\"translate(1 1)\">\n <circle cx=\"7\" cy=\"7\" r=\"7\" strokeWidth=\"2\" />\n <g strokeLinecap=\"square\" strokeWidth=\"2.2\" transform=\"translate(4.5 5)\">\n <path d=\"M2.5,0 L2.5,4\" transform=\"rotate(90 2.5 2)\" />\n <path d=\"M2.5,0 L2.5,4\" />\n </g>\n </g>\n </svg>\n );\n }\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { HotspotProps } from '../../hotspot/interfaces';
3
3
  import { AnnotationContextProps } from '../interfaces';
4
- export interface AnnotationPopoverProps {
4
+ interface AnnotationPopoverProps {
5
5
  title: string;
6
6
  content: React.ReactNode;
7
7
  alert: React.ReactNode;
@@ -20,4 +20,5 @@ export interface AnnotationPopoverProps {
20
20
  i18nStrings: AnnotationContextProps['i18nStrings'];
21
21
  }
22
22
  export declare function AnnotationPopover({ title, content, alert, direction, taskLocalStepIndex, totalLocalSteps, showPreviousButton, showFinishButton, onDismiss, nextButtonEnabled, onNextButtonClick, onFinish, trackRef, previousButtonEnabled, onPreviousButtonClick, i18nStrings, }: AnnotationPopoverProps): JSX.Element;
23
+ export {};
23
24
  //# sourceMappingURL=annotation-popover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-popover.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAMzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAErC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAE9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAElC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,eAAe,EAAE,MAAM,CAAC;IAExB,gBAAgB,EAAE,OAAO,CAAC;IAE1B,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;CACpD;AASD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,KAAK,EAEL,SAAiB,EAEjB,kBAAkB,EAElB,eAAe,EAEf,kBAAkB,EAClB,gBAAgB,EAEhB,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EAEjB,QAAQ,EAER,QAAQ,EAER,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,EAAE,sBAAsB,eAuGxB"}
1
+ {"version":3,"file":"annotation-popover.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAMzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAErC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAE9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAElC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,eAAe,EAAE,MAAM,CAAC;IAExB,gBAAgB,EAAE,OAAO,CAAC;IAE1B,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;CACpD;AASD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,KAAK,EAEL,SAAiB,EAEjB,kBAAkB,EAElB,eAAe,EAEf,kBAAkB,EAClB,gBAAgB,EAEhB,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EAEjB,QAAQ,EAER,QAAQ,EAER,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,EAAE,sBAAsB,eAuGxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-popover.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-popover.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 } from 'react';\nimport clsx from 'clsx';\n\nimport InternalAlert from '../../alert/internal';\nimport InternalBox from '../../box/internal';\nimport { InternalButton } from '../../button/internal';\nimport { HotspotProps } from '../../hotspot/interfaces';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id/index.js';\nimport { scrollElementIntoView } from '../../internal/utils/scrollable-containers';\nimport { joinStrings } from '../../internal/utils/strings/join-strings.js';\nimport PopoverBody from '../../popover/body';\nimport PopoverContainer from '../../popover/container';\nimport { InternalPosition } from '../../popover/interfaces';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport { AnnotationContextProps } from '../interfaces';\n\nimport styles from './styles.css.js';\n\nexport interface AnnotationPopoverProps {\n title: string;\n content: React.ReactNode;\n alert: React.ReactNode;\n\n direction: HotspotProps['direction'];\n\n nextButtonEnabled: boolean;\n onNextButtonClick: () => void;\n\n onFinish: () => void;\n\n showPreviousButton: boolean;\n previousButtonEnabled: boolean;\n onPreviousButtonClick: () => void;\n\n taskLocalStepIndex: number;\n\n totalLocalSteps: number;\n\n showFinishButton: boolean;\n\n onDismiss: () => void;\n\n trackRef: React.RefObject<HTMLElement>;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n}\n\nconst arrow = (position: InternalPosition | null) => (\n <div className={clsx(styles.arrow, styles[`arrow-position-${position}`])}>\n <div className={styles['arrow-outer']} />\n <div className={styles['arrow-inner']} />\n </div>\n);\n\nexport function AnnotationPopover({\n title,\n content,\n alert,\n\n direction = 'top',\n\n taskLocalStepIndex,\n\n totalLocalSteps,\n\n showPreviousButton,\n showFinishButton,\n\n onDismiss,\n\n nextButtonEnabled,\n onNextButtonClick,\n\n onFinish,\n\n trackRef,\n\n previousButtonEnabled,\n onPreviousButtonClick,\n i18nStrings,\n}: AnnotationPopoverProps) {\n useEffect(() => {\n scrollElementIntoView(trackRef.current ?? undefined);\n }, [trackRef]);\n\n const popoverHeaderId = useUniqueId('poppver-header-');\n const stepCounterId = useUniqueId('step-counter-');\n\n return (\n <PopoverContainer\n size=\"medium\"\n fixedWidth={false}\n position={direction}\n trackRef={trackRef}\n trackKey={taskLocalStepIndex}\n variant=\"annotation\"\n arrow={arrow}\n zIndex={1000}\n >\n <PopoverBody\n dismissButton={true}\n dismissAriaLabel={i18nStrings.labelDismissAnnotation}\n header={\n <InternalBox\n id={popoverHeaderId}\n color=\"text-body-secondary\"\n fontSize=\"body-s\"\n margin={{ top: 'xxxs' }}\n className={styles.header}\n >\n {title}\n </InternalBox>\n }\n onDismiss={onDismiss}\n className={styles.annotation}\n variant=\"annotation\"\n overflowVisible=\"content\"\n // create new dialog to have the native dialog behavior of the screen readers\n key={taskLocalStepIndex}\n ariaLabelledby={joinStrings(popoverHeaderId, stepCounterId)}\n >\n <InternalSpaceBetween size=\"s\">\n <div className={styles.description}>\n <InternalBox className={styles.content}>{content}</InternalBox>\n </div>\n\n {alert && <InternalAlert type=\"warning\">{alert}</InternalAlert>}\n\n <InternalSpaceBetween size=\"s\">\n <div className={styles.divider} />\n\n <div className={styles.actionBar}>\n <div className={styles.stepCounter}>\n <InternalBox\n id={stepCounterId}\n className={styles['step-counter-content']}\n color=\"text-body-secondary\"\n fontSize=\"body-s\"\n >\n {i18nStrings.stepCounterText(taskLocalStepIndex ?? 0, totalLocalSteps ?? 0)}\n </InternalBox>\n </div>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n {showPreviousButton && (\n <InternalButton\n variant=\"link\"\n onClick={onPreviousButtonClick}\n disabled={!previousButtonEnabled}\n formAction=\"none\"\n ariaLabel={i18nStrings.previousButtonText}\n className={styles['previous-button']}\n >\n {i18nStrings.previousButtonText}\n </InternalButton>\n )}\n\n {showFinishButton ? (\n <InternalButton\n onClick={onFinish}\n formAction=\"none\"\n ariaLabel={i18nStrings.finishButtonText}\n className={styles['finish-button']}\n >\n {i18nStrings.finishButtonText}\n </InternalButton>\n ) : (\n <InternalButton\n onClick={onNextButtonClick}\n disabled={!nextButtonEnabled}\n formAction=\"none\"\n ariaLabel={i18nStrings.nextButtonText}\n className={styles['next-button']}\n >\n {i18nStrings.nextButtonText}\n </InternalButton>\n )}\n </InternalSpaceBetween>\n </div>\n </InternalSpaceBetween>\n </InternalSpaceBetween>\n </PopoverBody>\n </PopoverContainer>\n );\n}\n"]}
1
+ {"version":3,"file":"annotation-popover.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-popover.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 } from 'react';\nimport clsx from 'clsx';\n\nimport InternalAlert from '../../alert/internal';\nimport InternalBox from '../../box/internal';\nimport { InternalButton } from '../../button/internal';\nimport { HotspotProps } from '../../hotspot/interfaces';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id/index.js';\nimport { scrollElementIntoView } from '../../internal/utils/scrollable-containers';\nimport { joinStrings } from '../../internal/utils/strings/join-strings.js';\nimport PopoverBody from '../../popover/body';\nimport PopoverContainer from '../../popover/container';\nimport { InternalPosition } from '../../popover/interfaces';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport { AnnotationContextProps } from '../interfaces';\n\nimport styles from './styles.css.js';\n\ninterface AnnotationPopoverProps {\n title: string;\n content: React.ReactNode;\n alert: React.ReactNode;\n\n direction: HotspotProps['direction'];\n\n nextButtonEnabled: boolean;\n onNextButtonClick: () => void;\n\n onFinish: () => void;\n\n showPreviousButton: boolean;\n previousButtonEnabled: boolean;\n onPreviousButtonClick: () => void;\n\n taskLocalStepIndex: number;\n\n totalLocalSteps: number;\n\n showFinishButton: boolean;\n\n onDismiss: () => void;\n\n trackRef: React.RefObject<HTMLElement>;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n}\n\nconst arrow = (position: InternalPosition | null) => (\n <div className={clsx(styles.arrow, styles[`arrow-position-${position}`])}>\n <div className={styles['arrow-outer']} />\n <div className={styles['arrow-inner']} />\n </div>\n);\n\nexport function AnnotationPopover({\n title,\n content,\n alert,\n\n direction = 'top',\n\n taskLocalStepIndex,\n\n totalLocalSteps,\n\n showPreviousButton,\n showFinishButton,\n\n onDismiss,\n\n nextButtonEnabled,\n onNextButtonClick,\n\n onFinish,\n\n trackRef,\n\n previousButtonEnabled,\n onPreviousButtonClick,\n i18nStrings,\n}: AnnotationPopoverProps) {\n useEffect(() => {\n scrollElementIntoView(trackRef.current ?? undefined);\n }, [trackRef]);\n\n const popoverHeaderId = useUniqueId('poppver-header-');\n const stepCounterId = useUniqueId('step-counter-');\n\n return (\n <PopoverContainer\n size=\"medium\"\n fixedWidth={false}\n position={direction}\n trackRef={trackRef}\n trackKey={taskLocalStepIndex}\n variant=\"annotation\"\n arrow={arrow}\n zIndex={1000}\n >\n <PopoverBody\n dismissButton={true}\n dismissAriaLabel={i18nStrings.labelDismissAnnotation}\n header={\n <InternalBox\n id={popoverHeaderId}\n color=\"text-body-secondary\"\n fontSize=\"body-s\"\n margin={{ top: 'xxxs' }}\n className={styles.header}\n >\n {title}\n </InternalBox>\n }\n onDismiss={onDismiss}\n className={styles.annotation}\n variant=\"annotation\"\n overflowVisible=\"content\"\n // create new dialog to have the native dialog behavior of the screen readers\n key={taskLocalStepIndex}\n ariaLabelledby={joinStrings(popoverHeaderId, stepCounterId)}\n >\n <InternalSpaceBetween size=\"s\">\n <div className={styles.description}>\n <InternalBox className={styles.content}>{content}</InternalBox>\n </div>\n\n {alert && <InternalAlert type=\"warning\">{alert}</InternalAlert>}\n\n <InternalSpaceBetween size=\"s\">\n <div className={styles.divider} />\n\n <div className={styles.actionBar}>\n <div className={styles.stepCounter}>\n <InternalBox\n id={stepCounterId}\n className={styles['step-counter-content']}\n color=\"text-body-secondary\"\n fontSize=\"body-s\"\n >\n {i18nStrings.stepCounterText(taskLocalStepIndex ?? 0, totalLocalSteps ?? 0)}\n </InternalBox>\n </div>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n {showPreviousButton && (\n <InternalButton\n variant=\"link\"\n onClick={onPreviousButtonClick}\n disabled={!previousButtonEnabled}\n formAction=\"none\"\n ariaLabel={i18nStrings.previousButtonText}\n className={styles['previous-button']}\n >\n {i18nStrings.previousButtonText}\n </InternalButton>\n )}\n\n {showFinishButton ? (\n <InternalButton\n onClick={onFinish}\n formAction=\"none\"\n ariaLabel={i18nStrings.finishButtonText}\n className={styles['finish-button']}\n >\n {i18nStrings.finishButtonText}\n </InternalButton>\n ) : (\n <InternalButton\n onClick={onNextButtonClick}\n disabled={!nextButtonEnabled}\n formAction=\"none\"\n ariaLabel={i18nStrings.nextButtonText}\n className={styles['next-button']}\n >\n {i18nStrings.nextButtonText}\n </InternalButton>\n )}\n </InternalSpaceBetween>\n </div>\n </InternalSpaceBetween>\n </InternalSpaceBetween>\n </PopoverBody>\n </PopoverContainer>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AnnotationContextProps } from '../interfaces';
3
- export interface AnnotationTriggerProps {
3
+ interface AnnotationTriggerProps {
4
4
  open: boolean;
5
5
  onClick: () => void;
6
6
  i18nStrings: AnnotationContextProps['i18nStrings'];
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-trigger.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-trigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAKvD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;;AAED,wBAuBG"}
1
+ {"version":3,"file":"annotation-trigger.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-trigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAKvD,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;;AAED,wBAuBG"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-trigger.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-trigger.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAYrC,eAAe,KAAK,CAAC,UAAU,CAA4C,SAAS,iBAAiB,CACnG,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAA0B,EAC3G,GAAG;IAEH,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,KAAuB,EAAE,EAAE;QAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,cAAc,EAAE,CAAC;IACnB,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO,CACL,gCACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,CAAC,OAAO,mBACX,QAAQ,gBACV,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,CAAC,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,CAAC,CAAC,EACzF,OAAO,EAAE,OAAO;QAEhB,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CACvB,CACV,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback } from 'react';\n\nimport { AnnotationContextProps } from '../interfaces';\nimport { AnnotationIcon } from './annotation-icon';\n\nimport styles from './styles.css.js';\n\nexport interface AnnotationTriggerProps {\n open: boolean;\n\n onClick: () => void;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n taskLocalStepIndex: number;\n totalLocalSteps: number;\n}\n\nexport default React.forwardRef<HTMLButtonElement, AnnotationTriggerProps>(function AnnotationTrigger(\n { open, onClick: onClickHandler, i18nStrings, taskLocalStepIndex, totalLocalSteps }: AnnotationTriggerProps,\n ref\n) {\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n onClickHandler();\n },\n [onClickHandler]\n );\n\n return (\n <button\n ref={ref}\n className={styles.hotspot}\n aria-haspopup=\"dialog\"\n aria-label={i18nStrings.labelHotspot(open, taskLocalStepIndex ?? 0, totalLocalSteps ?? 0)}\n onClick={onClick}\n >\n <AnnotationIcon open={open} />\n </button>\n );\n});\n"]}
1
+ {"version":3,"file":"annotation-trigger.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/annotation-trigger.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAYrC,eAAe,KAAK,CAAC,UAAU,CAA4C,SAAS,iBAAiB,CACnG,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAA0B,EAC3G,GAAG;IAEH,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,KAAuB,EAAE,EAAE;QAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,cAAc,EAAE,CAAC;IACnB,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO,CACL,gCACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,CAAC,OAAO,mBACX,QAAQ,gBACV,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,CAAC,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,CAAC,CAAC,EACzF,OAAO,EAAE,OAAO;QAEhB,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CACvB,CACV,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback } from 'react';\n\nimport { AnnotationContextProps } from '../interfaces';\nimport { AnnotationIcon } from './annotation-icon';\n\nimport styles from './styles.css.js';\n\ninterface AnnotationTriggerProps {\n open: boolean;\n\n onClick: () => void;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n taskLocalStepIndex: number;\n totalLocalSteps: number;\n}\n\nexport default React.forwardRef<HTMLButtonElement, AnnotationTriggerProps>(function AnnotationTrigger(\n { open, onClick: onClickHandler, i18nStrings, taskLocalStepIndex, totalLocalSteps }: AnnotationTriggerProps,\n ref\n) {\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n onClickHandler();\n },\n [onClickHandler]\n );\n\n return (\n <button\n ref={ref}\n className={styles.hotspot}\n aria-haspopup=\"dialog\"\n aria-label={i18nStrings.labelHotspot(open, taskLocalStepIndex ?? 0, totalLocalSteps ?? 0)}\n onClick={onClick}\n >\n <AnnotationIcon open={open} />\n </button>\n );\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { AnnotationContextProps } from '../interfaces';
3
- export interface AnnotationProps {
3
+ interface AnnotationProps {
4
4
  globalStepIndex: number;
5
5
  onOpen: (stepId: number) => void;
6
6
  i18nStrings: AnnotationContextProps['i18nStrings'];
@@ -9,4 +9,5 @@ export interface AnnotationProps {
9
9
  taskLocalStepIndex: number;
10
10
  }
11
11
  export declare function ClosedAnnotation({ globalStepIndex, onOpen, i18nStrings, focusOnRender, totalLocalSteps, taskLocalStepIndex, }: AnnotationProps): JSX.Element;
12
+ export {};
12
13
  //# sourceMappingURL=closed-annotation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"closed-annotation.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/closed-annotation.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IAExB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEnD,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,EAAE,eAAe,eAsBjB"}
1
+ {"version":3,"file":"closed-annotation.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/closed-annotation.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGvD,UAAU,eAAe;IACvB,eAAe,EAAE,MAAM,CAAC;IAExB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEnD,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,GACnB,EAAE,eAAe,eAsBjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"closed-annotation.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/closed-annotation.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGhE,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAcrD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,GACF;IAChB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,IAAI,UAAU,EAAE;YAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,oBAAC,iBAAiB,IAChB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,aAAa,EAClB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { AnnotationContextProps } from '../interfaces';\nimport AnnotationTrigger from './annotation-trigger';\n\nexport interface AnnotationProps {\n globalStepIndex: number;\n\n onOpen: (stepId: number) => void;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n\n focusOnRender: boolean;\n totalLocalSteps: number;\n taskLocalStepIndex: number;\n}\n\nexport function ClosedAnnotation({\n globalStepIndex,\n onOpen,\n i18nStrings,\n focusOnRender,\n totalLocalSteps,\n taskLocalStepIndex,\n}: AnnotationProps) {\n const [hotspotRef, setHotspotRef] = useState<HTMLButtonElement | null>(null);\n const onClick = useCallback(() => {\n onOpen(globalStepIndex);\n }, [globalStepIndex, onOpen]);\n\n useEffect(() => {\n if (focusOnRender && hotspotRef) {\n hotspotRef.focus();\n }\n }, [focusOnRender, hotspotRef]);\n\n return (\n <AnnotationTrigger\n open={false}\n onClick={onClick}\n i18nStrings={i18nStrings}\n ref={setHotspotRef}\n totalLocalSteps={totalLocalSteps}\n taskLocalStepIndex={taskLocalStepIndex}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"closed-annotation.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/closed-annotation.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGhE,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AAcrD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,GACF;IAChB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,IAAI,UAAU,EAAE;YAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,oBAAC,iBAAiB,IAChB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,aAAa,EAClB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,GACtC,CACH,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { AnnotationContextProps } from '../interfaces';\nimport AnnotationTrigger from './annotation-trigger';\n\ninterface AnnotationProps {\n globalStepIndex: number;\n\n onOpen: (stepId: number) => void;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n\n focusOnRender: boolean;\n totalLocalSteps: number;\n taskLocalStepIndex: number;\n}\n\nexport function ClosedAnnotation({\n globalStepIndex,\n onOpen,\n i18nStrings,\n focusOnRender,\n totalLocalSteps,\n taskLocalStepIndex,\n}: AnnotationProps) {\n const [hotspotRef, setHotspotRef] = useState<HTMLButtonElement | null>(null);\n const onClick = useCallback(() => {\n onOpen(globalStepIndex);\n }, [globalStepIndex, onOpen]);\n\n useEffect(() => {\n if (focusOnRender && hotspotRef) {\n hotspotRef.focus();\n }\n }, [focusOnRender, hotspotRef]);\n\n return (\n <AnnotationTrigger\n open={false}\n onClick={onClick}\n i18nStrings={i18nStrings}\n ref={setHotspotRef}\n totalLocalSteps={totalLocalSteps}\n taskLocalStepIndex={taskLocalStepIndex}\n />\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { HotspotProps } from '../../hotspot/interfaces';
3
3
  import { AnnotationContextProps } from '../interfaces';
4
- export interface AnnotationProps {
4
+ interface AnnotationProps {
5
5
  title: string;
6
6
  content: React.ReactNode;
7
7
  alert?: React.ReactNode;
@@ -19,4 +19,5 @@ export interface AnnotationProps {
19
19
  i18nStrings: AnnotationContextProps['i18nStrings'];
20
20
  }
21
21
  export declare function OpenAnnotation({ title, content, alert, direction, showPreviousButton, showFinishButton, taskLocalStepIndex, totalLocalSteps, onDismiss, nextButtonEnabled, onNextButtonClick, onFinish, previousButtonEnabled, onPreviousButtonClick, i18nStrings, }: AnnotationProps): JSX.Element;
22
+ export {};
22
23
  //# sourceMappingURL=open-annotation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-annotation.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/open-annotation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAErC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAE9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAElC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,kBAAkB,EAAE,MAAM,CAAC;IAE3B,eAAe,EAAE,MAAM,CAAC;IAExB,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,KAAK,EAEL,SAAS,EAET,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,eAAe,EAEf,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EAEjB,QAAQ,EAER,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,EAAE,eAAe,eAkCjB"}
1
+ {"version":3,"file":"open-annotation.d.ts","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/open-annotation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvD,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAErC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAE9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAElC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,kBAAkB,EAAE,MAAM,CAAC;IAE3B,eAAe,EAAE,MAAM,CAAC;IAExB,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,KAAK,EAEL,SAAS,EAET,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,eAAe,EAEf,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EAEjB,QAAQ,EAER,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,EAAE,eAAe,eAkCjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"open-annotation.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/open-annotation.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AA6BrD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,KAAK,EAEL,SAAS,EAET,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,eAAe,EAEf,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EAEjB,QAAQ,EAER,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACK;IAChB,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEjD,OAAO,CACL;QACE,oBAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,QAAQ,EACb,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,GACtC;QAEF,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACZ,CACD,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\n\nimport { HotspotProps } from '../../hotspot/interfaces';\nimport { AnnotationContextProps } from '../interfaces';\nimport { AnnotationPopover } from './annotation-popover';\nimport AnnotationTrigger from './annotation-trigger';\n\nexport interface AnnotationProps {\n title: string;\n content: React.ReactNode;\n alert?: React.ReactNode;\n\n direction: HotspotProps['direction'];\n\n nextButtonEnabled: boolean;\n onNextButtonClick: () => void;\n\n onFinish: () => void;\n\n previousButtonEnabled: boolean;\n onPreviousButtonClick: () => void;\n\n showPreviousButton: boolean;\n showFinishButton: boolean;\n\n taskLocalStepIndex: number;\n\n totalLocalSteps: number;\n\n onDismiss: () => void;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n}\n\nexport function OpenAnnotation({\n title,\n content,\n alert,\n\n direction,\n\n showPreviousButton,\n showFinishButton,\n taskLocalStepIndex,\n\n totalLocalSteps,\n\n onDismiss,\n\n nextButtonEnabled,\n onNextButtonClick,\n\n onFinish,\n\n previousButtonEnabled,\n onPreviousButtonClick,\n i18nStrings,\n}: AnnotationProps) {\n const trackRef = useRef<HTMLButtonElement>(null);\n\n return (\n <>\n <AnnotationTrigger\n open={true}\n onClick={onDismiss}\n i18nStrings={i18nStrings}\n ref={trackRef}\n totalLocalSteps={totalLocalSteps}\n taskLocalStepIndex={taskLocalStepIndex}\n />\n\n <AnnotationPopover\n trackRef={trackRef}\n previousButtonEnabled={previousButtonEnabled}\n showPreviousButton={showPreviousButton}\n showFinishButton={showFinishButton}\n totalLocalSteps={totalLocalSteps}\n i18nStrings={i18nStrings}\n nextButtonEnabled={nextButtonEnabled}\n onDismiss={onDismiss}\n onFinish={onFinish}\n onNextButtonClick={onNextButtonClick}\n onPreviousButtonClick={onPreviousButtonClick}\n taskLocalStepIndex={taskLocalStepIndex}\n direction={direction}\n title={title}\n content={content}\n alert={alert}\n />\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"open-annotation.js","sourceRoot":"","sources":["../../../../src/annotation-context/annotation/open-annotation.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AA6BrD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,KAAK,EAEL,SAAS,EAET,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,eAAe,EAEf,SAAS,EAET,iBAAiB,EACjB,iBAAiB,EAEjB,QAAQ,EAER,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACK;IAChB,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEjD,OAAO,CACL;QACE,oBAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,QAAQ,EACb,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,GACtC;QAEF,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACZ,CACD,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\n\nimport { HotspotProps } from '../../hotspot/interfaces';\nimport { AnnotationContextProps } from '../interfaces';\nimport { AnnotationPopover } from './annotation-popover';\nimport AnnotationTrigger from './annotation-trigger';\n\ninterface AnnotationProps {\n title: string;\n content: React.ReactNode;\n alert?: React.ReactNode;\n\n direction: HotspotProps['direction'];\n\n nextButtonEnabled: boolean;\n onNextButtonClick: () => void;\n\n onFinish: () => void;\n\n previousButtonEnabled: boolean;\n onPreviousButtonClick: () => void;\n\n showPreviousButton: boolean;\n showFinishButton: boolean;\n\n taskLocalStepIndex: number;\n\n totalLocalSteps: number;\n\n onDismiss: () => void;\n\n i18nStrings: AnnotationContextProps['i18nStrings'];\n}\n\nexport function OpenAnnotation({\n title,\n content,\n alert,\n\n direction,\n\n showPreviousButton,\n showFinishButton,\n taskLocalStepIndex,\n\n totalLocalSteps,\n\n onDismiss,\n\n nextButtonEnabled,\n onNextButtonClick,\n\n onFinish,\n\n previousButtonEnabled,\n onPreviousButtonClick,\n i18nStrings,\n}: AnnotationProps) {\n const trackRef = useRef<HTMLButtonElement>(null);\n\n return (\n <>\n <AnnotationTrigger\n open={true}\n onClick={onDismiss}\n i18nStrings={i18nStrings}\n ref={trackRef}\n totalLocalSteps={totalLocalSteps}\n taskLocalStepIndex={taskLocalStepIndex}\n />\n\n <AnnotationPopover\n trackRef={trackRef}\n previousButtonEnabled={previousButtonEnabled}\n showPreviousButton={showPreviousButton}\n showFinishButton={showFinishButton}\n totalLocalSteps={totalLocalSteps}\n i18nStrings={i18nStrings}\n nextButtonEnabled={nextButtonEnabled}\n onDismiss={onDismiss}\n onFinish={onFinish}\n onNextButtonClick={onNextButtonClick}\n onPreviousButtonClick={onPreviousButtonClick}\n taskLocalStepIndex={taskLocalStepIndex}\n direction={direction}\n title={title}\n content={content}\n alert={alert}\n />\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAoB7F,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAkB1E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;4CA0jBrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAoB7F,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAc1E,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;4CA2jBrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -15,7 +15,8 @@ import { Drawer, DrawerTriggersBar } from './drawer';
15
15
  import { ResizableDrawer } from './drawer/resizable-drawer';
16
16
  import { MobileToolbar } from './mobile-toolbar';
17
17
  import { Notifications } from './notifications';
18
- import { SideSplitPanelDrawer, SPLIT_PANEL_MIN_WIDTH, SplitPanelProvider, } from './split-panel';
18
+ import { SideSplitPanelDrawer, SplitPanelProvider } from './split-panel';
19
+ import { shouldSplitPanelBeForcedToBottom } from './split-panel/split-panel-forced-position';
19
20
  import { togglesConfig } from './toggles';
20
21
  import { getStickyOffsetVars } from './utils/sticky-offsets';
21
22
  import { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';
@@ -168,8 +169,11 @@ const ClassicAppLayout = React.forwardRef((_a, ref) => {
168
169
  return closedDrawerWidth;
169
170
  };
170
171
  const effectiveToolsWidth = getEffectiveToolsWidth();
171
- // if there is no space to display split panel in the side, force to bottom
172
- const isSplitPanelForcedPosition = isMobile || resizableSpaceAvailable - effectiveToolsWidth < SPLIT_PANEL_MIN_WIDTH;
172
+ const availableWidthForSplitPanel = resizableSpaceAvailable - effectiveToolsWidth;
173
+ const isSplitPanelForcedPosition = shouldSplitPanelBeForcedToBottom({
174
+ isMobile,
175
+ availableWidthForSplitPanel,
176
+ });
173
177
  const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;
174
178
  const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';
175
179
  const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,cAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAE1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CACE,EAmC6B,EAC7B,GAAkC,EAClC,EAAE;;QArCF,EACE,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,KAAK,EACL,UAAU,EACV,SAAS,EACT,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,2BAA2B,EAC3B,OAAO,EACP,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EAAE,wBAAwB,EACxC,cAAc,EAAE,wBAAwB,EACxC,qBAAqB,EAAE,+BAA+B,EACtD,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EACd,cAAc,EAAE,wBAAwB,OAEb,EADxB,IAAI,cAlCT,qlBAmCC,CADQ;IAIT,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,OAAO,CAAE,IAAY,CAAC,kBAAkB,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,YAAY,CAAC,GAAG,eAAe,CAAC,mBAAmB,EAAE,aAAa,EAAE,KAAK,EAAE;QACnG,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,WAAW;QAC3B,aAAa,EAAE,eAAe;KAC/B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,CAAC,IAAa,EAAE,EAAE;QACtC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,UAAU,EAAE;YACd,mBAAmB,EAAE,CAAC;SACvB;aAAM;YACL,iBAAiB,EAAE,CAAC;SACrB;QACD,sBAAsB,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,GAAG,UAAU,iBAEV,OAAO,EAAE,iBAAiB,EAC1B,cAAc,EACd,cAAc,EAAE,wBAAwB,IACrC,IAAI,GAET,UAAU,EACV;QACE,mBAAmB,EAAE,IAAI;QACzB,UAAU;QACV,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,aAAa;KACd,CACF,CAAC;IACF,UAAU,GAAG,qBAAqB,CAAC;IACnC,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC;IAE7B,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC5F,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,cAAc,GAC1B,GAAG,eAAe,CAAC,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,gBAAgB,GAC5B,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAE5D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,IAAa,EAAE,EAAE;QAC7D,eAAe,EAAE,CAAC;QAClB,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,CAAC,MAAqB,EAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,CAAE,IAA0B,CAAC,IAAI,CACnE,CAAC;QACF,IAAI,OAAO,EAAE;YACX,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,wEAAwE;QACxE,IAAI,QAAQ,EAAE;YACZ,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEnC,MAAM,iBAAiB,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC;IAC5D,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IAE7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChE,yFAAyF;IACzF,+FAA+F;IAC/F,yEAAyE;IACzE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,CACpC,qBAAqB,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,CAC3E,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG;QACzB,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,gBAAgB,kBAAkB,KAAK;KAC5F,CAAC;IAEF,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,iBAAiB,IAAI,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;IACzE,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvF,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,eAAe,CACvE,+BAA+B,EAC/B,6BAA6B,EAC7B,SAAS,EACT;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,+BAA+B;KAC/C,CACF,CAAC;IACF,MAAM,CAAC,cAAc,GAAG,KAAK,EAAE,iBAAiB,CAAC,GAAG,eAAe,CACjE,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,oBAAoB;KACpC,CACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,QAAQ,KAAI,QAAQ,CAAC;IACvE,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAA4B;QAClG,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,wBAAwB,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC;IAErG,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,wBAAwB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAE3G,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAC3E,MAAM,CAAC,cAAc,GAAG,qBAAqB,EAAE,iBAAiB,CAAC,GAAG,eAAe,CACjF,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB;QACE,aAAa,EAAE,WAAW;QAC1B,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,oBAAoB;KACpC,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAEtD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,GAAG,yBAAyB,CAAC;QAC3G,qBAAqB;QACrB,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,0BAA0B,GAAG,WAAW,CAC5C,CAAC,MAAuC,EAAE,EAAE;QAC1C,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjC,4BAA4B,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,sBAAsB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,4BAA4B,CAAC,CACxF,CAAC;IACF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,OAAe,EAAE,EAAE;QAClB,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC,EACD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CACxC,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC,4BAA4B,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAE1F,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,GAAG,EAAE;QACpD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,OAAO,CAAC,CAAC,CAAC,sDAAsD;SACjE;aAAM,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,OAAO,EAAE;YAC3D,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;YACjE,OAAO,eAAe,GAAG,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,qBAAqB,CAAC;SAC9G;aAAM;YACL,MAAM,eAAe,GACnB,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC;YAC9F,OAAO,eAAe,GAAG,uBAAuB;gBAC9C,CAAC,CAAC,eAAe,GAAG,iCAAiC;gBACrD,CAAC,CAAC,eAAe,GAAG,qBAAqB,CAAC;SAC7C;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,sDAAsD;IACtD,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,CACtC,CAAC,EACD,SAAS,CAAC,UAAU,GAAG,wBAAwB,GAAG,eAAe,GAAG,cAAc,GAAG,mBAAmB,CACzG,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,gBAAgB,IAAI,YAAY,EAAE;YACpC,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;SAC5D;QAED,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,OAAO,CAAC,CAAC;SACV;QAED,IAAI,SAAS,EAAE;YACb,OAAO,UAAU,CAAC;SACnB;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IAErD,2EAA2E;IAC3E,MAAM,0BAA0B,GAC9B,QAAQ,IAAI,uBAAuB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;IACpF,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAE1F,MAAM,2BAA2B,GAAG,mBAAmB,IAAI,sBAAsB,KAAK,MAAM,CAAC;IAE7F,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,GAAG,mBAAmB,CAAC,CAAC;IAC1F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,GAAG,kBAAkB,CAAC,CAAC;IAEhF,MAAM,qBAAqB,GAAG,cAAc,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAEjF,MAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,8BAA8B,EAAE,iCAAiC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExF,MAAM,sBAAsB,GAA4B;QACtD,SAAS,EAAE,SAAS,CAAC,eAAe,GAAG,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,YAAY,EAAE,SAAS,CAAC,aAAa;QACrC,UAAU,EACR,SAAS,CAAC,gBAAgB;YAC1B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC9F,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,GAAG,mBAAmB,GAAG,mBAAmB;QAChG,QAAQ,EAAE,sBAAsB;QAChC,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,sBAAsB;QACpC,sBAAsB;QACtB,kBAAkB,EAAE,oBAAoB;QACxC,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,0BAA0B;QAC5C,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,yBAAyB;QACnC,mBAAmB,EAAE,0BAA0B;QAC/C,mBAAmB,EAAE,2BAA2B;QAChD,UAAU,EAAE,yBAAyB;QACrC,kBAAkB,EAAE,iCAAiC;QACrD,IAAI,EAAE,cAAc;KACrB,CAAC;IACF,MAAM,iBAAiB,GAAG,UAAU,IAAI,CACtC,oBAAC,kBAAkB,oBAAK,sBAAsB,GAC3C,sBAAsB,KAAK,MAAM,CAAC,CAAC,CAAC,CACnC,oBAAC,oBAAoB,IAAC,SAAS,EAAE,mBAAmB,IAAG,UAAU,CAAwB,CAC1F,CAAC,CAAC,CAAC,CACF,UAAU,CACX,CACkB,CACtB,CAAC;IAEF,MAAM,mBAAmB,GAAwB;QAC/C,WAAW;QACX,iBAAiB,EAAE,cAAc,IAAI,CAAC,CAAC,cAAc;QACrD,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;QACpG,YAAY;QACV,uDAAuD;QACvD,yEAAyE;QACzE,SAAS;YACT,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,mBAAmB,IAAI,sBAAsB,KAAK,MAAM,CAAC,CAAC;YAC5F,qCAAqC;YACrC,YAAY;YACZ,0CAA0C;YAC1C,CAAC,2BAA2B,IAAI,cAAc,CAAC;QACjD,QAAQ;KACT,CAAC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;QACpC,0BAA0B,EAAE,GAAG,EAAE;YAC/B,IAAI,QAAQ,EAAE;gBACZ,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAC3B;QACH,CAAC;QACD,eAAe,EAAE,GAAG,EAAE;YACpB,IAAI,UAAU,EAAE;gBACd,mBAAmB,CAAC,IAAI,CAAC,CAAC;aAC3B;iBAAM;gBACL,iBAAiB,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC;QACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAClD,eAAe,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,cAAc,CAAC,MAAM,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA;KAC9D,CAAC,CAAC,CAAC;IAEJ,MAAM,sBAAsB,GAC1B,MAAA,CAAC,CAAC,mBAAmB,IAAI,sBAAsB,KAAK,QAAQ;QAC1D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,cAAc;YACd,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,8BAA8B,CAAC,mCAAI,SAAS,CAAC;IAErD,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEzF,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAChG,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB;QAExB,QAAQ,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,IAAI,CACpF,oBAAC,aAAa,IACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAC1E,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAChD,WAAW,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACtC,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,WAAW,CAAC,EAAE;gBAC5B,oBAAoB,CAAC,WAAW,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,WAAW,KAAK,cAAc,EAAE;oBAClC,iBAAiB,EAAE,CAAC;oBACpB,mBAAmB,EAAE,CAAC;iBACvB;YACH,CAAC,IAEA,WAAW,CACE,CACjB;QACD,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACjF,CAAC,cAAc,IAAI,CAClB,oBAAC,MAAM,IACL,gBAAgB,EAAE,cAAc,CAAC,UAAU,EAC3C,eAAe,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACpD,cAAc,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAClD,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAC1D,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAC,YAAY,EACjB,KAAK,EAAE,eAAe,IAErB,UAAU,CACJ,CACV;YACD,8BACE,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;oBACrC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,iBAAiB;oBACrD,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,EAAE,iBAAiB;oBAC/D,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,YAAY;iBAC/C,CAAC;gBAEF,6BACE,KAAK,EAAE;wBACL,YAAY,EAAE,sBAAsB;qBACrC;oBAEA,aAAa,IAAI,CAChB,oBAAC,aAAa,IACZ,sBAAsB,EAAE,sBAAsB,EAC9C,kBAAkB,EAAE,cAAc,CAAC,aAAa,EAChD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,EAC5D,MAAM,EAAE,CAAC,QAAQ,IAAI,mBAAmB,EACxC,GAAG,EAAE,gBAAgB,IAEpB,aAAa,CACA,CACjB;oBACA,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,aAAa,CAAC,IAAI,CAChD,oBAAC,cAAc,oBAAK,mBAAmB;wBACpC,CAAC,QAAQ,IAAI,WAAW,IAAI,CAC3B,6BAAK,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAG,WAAW,CAAO,CACrG;wBACA,aAAa,IAAI,CAChB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,wBAAwB,CAAC,EAChC,CAAC,wBAAwB,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,2BAA2B,CAAC,EAC9F,CAAC,wBAAwB,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,oCAAoC,CAAC,EACzF,CAAC,2BAA2B,IAAI,MAAM,CAAC,mCAAmC,CAAC,CAC5E,IAEA,aAAa,CACV,CACP,CACc,CAClB;oBACD,oBAAC,cAAc,oBACT,mBAAmB,IACvB,GAAG,EAAE,cAAc,EACnB,eAAe,EAAE,sBAAsB,EACvC,SAAS,EAAE,IAAI,CACb,CAAC,sBAAsB,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACpD,CAAC,sBAAsB;4BACrB,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;4BAC1B,CAAC,aAAa;4BACd,MAAM,CAAC,2BAA2B,CAAC,EACrC,cAAc,CAAC,OAAO,EACtB,CAAC,2BAA2B,IAAI,aAAa,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAC7E,CAAC,wBAAwB;4BACvB,CAAC,WAAW;4BACZ,CAAC,QAAQ;4BACT,CAAC,aAAa;4BACd,MAAM,CAAC,6BAA6B,CAAC,CACxC,EACD,KAAK,EAAE,mBAAmB,CACxB,SAAS,CAAC,eAAe,EACzB,SAAS,CAAC,aAAa,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC,EACvD,GAAG,yBAAyB,IAAI,EAChC,eAAe,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,KAAK,EACtE,CAAC,CAAC,iBAAiB,EACnB,QAAQ,CACT,KAEA,OAAO,CACO,CACb;gBACL,sBAAsB,KAAK,QAAQ,IAAI,iBAAiB,CACpD;YAEN,sBAAsB,KAAK,MAAM,IAAI,iBAAiB;YAEtD,UAAU,CAAC,CAAC,CAAC,CACZ,oBAAC,eAAe,IACd,gBAAgB,EAAE,IAAI,CACpB,cAAc,IAAI,cAAc,CAAC,eAAe,CAAC,EACjD,cAAc,KAAK,eAAe,IAAI,cAAc,CAAC,KAAK,CAC3D,EACD,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,EAC/C,cAAc,EAAE,IAAI,CAClB,cAAc,CAAC,4BAA4B,CAAC,EAC5C,cAAc,KAAK,eAAe,IAAI,cAAc,CAAC,aAAa,CAAC,CACpE,EACD,UAAU,EAAE;oBACV,SAAS,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,aAAa;oBAClD,UAAU,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,WAAW;oBACjD,SAAS,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,UAAU;oBAC/C,YAAY,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,YAAY;iBACrD,EACD,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACjB,IAAI,CAAC,MAAM,EAAE;wBACX,iBAAiB,EAAE,CAAC;wBACpB,mBAAmB,EAAE,CAAC;wBACtB,oBAAoB,CAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC7D;gBACH,CAAC,EACD,MAAM,EAAE,IAAI,EACZ,cAAc,EAAE,IAAI,EACpB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAC5D,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,eAAe,CAAC,0CAAE,OAAO,IAE5E,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CACN,CACnB,CAAC,CAAC,CAAC,CACF,CAAC,SAAS,IAAI,CACZ,oBAAC,MAAM,IACL,gBAAgB,EAAE,cAAc,CAAC,KAAK,EACtC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,EAC/C,cAAc,EAAE,cAAc,CAAC,aAAa,CAAC,EAC7C,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EACrD,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,SAAS,EACrB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,cAAc,IAE1B,KAAK,CACC,CACV,CACF;YACA,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,oBAAC,iBAAiB,IAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,SAAS,CAAC,aAAa,EACrC,SAAS,EAAE,SAAS,CAAC,eAAe,EACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,WAAW,CAAC,EAAE;oBAC5B,IAAI,cAAc,KAAK,WAAW,EAAE;wBAClC,iBAAiB,EAAE,CAAC;wBACpB,mBAAmB,EAAE,CAAC;qBACvB;oBACD,oBAAoB,CAAC,WAAW,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC,EACD,UAAU,EAAE,UAAU,GACtB,CACH,CACG,CACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { SplitPanelSideToggleProps } from '../internal/context/split-panel-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { Drawer, DrawerTriggersBar } from './drawer';\nimport { ResizableDrawer } from './drawer/resizable-drawer';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { Notifications } from './notifications';\nimport {\n SideSplitPanelDrawer,\n SPLIT_PANEL_MIN_WIDTH,\n SplitPanelProvider,\n SplitPanelProviderProps,\n} from './split-panel';\nimport { togglesConfig } from './toggles';\nimport { getStickyOffsetVars } from './utils/sticky-offsets';\nimport { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';\nimport { useFocusControl } from './utils/use-focus-control';\nimport { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';\n\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\n\nconst ClassicAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth,\n navigationHide,\n navigationOpen,\n tools,\n toolsWidth,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType,\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n placement,\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest\n }: AppLayoutPropsWithDefaults,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n // Private API for embedded view mode\n const __embeddedViewMode = Boolean((rest as any).__embeddedViewMode);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n\n const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, false, {\n componentName: 'AppLayout',\n controlledProp: 'toolsOpen',\n changeHandler: 'onToolsChange',\n });\n const onToolsToggle = (open: boolean) => {\n setToolsOpen(open);\n if (hasDrawers) {\n focusDrawersButtons();\n } else {\n focusToolsButtons();\n }\n fireNonCancelableEvent(onToolsChange, { open });\n };\n\n const {\n drawers,\n activeDrawer,\n minDrawerSize,\n activeDrawerSize,\n activeDrawerId,\n ariaLabelsWithDrawers,\n onActiveDrawerChange,\n onActiveDrawerResize,\n } = useDrawers(\n {\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest,\n },\n ariaLabels,\n {\n disableDrawersMerge: true,\n ariaLabels,\n tools,\n toolsOpen,\n toolsHide,\n toolsWidth,\n onToolsToggle,\n }\n );\n ariaLabels = ariaLabelsWithDrawers;\n const hasDrawers = !!drawers;\n\n const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);\n const {\n refs: toolsRefs,\n setFocus: focusToolsButtons,\n loseFocus: loseToolsFocus,\n } = useFocusControl(toolsOpen || activeDrawer !== undefined, true);\n const {\n refs: drawerRefs,\n setFocus: focusDrawersButtons,\n loseFocus: loseDrawersFocus,\n } = useFocusControl(!!activeDrawerId, true, activeDrawerId);\n\n const onNavigationToggle = useStableCallback((open: boolean) => {\n focusNavButtons();\n fireNonCancelableEvent(onNavigationChange, { open });\n });\n\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle(false);\n }\n };\n\n useEffect(() => {\n // Close navigation drawer on mobile so that the main content is visible\n if (isMobile) {\n onNavigationToggle(false);\n }\n }, [isMobile, onNavigationToggle]);\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const [headerFooterHeight, setHeaderFooterHeight] = useState(0);\n // Delay applying changes in header/footer height, as applying them immediately can cause\n // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects\n // further up the tree, therefore blocking notifications to prevent loops\n useEffect(() => {\n const id = requestAnimationFrame(() =>\n setHeaderFooterHeight(placement.insetBlockStart + placement.insetBlockEnd)\n );\n return () => cancelAnimationFrame(id);\n }, [placement.insetBlockStart, placement.insetBlockEnd]);\n const contentHeightStyle = {\n [disableBodyScroll ? 'blockSize' : 'minBlockSize']: `calc(100vh - ${headerFooterHeight}px)`,\n };\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? notificationsHeight ?? 0 : 0;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState<SplitPanelSideToggleProps>({\n displayed: false,\n ariaLabel: undefined,\n });\n const splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const { refs: splitPanelRefs, setLastInteraction: setSplitPanelLastInteraction } = useSplitPanelFocusControl([\n splitPanelPreferences,\n splitPanelOpen,\n ]);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n setSplitPanelLastInteraction({ type: 'position' });\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange, setSplitPanelLastInteraction]\n );\n const onSplitPanelSizeSet = useCallback(\n (newSize: number) => {\n setSplitPanelSize(newSize);\n fireNonCancelableEvent(onSplitPanelResize, { size: newSize });\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n\n const onSplitPanelToggleHandler = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);\n\n const getSplitPanelMaxHeight = useStableCallback(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight =\n document.documentElement.clientHeight - placement.insetBlockStart - placement.insetBlockEnd;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;\n const contentPadding = 80;\n // all content except split-panel + drawers/tools area\n const resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth\n );\n\n const getEffectiveToolsWidth = () => {\n if (activeDrawerSize && activeDrawer) {\n return Math.min(resizableSpaceAvailable, activeDrawerSize);\n }\n\n if (toolsHide || drawers) {\n return 0;\n }\n\n if (toolsOpen) {\n return toolsWidth;\n }\n\n return closedDrawerWidth;\n };\n\n const effectiveToolsWidth = getEffectiveToolsWidth();\n\n // if there is no space to display split panel in the side, force to bottom\n const isSplitPanelForcedPosition =\n isMobile || resizableSpaceAvailable - effectiveToolsWidth < SPLIT_PANEL_MIN_WIDTH;\n const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';\n\n const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;\n const sideSplitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);\n const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);\n\n const splitPanelContextProps: SplitPanelProviderProps = {\n topOffset: placement.insetBlockStart + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight : 0),\n bottomOffset: placement.insetBlockEnd,\n leftOffset:\n placement.insetInlineStart +\n (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: isMobile ? 0 : placement.insetInlineEnd + effectiveToolsWidth + rightDrawerBarWidth,\n position: finalSplitPanePosition,\n size: splitPanelSize,\n maxWidth: sideSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isForcedPosition: isSplitPanelForcedPosition,\n onResize: onSplitPanelSizeSet,\n onToggle: onSplitPanelToggleHandler,\n onPreferencesChange: onSplitPanelPreferencesSet,\n setSplitPanelToggle: setSplitPanelReportedToggle,\n reportSize: setSplitPanelReportedSize,\n reportHeaderHeight: setSplitPanelReportedHeaderHeight,\n refs: splitPanelRefs,\n };\n const splitPanelWrapped = splitPanel && (\n <SplitPanelProvider {...splitPanelContextProps}>\n {finalSplitPanePosition === 'side' ? (\n <SideSplitPanelDrawer displayed={splitPanelDisplayed}>{splitPanel}</SideSplitPanelDrawer>\n ) : (\n splitPanel\n )}\n </SplitPanelProvider>\n );\n\n const contentWrapperProps: ContentWrapperProps = {\n contentType,\n navigationPadding: navigationHide || !!navigationOpen,\n contentWidthStyles: !isMobile ? { minWidth: minContentWidth, maxWidth: maxContentWidth } : undefined,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n toolsHide ||\n (hasDrawers && !activeDrawer && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n (splitPaneAvailableOnTheSide && splitPanelOpen),\n isMobile,\n };\n\n useImperativeHandle(ref, () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle(false);\n }\n },\n focusToolsClose: () => {\n if (hasDrawers) {\n focusDrawersButtons(true);\n } else {\n focusToolsButtons(true);\n }\n },\n focusActiveDrawer: () => focusDrawersButtons(true),\n focusSplitPanel: () => splitPanelRefs.slider.current?.focus(),\n }));\n\n const splitPanelBottomOffset =\n (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelReportedSize\n : splitPanelReportedHeaderHeight) ?? undefined;\n\n const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n style={contentHeightStyle}\n >\n {isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={placement.insetBlockStart}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle(true)}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n mobileBarRef={mobileBarRef}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n if (newDrawerId !== activeDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n }}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <Drawer\n contentClassName={testutilStyles.navigation}\n toggleClassName={testutilStyles['navigation-toggle']}\n closeClassName={testutilStyles['navigation-close']}\n ariaLabels={togglesConfig.navigation.getLabels(ariaLabels)}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n isOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onToggle={onNavigationToggle}\n toggleRefs={navigationRefs}\n type=\"navigation\"\n width={navigationWidth}\n >\n {navigation}\n </Drawer>\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n }}\n >\n {notifications && (\n <Notifications\n disableContentPaddings={disableContentPaddings}\n testUtilsClassName={testutilStyles.notifications}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : placement.insetBlockStart}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps}>\n {!isMobile && breadcrumbs && (\n <div className={clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}>{breadcrumbs}</div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n style={getStickyOffsetVars(\n placement.insetBlockStart,\n placement.insetBlockEnd + (splitPanelBottomOffset || 0),\n `${stickyNotificationsHeight}px`,\n mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px',\n !!disableBodyScroll,\n isMobile\n )}\n >\n {content}\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && splitPanelWrapped}\n </main>\n\n {finalSplitPanePosition === 'side' && splitPanelWrapped}\n\n {hasDrawers ? (\n <ResizableDrawer\n contentClassName={clsx(\n activeDrawerId && testutilStyles['active-drawer'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools\n )}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={clsx(\n testutilStyles['active-drawer-close-button'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']\n )}\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n resizeHandle: activeDrawer?.ariaLabels?.resizeHandle,\n }}\n minWidth={minDrawerSize}\n maxWidth={drawerMaxSize}\n width={activeDrawerSize}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={isOpen => {\n if (!isOpen) {\n focusToolsButtons();\n focusDrawersButtons();\n onActiveDrawerChange(null, { initiatedByUserAction: true });\n }\n }}\n isOpen={true}\n hideOpenButton={true}\n toggleRefs={drawerRefs}\n type=\"tools\"\n onLoseFocus={loseDrawersFocus}\n activeDrawer={activeDrawer}\n onResize={changeDetail => onActiveDrawerResize(changeDetail)}\n refs={drawerRefs}\n toolsContent={drawers?.find(drawer => drawer.id === TOOLS_DRAWER_ID)?.content}\n >\n {activeDrawer?.content}\n </ResizableDrawer>\n ) : (\n !toolsHide && (\n <Drawer\n contentClassName={testutilStyles.tools}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={testutilStyles['tools-close']}\n ariaLabels={togglesConfig.tools.getLabels(ariaLabels)}\n width={toolsWidth}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={onToolsToggle}\n isOpen={toolsOpen}\n toggleRefs={toolsRefs}\n type=\"tools\"\n onLoseFocus={loseToolsFocus}\n >\n {tools}\n </Drawer>\n )\n )}\n {hasDrawers && drawers.length > 0 && (\n <DrawerTriggersBar\n drawerRefs={drawerRefs}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n if (activeDrawerId !== newDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n }}\n ariaLabels={ariaLabels}\n />\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default ClassicAppLayout;\n"]}
1
+ {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../../src/app-layout/classic.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { SplitPanelSideToggleProps } from '../internal/context/split-panel-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport {\n CONSTRAINED_MAIN_PANEL_MIN_HEIGHT,\n CONSTRAINED_PAGE_HEIGHT,\n getSplitPanelDefaultSize,\n MAIN_PANEL_MIN_HEIGHT,\n} from '../split-panel/utils/size-utils';\nimport ContentWrapper, { ContentWrapperProps } from './content-wrapper';\nimport { Drawer, DrawerTriggersBar } from './drawer';\nimport { ResizableDrawer } from './drawer/resizable-drawer';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from './interfaces';\nimport { MobileToolbar } from './mobile-toolbar';\nimport { Notifications } from './notifications';\nimport { SideSplitPanelDrawer, SplitPanelProvider, SplitPanelProviderProps } from './split-panel';\nimport { shouldSplitPanelBeForcedToBottom } from './split-panel/split-panel-forced-position';\nimport { togglesConfig } from './toggles';\nimport { getStickyOffsetVars } from './utils/sticky-offsets';\nimport { TOOLS_DRAWER_ID, useDrawers } from './utils/use-drawers';\nimport { useFocusControl } from './utils/use-focus-control';\nimport { useSplitPanelFocusControl } from './utils/use-split-panel-focus-control';\n\nimport styles from './styles.css.js';\nimport testutilStyles from './test-classes/styles.css.js';\n\nconst ClassicAppLayout = React.forwardRef(\n (\n {\n navigation,\n navigationWidth,\n navigationHide,\n navigationOpen,\n tools,\n toolsWidth,\n toolsHide,\n toolsOpen: controlledToolsOpen,\n breadcrumbs,\n notifications,\n stickyNotifications,\n contentHeader,\n disableContentHeaderOverlap,\n content,\n contentType,\n disableContentPaddings,\n disableBodyScroll,\n maxContentWidth,\n minContentWidth,\n placement,\n ariaLabels,\n splitPanel,\n splitPanelSize: controlledSplitPanelSize,\n splitPanelOpen: controlledSplitPanelOpen,\n splitPanelPreferences: controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n onSplitPanelResize,\n onSplitPanelToggle,\n onNavigationChange,\n onToolsChange,\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest\n }: AppLayoutPropsWithDefaults,\n ref: React.Ref<AppLayoutProps.Ref>\n ) => {\n // Private API for embedded view mode\n const __embeddedViewMode = Boolean((rest as any).__embeddedViewMode);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const isMobile = useMobile();\n\n const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, false, {\n componentName: 'AppLayout',\n controlledProp: 'toolsOpen',\n changeHandler: 'onToolsChange',\n });\n const onToolsToggle = (open: boolean) => {\n setToolsOpen(open);\n if (hasDrawers) {\n focusDrawersButtons();\n } else {\n focusToolsButtons();\n }\n fireNonCancelableEvent(onToolsChange, { open });\n };\n\n const {\n drawers,\n activeDrawer,\n minDrawerSize,\n activeDrawerSize,\n activeDrawerId,\n ariaLabelsWithDrawers,\n onActiveDrawerChange,\n onActiveDrawerResize,\n } = useDrawers(\n {\n drawers: controlledDrawers,\n onDrawerChange,\n activeDrawerId: controlledActiveDrawerId,\n ...rest,\n },\n ariaLabels,\n {\n disableDrawersMerge: true,\n ariaLabels,\n tools,\n toolsOpen,\n toolsHide,\n toolsWidth,\n onToolsToggle,\n }\n );\n ariaLabels = ariaLabelsWithDrawers;\n const hasDrawers = !!drawers;\n\n const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);\n const {\n refs: toolsRefs,\n setFocus: focusToolsButtons,\n loseFocus: loseToolsFocus,\n } = useFocusControl(toolsOpen || activeDrawer !== undefined, true);\n const {\n refs: drawerRefs,\n setFocus: focusDrawersButtons,\n loseFocus: loseDrawersFocus,\n } = useFocusControl(!!activeDrawerId, true, activeDrawerId);\n\n const onNavigationToggle = useStableCallback((open: boolean) => {\n focusNavButtons();\n fireNonCancelableEvent(onNavigationChange, { open });\n });\n\n const onNavigationClick = (event: React.MouseEvent) => {\n const hasLink = findUpUntil(\n event.target as HTMLElement,\n node => node.tagName === 'A' && !!(node as HTMLAnchorElement).href\n );\n if (hasLink) {\n onNavigationToggle(false);\n }\n };\n\n useEffect(() => {\n // Close navigation drawer on mobile so that the main content is visible\n if (isMobile) {\n onNavigationToggle(false);\n }\n }, [isMobile, onNavigationToggle]);\n\n const navigationVisible = !navigationHide && navigationOpen;\n const toolsVisible = !toolsHide && toolsOpen;\n\n const [headerFooterHeight, setHeaderFooterHeight] = useState(0);\n // Delay applying changes in header/footer height, as applying them immediately can cause\n // ResizeOberver warnings due to the algorithm thinking that the change might have side-effects\n // further up the tree, therefore blocking notifications to prevent loops\n useEffect(() => {\n const id = requestAnimationFrame(() =>\n setHeaderFooterHeight(placement.insetBlockStart + placement.insetBlockEnd)\n );\n return () => cancelAnimationFrame(id);\n }, [placement.insetBlockStart, placement.insetBlockEnd]);\n const contentHeightStyle = {\n [disableBodyScroll ? 'blockSize' : 'minBlockSize']: `calc(100vh - ${headerFooterHeight}px)`,\n };\n\n const [notificationsHeight, notificationsRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const anyPanelOpen = navigationVisible || toolsVisible || !!activeDrawer;\n const hasRenderedNotifications = notificationsHeight ? notificationsHeight > 0 : false;\n const stickyNotificationsHeight = stickyNotifications ? notificationsHeight ?? 0 : 0;\n\n const [splitPanelPreferences, setSplitPanelPreferences] = useControllable(\n controlledSplitPanelPreferences,\n onSplitPanelPreferencesChange,\n undefined,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelPreferences',\n changeHandler: 'onSplitPanelPreferencesChange',\n }\n );\n const [splitPanelOpen = false, setSplitPanelOpen] = useControllable(\n controlledSplitPanelOpen,\n onSplitPanelToggle,\n false,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelOpen',\n changeHandler: 'onSplitPanelToggle',\n }\n );\n\n const splitPanelPosition = splitPanelPreferences?.position || 'bottom';\n const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState<SplitPanelSideToggleProps>({\n displayed: false,\n ariaLabel: undefined,\n });\n const splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));\n\n const closedDrawerWidth = 40;\n const effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;\n\n const defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);\n const [splitPanelSize = defaultSplitPanelSize, setSplitPanelSize] = useControllable(\n controlledSplitPanelSize,\n onSplitPanelResize,\n defaultSplitPanelSize,\n {\n componentName: 'AppLayout',\n controlledProp: 'splitPanelSize',\n changeHandler: 'onSplitPanelResize',\n }\n );\n\n const mainContentRef = useRef<HTMLDivElement>(null);\n const legacyScrollRootRef = useRef<HTMLElement>(null);\n\n const { refs: splitPanelRefs, setLastInteraction: setSplitPanelLastInteraction } = useSplitPanelFocusControl([\n splitPanelPreferences,\n splitPanelOpen,\n ]);\n\n const onSplitPanelPreferencesSet = useCallback(\n (detail: { position: 'side' | 'bottom' }) => {\n setSplitPanelPreferences(detail);\n setSplitPanelLastInteraction({ type: 'position' });\n fireNonCancelableEvent(onSplitPanelPreferencesChange, detail);\n },\n [setSplitPanelPreferences, onSplitPanelPreferencesChange, setSplitPanelLastInteraction]\n );\n const onSplitPanelSizeSet = useCallback(\n (newSize: number) => {\n setSplitPanelSize(newSize);\n fireNonCancelableEvent(onSplitPanelResize, { size: newSize });\n },\n [setSplitPanelSize, onSplitPanelResize]\n );\n\n const onSplitPanelToggleHandler = useCallback(() => {\n setSplitPanelOpen(!splitPanelOpen);\n setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });\n fireNonCancelableEvent(onSplitPanelToggle, { open: !splitPanelOpen });\n }, [setSplitPanelOpen, splitPanelOpen, onSplitPanelToggle, setSplitPanelLastInteraction]);\n\n const getSplitPanelMaxHeight = useStableCallback(() => {\n if (typeof document === 'undefined') {\n return 0; // render the split panel in its minimum possible size\n } else if (disableBodyScroll && legacyScrollRootRef.current) {\n const availableHeight = legacyScrollRootRef.current.clientHeight;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT ? availableHeight : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n } else {\n const availableHeight =\n document.documentElement.clientHeight - placement.insetBlockStart - placement.insetBlockEnd;\n return availableHeight < CONSTRAINED_PAGE_HEIGHT\n ? availableHeight - CONSTRAINED_MAIN_PANEL_MIN_HEIGHT\n : availableHeight - MAIN_PANEL_MIN_HEIGHT;\n }\n });\n\n const rightDrawerBarWidth = drawers ? (drawers.length > 1 ? closedDrawerWidth : 0) : 0;\n const contentPadding = 80;\n // all content except split-panel + drawers/tools area\n const resizableSpaceAvailable = Math.max(\n 0,\n placement.inlineSize - effectiveNavigationWidth - minContentWidth - contentPadding - rightDrawerBarWidth\n );\n\n const getEffectiveToolsWidth = () => {\n if (activeDrawerSize && activeDrawer) {\n return Math.min(resizableSpaceAvailable, activeDrawerSize);\n }\n\n if (toolsHide || drawers) {\n return 0;\n }\n\n if (toolsOpen) {\n return toolsWidth;\n }\n\n return closedDrawerWidth;\n };\n\n const effectiveToolsWidth = getEffectiveToolsWidth();\n const availableWidthForSplitPanel = resizableSpaceAvailable - effectiveToolsWidth;\n const isSplitPanelForcedPosition = shouldSplitPanelBeForcedToBottom({\n isMobile,\n availableWidthForSplitPanel,\n });\n const finalSplitPanePosition = isSplitPanelForcedPosition ? 'bottom' : splitPanelPosition;\n\n const splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';\n\n const sideSplitPanelSize = splitPaneAvailableOnTheSide ? (splitPanelOpen ? splitPanelSize : closedDrawerWidth) : 0;\n const sideSplitPanelMaxWidth = Math.max(0, resizableSpaceAvailable - effectiveToolsWidth);\n const drawerMaxSize = Math.max(0, resizableSpaceAvailable - sideSplitPanelSize);\n\n const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;\n\n const contentMaxWidthStyle = !isMobile ? { maxWidth: maxContentWidth } : undefined;\n\n const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);\n const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);\n\n const splitPanelContextProps: SplitPanelProviderProps = {\n topOffset: placement.insetBlockStart + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight : 0),\n bottomOffset: placement.insetBlockEnd,\n leftOffset:\n placement.insetInlineStart +\n (isMobile ? 0 : !navigationHide && navigationOpen ? navigationWidth : navigationClosedWidth),\n rightOffset: isMobile ? 0 : placement.insetInlineEnd + effectiveToolsWidth + rightDrawerBarWidth,\n position: finalSplitPanePosition,\n size: splitPanelSize,\n maxWidth: sideSplitPanelMaxWidth,\n getMaxHeight: getSplitPanelMaxHeight,\n disableContentPaddings,\n contentWidthStyles: contentMaxWidthStyle,\n isOpen: splitPanelOpen,\n isForcedPosition: isSplitPanelForcedPosition,\n onResize: onSplitPanelSizeSet,\n onToggle: onSplitPanelToggleHandler,\n onPreferencesChange: onSplitPanelPreferencesSet,\n setSplitPanelToggle: setSplitPanelReportedToggle,\n reportSize: setSplitPanelReportedSize,\n reportHeaderHeight: setSplitPanelReportedHeaderHeight,\n refs: splitPanelRefs,\n };\n const splitPanelWrapped = splitPanel && (\n <SplitPanelProvider {...splitPanelContextProps}>\n {finalSplitPanePosition === 'side' ? (\n <SideSplitPanelDrawer displayed={splitPanelDisplayed}>{splitPanel}</SideSplitPanelDrawer>\n ) : (\n splitPanel\n )}\n </SplitPanelProvider>\n );\n\n const contentWrapperProps: ContentWrapperProps = {\n contentType,\n navigationPadding: navigationHide || !!navigationOpen,\n contentWidthStyles: !isMobile ? { minWidth: minContentWidth, maxWidth: maxContentWidth } : undefined,\n toolsPadding:\n // tools padding is displayed in one of the three cases\n // 1. Nothing on the that screen edge (no tools panel and no split panel)\n toolsHide ||\n (hasDrawers && !activeDrawer && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||\n // 2. Tools panel is present and open\n toolsVisible ||\n // 3. Split panel is open in side position\n (splitPaneAvailableOnTheSide && splitPanelOpen),\n isMobile,\n };\n\n useImperativeHandle(ref, () => ({\n openTools: () => onToolsToggle(true),\n closeNavigationIfNecessary: () => {\n if (isMobile) {\n onNavigationToggle(false);\n }\n },\n focusToolsClose: () => {\n if (hasDrawers) {\n focusDrawersButtons(true);\n } else {\n focusToolsButtons(true);\n }\n },\n focusActiveDrawer: () => focusDrawersButtons(true),\n focusSplitPanel: () => splitPanelRefs.slider.current?.focus(),\n }));\n\n const splitPanelBottomOffset =\n (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'\n ? undefined\n : splitPanelOpen\n ? splitPanelReportedSize\n : splitPanelReportedHeaderHeight) ?? undefined;\n\n const [mobileBarHeight, mobileBarRef] = useContainerQuery(rect => rect.contentBoxHeight);\n\n return (\n <div\n className={clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll'])}\n ref={rootRef}\n style={contentHeightStyle}\n >\n {isMobile && !__embeddedViewMode && (!toolsHide || !navigationHide || breadcrumbs) && (\n <MobileToolbar\n anyPanelOpen={anyPanelOpen}\n toggleRefs={{ navigation: navigationRefs.toggle, tools: toolsRefs.toggle }}\n topOffset={placement.insetBlockStart}\n ariaLabels={ariaLabels}\n navigationHide={navigationHide}\n toolsHide={toolsHide}\n onNavigationOpen={() => onNavigationToggle(true)}\n onToolsOpen={() => onToolsToggle(true)}\n unfocusable={anyPanelOpen}\n mobileBarRef={mobileBarRef}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n if (newDrawerId !== activeDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n }}\n >\n {breadcrumbs}\n </MobileToolbar>\n )}\n <div className={clsx(styles.layout, disableBodyScroll && styles['layout-no-scroll'])}>\n {!navigationHide && (\n <Drawer\n contentClassName={testutilStyles.navigation}\n toggleClassName={testutilStyles['navigation-toggle']}\n closeClassName={testutilStyles['navigation-close']}\n ariaLabels={togglesConfig.navigation.getLabels(ariaLabels)}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n isOpen={navigationOpen}\n onClick={isMobile ? onNavigationClick : undefined}\n onToggle={onNavigationToggle}\n toggleRefs={navigationRefs}\n type=\"navigation\"\n width={navigationWidth}\n >\n {navigation}\n </Drawer>\n )}\n <main\n ref={legacyScrollRootRef}\n className={clsx(styles['layout-main'], {\n [styles['layout-main-scrollable']]: disableBodyScroll,\n [testutilStyles['disable-body-scroll-root']]: disableBodyScroll,\n [styles.unfocusable]: isMobile && anyPanelOpen,\n })}\n >\n <div\n style={{\n marginBottom: splitPanelBottomOffset,\n }}\n >\n {notifications && (\n <Notifications\n disableContentPaddings={disableContentPaddings}\n testUtilsClassName={testutilStyles.notifications}\n labels={ariaLabels}\n topOffset={disableBodyScroll ? 0 : placement.insetBlockStart}\n sticky={!isMobile && stickyNotifications}\n ref={notificationsRef}\n >\n {notifications}\n </Notifications>\n )}\n {((!isMobile && breadcrumbs) || contentHeader) && (\n <ContentWrapper {...contentWrapperProps}>\n {!isMobile && breadcrumbs && (\n <div className={clsx(testutilStyles.breadcrumbs, styles['breadcrumbs-desktop'])}>{breadcrumbs}</div>\n )}\n {contentHeader && (\n <div\n className={clsx(\n styles['content-header-wrapper'],\n !hasRenderedNotifications && (isMobile || !breadcrumbs) && styles['content-extra-top-padding'],\n !hasRenderedNotifications && !breadcrumbs && styles['content-header-wrapper-first-child'],\n !disableContentHeaderOverlap && styles['content-header-wrapper-overlapped']\n )}\n >\n {contentHeader}\n </div>\n )}\n </ContentWrapper>\n )}\n <ContentWrapper\n {...contentWrapperProps}\n ref={mainContentRef}\n disablePaddings={disableContentPaddings}\n className={clsx(\n !disableContentPaddings && styles['content-wrapper'],\n !disableContentPaddings &&\n (isMobile || !breadcrumbs) &&\n !contentHeader &&\n styles['content-extra-top-padding'],\n testutilStyles.content,\n !disableContentHeaderOverlap && contentHeader && styles['content-overlapped'],\n !hasRenderedNotifications &&\n !breadcrumbs &&\n !isMobile &&\n !contentHeader &&\n styles['content-wrapper-first-child']\n )}\n style={getStickyOffsetVars(\n placement.insetBlockStart,\n placement.insetBlockEnd + (splitPanelBottomOffset || 0),\n `${stickyNotificationsHeight}px`,\n mobileBarHeight && !disableBodyScroll ? `${mobileBarHeight}px` : '0px',\n !!disableBodyScroll,\n isMobile\n )}\n >\n {content}\n </ContentWrapper>\n </div>\n {finalSplitPanePosition === 'bottom' && splitPanelWrapped}\n </main>\n\n {finalSplitPanePosition === 'side' && splitPanelWrapped}\n\n {hasDrawers ? (\n <ResizableDrawer\n contentClassName={clsx(\n activeDrawerId && testutilStyles['active-drawer'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles.tools\n )}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={clsx(\n testutilStyles['active-drawer-close-button'],\n activeDrawerId === TOOLS_DRAWER_ID && testutilStyles['tools-close']\n )}\n ariaLabels={{\n openLabel: activeDrawer?.ariaLabels?.triggerButton,\n closeLabel: activeDrawer?.ariaLabels?.closeButton,\n mainLabel: activeDrawer?.ariaLabels?.drawerName,\n resizeHandle: activeDrawer?.ariaLabels?.resizeHandle,\n }}\n minWidth={minDrawerSize}\n maxWidth={drawerMaxSize}\n width={activeDrawerSize}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={isOpen => {\n if (!isOpen) {\n focusToolsButtons();\n focusDrawersButtons();\n onActiveDrawerChange(null, { initiatedByUserAction: true });\n }\n }}\n isOpen={true}\n hideOpenButton={true}\n toggleRefs={drawerRefs}\n type=\"tools\"\n onLoseFocus={loseDrawersFocus}\n activeDrawer={activeDrawer}\n onResize={changeDetail => onActiveDrawerResize(changeDetail)}\n refs={drawerRefs}\n toolsContent={drawers?.find(drawer => drawer.id === TOOLS_DRAWER_ID)?.content}\n >\n {activeDrawer?.content}\n </ResizableDrawer>\n ) : (\n !toolsHide && (\n <Drawer\n contentClassName={testutilStyles.tools}\n toggleClassName={testutilStyles['tools-toggle']}\n closeClassName={testutilStyles['tools-close']}\n ariaLabels={togglesConfig.tools.getLabels(ariaLabels)}\n width={toolsWidth}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n onToggle={onToolsToggle}\n isOpen={toolsOpen}\n toggleRefs={toolsRefs}\n type=\"tools\"\n onLoseFocus={loseToolsFocus}\n >\n {tools}\n </Drawer>\n )\n )}\n {hasDrawers && drawers.length > 0 && (\n <DrawerTriggersBar\n drawerRefs={drawerRefs}\n bottomOffset={placement.insetBlockEnd}\n topOffset={placement.insetBlockStart}\n isMobile={isMobile}\n drawers={drawers}\n activeDrawerId={activeDrawerId}\n onDrawerChange={newDrawerId => {\n if (activeDrawerId !== newDrawerId) {\n focusToolsButtons();\n focusDrawersButtons();\n }\n onActiveDrawerChange(newDrawerId, { initiatedByUserAction: true });\n }}\n ariaLabels={ariaLabels}\n />\n )}\n </div>\n </div>\n );\n }\n);\n\nexport default ClassicAppLayout;\n"]}
@@ -1,8 +1,9 @@
1
1
  import { AppLayoutProps } from './interfaces';
2
- export interface AppLayoutState {
2
+ interface AppLayoutState {
3
3
  navigationOpen?: boolean;
4
4
  minContentWidth: number;
5
5
  maxContentWidth?: number | undefined;
6
6
  }
7
7
  export declare function applyDefaults(contentType: AppLayoutProps.ContentType, stateFromProps: Pick<AppLayoutProps, 'minContentWidth' | 'maxContentWidth' | 'navigationOpen' | 'toolsOpen'>, isRefresh: boolean): AppLayoutState;
8
+ export {};
8
9
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqC9C,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,cAAc,CAAC,WAAW,EACvC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,CAAC,EAC5G,SAAS,EAAE,OAAO,GACjB,cAAc,CAUhB"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqC9C,UAAU,cAAc;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,cAAc,CAAC,WAAW,EACvC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,CAAC,EAC5G,SAAS,EAAE,OAAO,GACjB,cAAc,CAUhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":"AAIA,MAAM,uBAAuB,GAAmB;IAC9C,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,MAAM,QAAQ,GAAuD;IACnE,OAAO,oBACF,uBAAuB,CAC3B;IACD,SAAS,oBACJ,uBAAuB,CAC3B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,GAAG;KACrB;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AAQF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA4G,EAC5G,SAAkB;;IAElB,MAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,iCAAM,QAAQ,CAAC,WAAW,CAAC,KAAE,eAAe,EAAE,SAAS,IACxD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO;QACL,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,cAAc,EAAE,MAAA,cAAc,CAAC,cAAc,mCAAI,mBAAmB,CAAC,cAAc;KACpF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AppLayoutProps } from './interfaces';\n\nconst defaultContentTypeState: AppLayoutState = {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n};\n\nconst defaults: Record<AppLayoutProps.ContentType, AppLayoutState> = {\n default: {\n ...defaultContentTypeState,\n },\n dashboard: {\n ...defaultContentTypeState,\n },\n cards: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n form: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 800,\n },\n table: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n wizard: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 1080,\n },\n};\n\nexport interface AppLayoutState {\n navigationOpen?: boolean;\n minContentWidth: number;\n maxContentWidth?: number | undefined;\n}\n\nexport function applyDefaults(\n contentType: AppLayoutProps.ContentType,\n stateFromProps: Pick<AppLayoutProps, 'minContentWidth' | 'maxContentWidth' | 'navigationOpen' | 'toolsOpen'>,\n isRefresh: boolean\n): AppLayoutState {\n const contentTypeDefaults = isRefresh\n ? { ...defaults[contentType], maxContentWidth: undefined }\n : defaults[contentType];\n\n return {\n maxContentWidth: stateFromProps.maxContentWidth ?? contentTypeDefaults.maxContentWidth,\n minContentWidth: stateFromProps.minContentWidth ?? contentTypeDefaults.minContentWidth,\n navigationOpen: stateFromProps.navigationOpen ?? contentTypeDefaults.navigationOpen,\n };\n}\n"]}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":"AAIA,MAAM,uBAAuB,GAAmB;IAC9C,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,MAAM,QAAQ,GAAuD;IACnE,OAAO,oBACF,uBAAuB,CAC3B;IACD,SAAS,oBACJ,uBAAuB,CAC3B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,GAAG;KACrB;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AAQF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA4G,EAC5G,SAAkB;;IAElB,MAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,iCAAM,QAAQ,CAAC,WAAW,CAAC,KAAE,eAAe,EAAE,SAAS,IACxD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO;QACL,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,cAAc,EAAE,MAAA,cAAc,CAAC,cAAc,mCAAI,mBAAmB,CAAC,cAAc;KACpF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AppLayoutProps } from './interfaces';\n\nconst defaultContentTypeState: AppLayoutState = {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n};\n\nconst defaults: Record<AppLayoutProps.ContentType, AppLayoutState> = {\n default: {\n ...defaultContentTypeState,\n },\n dashboard: {\n ...defaultContentTypeState,\n },\n cards: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n form: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 800,\n },\n table: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n wizard: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 1080,\n },\n};\n\ninterface AppLayoutState {\n navigationOpen?: boolean;\n minContentWidth: number;\n maxContentWidth?: number | undefined;\n}\n\nexport function applyDefaults(\n contentType: AppLayoutProps.ContentType,\n stateFromProps: Pick<AppLayoutProps, 'minContentWidth' | 'maxContentWidth' | 'navigationOpen' | 'toolsOpen'>,\n isRefresh: boolean\n): AppLayoutState {\n const contentTypeDefaults = isRefresh\n ? { ...defaults[contentType], maxContentWidth: undefined }\n : defaults[contentType];\n\n return {\n maxContentWidth: stateFromProps.maxContentWidth ?? contentTypeDefaults.maxContentWidth,\n minContentWidth: stateFromProps.minContentWidth ?? contentTypeDefaults.minContentWidth,\n navigationOpen: stateFromProps.navigationOpen ?? contentTypeDefaults.navigationOpen,\n };\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export declare function shouldSplitPanelBeForcedToBottom({ isMobile, availableWidthForSplitPanel, }: {
2
+ isMobile: boolean;
3
+ availableWidthForSplitPanel: number;
4
+ }): boolean;
5
+ //# sourceMappingURL=split-panel-forced-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-panel-forced-position.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/split-panel-forced-position.ts"],"names":[],"mappings":"AA4BA,wBAAgB,gCAAgC,CAAC,EAC/C,QAAQ,EACR,2BAA2B,GAC5B,EAAE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,2BAA2B,EAAE,MAAM,CAAC;CACrC,WAMA"}
@@ -0,0 +1,30 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { browserScrollbarSize } from '../../internal/utils/browser-scrollbar-size';
4
+ import { SPLIT_PANEL_MIN_WIDTH } from './constants';
5
+ /**
6
+ * Even if the Split Panel is set to be displayed on the side, it will be forced to the bottom
7
+ * if the available space is less than 280px.
8
+ *
9
+ * We also have to account for the fact that after the split panel changes its position
10
+ * from bottom to side or vice versa, there is a chance that the content a scrollbar appears or disappears from the page,
11
+ * which changes the available space again. This could potentially lead to an infinite loop.
12
+ * To prevent that, we give the split panel some "resistance" to change from bottom to side
13
+ * (but not from side to bottom), requiring in this case some extra space on top of the "nominal" 280px.
14
+ */
15
+ function checkBasedOnPreviousPosition() {
16
+ let isForced = false; // Remember position for the next render
17
+ return (availableWidthForSplitPanel) => {
18
+ const minWidth = isForced ? SPLIT_PANEL_MIN_WIDTH + browserScrollbarSize().width : SPLIT_PANEL_MIN_WIDTH;
19
+ isForced = availableWidthForSplitPanel < minWidth;
20
+ return isForced;
21
+ };
22
+ }
23
+ const checkForcedPosition = checkBasedOnPreviousPosition();
24
+ export function shouldSplitPanelBeForcedToBottom({ isMobile, availableWidthForSplitPanel, }) {
25
+ if (isMobile) {
26
+ return true;
27
+ }
28
+ return checkForcedPosition(availableWidthForSplitPanel);
29
+ }
30
+ //# sourceMappingURL=split-panel-forced-position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-panel-forced-position.js","sourceRoot":"","sources":["../../../../src/app-layout/split-panel/split-panel-forced-position.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;GASG;AAEH,SAAS,4BAA4B;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,wCAAwC;IAC9D,OAAO,CAAC,2BAAmC,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,GAAG,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACzG,QAAQ,GAAG,2BAA2B,GAAG,QAAQ,CAAC;QAClD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG,4BAA4B,EAAE,CAAC;AAE3D,MAAM,UAAU,gCAAgC,CAAC,EAC/C,QAAQ,EACR,2BAA2B,GAI5B;IACC,IAAI,QAAQ,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { browserScrollbarSize } from '../../internal/utils/browser-scrollbar-size';\nimport { SPLIT_PANEL_MIN_WIDTH } from './constants';\n\n/**\n * Even if the Split Panel is set to be displayed on the side, it will be forced to the bottom\n * if the available space is less than 280px.\n *\n * We also have to account for the fact that after the split panel changes its position\n * from bottom to side or vice versa, there is a chance that the content a scrollbar appears or disappears from the page,\n * which changes the available space again. This could potentially lead to an infinite loop.\n * To prevent that, we give the split panel some \"resistance\" to change from bottom to side\n * (but not from side to bottom), requiring in this case some extra space on top of the \"nominal\" 280px.\n */\n\nfunction checkBasedOnPreviousPosition() {\n let isForced = false; // Remember position for the next render\n return (availableWidthForSplitPanel: number) => {\n const minWidth = isForced ? SPLIT_PANEL_MIN_WIDTH + browserScrollbarSize().width : SPLIT_PANEL_MIN_WIDTH;\n isForced = availableWidthForSplitPanel < minWidth;\n return isForced;\n };\n}\n\nconst checkForcedPosition = checkBasedOnPreviousPosition();\n\nexport function shouldSplitPanelBeForcedToBottom({\n isMobile,\n availableWidthForSplitPanel,\n}: {\n isMobile: boolean;\n availableWidthForSplitPanel: number;\n}) {\n if (isMobile) {\n return true;\n }\n\n return checkForcedPosition(availableWidthForSplitPanel);\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { AppLayoutProps } from '../interfaces';
3
3
  import { FocusControlRefs } from './use-focus-control';
4
- export interface DrawerResizeProps {
4
+ interface DrawerResizeProps {
5
5
  activeDrawer: AppLayoutProps.Drawer | undefined;
6
6
  activeDrawerSize: number;
7
7
  onActiveDrawerResize: (detail: {
@@ -1 +1 @@
1
- {"version":3,"file":"use-resize.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-resize.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,SAAS,CAChB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAChD,EACE,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GAChB,EAAE,iBAAiB;;;EAiDrB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-resize.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-resize.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,UAAU,iBAAiB;IACzB,YAAY,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,SAAS,CAChB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAChD,EACE,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GAChB,EAAE,iBAAiB;;;EAiDrB;AAED,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-resize.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-resize.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAIrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAY3D,SAAS,SAAS,CAChB,eAAgD,EAChD,EACE,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GACG;;IAEpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,uDAAuD;QACvD,kEAAkE;QAClE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACxC,MAAM,OAAO,GAAG,eAAe,CAAC;YAChC,eAAe,CAAC,CAAC,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAEnD,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,CAAC;QAE5B,IAAI,EAAE,IAAI,QAAQ,IAAI,eAAe,EAAE;YACrC,oBAAoB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;SACpC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAqB;QACzC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,WAAW,CAAC,MAAM;QAC7B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IAEF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,CACnB,oBAAC,iBAAiB,IAChB,GAAG,EAAE,WAAW,CAAC,MAAM,EACvB,QAAQ,EAAC,MAAM,EACf,SAAS,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,YAAY,EACjD,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GAClC,CACH,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC;AAED,eAAe,SAAS,CAAC","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 PanelResizeHandle from '../../internal/components/panel-resize-handle';\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { SizeControlProps } from './interfaces';\nimport { FocusControlRefs } from './use-focus-control';\nimport { useKeyboardEvents } from './use-keyboard-events';\nimport { usePointerEvents } from './use-pointer-events';\n\nimport testutilStyles from '../test-classes/styles.css.js';\n\nexport interface DrawerResizeProps {\n activeDrawer: AppLayoutProps.Drawer | undefined;\n activeDrawerSize: number;\n onActiveDrawerResize: (detail: { id: string; size: number }) => void;\n drawersRefs: FocusControlRefs;\n isToolsOpen: boolean;\n drawersMaxWidth: number;\n drawersMinWidth: number;\n}\n\nfunction useResize(\n drawerRefObject: React.RefObject<HTMLDivElement>,\n {\n activeDrawer,\n activeDrawerSize,\n onActiveDrawerResize,\n drawersRefs,\n isToolsOpen,\n drawersMinWidth,\n drawersMaxWidth,\n }: DrawerResizeProps\n) {\n const [relativeSize, setRelativeSize] = useState(0);\n\n const drawerSize = !activeDrawer && !isToolsOpen ? 0 : activeDrawerSize;\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = drawersMaxWidth;\n setRelativeSize(((drawerSize - drawersMinWidth) / (maxSize - drawersMinWidth)) * 100);\n });\n return () => cancelAnimationFrame(handle);\n }, [drawerSize, drawersMaxWidth, drawersMinWidth]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = drawersMaxWidth;\n const size = getLimitedValue(drawersMinWidth, width, maxWidth);\n const id = activeDrawer?.id;\n\n if (id && maxWidth >= drawersMinWidth) {\n onActiveDrawerResize({ size, id });\n }\n };\n\n const sizeControlProps: SizeControlProps = {\n position: 'side',\n panelRef: drawerRefObject,\n handleRef: drawersRefs.slider,\n onResize: setSidePanelWidth,\n };\n\n const onSliderPointerDown = usePointerEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const resizeHandle = (\n <PanelResizeHandle\n ref={drawersRefs.slider}\n position=\"side\"\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n ariaValuenow={relativeSize}\n className={testutilStyles['drawers-slider']}\n onKeyDown={onKeyDown}\n onPointerDown={onSliderPointerDown}\n />\n );\n\n return { resizeHandle, drawerSize };\n}\n\nexport default useResize;\n"]}
1
+ {"version":3,"file":"use-resize.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-resize.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAIrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAY3D,SAAS,SAAS,CAChB,eAAgD,EAChD,EACE,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,GACG;;IAEpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,uDAAuD;QACvD,kEAAkE;QAClE,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACxC,MAAM,OAAO,GAAG,eAAe,CAAC;YAChC,eAAe,CAAC,CAAC,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAEnD,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,CAAC;QAE5B,IAAI,EAAE,IAAI,QAAQ,IAAI,eAAe,EAAE;YACrC,oBAAoB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;SACpC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAqB;QACzC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,WAAW,CAAC,MAAM;QAC7B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IAEF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,CACnB,oBAAC,iBAAiB,IAChB,GAAG,EAAE,WAAW,CAAC,MAAM,EACvB,QAAQ,EAAC,MAAM,EACf,SAAS,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,YAAY,EACjD,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GAClC,CACH,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC;AAED,eAAe,SAAS,CAAC","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 PanelResizeHandle from '../../internal/components/panel-resize-handle';\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { SizeControlProps } from './interfaces';\nimport { FocusControlRefs } from './use-focus-control';\nimport { useKeyboardEvents } from './use-keyboard-events';\nimport { usePointerEvents } from './use-pointer-events';\n\nimport testutilStyles from '../test-classes/styles.css.js';\n\ninterface DrawerResizeProps {\n activeDrawer: AppLayoutProps.Drawer | undefined;\n activeDrawerSize: number;\n onActiveDrawerResize: (detail: { id: string; size: number }) => void;\n drawersRefs: FocusControlRefs;\n isToolsOpen: boolean;\n drawersMaxWidth: number;\n drawersMinWidth: number;\n}\n\nfunction useResize(\n drawerRefObject: React.RefObject<HTMLDivElement>,\n {\n activeDrawer,\n activeDrawerSize,\n onActiveDrawerResize,\n drawersRefs,\n isToolsOpen,\n drawersMinWidth,\n drawersMaxWidth,\n }: DrawerResizeProps\n) {\n const [relativeSize, setRelativeSize] = useState(0);\n\n const drawerSize = !activeDrawer && !isToolsOpen ? 0 : activeDrawerSize;\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = drawersMaxWidth;\n setRelativeSize(((drawerSize - drawersMinWidth) / (maxSize - drawersMinWidth)) * 100);\n });\n return () => cancelAnimationFrame(handle);\n }, [drawerSize, drawersMaxWidth, drawersMinWidth]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = drawersMaxWidth;\n const size = getLimitedValue(drawersMinWidth, width, maxWidth);\n const id = activeDrawer?.id;\n\n if (id && maxWidth >= drawersMinWidth) {\n onActiveDrawerResize({ size, id });\n }\n };\n\n const sizeControlProps: SizeControlProps = {\n position: 'side',\n panelRef: drawerRefObject,\n handleRef: drawersRefs.slider,\n onResize: setSidePanelWidth,\n };\n\n const onSliderPointerDown = usePointerEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const resizeHandle = (\n <PanelResizeHandle\n ref={drawersRefs.slider}\n position=\"side\"\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n ariaValuenow={relativeSize}\n className={testutilStyles['drawers-slider']}\n onKeyDown={onKeyDown}\n onPointerDown={onSliderPointerDown}\n />\n );\n\n return { resizeHandle, drawerSize };\n}\n\nexport default useResize;\n"]}