@cloudscape-design/components 3.0.758 → 3.0.759

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 (417) hide show
  1. package/alert/styles.css.js +27 -27
  2. package/alert/styles.scoped.css +43 -43
  3. package/alert/styles.selectors.js +27 -27
  4. package/anchor-navigation/styles.css.js +8 -8
  5. package/anchor-navigation/styles.scoped.css +23 -23
  6. package/anchor-navigation/styles.selectors.js +8 -8
  7. package/annotation-context/annotation/styles.css.js +24 -24
  8. package/annotation-context/annotation/styles.scoped.css +31 -31
  9. package/annotation-context/annotation/styles.selectors.js +24 -24
  10. package/app-layout/content-wrapper/styles.css.js +3 -3
  11. package/app-layout/content-wrapper/styles.scoped.css +7 -7
  12. package/app-layout/content-wrapper/styles.selectors.js +3 -3
  13. package/app-layout/drawer/styles.css.js +13 -13
  14. package/app-layout/drawer/styles.scoped.css +22 -22
  15. package/app-layout/drawer/styles.selectors.js +13 -13
  16. package/app-layout/interfaces.d.ts +1 -1
  17. package/app-layout/interfaces.js.map +1 -1
  18. package/app-layout/mobile-toolbar/styles.css.js +8 -8
  19. package/app-layout/mobile-toolbar/styles.scoped.css +9 -9
  20. package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  21. package/app-layout/resize/styles.css.js +4 -4
  22. package/app-layout/resize/styles.scoped.css +9 -9
  23. package/app-layout/resize/styles.selectors.js +4 -4
  24. package/app-layout/split-panel/styles.css.js +2 -2
  25. package/app-layout/split-panel/styles.scoped.css +3 -3
  26. package/app-layout/split-panel/styles.selectors.js +2 -2
  27. package/app-layout/styles.css.js +12 -12
  28. package/app-layout/styles.scoped.css +13 -13
  29. package/app-layout/styles.selectors.js +12 -12
  30. package/app-layout/toggles/styles.css.js +2 -2
  31. package/app-layout/toggles/styles.scoped.css +7 -7
  32. package/app-layout/toggles/styles.selectors.js +2 -2
  33. package/app-layout/visual-refresh/drawers.d.ts.map +1 -1
  34. package/app-layout/visual-refresh/drawers.js +4 -2
  35. package/app-layout/visual-refresh/drawers.js.map +1 -1
  36. package/app-layout/visual-refresh/mobile-toolbar.d.ts.map +1 -1
  37. package/app-layout/visual-refresh/mobile-toolbar.js +1 -1
  38. package/app-layout/visual-refresh/mobile-toolbar.js.map +1 -1
  39. package/app-layout/visual-refresh/styles.css.js +85 -82
  40. package/app-layout/visual-refresh/styles.scoped.css +177 -179
  41. package/app-layout/visual-refresh/styles.selectors.js +85 -82
  42. package/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  43. package/app-layout/visual-refresh/trigger-button.js +2 -2
  44. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  45. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +6 -6
  46. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +7 -7
  47. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +6 -6
  48. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  49. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +6 -6
  50. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  51. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
  52. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +31 -31
  53. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
  54. package/app-layout/visual-refresh-toolbar/split-panel/styles.css.js +1 -1
  55. package/app-layout/visual-refresh-toolbar/split-panel/styles.scoped.css +2 -2
  56. package/app-layout/visual-refresh-toolbar/split-panel/styles.selectors.js +1 -1
  57. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +3 -1
  58. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  59. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +7 -5
  60. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  61. package/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  62. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  63. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +12 -12
  64. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +15 -15
  65. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +12 -12
  66. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.d.ts +29 -0
  67. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.d.ts.map +1 -1
  68. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +109 -7
  69. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  70. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +9 -6
  71. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +36 -50
  72. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +9 -6
  73. package/area-chart/styles.css.js +6 -6
  74. package/area-chart/styles.scoped.css +10 -10
  75. package/area-chart/styles.selectors.js +6 -6
  76. package/attribute-editor/styles.css.js +14 -14
  77. package/attribute-editor/styles.scoped.css +27 -27
  78. package/attribute-editor/styles.selectors.js +14 -14
  79. package/badge/styles.css.js +10 -10
  80. package/badge/styles.scoped.css +11 -11
  81. package/badge/styles.selectors.js +10 -10
  82. package/box/styles.css.js +191 -191
  83. package/box/styles.scoped.css +237 -237
  84. package/box/styles.selectors.js +191 -191
  85. package/breadcrumb-group/item/styles.css.js +8 -8
  86. package/breadcrumb-group/item/styles.scoped.css +31 -31
  87. package/breadcrumb-group/item/styles.selectors.js +8 -8
  88. package/breadcrumb-group/styles.css.js +8 -8
  89. package/breadcrumb-group/styles.scoped.css +10 -10
  90. package/breadcrumb-group/styles.selectors.js +8 -8
  91. package/button/styles.css.js +20 -20
  92. package/button/styles.scoped.css +155 -155
  93. package/button/styles.selectors.js +20 -20
  94. package/button-dropdown/category-elements/styles.css.js +14 -14
  95. package/button-dropdown/category-elements/styles.scoped.css +31 -31
  96. package/button-dropdown/category-elements/styles.selectors.js +14 -14
  97. package/button-dropdown/item-element/styles.css.js +13 -13
  98. package/button-dropdown/item-element/styles.scoped.css +25 -25
  99. package/button-dropdown/item-element/styles.selectors.js +13 -13
  100. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  101. package/button-dropdown/mobile-expandable-group/styles.scoped.css +6 -6
  102. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  103. package/button-dropdown/styles.css.js +17 -17
  104. package/button-dropdown/styles.scoped.css +27 -27
  105. package/button-dropdown/styles.selectors.js +17 -17
  106. package/button-group/styles.css.js +4 -4
  107. package/button-group/styles.scoped.css +5 -5
  108. package/button-group/styles.selectors.js +4 -4
  109. package/calendar/styles.css.js +21 -21
  110. package/calendar/styles.scoped.css +47 -47
  111. package/calendar/styles.selectors.js +21 -21
  112. package/cards/styles.css.js +39 -39
  113. package/cards/styles.scoped.css +51 -51
  114. package/cards/styles.selectors.js +39 -39
  115. package/checkbox/styles.css.js +3 -3
  116. package/checkbox/styles.scoped.css +6 -6
  117. package/checkbox/styles.selectors.js +3 -3
  118. package/code-editor/resizable-box/styles.css.js +3 -3
  119. package/code-editor/resizable-box/styles.scoped.css +8 -8
  120. package/code-editor/resizable-box/styles.selectors.js +3 -3
  121. package/code-editor/styles.css.js +33 -33
  122. package/code-editor/styles.scoped.css +137 -137
  123. package/code-editor/styles.selectors.js +33 -33
  124. package/collection-preferences/content-display/styles.css.js +11 -11
  125. package/collection-preferences/content-display/styles.scoped.css +19 -19
  126. package/collection-preferences/content-display/styles.selectors.js +11 -11
  127. package/collection-preferences/styles.css.js +37 -37
  128. package/collection-preferences/styles.scoped.css +48 -48
  129. package/collection-preferences/styles.selectors.js +37 -37
  130. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  131. package/column-layout/flexible-column-layout/styles.scoped.css +6 -6
  132. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  133. package/column-layout/styles.css.js +13 -13
  134. package/column-layout/styles.scoped.css +45 -45
  135. package/column-layout/styles.selectors.js +13 -13
  136. package/container/styles.css.js +30 -30
  137. package/container/styles.scoped.css +55 -55
  138. package/container/styles.selectors.js +30 -30
  139. package/content-layout/styles.css.js +14 -14
  140. package/content-layout/styles.scoped.css +17 -17
  141. package/content-layout/styles.selectors.js +14 -14
  142. package/date-picker/styles.css.js +7 -7
  143. package/date-picker/styles.scoped.css +10 -10
  144. package/date-picker/styles.selectors.js +7 -7
  145. package/date-range-picker/calendar/grids/styles.css.js +28 -28
  146. package/date-range-picker/calendar/grids/styles.scoped.css +44 -44
  147. package/date-range-picker/calendar/grids/styles.selectors.js +28 -28
  148. package/date-range-picker/relative-range/styles.css.js +9 -9
  149. package/date-range-picker/relative-range/styles.scoped.css +14 -14
  150. package/date-range-picker/relative-range/styles.selectors.js +9 -9
  151. package/date-range-picker/styles.css.js +39 -39
  152. package/date-range-picker/styles.scoped.css +49 -49
  153. package/date-range-picker/styles.selectors.js +39 -39
  154. package/drawer/styles.css.js +4 -4
  155. package/drawer/styles.scoped.css +11 -11
  156. package/drawer/styles.selectors.js +4 -4
  157. package/expandable-section/styles.css.js +34 -34
  158. package/expandable-section/styles.scoped.css +66 -66
  159. package/expandable-section/styles.selectors.js +34 -34
  160. package/file-upload/dropzone/styles.css.js +2 -2
  161. package/file-upload/dropzone/styles.scoped.css +3 -3
  162. package/file-upload/dropzone/styles.selectors.js +2 -2
  163. package/file-upload/file-input/styles.css.js +4 -4
  164. package/file-upload/file-input/styles.scoped.css +8 -8
  165. package/file-upload/file-input/styles.selectors.js +4 -4
  166. package/flashbar/styles.css.js +50 -50
  167. package/flashbar/styles.scoped.css +150 -150
  168. package/flashbar/styles.selectors.js +50 -50
  169. package/form/styles.css.js +8 -8
  170. package/form/styles.scoped.css +9 -9
  171. package/form/styles.selectors.js +8 -8
  172. package/form-field/styles.css.js +24 -24
  173. package/form-field/styles.scoped.css +43 -39
  174. package/form-field/styles.selectors.js +24 -24
  175. package/grid/styles.css.js +53 -53
  176. package/grid/styles.scoped.css +55 -55
  177. package/grid/styles.selectors.js +53 -53
  178. package/header/styles.css.js +34 -34
  179. package/header/styles.scoped.css +51 -51
  180. package/header/styles.selectors.js +34 -34
  181. package/help-panel/styles.css.js +5 -5
  182. package/help-panel/styles.scoped.css +72 -72
  183. package/help-panel/styles.selectors.js +5 -5
  184. package/hotspot/styles.css.js +7 -7
  185. package/hotspot/styles.scoped.css +8 -8
  186. package/hotspot/styles.selectors.js +7 -7
  187. package/icon/styles.css.js +38 -38
  188. package/icon/styles.scoped.css +83 -83
  189. package/icon/styles.selectors.js +38 -38
  190. package/input/styles.css.js +13 -13
  191. package/input/styles.scoped.css +33 -33
  192. package/input/styles.selectors.js +13 -13
  193. package/internal/analytics/index.d.ts +3 -1
  194. package/internal/analytics/index.d.ts.map +1 -1
  195. package/internal/analytics/index.js +8 -0
  196. package/internal/analytics/index.js.map +1 -1
  197. package/internal/analytics/interfaces.d.ts +9 -1
  198. package/internal/analytics/interfaces.d.ts.map +1 -1
  199. package/internal/analytics/interfaces.js.map +1 -1
  200. package/internal/components/abstract-switch/styles.css.js +13 -13
  201. package/internal/components/abstract-switch/styles.scoped.css +21 -21
  202. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  203. package/internal/components/button-trigger/index.d.ts.map +1 -1
  204. package/internal/components/button-trigger/index.js +1 -1
  205. package/internal/components/button-trigger/index.js.map +1 -1
  206. package/internal/components/button-trigger/styles.css.js +13 -13
  207. package/internal/components/button-trigger/styles.scoped.css +28 -28
  208. package/internal/components/button-trigger/styles.selectors.js +13 -13
  209. package/internal/components/chart-filter/styles.css.js +3 -3
  210. package/internal/components/chart-filter/styles.scoped.css +4 -4
  211. package/internal/components/chart-filter/styles.selectors.js +3 -3
  212. package/internal/components/chart-legend/styles.css.js +6 -6
  213. package/internal/components/chart-legend/styles.scoped.css +16 -16
  214. package/internal/components/chart-legend/styles.selectors.js +6 -6
  215. package/internal/components/chart-plot/styles.css.js +5 -5
  216. package/internal/components/chart-plot/styles.scoped.css +6 -6
  217. package/internal/components/chart-plot/styles.selectors.js +5 -5
  218. package/internal/components/chart-popover/styles.css.js +3 -3
  219. package/internal/components/chart-popover/styles.scoped.css +4 -4
  220. package/internal/components/chart-popover/styles.selectors.js +3 -3
  221. package/internal/components/chart-series-details/styles.css.js +20 -20
  222. package/internal/components/chart-series-details/styles.scoped.css +36 -36
  223. package/internal/components/chart-series-details/styles.selectors.js +20 -20
  224. package/internal/components/chart-series-marker/styles.css.js +5 -5
  225. package/internal/components/chart-series-marker/styles.scoped.css +8 -8
  226. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  227. package/internal/components/chart-wrapper/styles.css.js +9 -9
  228. package/internal/components/chart-wrapper/styles.scoped.css +10 -10
  229. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  230. package/internal/components/checkbox-icon/styles.css.js +9 -9
  231. package/internal/components/checkbox-icon/styles.scoped.css +16 -16
  232. package/internal/components/checkbox-icon/styles.selectors.js +9 -9
  233. package/internal/components/dropdown/index.d.ts.map +1 -1
  234. package/internal/components/dropdown/index.js +5 -2
  235. package/internal/components/dropdown/index.js.map +1 -1
  236. package/internal/components/dropdown/styles.css.js +20 -20
  237. package/internal/components/dropdown/styles.scoped.css +38 -38
  238. package/internal/components/dropdown/styles.selectors.js +20 -20
  239. package/internal/components/dropdown-footer/styles.css.js +3 -3
  240. package/internal/components/dropdown-footer/styles.scoped.css +4 -4
  241. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  242. package/internal/components/dropdown-status/styles.css.js +2 -2
  243. package/internal/components/dropdown-status/styles.scoped.css +3 -3
  244. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  245. package/internal/components/handle/styles.css.js +2 -2
  246. package/internal/components/handle/styles.scoped.css +7 -7
  247. package/internal/components/handle/styles.selectors.js +2 -2
  248. package/internal/components/menu-dropdown/styles.css.js +7 -7
  249. package/internal/components/menu-dropdown/styles.scoped.css +14 -14
  250. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  251. package/internal/components/option/styles.css.js +17 -17
  252. package/internal/components/option/styles.scoped.css +30 -30
  253. package/internal/components/option/styles.selectors.js +17 -17
  254. package/internal/components/options-list/styles.css.js +2 -2
  255. package/internal/components/options-list/styles.scoped.css +3 -3
  256. package/internal/components/options-list/styles.selectors.js +2 -2
  257. package/internal/components/panel-resize-handle/styles.css.js +5 -5
  258. package/internal/components/panel-resize-handle/styles.scoped.css +11 -11
  259. package/internal/components/panel-resize-handle/styles.selectors.js +5 -5
  260. package/internal/components/screenreader-only/styles.css.js +1 -1
  261. package/internal/components/screenreader-only/styles.scoped.css +2 -2
  262. package/internal/components/screenreader-only/styles.selectors.js +1 -1
  263. package/internal/components/selectable-item/styles.css.js +16 -16
  264. package/internal/components/selectable-item/styles.scoped.css +30 -30
  265. package/internal/components/selectable-item/styles.selectors.js +16 -16
  266. package/internal/components/token-list/styles.css.js +9 -9
  267. package/internal/components/token-list/styles.scoped.css +31 -31
  268. package/internal/components/token-list/styles.selectors.js +9 -9
  269. package/internal/environment.js +1 -1
  270. package/internal/environment.json +1 -1
  271. package/internal/hooks/use-component-analytics/index.d.ts +2 -0
  272. package/internal/hooks/use-component-analytics/index.d.ts.map +1 -0
  273. package/internal/hooks/use-component-analytics/index.js +11 -0
  274. package/internal/hooks/use-component-analytics/index.js.map +1 -0
  275. package/internal/manifest.json +1 -1
  276. package/key-value-pairs/styles.css.js +8 -8
  277. package/key-value-pairs/styles.scoped.css +10 -10
  278. package/key-value-pairs/styles.selectors.js +8 -8
  279. package/link/styles.css.js +20 -20
  280. package/link/styles.scoped.css +74 -74
  281. package/link/styles.selectors.js +20 -20
  282. package/mixed-line-bar-chart/styles.css.js +11 -11
  283. package/mixed-line-bar-chart/styles.scoped.css +18 -18
  284. package/mixed-line-bar-chart/styles.selectors.js +11 -11
  285. package/modal/styles.css.js +23 -23
  286. package/modal/styles.scoped.css +39 -39
  287. package/modal/styles.selectors.js +23 -23
  288. package/multiselect/styles.css.js +2 -2
  289. package/multiselect/styles.scoped.css +3 -3
  290. package/multiselect/styles.selectors.js +2 -2
  291. package/package.json +1 -1
  292. package/pagination/styles.css.js +9 -9
  293. package/pagination/styles.scoped.css +24 -24
  294. package/pagination/styles.selectors.js +9 -9
  295. package/pie-chart/styles.css.js +27 -27
  296. package/pie-chart/styles.scoped.css +49 -49
  297. package/pie-chart/styles.selectors.js +27 -27
  298. package/popover/styles.css.js +52 -52
  299. package/popover/styles.scoped.css +74 -74
  300. package/popover/styles.selectors.js +52 -52
  301. package/progress-bar/styles.css.js +19 -19
  302. package/progress-bar/styles.scoped.css +32 -32
  303. package/progress-bar/styles.selectors.js +19 -19
  304. package/prompt-input/styles.css.js +8 -8
  305. package/prompt-input/styles.scoped.css +20 -20
  306. package/prompt-input/styles.selectors.js +8 -8
  307. package/property-filter/filtering-token/styles.css.js +18 -18
  308. package/property-filter/filtering-token/styles.scoped.css +42 -42
  309. package/property-filter/filtering-token/styles.selectors.js +18 -18
  310. package/property-filter/styles.css.js +38 -38
  311. package/property-filter/styles.scoped.css +41 -41
  312. package/property-filter/styles.selectors.js +38 -38
  313. package/radio-group/styles.css.js +10 -10
  314. package/radio-group/styles.scoped.css +25 -25
  315. package/radio-group/styles.selectors.js +10 -10
  316. package/s3-resource-selector/s3-modal/styles.css.js +3 -3
  317. package/s3-resource-selector/s3-modal/styles.scoped.css +4 -4
  318. package/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
  319. package/segmented-control/styles.css.js +15 -15
  320. package/segmented-control/styles.scoped.css +35 -35
  321. package/segmented-control/styles.selectors.js +15 -15
  322. package/select/parts/styles.css.js +21 -21
  323. package/select/parts/styles.scoped.css +23 -23
  324. package/select/parts/styles.selectors.js +21 -21
  325. package/select/styles.css.js +1 -1
  326. package/select/styles.scoped.css +2 -2
  327. package/select/styles.selectors.js +1 -1
  328. package/side-navigation/styles.css.js +30 -30
  329. package/side-navigation/styles.scoped.css +43 -43
  330. package/side-navigation/styles.selectors.js +30 -30
  331. package/slider/styles.css.js +26 -26
  332. package/slider/styles.scoped.css +77 -77
  333. package/slider/styles.selectors.js +26 -26
  334. package/space-between/styles.css.js +23 -23
  335. package/space-between/styles.scoped.css +25 -25
  336. package/space-between/styles.selectors.js +23 -23
  337. package/spinner/styles.css.js +13 -13
  338. package/spinner/styles.scoped.css +20 -20
  339. package/spinner/styles.selectors.js +13 -13
  340. package/split-panel/icons/styles.css.js +22 -22
  341. package/split-panel/icons/styles.scoped.css +25 -25
  342. package/split-panel/icons/styles.selectors.js +22 -22
  343. package/split-panel/styles.css.js +26 -26
  344. package/split-panel/styles.scoped.css +44 -44
  345. package/split-panel/styles.selectors.js +26 -26
  346. package/status-indicator/styles.css.js +23 -23
  347. package/status-indicator/styles.scoped.css +34 -30
  348. package/status-indicator/styles.selectors.js +23 -23
  349. package/table/body-cell/styles.css.js +47 -47
  350. package/table/body-cell/styles.scoped.css +307 -307
  351. package/table/body-cell/styles.selectors.js +47 -47
  352. package/table/expandable-rows/styles.css.js +3 -3
  353. package/table/expandable-rows/styles.scoped.css +14 -14
  354. package/table/expandable-rows/styles.selectors.js +3 -3
  355. package/table/header-cell/styles.css.js +26 -26
  356. package/table/header-cell/styles.scoped.css +75 -75
  357. package/table/header-cell/styles.selectors.js +26 -26
  358. package/table/interfaces.d.ts +1 -0
  359. package/table/interfaces.d.ts.map +1 -1
  360. package/table/interfaces.js.map +1 -1
  361. package/table/internal.d.ts.map +1 -1
  362. package/table/internal.js +20 -0
  363. package/table/internal.js.map +1 -1
  364. package/table/resizer/styles.css.js +8 -8
  365. package/table/resizer/styles.scoped.css +16 -16
  366. package/table/resizer/styles.selectors.js +8 -8
  367. package/table/selection/styles.css.js +3 -3
  368. package/table/selection/styles.scoped.css +4 -4
  369. package/table/selection/styles.selectors.js +3 -3
  370. package/table/sticky-scrollbar/styles.css.js +6 -6
  371. package/table/sticky-scrollbar/styles.scoped.css +8 -8
  372. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  373. package/table/styles.css.js +34 -34
  374. package/table/styles.scoped.css +44 -44
  375. package/table/styles.selectors.js +34 -34
  376. package/tabs/styles.css.js +28 -28
  377. package/tabs/styles.scoped.css +52 -52
  378. package/tabs/styles.selectors.js +28 -28
  379. package/tag-editor/styles.css.js +3 -3
  380. package/tag-editor/styles.scoped.css +13 -13
  381. package/tag-editor/styles.selectors.js +3 -3
  382. package/text-content/styles.css.js +1 -1
  383. package/text-content/styles.scoped.css +65 -65
  384. package/text-content/styles.selectors.js +1 -1
  385. package/text-filter/styles.css.js +3 -3
  386. package/text-filter/styles.scoped.css +4 -4
  387. package/text-filter/styles.selectors.js +3 -3
  388. package/textarea/styles.css.js +5 -5
  389. package/textarea/styles.scoped.css +15 -15
  390. package/textarea/styles.selectors.js +5 -5
  391. package/tiles/styles.css.js +30 -30
  392. package/tiles/styles.scoped.css +81 -81
  393. package/tiles/styles.selectors.js +30 -30
  394. package/toggle/styles.css.js +10 -10
  395. package/toggle/styles.scoped.css +26 -26
  396. package/toggle/styles.selectors.js +10 -10
  397. package/token-group/styles.css.js +10 -10
  398. package/token-group/styles.scoped.css +23 -23
  399. package/token-group/styles.selectors.js +10 -10
  400. package/top-navigation/1.0-beta/styles.css.js +25 -25
  401. package/top-navigation/1.0-beta/styles.scoped.css +43 -43
  402. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  403. package/top-navigation/styles.css.js +47 -47
  404. package/top-navigation/styles.scoped.css +67 -67
  405. package/top-navigation/styles.selectors.js +47 -47
  406. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  407. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +22 -22
  408. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  409. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  410. package/tutorial-panel/components/tutorial-list/styles.scoped.css +28 -28
  411. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  412. package/tutorial-panel/styles.css.js +1 -1
  413. package/tutorial-panel/styles.scoped.css +2 -2
  414. package/tutorial-panel/styles.selectors.js +1 -1
  415. package/wizard/styles.css.js +30 -30
  416. package/wizard/styles.scoped.css +59 -59
  417. package/wizard/styles.selectors.js +30 -30
@@ -136,7 +136,7 @@
136
136
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
137
137
  SPDX-License-Identifier: Apache-2.0
138
138
  */
139
- /* Style used for links in slots/components that are text heavy, to help links stand out among
139
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
141
  /*
142
142
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -146,7 +146,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
146
146
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
147
147
  SPDX-License-Identifier: Apache-2.0
148
148
  */
149
- .awsui_root_7nfqu_sowgs_149:not(#\9) {
149
+ .awsui_root_7nfqu_xj5gq_149:not(#\9) {
150
150
  border-collapse: separate;
151
151
  border-spacing: 0;
152
152
  box-sizing: border-box;
@@ -189,45 +189,45 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
189
189
  grid-template-rows: min-content min-content 1fr;
190
190
  }
191
191
  @media (min-width: 689px) {
192
- .awsui_root_7nfqu_sowgs_149:not(#\9) {
192
+ .awsui_root_7nfqu_xj5gq_149:not(#\9) {
193
193
  grid-template-areas: "toolbar toolbar toolbar toolbar toolbar toolbar" "navigation . notifications . sideSplitPanel tools" "navigation . main . sideSplitPanel tools";
194
194
  grid-template-columns: min-content minmax(var(--space-layout-content-horizontal-7l52k3, 24px), 1fr) minmax(0, var(--awsui-max-content-width-g964ok)) minmax(var(--space-layout-content-horizontal-7l52k3, 24px), 1fr) min-content min-content;
195
195
  grid-template-rows: min-content min-content 1fr min-content;
196
196
  }
197
197
  }
198
198
  @media (min-width: 689px) and (min-width: 1401px) {
199
- .awsui_root_7nfqu_sowgs_149.awsui_has-adaptive-widths-default_7nfqu_sowgs_198:not(#\9) {
199
+ .awsui_root_7nfqu_xj5gq_149.awsui_has-adaptive-widths-default_7nfqu_xj5gq_198:not(#\9) {
200
200
  --awsui-max-content-width-g964ok: 1280px;
201
201
  }
202
202
  }
203
203
  @media (min-width: 689px) and (min-width: 1921px) {
204
- .awsui_root_7nfqu_sowgs_149.awsui_has-adaptive-widths-default_7nfqu_sowgs_198:not(#\9) {
204
+ .awsui_root_7nfqu_xj5gq_149.awsui_has-adaptive-widths-default_7nfqu_xj5gq_198:not(#\9) {
205
205
  --awsui-max-content-width-g964ok: 1440px;
206
206
  }
207
207
  }
208
208
  @media (min-width: 689px) and (min-width: 2541px) {
209
- .awsui_root_7nfqu_sowgs_149.awsui_has-adaptive-widths-default_7nfqu_sowgs_198:not(#\9) {
209
+ .awsui_root_7nfqu_xj5gq_149.awsui_has-adaptive-widths-default_7nfqu_xj5gq_198:not(#\9) {
210
210
  --awsui-max-content-width-g964ok: 1620px;
211
211
  }
212
212
  }
213
213
  @media (min-width: 689px) and (min-width: 1401px) {
214
- .awsui_root_7nfqu_sowgs_149.awsui_has-adaptive-widths-dashboard_7nfqu_sowgs_213:not(#\9) {
214
+ .awsui_root_7nfqu_xj5gq_149.awsui_has-adaptive-widths-dashboard_7nfqu_xj5gq_213:not(#\9) {
215
215
  --awsui-max-content-width-g964ok: 1280px;
216
216
  }
217
217
  }
218
218
  @media (min-width: 689px) and (min-width: 1921px) {
219
- .awsui_root_7nfqu_sowgs_149.awsui_has-adaptive-widths-dashboard_7nfqu_sowgs_213:not(#\9) {
219
+ .awsui_root_7nfqu_xj5gq_149.awsui_has-adaptive-widths-dashboard_7nfqu_xj5gq_213:not(#\9) {
220
220
  --awsui-max-content-width-g964ok: 1620px;
221
221
  }
222
222
  }
223
223
  @media (min-width: 689px) and (min-width: 2541px) {
224
- .awsui_root_7nfqu_sowgs_149.awsui_has-adaptive-widths-dashboard_7nfqu_sowgs_213:not(#\9) {
224
+ .awsui_root_7nfqu_xj5gq_149.awsui_has-adaptive-widths-dashboard_7nfqu_xj5gq_213:not(#\9) {
225
225
  --awsui-max-content-width-g964ok: 2160px;
226
226
  }
227
227
  }
228
228
 
229
- .awsui_navigation_7nfqu_sowgs_228:not(#\9),
230
- .awsui_tools_7nfqu_sowgs_229:not(#\9) {
229
+ .awsui_navigation_7nfqu_xj5gq_228:not(#\9),
230
+ .awsui_tools_7nfqu_xj5gq_229:not(#\9) {
231
231
  grid-row: 1/-1;
232
232
  grid-column: 1/-1;
233
233
  background: var(--color-background-container-content-4un1ap, #ffffff);
@@ -235,15 +235,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
235
235
  opacity: 1;
236
236
  }
237
237
  @media (max-width: 688px) {
238
- .awsui_navigation_7nfqu_sowgs_228:not(#\9),
239
- .awsui_tools_7nfqu_sowgs_229:not(#\9) {
238
+ .awsui_navigation_7nfqu_xj5gq_228:not(#\9),
239
+ .awsui_tools_7nfqu_xj5gq_229:not(#\9) {
240
240
  inline-size: 100%;
241
241
  z-index: 1001;
242
242
  }
243
243
  }
244
244
 
245
245
  @media (min-width: 689px) {
246
- .awsui_navigation_7nfqu_sowgs_228:not(#\9) {
246
+ .awsui_navigation_7nfqu_xj5gq_228:not(#\9) {
247
247
  grid-area: navigation;
248
248
  inline-size: var(--awsui-navigation-width-g964ok);
249
249
  border-inline-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-layout-4mzh97, #9ba7b6);
@@ -251,7 +251,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
251
251
  }
252
252
 
253
253
  @media (min-width: 689px) {
254
- .awsui_tools_7nfqu_sowgs_229:not(#\9) {
254
+ .awsui_tools_7nfqu_xj5gq_229:not(#\9) {
255
255
  grid-area: tools;
256
256
  inline-size: var(--awsui-tools-width-g964ok);
257
257
  border-inline-start: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-layout-4mzh97, #9ba7b6);
@@ -259,14 +259,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
259
259
  }
260
260
 
261
261
  @media (min-width: 689px) {
262
- .awsui_split-panel-side_7nfqu_sowgs_261:not(#\9) {
262
+ .awsui_split-panel-side_7nfqu_xj5gq_261:not(#\9) {
263
263
  grid-area: sideSplitPanel;
264
264
  border-inline-start: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-layout-4mzh97, #9ba7b6);
265
265
  opacity: 1;
266
266
  }
267
267
  }
268
268
 
269
- .awsui_split-panel-bottom_7nfqu_sowgs_268:not(#\9) {
269
+ .awsui_split-panel-bottom_7nfqu_xj5gq_268:not(#\9) {
270
270
  position: sticky;
271
271
  z-index: 840;
272
272
  align-self: end;
@@ -274,64 +274,64 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
274
274
  grid-column: 1/-1;
275
275
  }
276
276
  @media (min-width: 689px) {
277
- .awsui_split-panel-bottom_7nfqu_sowgs_268:not(#\9) {
277
+ .awsui_split-panel-bottom_7nfqu_xj5gq_268:not(#\9) {
278
278
  grid-column: 2/span 3;
279
279
  }
280
280
  }
281
281
 
282
- .awsui_panel-hidden_7nfqu_sowgs_281:not(#\9) {
282
+ .awsui_panel-hidden_7nfqu_xj5gq_281:not(#\9) {
283
283
  border-block: none;
284
284
  border-inline: none;
285
285
  opacity: 0;
286
286
  z-index: 0;
287
287
  }
288
- .awsui_panel-hidden_7nfqu_sowgs_281.awsui_navigation_7nfqu_sowgs_228:not(#\9), .awsui_panel-hidden_7nfqu_sowgs_281.awsui_tools_7nfqu_sowgs_229:not(#\9) {
288
+ .awsui_panel-hidden_7nfqu_xj5gq_281.awsui_navigation_7nfqu_xj5gq_228:not(#\9), .awsui_panel-hidden_7nfqu_xj5gq_281.awsui_tools_7nfqu_xj5gq_229:not(#\9) {
289
289
  inline-size: 0px;
290
290
  }
291
291
 
292
- .awsui_toolbar-container_7nfqu_sowgs_291:not(#\9) {
292
+ .awsui_toolbar-container_7nfqu_xj5gq_291:not(#\9) {
293
293
  grid-area: toolbar;
294
294
  block-size: 42px;
295
295
  border-block-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-layout-4mzh97, #9ba7b6);
296
296
  }
297
297
 
298
- .awsui_notifications-container_7nfqu_sowgs_297:not(#\9) {
298
+ .awsui_notifications-container_7nfqu_xj5gq_297:not(#\9) {
299
299
  grid-area: notifications;
300
300
  }
301
- .awsui_notifications-container_7nfqu_sowgs_297:not(#\9):not(:empty) {
301
+ .awsui_notifications-container_7nfqu_xj5gq_297:not(#\9):not(:empty) {
302
302
  padding-block-start: var(--space-scaled-xs-26e2du, 8px);
303
303
  }
304
304
 
305
- .awsui_main-landmark_7nfqu_sowgs_304:not(#\9) {
305
+ .awsui_main-landmark_7nfqu_xj5gq_304:not(#\9) {
306
306
  display: contents;
307
307
  }
308
308
 
309
- .awsui_main_7nfqu_sowgs_304:not(#\9) {
309
+ .awsui_main_7nfqu_xj5gq_304:not(#\9) {
310
310
  grid-area: main;
311
311
  margin-block-start: var(--space-scaled-s-aqzyko, 12px);
312
312
  margin-block-end: var(--space-layout-content-bottom-noqzmw, 40px);
313
313
  }
314
- .awsui_main-disable-paddings_7nfqu_sowgs_313:not(#\9) {
315
- grid-column: 1/-1;
314
+ .awsui_main-disable-paddings_7nfqu_xj5gq_313:not(#\9) {
316
315
  margin-block: 0;
316
+ grid-column: 1/-1;
317
317
  }
318
318
  @media (min-width: 689px) {
319
- .awsui_main-disable-paddings_7nfqu_sowgs_313:not(#\9) {
319
+ .awsui_main-disable-paddings_7nfqu_xj5gq_313:not(#\9) {
320
320
  grid-column: 2/span 3;
321
321
  }
322
322
  }
323
323
 
324
- .awsui_content-header_7nfqu_sowgs_323:not(#\9) {
324
+ .awsui_content-header_7nfqu_xj5gq_323:not(#\9) {
325
325
  margin-block-end: var(--space-content-header-padding-bottom-y2enua, 16px);
326
326
  }
327
327
 
328
- .awsui_content_7nfqu_sowgs_323:not(#\9) {
328
+ .awsui_content_7nfqu_xj5gq_323:not(#\9) {
329
329
  display: contents;
330
330
  }
331
331
 
332
332
  /* stylelint-disable-next-line selector-combinator-disallowed-list, selector-max-universal */
333
333
  @media (max-width: 688px) {
334
- .awsui_unfocusable-mobile_7nfqu_sowgs_333 *:not(#\9) {
334
+ .awsui_unfocusable-mobile_7nfqu_xj5gq_333 *:not(#\9) {
335
335
  visibility: hidden;
336
336
  }
337
337
  }
@@ -2,21 +2,21 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_7nfqu_sowgs_149",
6
- "has-adaptive-widths-default": "awsui_has-adaptive-widths-default_7nfqu_sowgs_198",
7
- "has-adaptive-widths-dashboard": "awsui_has-adaptive-widths-dashboard_7nfqu_sowgs_213",
8
- "navigation": "awsui_navigation_7nfqu_sowgs_228",
9
- "tools": "awsui_tools_7nfqu_sowgs_229",
10
- "split-panel-side": "awsui_split-panel-side_7nfqu_sowgs_261",
11
- "split-panel-bottom": "awsui_split-panel-bottom_7nfqu_sowgs_268",
12
- "panel-hidden": "awsui_panel-hidden_7nfqu_sowgs_281",
13
- "toolbar-container": "awsui_toolbar-container_7nfqu_sowgs_291",
14
- "notifications-container": "awsui_notifications-container_7nfqu_sowgs_297",
15
- "main-landmark": "awsui_main-landmark_7nfqu_sowgs_304",
16
- "main": "awsui_main_7nfqu_sowgs_304",
17
- "main-disable-paddings": "awsui_main-disable-paddings_7nfqu_sowgs_313",
18
- "content-header": "awsui_content-header_7nfqu_sowgs_323",
19
- "content": "awsui_content_7nfqu_sowgs_323",
20
- "unfocusable-mobile": "awsui_unfocusable-mobile_7nfqu_sowgs_333"
5
+ "root": "awsui_root_7nfqu_xj5gq_149",
6
+ "has-adaptive-widths-default": "awsui_has-adaptive-widths-default_7nfqu_xj5gq_198",
7
+ "has-adaptive-widths-dashboard": "awsui_has-adaptive-widths-dashboard_7nfqu_xj5gq_213",
8
+ "navigation": "awsui_navigation_7nfqu_xj5gq_228",
9
+ "tools": "awsui_tools_7nfqu_xj5gq_229",
10
+ "split-panel-side": "awsui_split-panel-side_7nfqu_xj5gq_261",
11
+ "split-panel-bottom": "awsui_split-panel-bottom_7nfqu_xj5gq_268",
12
+ "panel-hidden": "awsui_panel-hidden_7nfqu_xj5gq_281",
13
+ "toolbar-container": "awsui_toolbar-container_7nfqu_xj5gq_291",
14
+ "notifications-container": "awsui_notifications-container_7nfqu_xj5gq_297",
15
+ "main-landmark": "awsui_main-landmark_7nfqu_xj5gq_304",
16
+ "main": "awsui_main_7nfqu_xj5gq_304",
17
+ "main-disable-paddings": "awsui_main-disable-paddings_7nfqu_xj5gq_313",
18
+ "content-header": "awsui_content-header_7nfqu_xj5gq_323",
19
+ "content": "awsui_content_7nfqu_xj5gq_323",
20
+ "unfocusable-mobile": "awsui_unfocusable-mobile_7nfqu_xj5gq_333"
21
21
  };
22
22
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "split-panel-side": "awsui_split-panel-side_j4v3w_b4x9h_141"
4
+ "split-panel-side": "awsui_split-panel-side_j4v3w_1de9z_141"
5
5
  };
6
6
 
@@ -136,9 +136,9 @@
136
136
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
137
137
  SPDX-License-Identifier: Apache-2.0
138
138
  */
139
- /* Style used for links in slots/components that are text heavy, to help links stand out among
139
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_split-panel-side_j4v3w_b4x9h_141:not(#\9) {
141
+ .awsui_split-panel-side_j4v3w_1de9z_141:not(#\9) {
142
142
  position: sticky;
143
143
  z-index: 830;
144
144
  }
@@ -2,6 +2,6 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "split-panel-side": "awsui_split-panel-side_j4v3w_b4x9h_141"
5
+ "split-panel-side": "awsui_split-panel-side_j4v3w_1de9z_141"
6
6
  };
7
7
 
@@ -14,10 +14,12 @@ interface DrawerTriggersProps {
14
14
  drawersFocusRef: React.Ref<Focusable> | undefined;
15
15
  drawers: ReadonlyArray<AppLayoutProps.Drawer>;
16
16
  onActiveDrawerChange: ((drawerId: string | null) => void) | undefined;
17
+ splitPanelOpen?: boolean;
18
+ splitPanelPosition?: AppLayoutProps.SplitPanelPreferences['position'];
17
19
  splitPanelToggleProps: SplitPanelToggleProps | undefined;
18
20
  splitPanelFocusRef: React.Ref<Focusable> | undefined;
19
21
  onSplitPanelToggle: (() => void) | undefined;
20
22
  }
21
- export declare function DrawerTriggers({ ariaLabels, activeDrawerId, drawers, drawersFocusRef, onActiveDrawerChange, splitPanelFocusRef, splitPanelToggleProps, onSplitPanelToggle, }: DrawerTriggersProps): JSX.Element | null;
23
+ export declare function DrawerTriggers({ ariaLabels, activeDrawerId, drawers, drawersFocusRef, onActiveDrawerChange, splitPanelOpen, splitPanelPosition, splitPanelFocusRef, splitPanelToggleProps, onSplitPanelToggle, }: DrawerTriggersProps): JSX.Element | null;
22
24
  export {};
23
25
  //# sourceMappingURL=drawer-triggers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-triggers.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAQtC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO1D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC;CAC7C;AAED,UAAU,mBAAmB;IAC3B,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAErD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,oBAAoB,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEtE,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACrD,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,EAAE,mBAAmB,sBA8GrB"}
1
+ {"version":3,"file":"drawer-triggers.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAQtC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAO1D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC;CAC7C;AAED,UAAU,mBAAmB;IAC3B,UAAU,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAErD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,oBAAoB,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEtE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACtE,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACrD,kBAAkB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,kBAA6B,EAC7B,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,EAAE,mBAAmB,sBA0HrB"}
@@ -11,7 +11,7 @@ import TriggerButton from './trigger-button';
11
11
  import splitPanelTestUtilStyles from '../../../split-panel/test-classes/styles.css.js';
12
12
  import testutilStyles from '../../test-classes/styles.css.js';
13
13
  import styles from './styles.css.js';
14
- export function DrawerTriggers({ ariaLabels, activeDrawerId, drawers, drawersFocusRef, onActiveDrawerChange, splitPanelFocusRef, splitPanelToggleProps, onSplitPanelToggle, }) {
14
+ export function DrawerTriggers({ ariaLabels, activeDrawerId, drawers, drawersFocusRef, onActiveDrawerChange, splitPanelOpen, splitPanelPosition = 'bottom', splitPanelFocusRef, splitPanelToggleProps, onSplitPanelToggle, }) {
15
15
  const isMobile = useMobile();
16
16
  const hasMultipleTriggers = drawers.length > 1;
17
17
  const previousActiveDrawerId = useRef(activeDrawerId);
@@ -41,17 +41,19 @@ export function DrawerTriggers({ ariaLabels, activeDrawerId, drawers, drawersFoc
41
41
  const { visibleItems, overflowItems } = splitItems(drawers, getIndexOfOverflowItem(), activeDrawerId !== null && activeDrawerId !== void 0 ? activeDrawerId : null);
42
42
  const overflowMenuHasBadge = !!overflowItems.find(item => item.badge);
43
43
  const toolsOnlyMode = drawers.length === 1 && drawers[0].id === TOOLS_DRAWER_ID;
44
- return (React.createElement("aside", { className: styles['drawers-desktop-triggers-container'], "aria-label": ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.drawers, ref: triggersContainerRef, role: "region" },
44
+ const hasOpenDrawer = (!!activeDrawerId && activeDrawerId !== null) || (splitPanelPosition === 'side' && splitPanelOpen);
45
+ return (React.createElement("aside", { className: styles[`drawers-${isMobile ? 'mobile' : 'desktop'}-triggers-container`], "aria-label": ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.drawers, ref: triggersContainerRef, role: "region" },
45
46
  React.createElement("div", { className: clsx(styles['drawers-trigger-content'], {
46
47
  [styles['has-multiple-triggers']]: hasMultipleTriggers,
47
48
  [styles['has-open-drawer']]: activeDrawerId,
48
49
  }), role: "toolbar", "aria-orientation": "horizontal" },
49
50
  splitPanelToggleProps && (React.createElement(React.Fragment, null,
50
- React.createElement(TriggerButton, { ariaLabel: splitPanelToggleProps.ariaLabel, ariaControls: splitPanelToggleProps.controlId, ariaExpanded: splitPanelToggleProps.active, className: clsx(styles['drawers-trigger'], splitPanelTestUtilStyles['open-button']), iconName: splitPanelToggleProps.position === 'side' ? 'view-vertical' : 'view-horizontal', onClick: () => onSplitPanelToggle === null || onSplitPanelToggle === void 0 ? void 0 : onSplitPanelToggle(), selected: splitPanelToggleProps.active, ref: splitPanelFocusRef }),
51
+ React.createElement(TriggerButton, { ariaLabel: splitPanelToggleProps.ariaLabel, ariaControls: splitPanelToggleProps.controlId, ariaExpanded: splitPanelToggleProps.active, className: clsx(styles['drawers-trigger'], splitPanelTestUtilStyles['open-button']), iconName: splitPanelToggleProps.position === 'side' ? 'view-vertical' : 'view-horizontal', onClick: () => onSplitPanelToggle === null || onSplitPanelToggle === void 0 ? void 0 : onSplitPanelToggle(), selected: splitPanelToggleProps.active, ref: splitPanelFocusRef, hasTooltip: true, testId: `awsui-app-layout-trigger-slide-panel`, isMobile: isMobile, isForPreviousActiveDrawer: splitPanelToggleProps.active, isForSplitPanel: true }),
51
52
  hasMultipleTriggers ? React.createElement("div", { className: styles['group-divider'] }) : null)),
52
53
  visibleItems.map(item => {
53
- var _a;
54
- return (React.createElement(TriggerButton, { ariaLabel: (_a = item.ariaLabels) === null || _a === void 0 ? void 0 : _a.triggerButton, ariaExpanded: item.id === activeDrawerId, ariaControls: activeDrawerId === item.id ? item.id : undefined, className: clsx(styles['drawers-trigger'], !toolsOnlyMode && testutilStyles['drawers-trigger'], item.id === TOOLS_DRAWER_ID && testutilStyles['tools-toggle']), iconName: item.trigger.iconName, iconSvg: item.trigger.iconSvg, key: item.id, onClick: () => onActiveDrawerChange === null || onActiveDrawerChange === void 0 ? void 0 : onActiveDrawerChange(activeDrawerId !== item.id ? item.id : null), ref: item.id === previousActiveDrawerId.current ? drawersFocusRef : undefined, selected: item.id === activeDrawerId, badge: item.badge, testId: `awsui-app-layout-trigger-${item.id}` }));
54
+ var _a, _b;
55
+ const isForPreviousActiveDrawer = (previousActiveDrawerId === null || previousActiveDrawerId === void 0 ? void 0 : previousActiveDrawerId.current) === item.id;
56
+ return (React.createElement(TriggerButton, { ariaLabel: (_a = item.ariaLabels) === null || _a === void 0 ? void 0 : _a.triggerButton, ariaExpanded: item.id === activeDrawerId, ariaControls: activeDrawerId === item.id ? item.id : undefined, className: clsx(styles['drawers-trigger'], !toolsOnlyMode && testutilStyles['drawers-trigger'], item.id === TOOLS_DRAWER_ID && testutilStyles['tools-toggle']), iconName: item.trigger.iconName, iconSvg: item.trigger.iconSvg, key: item.id, onClick: () => onActiveDrawerChange === null || onActiveDrawerChange === void 0 ? void 0 : onActiveDrawerChange(activeDrawerId !== item.id ? item.id : null), ref: item.id === previousActiveDrawerId.current ? drawersFocusRef : undefined, selected: item.id === activeDrawerId, badge: item.badge, testId: `awsui-app-layout-trigger-${item.id}`, hasTooltip: true, hasOpenDrawer: hasOpenDrawer, tooltipText: (_b = item.ariaLabels) === null || _b === void 0 ? void 0 : _b.drawerName, isForPreviousActiveDrawer: isForPreviousActiveDrawer, isMobile: isMobile }));
55
57
  }),
56
58
  overflowItems.length > 0 && (React.createElement(OverflowMenu, { items: overflowItems, ariaLabel: overflowMenuHasBadge ? ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.drawersOverflowWithBadge : ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.drawersOverflow, customTriggerBuilder: ({ onClick, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (React.createElement(TriggerButton, { ref: triggerRef, ariaLabel: ariaLabel, ariaExpanded: ariaExpanded, badge: overflowMenuHasBadge, className: clsx(styles['drawers-trigger'], testutilStyles['drawers-trigger'], testUtilsClass), iconName: "ellipsis", onClick: onClick })), onItemClick: event => onActiveDrawerChange === null || onActiveDrawerChange === void 0 ? void 0 : onActiveDrawerChange(event.detail.id) })))));
57
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-triggers.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\n\nimport { useMobile } from '../../../internal/hooks/use-mobile';\nimport { splitItems } from '../../drawer/drawers-helpers';\nimport OverflowMenu from '../../drawer/overflow-menu';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from '../../interfaces';\nimport { TOOLS_DRAWER_ID } from '../../utils/use-drawers';\nimport { Focusable } from '../../utils/use-focus-control';\nimport TriggerButton from './trigger-button';\n\nimport splitPanelTestUtilStyles from '../../../split-panel/test-classes/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface SplitPanelToggleProps {\n displayed: boolean;\n ariaLabel: string | undefined;\n controlId: string | undefined;\n active: boolean;\n position: AppLayoutProps.SplitPanelPosition;\n}\n\ninterface DrawerTriggersProps {\n ariaLabels: AppLayoutPropsWithDefaults['ariaLabels'];\n\n activeDrawerId: string | null;\n drawersFocusRef: React.Ref<Focusable> | undefined;\n drawers: ReadonlyArray<AppLayoutProps.Drawer>;\n onActiveDrawerChange: ((drawerId: string | null) => void) | undefined;\n\n splitPanelToggleProps: SplitPanelToggleProps | undefined;\n splitPanelFocusRef: React.Ref<Focusable> | undefined;\n onSplitPanelToggle: (() => void) | undefined;\n}\n\nexport function DrawerTriggers({\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n}: DrawerTriggersProps) {\n const isMobile = useMobile();\n const hasMultipleTriggers = drawers.length > 1;\n\n const previousActiveDrawerId = useRef(activeDrawerId);\n const [containerWidth, triggersContainerRef] = useContainerQuery(rect => rect.contentBoxWidth);\n if (!drawers && !splitPanelToggleProps) {\n return null;\n }\n\n if (activeDrawerId) {\n previousActiveDrawerId.current = activeDrawerId;\n }\n\n const getIndexOfOverflowItem = () => {\n if (isMobile) {\n return 2;\n }\n if (containerWidth) {\n const ITEM_WIDTH = 50; // Roughly 34px + padding = 42px but added extra for safety\n const overflowSpot = containerWidth;\n\n const index = Math.floor(overflowSpot / ITEM_WIDTH);\n\n let splitPanelItem = 0;\n if (splitPanelToggleProps) {\n splitPanelItem = 1;\n }\n return index - splitPanelItem;\n }\n return 0;\n };\n\n const { visibleItems, overflowItems } = splitItems(drawers, getIndexOfOverflowItem(), activeDrawerId ?? null);\n const overflowMenuHasBadge = !!overflowItems.find(item => item.badge);\n const toolsOnlyMode = drawers.length === 1 && drawers[0].id === TOOLS_DRAWER_ID;\n\n return (\n <aside\n className={styles['drawers-desktop-triggers-container']}\n aria-label={ariaLabels?.drawers}\n ref={triggersContainerRef}\n role=\"region\"\n >\n <div\n className={clsx(styles['drawers-trigger-content'], {\n [styles['has-multiple-triggers']]: hasMultipleTriggers,\n [styles['has-open-drawer']]: activeDrawerId,\n })}\n role=\"toolbar\"\n aria-orientation=\"horizontal\"\n >\n {splitPanelToggleProps && (\n <>\n <TriggerButton\n ariaLabel={splitPanelToggleProps.ariaLabel}\n ariaControls={splitPanelToggleProps.controlId}\n ariaExpanded={splitPanelToggleProps.active}\n className={clsx(styles['drawers-trigger'], splitPanelTestUtilStyles['open-button'])}\n iconName={splitPanelToggleProps.position === 'side' ? 'view-vertical' : 'view-horizontal'}\n onClick={() => onSplitPanelToggle?.()}\n selected={splitPanelToggleProps.active}\n ref={splitPanelFocusRef}\n />\n {hasMultipleTriggers ? <div className={styles['group-divider']}></div> : null}\n </>\n )}\n {visibleItems.map(item => {\n return (\n <TriggerButton\n ariaLabel={item.ariaLabels?.triggerButton}\n ariaExpanded={item.id === activeDrawerId}\n ariaControls={activeDrawerId === item.id ? item.id : undefined}\n className={clsx(\n styles['drawers-trigger'],\n !toolsOnlyMode && testutilStyles['drawers-trigger'],\n item.id === TOOLS_DRAWER_ID && testutilStyles['tools-toggle']\n )}\n iconName={item.trigger.iconName}\n iconSvg={item.trigger.iconSvg}\n key={item.id}\n onClick={() => onActiveDrawerChange?.(activeDrawerId !== item.id ? item.id : null)}\n ref={item.id === previousActiveDrawerId.current ? drawersFocusRef : undefined}\n selected={item.id === activeDrawerId}\n badge={item.badge}\n testId={`awsui-app-layout-trigger-${item.id}`}\n />\n );\n })}\n {overflowItems.length > 0 && (\n <OverflowMenu\n items={overflowItems}\n ariaLabel={overflowMenuHasBadge ? ariaLabels?.drawersOverflowWithBadge : ariaLabels?.drawersOverflow}\n customTriggerBuilder={({ onClick, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (\n <TriggerButton\n ref={triggerRef}\n ariaLabel={ariaLabel}\n ariaExpanded={ariaExpanded}\n badge={overflowMenuHasBadge}\n className={clsx(styles['drawers-trigger'], testutilStyles['drawers-trigger'], testUtilsClass)}\n iconName=\"ellipsis\"\n onClick={onClick}\n />\n )}\n onItemClick={event => onActiveDrawerChange?.(event.detail.id)}\n />\n )}\n </div>\n </aside>\n );\n}\n"]}
1
+ {"version":3,"file":"drawer-triggers.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\n\nimport { useMobile } from '../../../internal/hooks/use-mobile';\nimport { splitItems } from '../../drawer/drawers-helpers';\nimport OverflowMenu from '../../drawer/overflow-menu';\nimport { AppLayoutProps, AppLayoutPropsWithDefaults } from '../../interfaces';\nimport { TOOLS_DRAWER_ID } from '../../utils/use-drawers';\nimport { Focusable } from '../../utils/use-focus-control';\nimport TriggerButton from './trigger-button';\n\nimport splitPanelTestUtilStyles from '../../../split-panel/test-classes/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface SplitPanelToggleProps {\n displayed: boolean;\n ariaLabel: string | undefined;\n controlId: string | undefined;\n active: boolean;\n position: AppLayoutProps.SplitPanelPosition;\n}\n\ninterface DrawerTriggersProps {\n ariaLabels: AppLayoutPropsWithDefaults['ariaLabels'];\n\n activeDrawerId: string | null;\n drawersFocusRef: React.Ref<Focusable> | undefined;\n drawers: ReadonlyArray<AppLayoutProps.Drawer>;\n onActiveDrawerChange: ((drawerId: string | null) => void) | undefined;\n\n splitPanelOpen?: boolean;\n splitPanelPosition?: AppLayoutProps.SplitPanelPreferences['position'];\n splitPanelToggleProps: SplitPanelToggleProps | undefined;\n splitPanelFocusRef: React.Ref<Focusable> | undefined;\n onSplitPanelToggle: (() => void) | undefined;\n}\n\nexport function DrawerTriggers({\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n splitPanelOpen,\n splitPanelPosition = 'bottom',\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n}: DrawerTriggersProps) {\n const isMobile = useMobile();\n const hasMultipleTriggers = drawers.length > 1;\n const previousActiveDrawerId = useRef(activeDrawerId);\n const [containerWidth, triggersContainerRef] = useContainerQuery(rect => rect.contentBoxWidth);\n if (!drawers && !splitPanelToggleProps) {\n return null;\n }\n\n if (activeDrawerId) {\n previousActiveDrawerId.current = activeDrawerId;\n }\n\n const getIndexOfOverflowItem = () => {\n if (isMobile) {\n return 2;\n }\n if (containerWidth) {\n const ITEM_WIDTH = 50; // Roughly 34px + padding = 42px but added extra for safety\n const overflowSpot = containerWidth;\n\n const index = Math.floor(overflowSpot / ITEM_WIDTH);\n\n let splitPanelItem = 0;\n if (splitPanelToggleProps) {\n splitPanelItem = 1;\n }\n return index - splitPanelItem;\n }\n return 0;\n };\n\n const { visibleItems, overflowItems } = splitItems(drawers, getIndexOfOverflowItem(), activeDrawerId ?? null);\n const overflowMenuHasBadge = !!overflowItems.find(item => item.badge);\n const toolsOnlyMode = drawers.length === 1 && drawers[0].id === TOOLS_DRAWER_ID;\n const hasOpenDrawer =\n (!!activeDrawerId && activeDrawerId !== null) || (splitPanelPosition === 'side' && splitPanelOpen);\n\n return (\n <aside\n className={styles[`drawers-${isMobile ? 'mobile' : 'desktop'}-triggers-container`]}\n aria-label={ariaLabels?.drawers}\n ref={triggersContainerRef}\n role=\"region\"\n >\n <div\n className={clsx(styles['drawers-trigger-content'], {\n [styles['has-multiple-triggers']]: hasMultipleTriggers,\n [styles['has-open-drawer']]: activeDrawerId,\n })}\n role=\"toolbar\"\n aria-orientation=\"horizontal\"\n >\n {splitPanelToggleProps && (\n <>\n <TriggerButton\n ariaLabel={splitPanelToggleProps.ariaLabel}\n ariaControls={splitPanelToggleProps.controlId}\n ariaExpanded={splitPanelToggleProps.active}\n className={clsx(styles['drawers-trigger'], splitPanelTestUtilStyles['open-button'])}\n iconName={splitPanelToggleProps.position === 'side' ? 'view-vertical' : 'view-horizontal'}\n onClick={() => onSplitPanelToggle?.()}\n selected={splitPanelToggleProps.active}\n ref={splitPanelFocusRef}\n hasTooltip={true}\n testId={`awsui-app-layout-trigger-slide-panel`}\n isMobile={isMobile}\n isForPreviousActiveDrawer={splitPanelToggleProps.active}\n isForSplitPanel={true}\n />\n {hasMultipleTriggers ? <div className={styles['group-divider']}></div> : null}\n </>\n )}\n {visibleItems.map(item => {\n const isForPreviousActiveDrawer = previousActiveDrawerId?.current === item.id;\n return (\n <TriggerButton\n ariaLabel={item.ariaLabels?.triggerButton}\n ariaExpanded={item.id === activeDrawerId}\n ariaControls={activeDrawerId === item.id ? item.id : undefined}\n className={clsx(\n styles['drawers-trigger'],\n !toolsOnlyMode && testutilStyles['drawers-trigger'],\n item.id === TOOLS_DRAWER_ID && testutilStyles['tools-toggle']\n )}\n iconName={item.trigger.iconName}\n iconSvg={item.trigger.iconSvg}\n key={item.id}\n onClick={() => onActiveDrawerChange?.(activeDrawerId !== item.id ? item.id : null)}\n ref={item.id === previousActiveDrawerId.current ? drawersFocusRef : undefined}\n selected={item.id === activeDrawerId}\n badge={item.badge}\n testId={`awsui-app-layout-trigger-${item.id}`}\n hasTooltip={true}\n hasOpenDrawer={hasOpenDrawer}\n tooltipText={item.ariaLabels?.drawerName}\n isForPreviousActiveDrawer={isForPreviousActiveDrawer}\n isMobile={isMobile}\n />\n );\n })}\n {overflowItems.length > 0 && (\n <OverflowMenu\n items={overflowItems}\n ariaLabel={overflowMenuHasBadge ? ariaLabels?.drawersOverflowWithBadge : ariaLabels?.drawersOverflow}\n customTriggerBuilder={({ onClick, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (\n <TriggerButton\n ref={triggerRef}\n ariaLabel={ariaLabel}\n ariaExpanded={ariaExpanded}\n badge={overflowMenuHasBadge}\n className={clsx(styles['drawers-trigger'], testutilStyles['drawers-trigger'], testUtilsClass)}\n iconName=\"ellipsis\"\n onClick={onClick}\n />\n )}\n onItemClick={event => onActiveDrawerChange?.(event.detail.id)}\n />\n )}\n </div>\n </aside>\n );\n}\n"]}
@@ -77,7 +77,7 @@ toolbarProps = {}, }) {
77
77
  insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,
78
78
  } },
79
79
  React.createElement("div", { className: styles['toolbar-container'] },
80
- hasNavigation && (React.createElement("nav", { className: clsx(styles['universal-toolbar-nav'], testutilStyles['drawer-closed']) },
80
+ hasNavigation && (React.createElement("nav", { className: clsx(styles['universal-toolbar-nav']) },
81
81
  React.createElement(TriggerButton, { ariaLabel: (_a = ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.navigationToggle) !== null && _a !== void 0 ? _a : undefined, ariaExpanded: false, iconName: "menu", className: testutilStyles['navigation-toggle'], onClick: () => onNavigationToggle === null || onNavigationToggle === void 0 ? void 0 : onNavigationToggle(!navigationOpen), ref: navigationFocusRef, selected: navigationOpen }))),
82
82
  (breadcrumbs || discoveredBreadcrumbs) && (React.createElement("div", { className: clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs) },
83
83
  breadcrumbs,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { BreadcrumbGroupImplementation } from '../../../breadcrumb-group/implementation';\nimport { createWidgetizedComponent } from '../../../internal/widgets';\nimport { AppLayoutProps } from '../../interfaces';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { AppLayoutInternals } from '../interfaces';\nimport { ToolbarSlot } from '../skeleton/slot-wrappers';\nimport { DrawerTriggers, SplitPanelToggleProps } from './drawer-triggers';\nimport TriggerButton from './trigger-button';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { SplitPanelToggleProps };\n\nexport interface ToolbarProps {\n ariaLabels?: AppLayoutProps.Labels;\n // navigation\n hasNavigation?: boolean;\n navigationOpen?: boolean;\n onNavigationToggle?: (open: boolean) => void;\n navigationFocusRef?: React.Ref<Focusable>;\n\n // breadcrumbs\n hasBreadcrumbsPortal?: boolean;\n\n // split panel\n hasSplitPanel?: boolean;\n splitPanelToggleProps?: SplitPanelToggleProps;\n splitPanelFocusRef?: React.Ref<Focusable>;\n onSplitPanelToggle?: () => void;\n\n // drawers\n activeDrawerId?: string | null;\n drawers?: ReadonlyArray<AppLayoutProps.Drawer>;\n drawersFocusRef?: React.Ref<Focusable>;\n onActiveDrawerChange?: (drawerId: string | null) => void;\n}\n\ninterface AppLayoutToolbarImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n toolbarProps: ToolbarProps;\n}\n\n// support compatibility with changes before this commit: cf0f2b0755af1a28ac7c3c9476418a7ea807d0fd\nfunction convertLegacyProps(toolbarProps: ToolbarProps, legacyProps: AppLayoutInternals): ToolbarProps {\n return {\n ariaLabels: toolbarProps.ariaLabels ?? legacyProps.ariaLabels,\n activeDrawerId: toolbarProps.activeDrawerId ?? legacyProps.activeDrawer?.id,\n drawers: toolbarProps.drawers ?? legacyProps.drawers,\n drawersFocusRef: toolbarProps.drawersFocusRef ?? legacyProps.drawersFocusControl?.refs.toggle,\n onActiveDrawerChange: toolbarProps.onActiveDrawerChange ?? legacyProps.onActiveDrawerChange,\n hasNavigation: toolbarProps.hasNavigation ?? !!legacyProps.navigation,\n navigationOpen: toolbarProps.navigationOpen ?? legacyProps.navigationOpen,\n navigationFocusRef: toolbarProps.navigationFocusRef ?? legacyProps.navigationFocusControl?.refs.toggle,\n onNavigationToggle: toolbarProps.onNavigationToggle ?? legacyProps.onNavigationToggle,\n hasSplitPanel: toolbarProps.hasSplitPanel ?? true,\n splitPanelFocusRef: legacyProps.splitPanelFocusControl?.refs.toggle,\n splitPanelToggleProps: toolbarProps.splitPanelToggleProps ?? {\n ...legacyProps.splitPanelToggleConfig,\n active: legacyProps.splitPanelOpen,\n controlId: legacyProps.splitPanelControlId,\n position: legacyProps.splitPanelPosition,\n },\n onSplitPanelToggle: toolbarProps.onSplitPanelToggle ?? legacyProps.onSplitPanelToggle,\n };\n}\n\nexport function AppLayoutToolbarImplementation({\n appLayoutInternals,\n // the value could be undefined if this component is loaded as a widget by a different app layout version\n // not testable in a single-version setup\n toolbarProps = {},\n}: AppLayoutToolbarImplementationProps) {\n const {\n breadcrumbs,\n discoveredBreadcrumbs,\n verticalOffsets,\n isMobile,\n toolbarState,\n setToolbarState,\n setToolbarHeight,\n } = appLayoutInternals;\n const {\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n hasNavigation,\n navigationOpen,\n navigationFocusRef,\n onNavigationToggle,\n hasSplitPanel,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n } = convertLegacyProps(toolbarProps, appLayoutInternals);\n // TODO: expose configuration property\n const pinnedToolbar = true;\n const ref = useRef<HTMLElement>(null);\n useResizeObserver(ref, entry => setToolbarHeight(entry.borderBoxHeight));\n useEffect(() => {\n return () => {\n setToolbarHeight(0);\n };\n // unmount effect only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n let lastScrollY = window.scrollY;\n\n /* istanbul ignore next not testable in JSDOM */\n const updateScrollDirection = () => {\n if (pinnedToolbar) {\n setToolbarState('show');\n return;\n }\n const scrollY = window.scrollY;\n // 80 is an arbitrary number to have a pause before the toolbar scrolls out of view at the top of the page\n const direction = scrollY > lastScrollY && scrollY > 80 ? 'hide' : 'show';\n // 2 as a buffer to avoid mistaking minor accidental mouse moves as scroll\n if (direction !== toolbarState && (scrollY - lastScrollY > 2 || scrollY - lastScrollY < -2)) {\n setToolbarState(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener('scroll', updateScrollDirection);\n return () => {\n window.removeEventListener('scroll', updateScrollDirection);\n };\n }, [pinnedToolbar, setToolbarState, toolbarState]);\n\n const toolbarHidden = toolbarState === 'hide' && !pinnedToolbar;\n\n return (\n <ToolbarSlot\n ref={ref}\n className={clsx(styles['universal-toolbar'], testutilStyles.toolbar, {\n [testutilStyles['mobile-bar']]: isMobile,\n [styles['toolbar-hidden']]: toolbarHidden,\n })}\n style={{\n insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,\n }}\n >\n <div className={styles['toolbar-container']}>\n {hasNavigation && (\n <nav className={clsx(styles['universal-toolbar-nav'], testutilStyles['drawer-closed'])}>\n <TriggerButton\n ariaLabel={ariaLabels?.navigationToggle ?? undefined}\n ariaExpanded={false}\n iconName=\"menu\"\n className={testutilStyles['navigation-toggle']}\n onClick={() => onNavigationToggle?.(!navigationOpen)}\n ref={navigationFocusRef}\n selected={navigationOpen}\n />\n </nav>\n )}\n {(breadcrumbs || discoveredBreadcrumbs) && (\n <div className={clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs)}>\n {breadcrumbs}\n {discoveredBreadcrumbs && (\n <BreadcrumbGroupImplementation\n {...discoveredBreadcrumbs}\n data-awsui-discovered-breadcrumbs={true}\n __injectAnalyticsComponentMetadata={true}\n />\n )}\n </div>\n )}\n {((drawers && drawers.length > 0) || (hasSplitPanel && splitPanelToggleProps?.displayed)) && (\n <span className={clsx(styles['universal-toolbar-drawers'])}>\n <DrawerTriggers\n ariaLabels={ariaLabels}\n activeDrawerId={activeDrawerId ?? null}\n drawers={drawers ?? []}\n drawersFocusRef={drawersFocusRef}\n onActiveDrawerChange={onActiveDrawerChange}\n splitPanelToggleProps={splitPanelToggleProps?.displayed ? splitPanelToggleProps : undefined}\n splitPanelFocusRef={splitPanelFocusRef}\n onSplitPanelToggle={onSplitPanelToggle}\n />\n </span>\n )}\n </div>\n </ToolbarSlot>\n );\n}\n\nexport const createWidgetizedAppLayoutToolbar = createWidgetizedComponent(AppLayoutToolbarImplementation);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { BreadcrumbGroupImplementation } from '../../../breadcrumb-group/implementation';\nimport { createWidgetizedComponent } from '../../../internal/widgets';\nimport { AppLayoutProps } from '../../interfaces';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { AppLayoutInternals } from '../interfaces';\nimport { ToolbarSlot } from '../skeleton/slot-wrappers';\nimport { DrawerTriggers, SplitPanelToggleProps } from './drawer-triggers';\nimport TriggerButton from './trigger-button';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { SplitPanelToggleProps };\n\nexport interface ToolbarProps {\n ariaLabels?: AppLayoutProps.Labels;\n // navigation\n hasNavigation?: boolean;\n navigationOpen?: boolean;\n onNavigationToggle?: (open: boolean) => void;\n navigationFocusRef?: React.Ref<Focusable>;\n\n // breadcrumbs\n hasBreadcrumbsPortal?: boolean;\n\n // split panel\n hasSplitPanel?: boolean;\n splitPanelToggleProps?: SplitPanelToggleProps;\n splitPanelFocusRef?: React.Ref<Focusable>;\n onSplitPanelToggle?: () => void;\n\n // drawers\n activeDrawerId?: string | null;\n drawers?: ReadonlyArray<AppLayoutProps.Drawer>;\n drawersFocusRef?: React.Ref<Focusable>;\n onActiveDrawerChange?: (drawerId: string | null) => void;\n}\n\ninterface AppLayoutToolbarImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n toolbarProps: ToolbarProps;\n}\n\n// support compatibility with changes before this commit: cf0f2b0755af1a28ac7c3c9476418a7ea807d0fd\nfunction convertLegacyProps(toolbarProps: ToolbarProps, legacyProps: AppLayoutInternals): ToolbarProps {\n return {\n ariaLabels: toolbarProps.ariaLabels ?? legacyProps.ariaLabels,\n activeDrawerId: toolbarProps.activeDrawerId ?? legacyProps.activeDrawer?.id,\n drawers: toolbarProps.drawers ?? legacyProps.drawers,\n drawersFocusRef: toolbarProps.drawersFocusRef ?? legacyProps.drawersFocusControl?.refs.toggle,\n onActiveDrawerChange: toolbarProps.onActiveDrawerChange ?? legacyProps.onActiveDrawerChange,\n hasNavigation: toolbarProps.hasNavigation ?? !!legacyProps.navigation,\n navigationOpen: toolbarProps.navigationOpen ?? legacyProps.navigationOpen,\n navigationFocusRef: toolbarProps.navigationFocusRef ?? legacyProps.navigationFocusControl?.refs.toggle,\n onNavigationToggle: toolbarProps.onNavigationToggle ?? legacyProps.onNavigationToggle,\n hasSplitPanel: toolbarProps.hasSplitPanel ?? true,\n splitPanelFocusRef: legacyProps.splitPanelFocusControl?.refs.toggle,\n splitPanelToggleProps: toolbarProps.splitPanelToggleProps ?? {\n ...legacyProps.splitPanelToggleConfig,\n active: legacyProps.splitPanelOpen,\n controlId: legacyProps.splitPanelControlId,\n position: legacyProps.splitPanelPosition,\n },\n onSplitPanelToggle: toolbarProps.onSplitPanelToggle ?? legacyProps.onSplitPanelToggle,\n };\n}\n\nexport function AppLayoutToolbarImplementation({\n appLayoutInternals,\n // the value could be undefined if this component is loaded as a widget by a different app layout version\n // not testable in a single-version setup\n toolbarProps = {},\n}: AppLayoutToolbarImplementationProps) {\n const {\n breadcrumbs,\n discoveredBreadcrumbs,\n verticalOffsets,\n isMobile,\n toolbarState,\n setToolbarState,\n setToolbarHeight,\n } = appLayoutInternals;\n const {\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n hasNavigation,\n navigationOpen,\n navigationFocusRef,\n onNavigationToggle,\n hasSplitPanel,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n } = convertLegacyProps(toolbarProps, appLayoutInternals);\n // TODO: expose configuration property\n const pinnedToolbar = true;\n const ref = useRef<HTMLElement>(null);\n useResizeObserver(ref, entry => setToolbarHeight(entry.borderBoxHeight));\n useEffect(() => {\n return () => {\n setToolbarHeight(0);\n };\n // unmount effect only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n let lastScrollY = window.scrollY;\n\n /* istanbul ignore next not testable in JSDOM */\n const updateScrollDirection = () => {\n if (pinnedToolbar) {\n setToolbarState('show');\n return;\n }\n const scrollY = window.scrollY;\n // 80 is an arbitrary number to have a pause before the toolbar scrolls out of view at the top of the page\n const direction = scrollY > lastScrollY && scrollY > 80 ? 'hide' : 'show';\n // 2 as a buffer to avoid mistaking minor accidental mouse moves as scroll\n if (direction !== toolbarState && (scrollY - lastScrollY > 2 || scrollY - lastScrollY < -2)) {\n setToolbarState(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener('scroll', updateScrollDirection);\n return () => {\n window.removeEventListener('scroll', updateScrollDirection);\n };\n }, [pinnedToolbar, setToolbarState, toolbarState]);\n\n const toolbarHidden = toolbarState === 'hide' && !pinnedToolbar;\n\n return (\n <ToolbarSlot\n ref={ref}\n className={clsx(styles['universal-toolbar'], testutilStyles.toolbar, {\n [testutilStyles['mobile-bar']]: isMobile,\n [styles['toolbar-hidden']]: toolbarHidden,\n })}\n style={{\n insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,\n }}\n >\n <div className={styles['toolbar-container']}>\n {hasNavigation && (\n <nav className={clsx(styles['universal-toolbar-nav'])}>\n <TriggerButton\n ariaLabel={ariaLabels?.navigationToggle ?? undefined}\n ariaExpanded={false}\n iconName=\"menu\"\n className={testutilStyles['navigation-toggle']}\n onClick={() => onNavigationToggle?.(!navigationOpen)}\n ref={navigationFocusRef}\n selected={navigationOpen}\n />\n </nav>\n )}\n {(breadcrumbs || discoveredBreadcrumbs) && (\n <div className={clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs)}>\n {breadcrumbs}\n {discoveredBreadcrumbs && (\n <BreadcrumbGroupImplementation\n {...discoveredBreadcrumbs}\n data-awsui-discovered-breadcrumbs={true}\n __injectAnalyticsComponentMetadata={true}\n />\n )}\n </div>\n )}\n {((drawers && drawers.length > 0) || (hasSplitPanel && splitPanelToggleProps?.displayed)) && (\n <span className={clsx(styles['universal-toolbar-drawers'])}>\n <DrawerTriggers\n ariaLabels={ariaLabels}\n activeDrawerId={activeDrawerId ?? null}\n drawers={drawers ?? []}\n drawersFocusRef={drawersFocusRef}\n onActiveDrawerChange={onActiveDrawerChange}\n splitPanelToggleProps={splitPanelToggleProps?.displayed ? splitPanelToggleProps : undefined}\n splitPanelFocusRef={splitPanelFocusRef}\n onSplitPanelToggle={onSplitPanelToggle}\n />\n </span>\n )}\n </div>\n </ToolbarSlot>\n );\n}\n\nexport const createWidgetizedAppLayoutToolbar = createWidgetizedComponent(AppLayoutToolbarImplementation);\n"]}
@@ -1,17 +1,17 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "universal-toolbar": "awsui_universal-toolbar_1kzri_scjlm_141",
5
- "disable-body-scroll": "awsui_disable-body-scroll_1kzri_scjlm_162",
6
- "toolbar-hidden": "awsui_toolbar-hidden_1kzri_scjlm_165",
7
- "toolbar-container": "awsui_toolbar-container_1kzri_scjlm_168",
8
- "universal-toolbar-nav": "awsui_universal-toolbar-nav_1kzri_scjlm_177",
9
- "universal-toolbar-breadcrumbs": "awsui_universal-toolbar-breadcrumbs_1kzri_scjlm_181",
10
- "universal-toolbar-drawers": "awsui_universal-toolbar-drawers_1kzri_scjlm_186",
11
- "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_1kzri_scjlm_194",
12
- "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_1kzri_scjlm_195",
13
- "drawers-trigger-content": "awsui_drawers-trigger-content_1kzri_scjlm_241",
14
- "group-divider": "awsui_group-divider_1kzri_scjlm_250",
15
- "drawers-trigger": "awsui_drawers-trigger_1kzri_scjlm_241"
4
+ "universal-toolbar": "awsui_universal-toolbar_1kzri_17kqs_141",
5
+ "disable-body-scroll": "awsui_disable-body-scroll_1kzri_17kqs_162",
6
+ "toolbar-hidden": "awsui_toolbar-hidden_1kzri_17kqs_165",
7
+ "toolbar-container": "awsui_toolbar-container_1kzri_17kqs_168",
8
+ "universal-toolbar-nav": "awsui_universal-toolbar-nav_1kzri_17kqs_177",
9
+ "universal-toolbar-breadcrumbs": "awsui_universal-toolbar-breadcrumbs_1kzri_17kqs_181",
10
+ "universal-toolbar-drawers": "awsui_universal-toolbar-drawers_1kzri_17kqs_186",
11
+ "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_1kzri_17kqs_194",
12
+ "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_1kzri_17kqs_195",
13
+ "drawers-trigger-content": "awsui_drawers-trigger-content_1kzri_17kqs_241",
14
+ "group-divider": "awsui_group-divider_1kzri_17kqs_250",
15
+ "drawers-trigger": "awsui_drawers-trigger_1kzri_17kqs_241"
16
16
  };
17
17
 
@@ -136,9 +136,9 @@
136
136
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
137
137
  SPDX-License-Identifier: Apache-2.0
138
138
  */
139
- /* Style used for links in slots/components that are text heavy, to help links stand out among
139
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_universal-toolbar_1kzri_scjlm_141:not(#\9) {
141
+ .awsui_universal-toolbar_1kzri_17kqs_141:not(#\9) {
142
142
  background-color: var(--color-background-layout-panel-content-t82vgh, #ffffff);
143
143
  box-sizing: border-box;
144
144
  padding-block: 0;
@@ -150,22 +150,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
150
150
  transition-property: inset-block-start, opacity;
151
151
  }
152
152
  @media (prefers-reduced-motion: reduce) {
153
- .awsui_universal-toolbar_1kzri_scjlm_141:not(#\9) {
153
+ .awsui_universal-toolbar_1kzri_17kqs_141:not(#\9) {
154
154
  animation: none;
155
155
  transition: none;
156
156
  }
157
157
  }
158
- .awsui-motion-disabled .awsui_universal-toolbar_1kzri_scjlm_141:not(#\9), .awsui-mode-entering .awsui_universal-toolbar_1kzri_scjlm_141:not(#\9) {
158
+ .awsui-motion-disabled .awsui_universal-toolbar_1kzri_17kqs_141:not(#\9), .awsui-mode-entering .awsui_universal-toolbar_1kzri_17kqs_141:not(#\9) {
159
159
  animation: none;
160
160
  transition: none;
161
161
  }
162
- .awsui_universal-toolbar_1kzri_scjlm_141.awsui_disable-body-scroll_1kzri_scjlm_162:not(#\9) {
162
+ .awsui_universal-toolbar_1kzri_17kqs_141.awsui_disable-body-scroll_1kzri_17kqs_162:not(#\9) {
163
163
  inset-block-start: 0px;
164
164
  }
165
- .awsui_universal-toolbar_1kzri_scjlm_141.awsui_toolbar-hidden_1kzri_scjlm_165:not(#\9) {
165
+ .awsui_universal-toolbar_1kzri_17kqs_141.awsui_toolbar-hidden_1kzri_17kqs_165:not(#\9) {
166
166
  opacity: 0;
167
167
  }
168
- .awsui_universal-toolbar_1kzri_scjlm_141 > .awsui_toolbar-container_1kzri_scjlm_168:not(#\9) {
168
+ .awsui_universal-toolbar_1kzri_17kqs_141 > .awsui_toolbar-container_1kzri_17kqs_168:not(#\9) {
169
169
  block-size: 100%;
170
170
  align-items: center;
171
171
  display: grid;
@@ -174,16 +174,16 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
174
174
  grid-template-columns: min-content minmax(0, 3fr) minmax(auto, 1fr);
175
175
  grid-template-rows: 1fr;
176
176
  }
177
- .awsui_universal-toolbar_1kzri_scjlm_141 > .awsui_toolbar-container_1kzri_scjlm_168 > .awsui_universal-toolbar-nav_1kzri_scjlm_177:not(#\9) {
177
+ .awsui_universal-toolbar_1kzri_17kqs_141 > .awsui_toolbar-container_1kzri_17kqs_168 > .awsui_universal-toolbar-nav_1kzri_17kqs_177:not(#\9) {
178
178
  grid-column: 1;
179
179
  padding-inline-end: var(--space-static-xxs-82cdfi, 4px);
180
180
  }
181
- .awsui_universal-toolbar_1kzri_scjlm_141 > .awsui_toolbar-container_1kzri_scjlm_168 > .awsui_universal-toolbar-breadcrumbs_1kzri_scjlm_181:not(#\9) {
181
+ .awsui_universal-toolbar_1kzri_17kqs_141 > .awsui_toolbar-container_1kzri_17kqs_168 > .awsui_universal-toolbar-breadcrumbs_1kzri_17kqs_181:not(#\9) {
182
182
  grid-column: 2;
183
183
  background-color: transparent;
184
184
  flex: 1 0;
185
185
  }
186
- .awsui_universal-toolbar_1kzri_scjlm_141 > .awsui_toolbar-container_1kzri_scjlm_168 > .awsui_universal-toolbar-drawers_1kzri_scjlm_186:not(#\9) {
186
+ .awsui_universal-toolbar_1kzri_17kqs_141 > .awsui_toolbar-container_1kzri_17kqs_168 > .awsui_universal-toolbar-drawers_1kzri_17kqs_186:not(#\9) {
187
187
  grid-column: 3;
188
188
  column-gap: var(--space-static-xs-7sfb63, 8px);
189
189
  display: flex;
@@ -191,8 +191,8 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
191
191
  block-size: 100%;
192
192
  }
193
193
 
194
- .awsui_drawers-desktop-triggers-container_1kzri_scjlm_194:not(#\9),
195
- .awsui_drawers-mobile-triggers-container_1kzri_scjlm_195:not(#\9) {
194
+ .awsui_drawers-desktop-triggers-container_1kzri_17kqs_194:not(#\9),
195
+ .awsui_drawers-mobile-triggers-container_1kzri_17kqs_195:not(#\9) {
196
196
  border-collapse: separate;
197
197
  border-spacing: 0;
198
198
  box-sizing: border-box;
@@ -239,7 +239,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
239
239
  inline-size: 100%;
240
240
  }
241
241
 
242
- .awsui_drawers-trigger-content_1kzri_scjlm_241:not(#\9) {
242
+ .awsui_drawers-trigger-content_1kzri_17kqs_241:not(#\9) {
243
243
  block-size: 100%;
244
244
  align-items: center;
245
245
  display: flex;
@@ -248,13 +248,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
248
248
  justify-content: flex-end;
249
249
  }
250
250
 
251
- .awsui_group-divider_1kzri_scjlm_250:not(#\9) {
251
+ .awsui_group-divider_1kzri_17kqs_250:not(#\9) {
252
252
  border-inline-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-divider-default-j74lyz, #b6bec9);
253
253
  block-size: 60%;
254
254
  }
255
255
 
256
256
  @media (max-width: 688px) {
257
- .awsui_drawers-trigger_1kzri_scjlm_241:not(#\9) {
257
+ .awsui_drawers-trigger_1kzri_17kqs_241:not(#\9) {
258
258
  display: flex;
259
259
  justify-content: center;
260
260
  align-items: center;