@cloudscape-design/components-themeable 3.0.785 → 3.0.787

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 (281) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/test-classes/styles.scss +3 -0
  3. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +40 -0
  4. package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +27 -9
  5. package/lib/internal/scss/collection-preferences/analytics-metadata/styles.scss +8 -0
  6. package/lib/internal/scss/collection-preferences/content-display/styles.scss +3 -1
  7. package/lib/internal/scss/date-range-picker/styles.scss +0 -4
  8. package/lib/internal/scss/flashbar/styles.scss +8 -0
  9. package/lib/internal/scss/internal/components/drag-handle/styles.scss +4 -0
  10. package/lib/internal/scss/internal/styles/forms/mixins.scss +0 -7
  11. package/lib/internal/scss/prompt-input/styles.scss +34 -127
  12. package/lib/internal/scss/prompt-input/test-classes/styles.scss +0 -8
  13. package/lib/internal/scss/steps/styles.scss +53 -0
  14. package/lib/internal/scss/wizard/analytics-metadata/styles.scss +8 -0
  15. package/lib/internal/template/app-layout/drawer/index.js.map +1 -1
  16. package/lib/internal/template/app-layout/drawer/overflow-menu.d.ts +6 -2
  17. package/lib/internal/template/app-layout/drawer/overflow-menu.d.ts.map +1 -1
  18. package/lib/internal/template/app-layout/drawer/overflow-menu.js +22 -8
  19. package/lib/internal/template/app-layout/drawer/overflow-menu.js.map +1 -1
  20. package/lib/internal/template/app-layout/interfaces.d.ts +2 -1
  21. package/lib/internal/template/app-layout/interfaces.d.ts.map +1 -1
  22. package/lib/internal/template/app-layout/interfaces.js.map +1 -1
  23. package/lib/internal/template/app-layout/mobile-toolbar/index.js.map +1 -1
  24. package/lib/internal/template/app-layout/runtime-api.d.ts +4 -3
  25. package/lib/internal/template/app-layout/runtime-api.d.ts.map +1 -1
  26. package/lib/internal/template/app-layout/runtime-api.js +15 -11
  27. package/lib/internal/template/app-layout/runtime-api.js.map +1 -1
  28. package/lib/internal/template/app-layout/test-classes/styles.css.js +20 -19
  29. package/lib/internal/template/app-layout/test-classes/styles.scoped.css +23 -19
  30. package/lib/internal/template/app-layout/test-classes/styles.selectors.js +20 -19
  31. package/lib/internal/template/app-layout/utils/use-drawers.d.ts +12 -1
  32. package/lib/internal/template/app-layout/utils/use-drawers.d.ts.map +1 -1
  33. package/lib/internal/template/app-layout/utils/use-drawers.js +125 -20
  34. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  35. package/lib/internal/template/app-layout/utils/use-focus-control.d.ts +10 -0
  36. package/lib/internal/template/app-layout/utils/use-focus-control.d.ts.map +1 -1
  37. package/lib/internal/template/app-layout/utils/use-focus-control.js +60 -1
  38. package/lib/internal/template/app-layout/utils/use-focus-control.js.map +1 -1
  39. package/lib/internal/template/app-layout/utils/visibility-context.d.ts +3 -0
  40. package/lib/internal/template/app-layout/utils/visibility-context.d.ts.map +1 -0
  41. package/lib/internal/template/app-layout/utils/visibility-context.js +5 -0
  42. package/lib/internal/template/app-layout/utils/visibility-context.js.map +1 -0
  43. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  44. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts +5 -1
  45. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  46. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +15 -4
  47. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  48. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.d.ts +15 -0
  49. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.d.ts.map +1 -0
  50. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +71 -0
  51. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -0
  52. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawers.d.ts +6 -1
  53. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawers.d.ts.map +1 -1
  54. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawers.js +15 -4
  55. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawers.js.map +1 -1
  56. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.d.ts.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +35 -23
  58. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +10 -6
  60. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +28 -6
  61. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +10 -6
  62. package/lib/internal/template/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
  63. package/lib/internal/template/app-layout/visual-refresh-toolbar/index.js +60 -6
  64. package/lib/internal/template/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  65. package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts +10 -1
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts.map +1 -1
  67. package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.d.ts +3 -1
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.d.ts.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +3 -2
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +17 -16
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +50 -32
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +17 -16
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +6 -2
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +34 -10
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +5 -1
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +17 -13
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  83. package/lib/internal/template/collection-preferences/analytics-metadata/interfaces.d.ts +43 -0
  84. package/lib/internal/template/collection-preferences/analytics-metadata/interfaces.d.ts.map +1 -0
  85. package/lib/internal/template/collection-preferences/analytics-metadata/interfaces.js +4 -0
  86. package/lib/internal/template/collection-preferences/analytics-metadata/interfaces.js.map +1 -0
  87. package/lib/internal/template/collection-preferences/analytics-metadata/styles.css.js +6 -0
  88. package/lib/internal/template/collection-preferences/analytics-metadata/styles.scoped.css +7 -0
  89. package/lib/internal/template/collection-preferences/analytics-metadata/styles.selectors.js +7 -0
  90. package/lib/internal/template/collection-preferences/analytics-metadata/utils.d.ts +9 -0
  91. package/lib/internal/template/collection-preferences/analytics-metadata/utils.d.ts.map +1 -0
  92. package/lib/internal/template/collection-preferences/analytics-metadata/utils.js +48 -0
  93. package/lib/internal/template/collection-preferences/analytics-metadata/utils.js.map +1 -0
  94. package/lib/internal/template/collection-preferences/content-display/content-display-option.d.ts +1 -0
  95. package/lib/internal/template/collection-preferences/content-display/content-display-option.d.ts.map +1 -1
  96. package/lib/internal/template/collection-preferences/content-display/content-display-option.js +2 -2
  97. package/lib/internal/template/collection-preferences/content-display/content-display-option.js.map +1 -1
  98. package/lib/internal/template/collection-preferences/content-display/draggable-option.d.ts.map +1 -1
  99. package/lib/internal/template/collection-preferences/content-display/draggable-option.js +2 -2
  100. package/lib/internal/template/collection-preferences/content-display/draggable-option.js.map +1 -1
  101. package/lib/internal/template/collection-preferences/content-display/index.d.ts +1 -1
  102. package/lib/internal/template/collection-preferences/content-display/index.d.ts.map +1 -1
  103. package/lib/internal/template/collection-preferences/content-display/index.js +21 -7
  104. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  105. package/lib/internal/template/collection-preferences/content-display/styles.css.js +13 -11
  106. package/lib/internal/template/collection-preferences/content-display/styles.scoped.css +19 -17
  107. package/lib/internal/template/collection-preferences/content-display/styles.selectors.js +13 -11
  108. package/lib/internal/template/collection-preferences/index.d.ts.map +1 -1
  109. package/lib/internal/template/collection-preferences/index.js +21 -15
  110. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  111. package/lib/internal/template/collection-preferences/interfaces.d.ts +29 -0
  112. package/lib/internal/template/collection-preferences/interfaces.d.ts.map +1 -1
  113. package/lib/internal/template/collection-preferences/interfaces.js.map +1 -1
  114. package/lib/internal/template/collection-preferences/styles.css.js +39 -37
  115. package/lib/internal/template/collection-preferences/styles.scoped.css +46 -44
  116. package/lib/internal/template/collection-preferences/styles.selectors.js +39 -37
  117. package/lib/internal/template/collection-preferences/utils.d.ts.map +1 -1
  118. package/lib/internal/template/collection-preferences/utils.js +12 -13
  119. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  120. package/lib/internal/template/collection-preferences/visible-content.d.ts.map +1 -1
  121. package/lib/internal/template/collection-preferences/visible-content.js +2 -1
  122. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  123. package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
  124. package/lib/internal/template/date-range-picker/index.js +9 -10
  125. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  126. package/lib/internal/template/date-range-picker/styles.css.js +38 -39
  127. package/lib/internal/template/date-range-picker/styles.scoped.css +47 -51
  128. package/lib/internal/template/date-range-picker/styles.selectors.js +38 -39
  129. package/lib/internal/template/flashbar/styles.css.js +50 -50
  130. package/lib/internal/template/flashbar/styles.scoped.css +156 -149
  131. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  132. package/lib/internal/template/i18n/messages/all.all.js +1 -1
  133. package/lib/internal/template/i18n/messages/all.all.json +1 -1
  134. package/lib/internal/template/i18n/messages/all.ar.js +1 -1
  135. package/lib/internal/template/i18n/messages/all.ar.json +1 -1
  136. package/lib/internal/template/i18n/messages/all.de.js +1 -1
  137. package/lib/internal/template/i18n/messages/all.de.json +1 -1
  138. package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
  139. package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
  140. package/lib/internal/template/i18n/messages/all.en.js +1 -1
  141. package/lib/internal/template/i18n/messages/all.en.json +1 -1
  142. package/lib/internal/template/i18n/messages/all.es.js +1 -1
  143. package/lib/internal/template/i18n/messages/all.es.json +1 -1
  144. package/lib/internal/template/i18n/messages/all.fr.js +1 -1
  145. package/lib/internal/template/i18n/messages/all.fr.json +1 -1
  146. package/lib/internal/template/i18n/messages/all.id.js +1 -1
  147. package/lib/internal/template/i18n/messages/all.id.json +1 -1
  148. package/lib/internal/template/i18n/messages/all.it.js +1 -1
  149. package/lib/internal/template/i18n/messages/all.it.json +1 -1
  150. package/lib/internal/template/i18n/messages/all.ja.js +1 -1
  151. package/lib/internal/template/i18n/messages/all.ja.json +1 -1
  152. package/lib/internal/template/i18n/messages/all.ko.js +1 -1
  153. package/lib/internal/template/i18n/messages/all.ko.json +1 -1
  154. package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
  155. package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
  156. package/lib/internal/template/i18n/messages/all.tr.js +1 -1
  157. package/lib/internal/template/i18n/messages/all.tr.json +1 -1
  158. package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
  159. package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
  160. package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
  161. package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
  162. package/lib/internal/template/i18n/messages-types.d.ts +7 -0
  163. package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
  164. package/lib/internal/template/i18n/messages-types.js.map +1 -1
  165. package/lib/internal/template/index.d.ts +1 -0
  166. package/lib/internal/template/index.d.ts.map +1 -1
  167. package/lib/internal/template/index.js +1 -0
  168. package/lib/internal/template/index.js.map +1 -1
  169. package/lib/internal/template/internal/analytics/interfaces.d.ts +1 -0
  170. package/lib/internal/template/internal/analytics/interfaces.d.ts.map +1 -1
  171. package/lib/internal/template/internal/analytics/interfaces.js.map +1 -1
  172. package/lib/internal/template/internal/components/drag-handle/index.d.ts +2 -1
  173. package/lib/internal/template/internal/components/drag-handle/index.d.ts.map +1 -1
  174. package/lib/internal/template/internal/components/drag-handle/index.js +3 -3
  175. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  176. package/lib/internal/template/internal/components/drag-handle/styles.css.js +2 -1
  177. package/lib/internal/template/internal/components/drag-handle/styles.scoped.css +6 -2
  178. package/lib/internal/template/internal/components/drag-handle/styles.selectors.js +2 -1
  179. package/lib/internal/template/internal/environment.js +1 -1
  180. package/lib/internal/template/internal/environment.json +1 -1
  181. package/lib/internal/template/internal/hooks/use-component-analytics/index.d.ts +7 -1
  182. package/lib/internal/template/internal/hooks/use-component-analytics/index.d.ts.map +1 -1
  183. package/lib/internal/template/internal/hooks/use-component-analytics/index.js +21 -4
  184. package/lib/internal/template/internal/hooks/use-component-analytics/index.js.map +1 -1
  185. package/lib/internal/template/internal/plugins/controllers/drawers.d.ts +19 -2
  186. package/lib/internal/template/internal/plugins/controllers/drawers.d.ts.map +1 -1
  187. package/lib/internal/template/internal/plugins/controllers/drawers.js +34 -2
  188. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  189. package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.d.ts +4 -2
  190. package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.d.ts.map +1 -1
  191. package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.js +19 -4
  192. package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.js.map +1 -1
  193. package/lib/internal/template/modal/internal.d.ts +1 -0
  194. package/lib/internal/template/modal/internal.d.ts.map +1 -1
  195. package/lib/internal/template/modal/internal.js +2 -2
  196. package/lib/internal/template/modal/internal.js.map +1 -1
  197. package/lib/internal/template/package.json +1 -0
  198. package/lib/internal/template/prompt-input/interfaces.d.ts +0 -16
  199. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  200. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  201. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  202. package/lib/internal/template/prompt-input/internal.js +11 -28
  203. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  204. package/lib/internal/template/prompt-input/styles.css.js +8 -14
  205. package/lib/internal/template/prompt-input/styles.scoped.css +68 -264
  206. package/lib/internal/template/prompt-input/styles.selectors.js +8 -14
  207. package/lib/internal/template/prompt-input/test-classes/styles.css.js +3 -5
  208. package/lib/internal/template/prompt-input/test-classes/styles.scoped.css +3 -11
  209. package/lib/internal/template/prompt-input/test-classes/styles.selectors.js +3 -5
  210. package/lib/internal/template/steps/index.d.ts +6 -0
  211. package/lib/internal/template/steps/index.d.ts.map +1 -0
  212. package/lib/internal/template/steps/index.js +19 -0
  213. package/lib/internal/template/steps/index.js.map +1 -0
  214. package/lib/internal/template/steps/interfaces.d.ts +40 -0
  215. package/lib/internal/template/steps/interfaces.d.ts.map +1 -0
  216. package/lib/internal/template/steps/interfaces.js +2 -0
  217. package/lib/internal/template/steps/interfaces.js.map +1 -0
  218. package/lib/internal/template/steps/internal.d.ts +8 -0
  219. package/lib/internal/template/steps/internal.d.ts.map +1 -0
  220. package/lib/internal/template/steps/internal.js +21 -0
  221. package/lib/internal/template/steps/internal.js.map +1 -0
  222. package/lib/internal/template/steps/styles.css.js +11 -0
  223. package/lib/internal/template/steps/styles.scoped.css +247 -0
  224. package/lib/internal/template/steps/styles.selectors.js +12 -0
  225. package/lib/internal/template/table/internal.d.ts.map +1 -1
  226. package/lib/internal/template/table/internal.js +2 -2
  227. package/lib/internal/template/table/internal.js.map +1 -1
  228. package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.d.ts +9 -0
  229. package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.js +13 -0
  230. package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.js.map +1 -1
  231. package/lib/internal/template/test-utils/dom/index.d.ts +3 -0
  232. package/lib/internal/template/test-utils/dom/index.js +9 -1
  233. package/lib/internal/template/test-utils/dom/index.js.map +1 -1
  234. package/lib/internal/template/test-utils/dom/prompt-input/index.d.ts +0 -2
  235. package/lib/internal/template/test-utils/dom/prompt-input/index.js +0 -6
  236. package/lib/internal/template/test-utils/dom/prompt-input/index.js.map +1 -1
  237. package/lib/internal/template/test-utils/dom/steps/index.d.ts +18 -0
  238. package/lib/internal/template/test-utils/dom/steps/index.js +33 -0
  239. package/lib/internal/template/test-utils/dom/steps/index.js.map +1 -0
  240. package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.d.ts +9 -0
  241. package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.js +13 -0
  242. package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.js.map +1 -1
  243. package/lib/internal/template/test-utils/selectors/index.d.ts +3 -0
  244. package/lib/internal/template/test-utils/selectors/index.js +9 -1
  245. package/lib/internal/template/test-utils/selectors/index.js.map +1 -1
  246. package/lib/internal/template/test-utils/selectors/prompt-input/index.d.ts +0 -2
  247. package/lib/internal/template/test-utils/selectors/prompt-input/index.js +0 -6
  248. package/lib/internal/template/test-utils/selectors/prompt-input/index.js.map +1 -1
  249. package/lib/internal/template/test-utils/selectors/steps/index.d.ts +18 -0
  250. package/lib/internal/template/test-utils/selectors/steps/index.js +33 -0
  251. package/lib/internal/template/test-utils/selectors/steps/index.js.map +1 -0
  252. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  253. package/lib/internal/template/wizard/analytics-metadata/interfaces.d.ts +35 -0
  254. package/lib/internal/template/wizard/analytics-metadata/interfaces.d.ts.map +1 -0
  255. package/lib/internal/template/wizard/analytics-metadata/interfaces.js +4 -0
  256. package/lib/internal/template/wizard/analytics-metadata/interfaces.js.map +1 -0
  257. package/lib/internal/template/wizard/analytics-metadata/styles.css.js +6 -0
  258. package/lib/internal/template/wizard/analytics-metadata/styles.scoped.css +7 -0
  259. package/lib/internal/template/wizard/analytics-metadata/styles.selectors.js +7 -0
  260. package/lib/internal/template/wizard/analytics-metadata/utils.d.ts +7 -0
  261. package/lib/internal/template/wizard/analytics-metadata/utils.d.ts.map +1 -0
  262. package/lib/internal/template/wizard/analytics-metadata/utils.js +14 -0
  263. package/lib/internal/template/wizard/analytics-metadata/utils.js.map +1 -0
  264. package/lib/internal/template/wizard/index.d.ts.map +1 -1
  265. package/lib/internal/template/wizard/index.js +1 -1
  266. package/lib/internal/template/wizard/index.js.map +1 -1
  267. package/lib/internal/template/wizard/internal.d.ts +4 -2
  268. package/lib/internal/template/wizard/internal.d.ts.map +1 -1
  269. package/lib/internal/template/wizard/internal.js +14 -3
  270. package/lib/internal/template/wizard/internal.js.map +1 -1
  271. package/lib/internal/template/wizard/wizard-actions.d.ts +4 -1
  272. package/lib/internal/template/wizard/wizard-actions.d.ts.map +1 -1
  273. package/lib/internal/template/wizard/wizard-actions.js +9 -5
  274. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  275. package/lib/internal/template/wizard/wizard-form.d.ts.map +1 -1
  276. package/lib/internal/template/wizard/wizard-form.js +1 -1
  277. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  278. package/lib/internal/template/wizard/wizard-navigation.d.ts.map +1 -1
  279. package/lib/internal/template/wizard/wizard-navigation.js +12 -6
  280. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  281. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "de33b5dcbbf1db3eba4072acf8f5b849c5d40cc4"
2
+ "commit": "168622904e4a09044db5a32a4df7a6581e3d5442"
3
3
  }
@@ -45,6 +45,9 @@
45
45
  .drawers-trigger {
46
46
  /* used in tests */
47
47
  }
48
+ .drawers-trigger-global {
49
+ /* used in tests */
50
+ }
48
51
  .active-drawer {
49
52
  /* used in tests */
50
53
  }
@@ -5,6 +5,19 @@
5
5
  @use '../../../internal/styles/tokens' as awsui;
6
6
  @use '../../../internal/styles' as styles;
7
7
  @use '../../constants.scss' as constants;
8
+ @use '../../../internal/generated/custom-css-properties/index.scss' as custom-props;
9
+
10
+ @mixin desktop-only {
11
+ @include styles.media-breakpoint-up(styles.$breakpoint-x-small) {
12
+ @content;
13
+ }
14
+ }
15
+
16
+ @mixin mobile-only {
17
+ @include styles.media-breakpoint-down(styles.$breakpoint-x-small) {
18
+ @content;
19
+ }
20
+ }
8
21
 
9
22
  .drawer {
10
23
  position: sticky;
@@ -12,6 +25,7 @@
12
25
  background-color: awsui.$color-background-container-content;
13
26
  display: grid;
14
27
  grid-template-columns: awsui.$space-m 1fr;
28
+ inline-size: var(#{custom-props.$drawerSize});
15
29
 
16
30
  block-size: 100%;
17
31
  overflow: hidden;
@@ -20,6 +34,32 @@
20
34
  pointer-events: auto;
21
35
  word-wrap: break-word;
22
36
 
37
+ @include desktop-only {
38
+ &:not(.legacy) {
39
+ border-inline-start: awsui.$border-divider-section-width solid awsui.$color-border-layout;
40
+ }
41
+ }
42
+
43
+ &.last-opened {
44
+ @include mobile-only {
45
+ z-index: constants.$drawer-z-index-mobile;
46
+ }
47
+ }
48
+
49
+ &.drawer-global {
50
+ @include mobile-only {
51
+ display: none;
52
+
53
+ &.last-opened {
54
+ display: block;
55
+ }
56
+ }
57
+ }
58
+
59
+ &.drawer-hidden {
60
+ display: none;
61
+ }
62
+
23
63
  > .drawer-content-container {
24
64
  grid-column: 1 / span 2;
25
65
  grid-row: 1;
@@ -41,9 +41,9 @@
41
41
  // desktop grid
42
42
  @include desktop-only {
43
43
  grid-template-areas:
44
- 'toolbar toolbar toolbar toolbar toolbar toolbar'
45
- 'navigation . notifications . sideSplitPanel tools'
46
- 'navigation . main . sideSplitPanel tools';
44
+ 'toolbar toolbar toolbar toolbar toolbar toolbar toolbar'
45
+ 'navigation . notifications . sideSplitPanel tools global-tools'
46
+ 'navigation . main . sideSplitPanel tools global-tools';
47
47
  grid-template-columns:
48
48
  min-content
49
49
  minmax(#{awsui.$space-layout-content-horizontal}, 1fr)
@@ -72,31 +72,48 @@
72
72
  }
73
73
 
74
74
  .navigation,
75
- .tools {
75
+ .tools,
76
+ .global-tools {
76
77
  grid-row: 1 / -1;
77
78
  grid-column: 1 / -1;
78
79
  background: awsui.$color-background-container-content;
79
- z-index: constants.$drawer-z-index;
80
80
  opacity: 1;
81
81
  @include mobile-only {
82
82
  inline-size: 100%;
83
- z-index: constants.$drawer-z-index-mobile;
84
83
  }
85
84
  }
86
85
 
87
86
  .navigation {
87
+ z-index: constants.$drawer-z-index;
88
+
88
89
  @include desktop-only {
89
90
  grid-area: navigation;
90
91
  inline-size: var(#{custom-props.$navigationWidth});
91
92
  border-inline-end: awsui.$border-divider-section-width solid awsui.$color-border-layout;
92
93
  }
94
+
95
+ @include mobile-only {
96
+ z-index: constants.$drawer-z-index-mobile;
97
+ }
93
98
  }
94
99
 
95
100
  .tools {
96
101
  @include desktop-only {
97
102
  grid-area: tools;
98
- inline-size: var(#{custom-props.$toolsWidth});
99
- border-inline-start: awsui.$border-divider-section-width solid awsui.$color-border-layout;
103
+
104
+ // workaround when new app layout and old widgets
105
+ /* stylelint-disable plugin/no-unsupported-browser-features */
106
+ &:not(:has(> [data-testid])) {
107
+ inline-size: var(#{custom-props.$toolsWidth});
108
+ border-inline-start: awsui.$border-divider-section-width solid awsui.$color-border-layout;
109
+ }
110
+ }
111
+ }
112
+
113
+ .global-tools {
114
+ @include desktop-only {
115
+ display: flex;
116
+ grid-area: global-tools;
100
117
  }
101
118
  }
102
119
 
@@ -125,7 +142,8 @@
125
142
  opacity: 0;
126
143
  z-index: 0;
127
144
  &.navigation,
128
- &.tools {
145
+ &.tools,
146
+ &.global-tools {
129
147
  inline-size: 0px;
130
148
  }
131
149
  }
@@ -0,0 +1,8 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ .trigger-button {
7
+ /* used in analytics metadata */
8
+ }
@@ -8,7 +8,9 @@
8
8
 
9
9
  @import 'content-display-option';
10
10
 
11
- .content-display {
11
+ .content-display,
12
+ .content-display-text-filter,
13
+ .content-display-no-match {
12
14
  /* used in test-utils */
13
15
  }
14
16
 
@@ -26,10 +26,6 @@ $calendar-header-color: awsui.$color-text-body-default;
26
26
  display: contents;
27
27
  }
28
28
 
29
- .trigger-wrapper {
30
- min-inline-size: calc(#{$calendar-grid-width} + 2 * #{awsui.$space-l});
31
- }
32
-
33
29
  .trigger-flexbox {
34
30
  display: flex;
35
31
  }
@@ -59,6 +59,14 @@
59
59
  margin-block: 0;
60
60
  margin-inline: 0;
61
61
 
62
+ /*
63
+ Adds a new stacking context for the flashbar
64
+ This prevents the flashbar shadow to disappear behind its container's
65
+ background due to z-index: -1
66
+ */
67
+ position: relative;
68
+ z-index: 1;
69
+
62
70
  &:not(.collapsed) {
63
71
  > li:not(:last-child) {
64
72
  margin-block-end: awsui.$space-xxxs;
@@ -16,3 +16,7 @@
16
16
  .handle:active {
17
17
  cursor: grabbing;
18
18
  }
19
+
20
+ .handle-disabled {
21
+ cursor: default;
22
+ }
@@ -255,10 +255,3 @@
255
255
  block-size: $height;
256
256
  inline-size: $width;
257
257
  }
258
-
259
- @mixin control-border-radius-full {
260
- border-start-start-radius: constants.$control-border-radius;
261
- border-start-end-radius: constants.$control-border-radius;
262
- border-end-start-radius: constants.$control-border-radius;
263
- border-end-end-radius: constants.$control-border-radius;
264
- }
@@ -6,81 +6,40 @@
6
6
 
7
7
  @use '../internal/styles' as styles;
8
8
  @use '../internal/styles/tokens' as awsui;
9
- @use '../internal/styles/foundation/' as foundation;
10
- @use '../internal/styles/forms/constants' as constants;
11
9
  @use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
12
10
 
13
11
  $send-icon-right-spacing: awsui.$space-static-xxs;
14
- $invalid-border-offset: constants.$invalid-control-left-padding;
15
12
 
16
13
  .root {
17
- @include styles.styles-reset;
18
- @include styles.control-border-radius-full();
19
- cursor: text;
14
+ position: relative;
20
15
 
21
- background-color: awsui.$color-background-input-default;
22
-
23
- border-block: styles.$control-border-width solid awsui.$color-border-input-default;
24
- border-inline: styles.$control-border-width solid awsui.$color-border-input-default;
25
-
26
- &.textarea-readonly {
27
- @include styles.form-readonly-element;
28
- }
29
-
30
- &.disabled {
31
- @include styles.form-disabled-element;
32
- cursor: default;
33
- }
34
-
35
- &.textarea-invalid {
36
- @include styles.form-invalid-control();
37
- & {
38
- padding-inline-start: 0;
39
- }
40
-
41
- &:focus-within,
42
- &:focus {
43
- @include styles.form-invalid-control();
44
- & {
45
- padding-inline-start: 0;
46
- box-shadow: foundation.$box-shadow-focused-light-invalid;
47
- }
48
- }
49
- }
50
-
51
- &.textarea-warning {
52
- @include styles.form-warning-control();
53
- & {
54
- padding-inline-start: 0;
55
- }
56
-
57
- &:focus-within,
58
- &:focus {
59
- @include styles.form-warning-control();
60
- & {
61
- padding-inline-start: 0;
62
- box-shadow: foundation.$box-shadow-focused-light-invalid;
16
+ > .button {
17
+ position: absolute;
18
+ inset-inline-end: $send-icon-right-spacing;
19
+ inset-block-end: 0;
20
+
21
+ > .action-button {
22
+ // offset the focus ring by 1px per side so it doesn't blend into the textarea border
23
+ @include focus-visible.when-visible {
24
+ @include styles.focus-highlight(
25
+ (
26
+ 'vertical': calc((-1 * #{awsui.$space-xxxs}) - 1px),
27
+ 'horizontal': calc((#{awsui.$space-xxxs}) - 1px),
28
+ )
29
+ );
63
30
  }
64
31
  }
65
32
  }
66
-
67
- &:focus-within,
68
- &:focus {
69
- @include styles.form-focus-element;
70
- }
71
33
  }
72
34
 
73
35
  .textarea {
74
36
  @include styles.styles-reset;
75
- @include styles.control-border-radius-full();
76
- @include styles.font-body-m;
77
37
  // Restore browsers' default resize values
78
38
  resize: none;
79
39
  // Restore default text cursor
80
40
  cursor: text;
81
41
  // Allow multi-line placeholders
82
42
  white-space: pre-wrap;
83
- background-color: inherit;
84
43
 
85
44
  padding-block: styles.$control-padding-vertical;
86
45
  padding-inline: styles.$control-padding-horizontal;
@@ -90,8 +49,19 @@ $invalid-border-offset: constants.$invalid-control-left-padding;
90
49
  inline-size: 100%;
91
50
  display: block;
92
51
  box-sizing: border-box;
52
+ background-color: awsui.$color-background-input-default;
53
+ border-start-start-radius: styles.$control-border-radius;
54
+ border-start-end-radius: styles.$control-border-radius;
55
+ border-end-start-radius: styles.$control-border-radius;
56
+ border-end-end-radius: styles.$control-border-radius;
57
+ border-block: styles.$control-border-width solid awsui.$color-border-input-default;
58
+ border-inline: styles.$control-border-width solid awsui.$color-border-input-default;
93
59
 
94
- border: 0;
60
+ @include styles.font-body-m;
61
+
62
+ &.textarea-readonly {
63
+ @include styles.form-readonly-element;
64
+ }
95
65
 
96
66
  &::placeholder {
97
67
  @include styles.form-placeholder;
@@ -103,7 +73,7 @@ $invalid-border-offset: constants.$invalid-control-left-padding;
103
73
  }
104
74
 
105
75
  &:focus {
106
- outline: none;
76
+ @include styles.form-focus-element;
107
77
  }
108
78
 
109
79
  &:invalid {
@@ -111,14 +81,8 @@ $invalid-border-offset: constants.$invalid-control-left-padding;
111
81
  box-shadow: none;
112
82
  }
113
83
 
114
- &.invalid,
115
- &.warning {
116
- padding-inline-start: $invalid-border-offset;
117
- }
118
-
119
84
  &:disabled {
120
85
  @include styles.form-disabled-element;
121
- border: 0;
122
86
  cursor: default;
123
87
 
124
88
  &::placeholder {
@@ -131,71 +95,14 @@ $invalid-border-offset: constants.$invalid-control-left-padding;
131
95
  }
132
96
  }
133
97
 
134
- &-wrapper {
135
- display: flex;
136
- }
137
- }
138
-
139
- .button {
140
- align-self: flex-end;
141
- padding-inline: calc(styles.$control-padding-horizontal / 2);
142
- padding-block-end: awsui.$space-scaled-xxxs;
143
-
144
- > .action-button {
145
- padding: 0;
146
-
147
- // offset the focus ring by 1px per side so it doesn't blend into the textarea border
148
- @include focus-visible.when-visible {
149
- @include styles.focus-highlight(
150
- (
151
- 'vertical': calc((-1 * #{awsui.$space-xxxs}) - 1px),
152
- 'horizontal': calc((#{awsui.$space-xxxs}) - 1px),
153
- )
154
- );
155
- }
156
- }
157
- }
158
-
159
- .secondary-content {
160
- @include styles.styles-reset;
161
- @include styles.control-border-radius-full();
162
-
163
- &.with-paddings {
164
- padding-block-start: styles.$control-padding-vertical;
165
- padding-block-end: awsui.$space-scaled-s;
166
- padding-inline-start: styles.$control-padding-horizontal;
167
- padding-inline-end: calc(styles.$control-padding-horizontal / 2);
168
-
169
- &.invalid,
170
- &.warning {
171
- padding-inline-start: $invalid-border-offset;
172
- }
98
+ &.textarea-invalid {
99
+ @include styles.form-invalid-control();
173
100
  }
174
- }
175
101
 
176
- .secondary-actions {
177
- @include styles.styles-reset;
178
- @include styles.control-border-radius-full();
179
- display: flex;
180
- justify-content: space-between;
181
- align-items: flex-end;
182
-
183
- &.with-paddings {
184
- padding-inline-start: styles.$control-padding-horizontal;
185
- padding-block-start: awsui.$space-scaled-s;
186
- padding-block-end: styles.$control-padding-vertical;
187
-
188
- &.invalid,
189
- &.warning {
190
- padding-inline-start: $invalid-border-offset;
191
- }
192
-
193
- > .button {
194
- padding-block-end: 0;
195
- }
102
+ &.textarea-warning {
103
+ @include styles.form-warning-control();
196
104
  }
197
-
198
- > .button {
199
- padding-block-end: awsui.$space-scaled-xxs;
105
+ &.textarea-with-button {
106
+ padding-inline-end: calc(styles.$control-padding-horizontal + $send-icon-right-spacing + awsui.$size-icon-normal);
200
107
  }
201
108
  }
@@ -13,11 +13,3 @@
13
13
  .action-button {
14
14
  /* used in test-utils */
15
15
  }
16
-
17
- .secondary-actions {
18
- /* used in test-utils */
19
- }
20
-
21
- .secondary-content {
22
- /* used in test-utils */
23
- }
@@ -0,0 +1,53 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ @use '../internal/styles/tokens' as awsui;
7
+ @use '../internal/styles' as styles;
8
+
9
+ .root {
10
+ @include styles.styles-reset;
11
+
12
+ > .list {
13
+ list-style: none;
14
+ padding-inline-start: 0;
15
+ margin-block: 0;
16
+
17
+ > .container {
18
+ display: grid;
19
+ grid-template-columns: awsui.$space-static-l 1fr;
20
+ grid-template-rows: minmax(awsui.$space-static-l, auto);
21
+
22
+ > .header {
23
+ grid-row: 1;
24
+ grid-column: 1 / span 2;
25
+ }
26
+
27
+ > .details {
28
+ align-items: center;
29
+ grid-row: 2;
30
+ grid-column: 2;
31
+ margin-block-end: awsui.$space-static-xs;
32
+ }
33
+
34
+ > .connector {
35
+ grid-row: 2;
36
+ grid-column: 1;
37
+ background-color: awsui.$color-border-divider-default;
38
+ margin-block: 0;
39
+ border-block: 0;
40
+ border-inline: 0;
41
+ inline-size: awsui.$border-divider-list-width;
42
+ block-size: auto;
43
+ min-block-size: awsui.$space-static-xs;
44
+ position: relative;
45
+ inset-inline-end: awsui.$space-static-xxxs;
46
+ }
47
+ }
48
+
49
+ > :last-of-type > .connector {
50
+ display: none;
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,8 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ .step-title {
7
+ /* used in analytics metadata */
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/drawer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { useDensityMode } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getVisualContextClassname } from '../../internal/components/visual-context';\nimport { AppLayoutProps } from '../interfaces';\nimport { CloseButton, ToggleButton, togglesConfig } from '../toggles';\nimport { TOOLS_DRAWER_ID } from '../utils/use-drawers';\nimport { splitItems } from './drawers-helpers';\nimport { DesktopDrawerProps, DrawerTriggersBarProps } from './interfaces';\nimport OverflowMenu from './overflow-menu';\n\nimport testutilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\n// We are using two landmarks per drawer, i.e. two NAVs and two ASIDEs, because of several\n// known bugs in NVDA that cause focus changes within a container to sometimes not be\n// announced. As a result, we use one region for the open button and one region for the\n// actual drawer content, always hiding the other one when it's not visible.\n// An alternative solution to follow a more classic implementation here to only have one\n// button that triggers the opening/closing of the drawer also did not work due to another\n// series of bugs in NVDA (together with Firefox) which prevent the changed expanded state\n// from being announced.\n// Even with this workaround in place, the announcement of the close button when opening a\n// panel in NVDA is not working correctly. The suspected root cause is one of the bugs below\n// as well.\n// Relevant tickets:\n// * https://github.com/nvaccess/nvda/issues/6606\n// * https://github.com/nvaccess/nvda/issues/5825\n// * https://github.com/nvaccess/nvda/issues/5247\n// * https://github.com/nvaccess/nvda/pull/8869 (reverted PR that was going to fix it)\nexport const Drawer = React.forwardRef(\n (\n {\n id,\n contentClassName,\n toggleClassName,\n closeClassName,\n width,\n type,\n toggleRefs,\n topOffset,\n bottomOffset,\n ariaLabels,\n children,\n hideOpenButton,\n isOpen,\n isHidden,\n isMobile,\n onToggle,\n onClick,\n onLoseFocus,\n resizeHandle,\n }: DesktopDrawerProps,\n ref: React.Ref<HTMLDivElement>\n ) => {\n const openButtonWrapperRef = useRef<HTMLElement | null>(null);\n const { TagName, iconName } = togglesConfig[type];\n const { mainLabel, closeLabel, openLabel } = ariaLabels;\n const drawerContentWidthOpen = isMobile ? undefined : width;\n const drawerContentWidth = isOpen ? drawerContentWidthOpen : undefined;\n\n const regularOpenButton = (\n <TagName ref={openButtonWrapperRef} aria-label={mainLabel} className={styles.toggle} aria-hidden={isOpen}>\n <ToggleButton\n ref={toggleRefs.toggle}\n className={toggleClassName}\n iconName={iconName}\n ariaLabel={openLabel}\n onClick={() => onToggle(true)}\n ariaExpanded={isOpen ? undefined : false}\n />\n </TagName>\n );\n\n return (\n <div\n ref={ref}\n className={clsx(styles.drawer, {\n [styles.hide]: isHidden,\n [styles['drawer-closed']]: !isOpen,\n [testutilStyles['drawer-closed']]: !isOpen,\n [styles['drawer-mobile']]: isMobile,\n })}\n style={{ width: drawerContentWidth }}\n onBlur={\n onLoseFocus\n ? e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n onLoseFocus(e);\n }\n }\n : undefined\n }\n onClick={event => {\n if (onClick) {\n onClick(event);\n }\n if (!isOpen) {\n // to prevent calling onToggle from the drawer when it's called from the toggle button\n if (\n openButtonWrapperRef.current === event.target ||\n !openButtonWrapperRef.current?.contains(event.target as Node)\n ) {\n onToggle(true);\n }\n }\n }}\n >\n <div\n id={id}\n style={{ width: drawerContentWidth, top: topOffset, bottom: bottomOffset }}\n className={clsx(styles['drawer-content'], styles['drawer-content-clickable'], contentClassName)}\n >\n {!isMobile && !hideOpenButton && regularOpenButton}\n <TagName\n className={clsx(resizeHandle && styles['drawer-resize-content'])}\n aria-label={mainLabel}\n aria-hidden={!isOpen}\n >\n {!isMobile && isOpen && <div className={styles['resize-handle-wrapper']}>{resizeHandle}</div>}\n <CloseButton\n ref={toggleRefs.close}\n className={closeClassName}\n ariaLabel={closeLabel}\n onClick={() => {\n onToggle(false);\n }}\n />\n {children}\n </TagName>\n </div>\n </div>\n );\n }\n);\n\ninterface DrawerTriggerProps {\n testUtilsClassName?: string;\n ariaLabel: string | undefined;\n ariaExpanded: boolean;\n ariaControls?: string;\n badge: boolean | undefined;\n itemId?: string;\n isActive: boolean;\n trigger: AppLayoutProps.Drawer['trigger'];\n onClick: (() => void) | undefined;\n}\n\nconst DrawerTrigger = React.forwardRef(\n (\n {\n testUtilsClassName,\n ariaLabel,\n ariaExpanded,\n ariaControls,\n badge,\n itemId,\n isActive,\n trigger,\n onClick,\n }: DrawerTriggerProps,\n ref: React.Ref<{ focus: () => void }>\n ) => (\n <div\n className={clsx(\n styles['drawer-trigger'],\n isActive && styles['drawer-trigger-active'],\n isActive && getVisualContextClassname('app-layout-tools-drawer-trigger')\n )}\n onClick={onClick}\n >\n <ToggleButton\n ref={ref}\n className={testUtilsClassName}\n iconName={trigger.iconName}\n iconSvg={trigger.iconSvg}\n ariaLabel={ariaLabel}\n ariaExpanded={ariaExpanded}\n ariaControls={ariaControls}\n badge={badge}\n testId={itemId && `awsui-app-layout-trigger-${itemId}`}\n />\n </div>\n )\n);\n\nexport const DrawerTriggersBar = ({\n isMobile,\n topOffset,\n bottomOffset,\n activeDrawerId,\n ariaLabels,\n drawers,\n drawerRefs,\n onDrawerChange,\n}: DrawerTriggersBarProps) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const previousActiveDrawerId = useRef(activeDrawerId);\n const [containerHeight, triggersContainerRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const isCompactMode = useDensityMode(containerRef) === 'compact';\n\n if (activeDrawerId) {\n previousActiveDrawerId.current = activeDrawerId;\n }\n\n const getIndexOfOverflowItem = () => {\n if (containerHeight) {\n const ITEM_HEIGHT = isCompactMode ? 34 : 38;\n const overflowSpot = containerHeight / 1.5;\n\n const index = Math.floor(overflowSpot / ITEM_HEIGHT);\n\n return index;\n }\n return 0;\n };\n\n const { visibleItems, overflowItems } = splitItems(drawers, getIndexOfOverflowItem(), activeDrawerId);\n const overflowMenuHasBadge = !!overflowItems.find(item => item.badge);\n\n return (\n <div\n className={clsx(styles.drawer, styles['drawer-closed'], testutilStyles['drawer-closed'], {\n [styles['drawer-mobile']]: isMobile,\n [styles.hide]: drawers.length === 1 && !!activeDrawerId,\n })}\n ref={containerRef}\n >\n <div\n ref={triggersContainerRef}\n style={{ top: topOffset, bottom: bottomOffset }}\n className={clsx(styles['drawer-content'], {\n [styles['drawer-content-clickable']]: drawers.length === 1,\n })}\n onClick={\n drawers.length === 1\n ? () => onDrawerChange(drawers[0].id !== activeDrawerId ? drawers[0].id : null)\n : undefined\n }\n >\n {!isMobile && (\n <aside aria-label={ariaLabels?.drawers} role=\"region\">\n <div className={styles['drawer-triggers-wrapper']} role=\"toolbar\" aria-orientation=\"vertical\">\n {visibleItems.map((item, index) => {\n return (\n <DrawerTrigger\n key={index}\n testUtilsClassName={clsx(\n testutilStyles['drawers-trigger'],\n item.id === TOOLS_DRAWER_ID && testutilStyles['tools-toggle']\n )}\n ariaExpanded={activeDrawerId === item.id}\n ref={item.id === previousActiveDrawerId.current ? drawerRefs.toggle : undefined}\n ariaLabel={item.ariaLabels?.triggerButton}\n ariaControls={activeDrawerId === item.id ? item.id : undefined}\n trigger={item.trigger}\n badge={item.badge}\n itemId={item.id}\n isActive={activeDrawerId === item.id}\n onClick={\n drawers.length !== 1\n ? () => onDrawerChange(item.id !== activeDrawerId ? item.id : null)\n : undefined\n }\n />\n );\n })}\n {overflowItems.length > 0 && (\n <div className={styles['drawer-trigger']}>\n <OverflowMenu\n ariaLabel={\n overflowMenuHasBadge ? ariaLabels?.drawersOverflowWithBadge : ariaLabels?.drawersOverflow\n }\n items={overflowItems}\n onItemClick={({ detail }) => onDrawerChange(detail.id)}\n />\n </div>\n )}\n </div>\n </aside>\n )}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/drawer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport { useDensityMode } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getVisualContextClassname } from '../../internal/components/visual-context';\nimport { AppLayoutProps } from '../interfaces';\nimport { CloseButton, ToggleButton, togglesConfig } from '../toggles';\nimport { TOOLS_DRAWER_ID } from '../utils/use-drawers';\nimport { splitItems } from './drawers-helpers';\nimport { DesktopDrawerProps, DrawerTriggersBarProps } from './interfaces';\nimport OverflowMenu from './overflow-menu';\n\nimport testutilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\n// We are using two landmarks per drawer, i.e. two NAVs and two ASIDEs, because of several\n// known bugs in NVDA that cause focus changes within a container to sometimes not be\n// announced. As a result, we use one region for the open button and one region for the\n// actual drawer content, always hiding the other one when it's not visible.\n// An alternative solution to follow a more classic implementation here to only have one\n// button that triggers the opening/closing of the drawer also did not work due to another\n// series of bugs in NVDA (together with Firefox) which prevent the changed expanded state\n// from being announced.\n// Even with this workaround in place, the announcement of the close button when opening a\n// panel in NVDA is not working correctly. The suspected root cause is one of the bugs below\n// as well.\n// Relevant tickets:\n// * https://github.com/nvaccess/nvda/issues/6606\n// * https://github.com/nvaccess/nvda/issues/5825\n// * https://github.com/nvaccess/nvda/issues/5247\n// * https://github.com/nvaccess/nvda/pull/8869 (reverted PR that was going to fix it)\nexport const Drawer = React.forwardRef(\n (\n {\n id,\n contentClassName,\n toggleClassName,\n closeClassName,\n width,\n type,\n toggleRefs,\n topOffset,\n bottomOffset,\n ariaLabels,\n children,\n hideOpenButton,\n isOpen,\n isHidden,\n isMobile,\n onToggle,\n onClick,\n onLoseFocus,\n resizeHandle,\n }: DesktopDrawerProps,\n ref: React.Ref<HTMLDivElement>\n ) => {\n const openButtonWrapperRef = useRef<HTMLElement | null>(null);\n const { TagName, iconName } = togglesConfig[type];\n const { mainLabel, closeLabel, openLabel } = ariaLabels;\n const drawerContentWidthOpen = isMobile ? undefined : width;\n const drawerContentWidth = isOpen ? drawerContentWidthOpen : undefined;\n\n const regularOpenButton = (\n <TagName ref={openButtonWrapperRef} aria-label={mainLabel} className={styles.toggle} aria-hidden={isOpen}>\n <ToggleButton\n ref={toggleRefs.toggle}\n className={toggleClassName}\n iconName={iconName}\n ariaLabel={openLabel}\n onClick={() => onToggle(true)}\n ariaExpanded={isOpen ? undefined : false}\n />\n </TagName>\n );\n\n return (\n <div\n ref={ref}\n className={clsx(styles.drawer, {\n [styles.hide]: isHidden,\n [styles['drawer-closed']]: !isOpen,\n [testutilStyles['drawer-closed']]: !isOpen,\n [styles['drawer-mobile']]: isMobile,\n })}\n style={{ width: drawerContentWidth }}\n onBlur={\n onLoseFocus\n ? e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n onLoseFocus(e);\n }\n }\n : undefined\n }\n onClick={event => {\n if (onClick) {\n onClick(event);\n }\n if (!isOpen) {\n // to prevent calling onToggle from the drawer when it's called from the toggle button\n if (\n openButtonWrapperRef.current === event.target ||\n !openButtonWrapperRef.current?.contains(event.target as Node)\n ) {\n onToggle(true);\n }\n }\n }}\n >\n <div\n id={id}\n style={{ width: drawerContentWidth, top: topOffset, bottom: bottomOffset }}\n className={clsx(styles['drawer-content'], styles['drawer-content-clickable'], contentClassName)}\n >\n {!isMobile && !hideOpenButton && regularOpenButton}\n <TagName\n className={clsx(resizeHandle && styles['drawer-resize-content'])}\n aria-label={mainLabel}\n aria-hidden={!isOpen}\n >\n {!isMobile && isOpen && <div className={styles['resize-handle-wrapper']}>{resizeHandle}</div>}\n <CloseButton\n ref={toggleRefs.close}\n className={closeClassName}\n ariaLabel={closeLabel}\n onClick={() => {\n onToggle(false);\n }}\n />\n {children}\n </TagName>\n </div>\n </div>\n );\n }\n);\n\ninterface DrawerTriggerProps {\n testUtilsClassName?: string;\n ariaLabel: string | undefined;\n ariaExpanded: boolean;\n ariaControls?: string;\n badge: boolean | undefined;\n itemId?: string;\n isActive: boolean;\n trigger: AppLayoutProps.Drawer['trigger'];\n onClick: (() => void) | undefined;\n}\n\nconst DrawerTrigger = React.forwardRef(\n (\n {\n testUtilsClassName,\n ariaLabel,\n ariaExpanded,\n ariaControls,\n badge,\n itemId,\n isActive,\n trigger,\n onClick,\n }: DrawerTriggerProps,\n ref: React.Ref<{ focus: () => void }>\n ) => (\n <div\n className={clsx(\n styles['drawer-trigger'],\n isActive && styles['drawer-trigger-active'],\n isActive && getVisualContextClassname('app-layout-tools-drawer-trigger')\n )}\n onClick={onClick}\n >\n <ToggleButton\n ref={ref}\n className={testUtilsClassName}\n iconName={trigger!.iconName}\n iconSvg={trigger!.iconSvg}\n ariaLabel={ariaLabel}\n ariaExpanded={ariaExpanded}\n ariaControls={ariaControls}\n badge={badge}\n testId={itemId && `awsui-app-layout-trigger-${itemId}`}\n />\n </div>\n )\n);\n\nexport const DrawerTriggersBar = ({\n isMobile,\n topOffset,\n bottomOffset,\n activeDrawerId,\n ariaLabels,\n drawers,\n drawerRefs,\n onDrawerChange,\n}: DrawerTriggersBarProps) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const previousActiveDrawerId = useRef(activeDrawerId);\n const [containerHeight, triggersContainerRef] = useContainerQuery(rect => rect.contentBoxHeight);\n const isCompactMode = useDensityMode(containerRef) === 'compact';\n\n if (activeDrawerId) {\n previousActiveDrawerId.current = activeDrawerId;\n }\n\n const getIndexOfOverflowItem = () => {\n if (containerHeight) {\n const ITEM_HEIGHT = isCompactMode ? 34 : 38;\n const overflowSpot = containerHeight / 1.5;\n\n const index = Math.floor(overflowSpot / ITEM_HEIGHT);\n\n return index;\n }\n return 0;\n };\n\n const { visibleItems, overflowItems } = splitItems(drawers, getIndexOfOverflowItem(), activeDrawerId);\n const overflowMenuHasBadge = !!overflowItems.find(item => item.badge);\n\n return (\n <div\n className={clsx(styles.drawer, styles['drawer-closed'], testutilStyles['drawer-closed'], {\n [styles['drawer-mobile']]: isMobile,\n [styles.hide]: drawers.length === 1 && !!activeDrawerId,\n })}\n ref={containerRef}\n >\n <div\n ref={triggersContainerRef}\n style={{ top: topOffset, bottom: bottomOffset }}\n className={clsx(styles['drawer-content'], {\n [styles['drawer-content-clickable']]: drawers.length === 1,\n })}\n onClick={\n drawers.length === 1\n ? () => onDrawerChange(drawers[0].id !== activeDrawerId ? drawers[0].id : null)\n : undefined\n }\n >\n {!isMobile && (\n <aside aria-label={ariaLabels?.drawers} role=\"region\">\n <div className={styles['drawer-triggers-wrapper']} role=\"toolbar\" aria-orientation=\"vertical\">\n {visibleItems.map((item, index) => {\n return (\n <DrawerTrigger\n key={index}\n testUtilsClassName={clsx(\n testutilStyles['drawers-trigger'],\n item.id === TOOLS_DRAWER_ID && testutilStyles['tools-toggle']\n )}\n ariaExpanded={activeDrawerId === item.id}\n ref={item.id === previousActiveDrawerId.current ? drawerRefs.toggle : undefined}\n ariaLabel={item.ariaLabels?.triggerButton}\n ariaControls={activeDrawerId === item.id ? item.id : undefined}\n trigger={item.trigger}\n badge={item.badge}\n itemId={item.id}\n isActive={activeDrawerId === item.id}\n onClick={\n drawers.length !== 1\n ? () => onDrawerChange(item.id !== activeDrawerId ? item.id : null)\n : undefined\n }\n />\n );\n })}\n {overflowItems.length > 0 && (\n <div className={styles['drawer-trigger']}>\n <OverflowMenu\n ariaLabel={\n overflowMenuHasBadge ? ariaLabels?.drawersOverflowWithBadge : ariaLabels?.drawersOverflow\n }\n items={overflowItems}\n onItemClick={({ detail }) => onDrawerChange(detail.id)}\n />\n </div>\n )}\n </div>\n </aside>\n )}\n </div>\n </div>\n );\n};\n"]}
@@ -2,12 +2,16 @@
2
2
  import { ButtonDropdownProps, InternalButtonDropdownProps } from '../../button-dropdown/interfaces';
3
3
  import { CancelableEventHandler } from '../../internal/events';
4
4
  import { AppLayoutProps } from '../interfaces';
5
+ type Drawer = AppLayoutProps.Drawer & {
6
+ active?: boolean;
7
+ };
5
8
  interface OverflowMenuProps {
6
- items: Array<AppLayoutProps.Drawer>;
9
+ items: Array<Drawer>;
7
10
  onItemClick: CancelableEventHandler<ButtonDropdownProps.ItemClickDetails>;
8
11
  customTriggerBuilder?: InternalButtonDropdownProps['customTriggerBuilder'];
9
12
  ariaLabel?: string;
13
+ globalDrawersStartIndex?: number;
10
14
  }
11
- export default function OverflowMenu({ items, onItemClick, customTriggerBuilder, ariaLabel }: OverflowMenuProps): JSX.Element;
15
+ export default function OverflowMenu({ items: drawers, onItemClick, customTriggerBuilder, ariaLabel, globalDrawersStartIndex, }: OverflowMenuProps): JSX.Element;
12
16
  export {};
13
17
  //# sourceMappingURL=overflow-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overflow-menu.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/drawer/overflow-menu.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAEpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,iBAAiB,eAkB9G"}
1
+ {"version":3,"file":"overflow-menu.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/drawer/overflow-menu.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAE5B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,KAAK,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,WAAW,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAYD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,KAAK,EAAE,OAAO,EACd,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,uBAAuB,GACxB,EAAE,iBAAiB,eAuBnB"}
@@ -3,13 +3,27 @@
3
3
  import React from 'react';
4
4
  import InternalButtonDropdown from '../../button-dropdown/internal';
5
5
  import testutilStyles from '../test-classes/styles.css.js';
6
- export default function OverflowMenu({ items, onItemClick, customTriggerBuilder, ariaLabel }) {
7
- return (React.createElement(InternalButtonDropdown, { items: items.map(item => ({
8
- id: item.id,
9
- text: item.ariaLabels.drawerName,
10
- iconName: item.trigger.iconName,
11
- iconSvg: item.trigger.iconSvg,
12
- badge: item.badge,
13
- })), className: testutilStyles['overflow-menu'], onItemClick: onItemClick, ariaLabel: ariaLabel, variant: "icon", customTriggerBuilder: customTriggerBuilder, expandToViewport: true }));
6
+ const mapDrawerToItem = (drawer) => ({
7
+ id: drawer.id,
8
+ text: drawer.ariaLabels.drawerName,
9
+ iconName: drawer.trigger.iconName,
10
+ iconSvg: drawer.trigger.iconSvg,
11
+ badge: drawer.badge,
12
+ itemType: 'checkbox',
13
+ checked: drawer.active,
14
+ });
15
+ export default function OverflowMenu({ items: drawers, onItemClick, customTriggerBuilder, ariaLabel, globalDrawersStartIndex, }) {
16
+ const itemsFlatList = drawers.map(mapDrawerToItem);
17
+ let items;
18
+ if (globalDrawersStartIndex !== undefined && globalDrawersStartIndex > 0) {
19
+ items = [
20
+ { items: itemsFlatList.slice(0, globalDrawersStartIndex) },
21
+ { items: itemsFlatList.slice(globalDrawersStartIndex) },
22
+ ];
23
+ }
24
+ else {
25
+ items = itemsFlatList;
26
+ }
27
+ return (React.createElement(InternalButtonDropdown, { items: items, className: testutilStyles['overflow-menu'], onItemClick: onItemClick, ariaLabel: ariaLabel, variant: "icon", customTriggerBuilder: customTriggerBuilder, expandToViewport: true }));
14
28
  }
15
29
  //# sourceMappingURL=overflow-menu.js.map