@cloudscape-design/components-themeable 3.0.1087 → 3.0.1089

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 (222) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +4 -3
  3. package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/styles.scss +1 -1
  4. package/lib/internal/scss/button/styles.scss +0 -4
  5. package/lib/internal/scss/button/test-classes/styles.scss +4 -4
  6. package/lib/internal/scss/input/styles.scss +0 -8
  7. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +85 -84
  8. package/lib/internal/scss/prompt-input/styles.scss +0 -6
  9. package/lib/internal/scss/segmented-control/segment.scss +0 -1
  10. package/lib/internal/scss/segmented-control/styles.scss +0 -1
  11. package/lib/internal/scss/table/styles.scss +0 -1
  12. package/lib/internal/scss/tabs/tab-header-bar.scss +0 -1
  13. package/lib/internal/scss/textarea/styles.scss +0 -8
  14. package/lib/internal/scss/toggle-button/test-classes/styles.scss +9 -0
  15. package/lib/internal/template/alert/styles.css.js +27 -27
  16. package/lib/internal/template/alert/styles.scoped.css +46 -46
  17. package/lib/internal/template/alert/styles.selectors.js +27 -27
  18. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  19. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  20. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  21. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  22. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  23. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  24. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  25. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  26. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  27. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.d.ts.map +1 -1
  28. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +1 -0
  29. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  30. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +24 -24
  31. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +74 -73
  32. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +24 -24
  33. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  34. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  36. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +25 -25
  37. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +50 -50
  38. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +25 -25
  39. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  40. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -2
  41. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  42. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +14 -15
  43. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +31 -31
  44. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +14 -15
  45. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  46. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  47. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  48. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  49. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  50. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  51. package/lib/internal/template/button/icon-helper.d.ts.map +1 -1
  52. package/lib/internal/template/button/icon-helper.js +2 -1
  53. package/lib/internal/template/button/icon-helper.js.map +1 -1
  54. package/lib/internal/template/button/internal.d.ts +2 -0
  55. package/lib/internal/template/button/internal.d.ts.map +1 -1
  56. package/lib/internal/template/button/internal.js +4 -3
  57. package/lib/internal/template/button/internal.js.map +1 -1
  58. package/lib/internal/template/button/styles.css.js +21 -22
  59. package/lib/internal/template/button/styles.scoped.css +255 -259
  60. package/lib/internal/template/button/styles.selectors.js +21 -22
  61. package/lib/internal/template/button/test-classes/styles.css.js +5 -2
  62. package/lib/internal/template/button/test-classes/styles.scoped.css +5 -5
  63. package/lib/internal/template/button/test-classes/styles.selectors.js +5 -2
  64. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  65. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  66. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  67. package/lib/internal/template/button-group/internal.js +1 -1
  68. package/lib/internal/template/button-group/internal.js.map +1 -1
  69. package/lib/internal/template/checkbox/internal.js +1 -1
  70. package/lib/internal/template/checkbox/internal.js.map +1 -1
  71. package/lib/internal/template/checkbox/styles.css.js +3 -3
  72. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  73. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  74. package/lib/internal/template/content-layout/styles.css.js +14 -14
  75. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  76. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  77. package/lib/internal/template/file-input/internal.js +1 -1
  78. package/lib/internal/template/file-input/internal.js.map +1 -1
  79. package/lib/internal/template/flashbar/styles.css.js +50 -50
  80. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  81. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  82. package/lib/internal/template/help-panel/styles.css.js +6 -6
  83. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  84. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  85. package/lib/internal/template/i18n/messages/all.all.js +1 -1
  86. package/lib/internal/template/i18n/messages/all.all.json +1 -1
  87. package/lib/internal/template/i18n/messages/all.ar.js +1 -1
  88. package/lib/internal/template/i18n/messages/all.ar.json +1 -1
  89. package/lib/internal/template/i18n/messages/all.de.js +1 -1
  90. package/lib/internal/template/i18n/messages/all.de.json +1 -1
  91. package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
  92. package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
  93. package/lib/internal/template/i18n/messages/all.en.js +1 -1
  94. package/lib/internal/template/i18n/messages/all.en.json +1 -1
  95. package/lib/internal/template/i18n/messages/all.es.js +1 -1
  96. package/lib/internal/template/i18n/messages/all.es.json +1 -1
  97. package/lib/internal/template/i18n/messages/all.fr.js +1 -1
  98. package/lib/internal/template/i18n/messages/all.fr.json +1 -1
  99. package/lib/internal/template/i18n/messages/all.id.js +1 -1
  100. package/lib/internal/template/i18n/messages/all.id.json +1 -1
  101. package/lib/internal/template/i18n/messages/all.it.js +1 -1
  102. package/lib/internal/template/i18n/messages/all.it.json +1 -1
  103. package/lib/internal/template/i18n/messages/all.ja.js +1 -1
  104. package/lib/internal/template/i18n/messages/all.ja.json +1 -1
  105. package/lib/internal/template/i18n/messages/all.ko.js +1 -1
  106. package/lib/internal/template/i18n/messages/all.ko.json +1 -1
  107. package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
  108. package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
  109. package/lib/internal/template/i18n/messages/all.tr.js +1 -1
  110. package/lib/internal/template/i18n/messages/all.tr.json +1 -1
  111. package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
  112. package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
  113. package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
  114. package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
  115. package/lib/internal/template/input/styles.css.js +13 -13
  116. package/lib/internal/template/input/styles.scoped.css +28 -42
  117. package/lib/internal/template/input/styles.selectors.js +13 -13
  118. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  119. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +21 -21
  120. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +44 -44
  121. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +21 -21
  122. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  123. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  124. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  125. package/lib/internal/template/internal/components/expand-toggle-button/index.d.ts.map +1 -1
  126. package/lib/internal/template/internal/components/expand-toggle-button/index.js +1 -1
  127. package/lib/internal/template/internal/components/expand-toggle-button/index.js.map +1 -1
  128. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  129. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  130. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  131. package/lib/internal/template/internal/context/reset-contexts-for-modal.d.ts.map +1 -1
  132. package/lib/internal/template/internal/context/reset-contexts-for-modal.js +2 -2
  133. package/lib/internal/template/internal/context/reset-contexts-for-modal.js.map +1 -1
  134. package/lib/internal/template/internal/environment.js +2 -2
  135. package/lib/internal/template/internal/environment.json +2 -2
  136. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
  137. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  138. package/lib/internal/template/internal/generated/custom-css-properties/index.js +84 -83
  139. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  140. package/lib/internal/template/link/internal.js +1 -1
  141. package/lib/internal/template/link/internal.js.map +1 -1
  142. package/lib/internal/template/link/styles.css.js +20 -20
  143. package/lib/internal/template/link/styles.scoped.css +103 -103
  144. package/lib/internal/template/link/styles.selectors.js +20 -20
  145. package/lib/internal/template/popover/internal.js +1 -1
  146. package/lib/internal/template/popover/internal.js.map +1 -1
  147. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  148. package/lib/internal/template/prompt-input/styles.scoped.css +36 -43
  149. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  150. package/lib/internal/template/radio-group/radio-button.js +1 -1
  151. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  152. package/lib/internal/template/radio-group/styles.css.js +10 -10
  153. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  154. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  155. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  156. package/lib/internal/template/segmented-control/styles.scoped.css +36 -42
  157. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  158. package/lib/internal/template/slider/styles.css.js +26 -26
  159. package/lib/internal/template/slider/styles.scoped.css +86 -86
  160. package/lib/internal/template/slider/styles.selectors.js +26 -26
  161. package/lib/internal/template/spinner/styles.css.js +13 -13
  162. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  163. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  164. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +1 -1
  165. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  166. package/lib/internal/template/table/body-cell/index.d.ts.map +1 -1
  167. package/lib/internal/template/table/body-cell/index.js +1 -1
  168. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  169. package/lib/internal/template/table/body-cell/td-element.js +1 -1
  170. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  171. package/lib/internal/template/table/header-cell/index.js +1 -1
  172. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  173. package/lib/internal/template/table/header-cell/th-element.js +1 -1
  174. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  175. package/lib/internal/template/table/resizer/index.js +1 -1
  176. package/lib/internal/template/table/resizer/index.js.map +1 -1
  177. package/lib/internal/template/table/selection/selection-control.d.ts.map +1 -1
  178. package/lib/internal/template/table/selection/selection-control.js +3 -4
  179. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  180. package/lib/internal/template/table/styles.css.js +34 -34
  181. package/lib/internal/template/table/styles.scoped.css +41 -42
  182. package/lib/internal/template/table/styles.selectors.js +34 -34
  183. package/lib/internal/template/table/table-role/grid-navigation.d.ts +1 -1
  184. package/lib/internal/template/table/table-role/grid-navigation.d.ts.map +1 -1
  185. package/lib/internal/template/table/table-role/grid-navigation.js +1 -1
  186. package/lib/internal/template/table/table-role/grid-navigation.js.map +1 -1
  187. package/lib/internal/template/tabs/styles.css.js +30 -30
  188. package/lib/internal/template/tabs/styles.scoped.css +51 -52
  189. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  190. package/lib/internal/template/tabs/tab-header-bar.js +1 -2
  191. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  192. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  193. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  194. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  195. package/lib/internal/template/test-utils/dom/button/index.js +4 -5
  196. package/lib/internal/template/test-utils/dom/button/index.js.map +1 -1
  197. package/lib/internal/template/test-utils/dom/toggle-button/index.js +3 -4
  198. package/lib/internal/template/test-utils/dom/toggle-button/index.js.map +1 -1
  199. package/lib/internal/template/test-utils/selectors/button/index.js +4 -5
  200. package/lib/internal/template/test-utils/selectors/button/index.js.map +1 -1
  201. package/lib/internal/template/test-utils/selectors/toggle-button/index.js +2 -2
  202. package/lib/internal/template/test-utils/selectors/toggle-button/index.js.map +1 -1
  203. package/lib/internal/template/text-content/styles.css.js +1 -1
  204. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  205. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  206. package/lib/internal/template/textarea/styles.css.js +5 -5
  207. package/lib/internal/template/textarea/styles.scoped.css +12 -19
  208. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  209. package/lib/internal/template/toggle/styles.css.js +10 -10
  210. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  211. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  212. package/lib/internal/template/toggle-button/internal.d.ts.map +1 -1
  213. package/lib/internal/template/toggle-button/internal.js +3 -2
  214. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  215. package/lib/internal/template/toggle-button/test-classes/styles.css.js +7 -0
  216. package/lib/internal/template/toggle-button/test-classes/styles.scoped.css +8 -0
  217. package/lib/internal/template/toggle-button/test-classes/styles.selectors.js +8 -0
  218. package/package.json +1 -1
  219. package/lib/internal/template/internal/context/single-tab-stop-navigation-context.d.ts +0 -36
  220. package/lib/internal/template/internal/context/single-tab-stop-navigation-context.d.ts.map +0 -1
  221. package/lib/internal/template/internal/context/single-tab-stop-navigation-context.js +0 -89
  222. package/lib/internal/template/internal/context/single-tab-stop-navigation-context.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"grid-navigation.js","sourceRoot":"","sources":["../../../../src/table/table-role/grid-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef } from 'react';\nimport { useEffect, useMemo } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getAllFocusables } from '../../internal/components/focus-lock/utils';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n} from '../../internal/context/single-tab-stop-navigation-context';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { nodeBelongs } from '../../internal/utils/node-belongs';\nimport { FocusedCell, GridNavigationProps } from './interfaces';\nimport {\n defaultIsSuppressed,\n findTableRowByAriaRowIndex,\n findTableRowCellByAriaColIndex,\n focusNextElement,\n getClosestCell,\n isElementDisabled,\n isTableCell,\n} from './utils';\n\n/**\n * Makes table navigable with keyboard commands.\n * See grid-navigation.md\n */\nexport function GridNavigationProvider({ keyboardNavigation, pageSize, getTable, children }: GridNavigationProps) {\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n const gridNavigation = useMemo(() => new GridNavigationProcessor(navigationAPI), []);\n\n const getTableStable = useStableCallback(getTable);\n\n // Initialize the processor with the table container assuming it is mounted synchronously and only once.\n useEffect(() => {\n if (keyboardNavigation) {\n const table = getTableStable();\n if (table) {\n gridNavigation.init(table);\n return gridNavigation.cleanup;\n }\n }\n }, [keyboardNavigation, gridNavigation, getTableStable]);\n\n // Notify the processor of the props change.\n useEffect(() => {\n gridNavigation.update({ pageSize });\n }, [gridNavigation, pageSize]);\n\n // Notify the processor of the new render.\n useEffect(() => {\n if (keyboardNavigation) {\n gridNavigation.refresh();\n }\n });\n\n return (\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={keyboardNavigation}\n getNextFocusTarget={gridNavigation.getNextFocusTarget}\n isElementSuppressed={gridNavigation.isElementSuppressed}\n onRegisterFocusable={gridNavigation.onRegisterFocusable}\n onUnregisterActive={gridNavigation.onUnregisterActive}\n >\n {children}\n </SingleTabStopNavigationProvider>\n );\n}\n\n/**\n * This helper encapsulates the grid navigation behaviors which are:\n * 1. Responding to keyboard commands and moving the focus accordingly;\n * 2. Muting table interactive elements for only one to be user-focusable at a time;\n * 3. Suppressing the above behaviors when focusing an element inside a dialog or when instructed explicitly.\n */\nexport class GridNavigationProcessor {\n // Props\n private _pageSize = 0;\n private _table: null | HTMLTableElement = null;\n private _navigationAPI: { current: null | SingleTabStopNavigationAPI };\n\n // State\n private focusedCell: null | FocusedCell = null;\n private focusInside = false;\n private keepUserIndex = false;\n\n constructor(navigationAPI: { current: null | SingleTabStopNavigationAPI }) {\n this._navigationAPI = navigationAPI;\n }\n\n public init(table: HTMLTableElement) {\n this._table = table;\n const controller = new AbortController();\n\n table.addEventListener('focusin', this.onFocusin, { signal: controller.signal });\n table.addEventListener('focusout', this.onFocusout, { signal: controller.signal });\n table.addEventListener('keydown', this.onKeydown, { signal: controller.signal });\n\n this.cleanup = () => {\n controller.abort();\n };\n }\n\n public cleanup = () => {\n // Do nothing before initialized.\n };\n\n public update({ pageSize }: { pageSize: number }) {\n this._pageSize = pageSize;\n }\n\n public refresh() {\n // Timeout ensures the newly rendered content elements are registered.\n setTimeout(() => {\n if (this._table) {\n // Update focused cell indices in case table rows, columns, or firstIndex change.\n this.updateFocusedCell(this.focusedCell?.element);\n this._navigationAPI.current?.updateFocusTarget();\n }\n }, 0);\n }\n\n public onRegisterFocusable = (focusableElement: HTMLElement) => {\n if (!this.focusInside) {\n return;\n }\n // When newly registered element belongs to the focused cell the focus must transition to it.\n const focusedElement = this.focusedCell?.element;\n if (focusedElement && isTableCell(focusedElement) && focusedElement.contains(focusableElement)) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n focusableElement.focus({ preventScroll: true });\n }\n };\n\n public onUnregisterActive = () => {\n // If the focused cell appears to be no longer attached to the table we need to re-apply\n // focus to a cell with the same or closest position.\n if (this.focusedCell && !nodeBelongs(this.table, this.focusedCell.element)) {\n this.moveFocusBy(this.focusedCell, { x: 0, y: 0 });\n }\n };\n\n public getNextFocusTarget = () => {\n if (!this.table) {\n return null;\n }\n\n const cell = this.focusedCell;\n const firstTableCell = this.table.querySelector('td,th') as null | HTMLTableCellElement;\n\n // A single element of the table is made user-focusable.\n // It defaults to the first interactive element of the first cell or the first cell itself otherwise.\n let focusTarget: null | HTMLElement =\n (firstTableCell && this.getFocusablesFrom(firstTableCell)[0]) ?? firstTableCell;\n\n // When a navigation-focused element is present in the table it is used for user-navigation instead.\n if (cell) {\n focusTarget = this.getNextFocusable(cell, { x: 0, y: 0 });\n }\n\n return focusTarget;\n };\n\n public isElementSuppressed = (element: null | Element) => {\n // Omit calculation as irrelevant until the table receives focus.\n if (!this.focusedCell) {\n return false;\n }\n return !element || defaultIsSuppressed(element);\n };\n\n private get pageSize() {\n return this._pageSize;\n }\n\n private get table(): null | HTMLTableElement {\n return this._table;\n }\n\n private onFocusin = (event: FocusEvent) => {\n this.focusInside = true;\n\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n this.updateFocusedCell(event.target);\n if (!this.focusedCell) {\n return;\n }\n\n this._navigationAPI.current?.updateFocusTarget();\n\n // Focusing on cell is not eligible when it contains focusable elements in the content.\n // If content focusables are available - move the focus to the first one.\n const focusedElement = this.focusedCell.element;\n const nextTarget = isTableCell(focusedElement) ? this.getFocusablesFrom(focusedElement)[0] : null;\n if (nextTarget) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n nextTarget.focus({ preventScroll: true });\n } else {\n this.keepUserIndex = false;\n }\n };\n\n private onFocusout = () => {\n this.focusInside = false;\n };\n\n private onKeydown = (event: KeyboardEvent) => {\n if (!this.focusedCell) {\n return;\n }\n\n const keys = [\n KeyCode.up,\n KeyCode.down,\n KeyCode.left,\n KeyCode.right,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.home,\n KeyCode.end,\n ];\n const ctrlKey = event.ctrlKey ? 1 : 0;\n const altKey = event.altKey ? 1 : 0;\n const shiftKey = event.shiftKey ? 1 : 0;\n const metaKey = event.metaKey ? 1 : 0;\n const modifiersPressed = ctrlKey + altKey + shiftKey + metaKey;\n const invalidModifierCombination =\n (modifiersPressed && !event.ctrlKey) ||\n (event.ctrlKey && event.keyCode !== KeyCode.home && event.keyCode !== KeyCode.end);\n\n if (\n invalidModifierCombination ||\n this.isElementSuppressed(document.activeElement) ||\n !this.isRegistered(document.activeElement) ||\n keys.indexOf(event.keyCode) === -1\n ) {\n return;\n }\n\n const from = this.focusedCell;\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onBlockStart: () => this.moveFocusBy(from, { y: -1, x: 0 }),\n onBlockEnd: () => this.moveFocusBy(from, { y: 1, x: 0 }),\n onInlineStart: () => this.moveFocusBy(from, { y: 0, x: -1 }),\n onInlineEnd: () => this.moveFocusBy(from, { y: 0, x: 1 }),\n onPageUp: () => this.moveFocusBy(from, { y: -this.pageSize, x: 0 }),\n onPageDown: () => this.moveFocusBy(from, { y: this.pageSize, x: 0 }),\n onHome: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: -Infinity, x: -Infinity })\n : this.moveFocusBy(from, { y: 0, x: -Infinity }),\n onEnd: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: Infinity, x: Infinity })\n : this.moveFocusBy(from, { y: 0, x: Infinity }),\n });\n }\n };\n\n private moveFocusBy(cell: FocusedCell, delta: { x: number; y: number }) {\n // For vertical moves preserve column- and element indices set by user.\n // It allows keeping indices while moving over disabled actions or cells with colspan > 1.\n if (delta.y !== 0 && delta.x === 0) {\n this.keepUserIndex = true;\n }\n focusNextElement(this.getNextFocusable(cell, delta));\n }\n\n private isRegistered(element: null | Element): boolean {\n return !element || (this._navigationAPI.current?.isRegistered(element) ?? false);\n }\n\n private updateFocusedCell(focusedElement?: HTMLElement): void {\n if (!focusedElement) {\n return;\n }\n\n const cellElement = getClosestCell(focusedElement);\n const rowElement = cellElement?.closest('tr');\n if (!cellElement || !rowElement) {\n return;\n }\n\n const colIndex = parseInt(cellElement.getAttribute('aria-colindex') ?? '');\n const rowIndex = parseInt(rowElement.getAttribute('aria-rowindex') ?? '');\n if (isNaN(colIndex) || isNaN(rowIndex)) {\n return;\n }\n\n const cellFocusables = this.getFocusablesFrom(cellElement);\n const elementIndex = cellFocusables.indexOf(focusedElement);\n\n const prevColIndex = this.focusedCell?.colIndex ?? -1;\n const prevElementIndex = this.focusedCell?.elementIndex ?? -1;\n this.focusedCell = {\n rowIndex,\n colIndex: this.keepUserIndex && prevColIndex !== -1 ? prevColIndex : colIndex,\n elementIndex: this.keepUserIndex && prevElementIndex !== -1 ? prevElementIndex : elementIndex,\n element: focusedElement,\n };\n }\n\n private getNextFocusable(from: FocusedCell, delta: { y: number; x: number }) {\n // Find next row to move focus into (can be null if the top/bottom is reached).\n const targetAriaRowIndex = from.rowIndex + delta.y;\n const targetRow = findTableRowByAriaRowIndex(this.table, targetAriaRowIndex, delta.y);\n if (!targetRow) {\n return null;\n }\n\n // Return next interactive cell content element if available.\n const cellElement = getClosestCell(from.element);\n const cellFocusables = cellElement ? this.getFocusablesFrom(cellElement) : [];\n const nextElementIndex = from.elementIndex + delta.x;\n const isValidDirection = !!delta.x;\n const isValidIndex = from.elementIndex !== -1 && 0 <= nextElementIndex && nextElementIndex < cellFocusables.length;\n const isTargetDifferent = from.element !== cellFocusables[nextElementIndex];\n if (isValidDirection && isValidIndex && isTargetDifferent) {\n return cellFocusables[nextElementIndex];\n }\n\n // Find next cell to focus or move focus into (can be null if the left/right edge is reached).\n const targetAriaColIndex = from.colIndex + delta.x;\n const targetCell = findTableRowCellByAriaColIndex(targetRow, targetAriaColIndex, delta.x);\n if (!targetCell) {\n return null;\n }\n\n // When target cell matches the current cell it means we reached the left or right boundary.\n if (targetCell === cellElement && delta.x !== 0) {\n return null;\n }\n\n const targetCellFocusables = this.getFocusablesFrom(targetCell);\n\n // When delta.x = 0 keep element index if possible.\n let focusIndex = from.elementIndex;\n // Use first element index when moving to the right or to extreme left.\n if ((isFinite(delta.x) && delta.x > 0) || delta.x === -Infinity) {\n focusIndex = 0;\n }\n // Use last element index when moving to the left or to extreme right.\n if ((isFinite(delta.x) && delta.x < 0) || delta.x === Infinity) {\n focusIndex = targetCellFocusables.length - 1;\n }\n\n return targetCellFocusables[focusIndex] ?? targetCell;\n }\n\n private getFocusablesFrom(target: HTMLElement) {\n const isElementRegistered = (element: Element) => this._navigationAPI.current?.isRegistered(element);\n return getAllFocusables(target).filter(el => isElementRegistered(el) && !isElementDisabled(el));\n }\n}\n"]}
1
+ {"version":3,"file":"grid-navigation.js","sourceRoot":"","sources":["../../../../src/table/table-role/grid-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef } from 'react';\nimport { useEffect, useMemo } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n} from '@cloudscape-design/component-toolkit/internal';\n\nimport { getAllFocusables } from '../../internal/components/focus-lock/utils';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { nodeBelongs } from '../../internal/utils/node-belongs';\nimport { FocusedCell, GridNavigationProps } from './interfaces';\nimport {\n defaultIsSuppressed,\n findTableRowByAriaRowIndex,\n findTableRowCellByAriaColIndex,\n focusNextElement,\n getClosestCell,\n isElementDisabled,\n isTableCell,\n} from './utils';\n\n/**\n * Makes table navigable with keyboard commands.\n * See grid-navigation.md\n */\nexport function GridNavigationProvider({ keyboardNavigation, pageSize, getTable, children }: GridNavigationProps) {\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n const gridNavigation = useMemo(() => new GridNavigationProcessor(navigationAPI), []);\n\n const getTableStable = useStableCallback(getTable);\n\n // Initialize the processor with the table container assuming it is mounted synchronously and only once.\n useEffect(() => {\n if (keyboardNavigation) {\n const table = getTableStable();\n if (table) {\n gridNavigation.init(table);\n return gridNavigation.cleanup;\n }\n }\n }, [keyboardNavigation, gridNavigation, getTableStable]);\n\n // Notify the processor of the props change.\n useEffect(() => {\n gridNavigation.update({ pageSize });\n }, [gridNavigation, pageSize]);\n\n // Notify the processor of the new render.\n useEffect(() => {\n if (keyboardNavigation) {\n gridNavigation.refresh();\n }\n });\n\n return (\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={keyboardNavigation}\n getNextFocusTarget={gridNavigation.getNextFocusTarget}\n isElementSuppressed={gridNavigation.isElementSuppressed}\n onRegisterFocusable={gridNavigation.onRegisterFocusable}\n onUnregisterActive={gridNavigation.onUnregisterActive}\n >\n {children}\n </SingleTabStopNavigationProvider>\n );\n}\n\n/**\n * This helper encapsulates the grid navigation behaviors which are:\n * 1. Responding to keyboard commands and moving the focus accordingly;\n * 2. Muting table interactive elements for only one to be user-focusable at a time;\n * 3. Suppressing the above behaviors when focusing an element inside a dialog or when instructed explicitly.\n */\nexport class GridNavigationProcessor {\n // Props\n private _pageSize = 0;\n private _table: null | HTMLTableElement = null;\n private _navigationAPI: { current: null | SingleTabStopNavigationAPI };\n\n // State\n private focusedCell: null | FocusedCell = null;\n private focusInside = false;\n private keepUserIndex = false;\n\n constructor(navigationAPI: { current: null | SingleTabStopNavigationAPI }) {\n this._navigationAPI = navigationAPI;\n }\n\n public init(table: HTMLTableElement) {\n this._table = table;\n const controller = new AbortController();\n\n table.addEventListener('focusin', this.onFocusin, { signal: controller.signal });\n table.addEventListener('focusout', this.onFocusout, { signal: controller.signal });\n table.addEventListener('keydown', this.onKeydown, { signal: controller.signal });\n\n this.cleanup = () => {\n controller.abort();\n };\n }\n\n public cleanup = () => {\n // Do nothing before initialized.\n };\n\n public update({ pageSize }: { pageSize: number }) {\n this._pageSize = pageSize;\n }\n\n public refresh() {\n // Timeout ensures the newly rendered content elements are registered.\n setTimeout(() => {\n if (this._table) {\n // Update focused cell indices in case table rows, columns, or firstIndex change.\n this.updateFocusedCell(this.focusedCell?.element);\n this._navigationAPI.current?.updateFocusTarget();\n }\n }, 0);\n }\n\n public onRegisterFocusable = (focusableElement: HTMLElement) => {\n if (!this.focusInside) {\n return;\n }\n // When newly registered element belongs to the focused cell the focus must transition to it.\n const focusedElement = this.focusedCell?.element;\n if (focusedElement && isTableCell(focusedElement) && focusedElement.contains(focusableElement)) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n focusableElement.focus({ preventScroll: true });\n }\n };\n\n public onUnregisterActive = () => {\n // If the focused cell appears to be no longer attached to the table we need to re-apply\n // focus to a cell with the same or closest position.\n if (this.focusedCell && !nodeBelongs(this.table, this.focusedCell.element)) {\n this.moveFocusBy(this.focusedCell, { x: 0, y: 0 });\n }\n };\n\n public getNextFocusTarget = () => {\n if (!this.table) {\n return null;\n }\n\n const cell = this.focusedCell;\n const firstTableCell = this.table.querySelector('td,th') as null | HTMLTableCellElement;\n\n // A single element of the table is made user-focusable.\n // It defaults to the first interactive element of the first cell or the first cell itself otherwise.\n let focusTarget: null | HTMLElement =\n (firstTableCell && this.getFocusablesFrom(firstTableCell)[0]) ?? firstTableCell;\n\n // When a navigation-focused element is present in the table it is used for user-navigation instead.\n if (cell) {\n focusTarget = this.getNextFocusable(cell, { x: 0, y: 0 });\n }\n\n return focusTarget;\n };\n\n public isElementSuppressed = (element: null | Element) => {\n // Omit calculation as irrelevant until the table receives focus.\n if (!this.focusedCell) {\n return false;\n }\n return !element || defaultIsSuppressed(element);\n };\n\n private get pageSize() {\n return this._pageSize;\n }\n\n private get table(): null | HTMLTableElement {\n return this._table;\n }\n\n private onFocusin = (event: FocusEvent) => {\n this.focusInside = true;\n\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n this.updateFocusedCell(event.target);\n if (!this.focusedCell) {\n return;\n }\n\n this._navigationAPI.current?.updateFocusTarget();\n\n // Focusing on cell is not eligible when it contains focusable elements in the content.\n // If content focusables are available - move the focus to the first one.\n const focusedElement = this.focusedCell.element;\n const nextTarget = isTableCell(focusedElement) ? this.getFocusablesFrom(focusedElement)[0] : null;\n if (nextTarget) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n nextTarget.focus({ preventScroll: true });\n } else {\n this.keepUserIndex = false;\n }\n };\n\n private onFocusout = () => {\n this.focusInside = false;\n };\n\n private onKeydown = (event: KeyboardEvent) => {\n if (!this.focusedCell) {\n return;\n }\n\n const keys = [\n KeyCode.up,\n KeyCode.down,\n KeyCode.left,\n KeyCode.right,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.home,\n KeyCode.end,\n ];\n const ctrlKey = event.ctrlKey ? 1 : 0;\n const altKey = event.altKey ? 1 : 0;\n const shiftKey = event.shiftKey ? 1 : 0;\n const metaKey = event.metaKey ? 1 : 0;\n const modifiersPressed = ctrlKey + altKey + shiftKey + metaKey;\n const invalidModifierCombination =\n (modifiersPressed && !event.ctrlKey) ||\n (event.ctrlKey && event.keyCode !== KeyCode.home && event.keyCode !== KeyCode.end);\n\n if (\n invalidModifierCombination ||\n this.isElementSuppressed(document.activeElement) ||\n !this.isRegistered(document.activeElement) ||\n keys.indexOf(event.keyCode) === -1\n ) {\n return;\n }\n\n const from = this.focusedCell;\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onBlockStart: () => this.moveFocusBy(from, { y: -1, x: 0 }),\n onBlockEnd: () => this.moveFocusBy(from, { y: 1, x: 0 }),\n onInlineStart: () => this.moveFocusBy(from, { y: 0, x: -1 }),\n onInlineEnd: () => this.moveFocusBy(from, { y: 0, x: 1 }),\n onPageUp: () => this.moveFocusBy(from, { y: -this.pageSize, x: 0 }),\n onPageDown: () => this.moveFocusBy(from, { y: this.pageSize, x: 0 }),\n onHome: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: -Infinity, x: -Infinity })\n : this.moveFocusBy(from, { y: 0, x: -Infinity }),\n onEnd: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: Infinity, x: Infinity })\n : this.moveFocusBy(from, { y: 0, x: Infinity }),\n });\n }\n };\n\n private moveFocusBy(cell: FocusedCell, delta: { x: number; y: number }) {\n // For vertical moves preserve column- and element indices set by user.\n // It allows keeping indices while moving over disabled actions or cells with colspan > 1.\n if (delta.y !== 0 && delta.x === 0) {\n this.keepUserIndex = true;\n }\n focusNextElement(this.getNextFocusable(cell, delta));\n }\n\n private isRegistered(element: null | Element): boolean {\n return !element || (this._navigationAPI.current?.isRegistered(element) ?? false);\n }\n\n private updateFocusedCell(focusedElement?: HTMLElement): void {\n if (!focusedElement) {\n return;\n }\n\n const cellElement = getClosestCell(focusedElement);\n const rowElement = cellElement?.closest('tr');\n if (!cellElement || !rowElement) {\n return;\n }\n\n const colIndex = parseInt(cellElement.getAttribute('aria-colindex') ?? '');\n const rowIndex = parseInt(rowElement.getAttribute('aria-rowindex') ?? '');\n if (isNaN(colIndex) || isNaN(rowIndex)) {\n return;\n }\n\n const cellFocusables = this.getFocusablesFrom(cellElement);\n const elementIndex = cellFocusables.indexOf(focusedElement);\n\n const prevColIndex = this.focusedCell?.colIndex ?? -1;\n const prevElementIndex = this.focusedCell?.elementIndex ?? -1;\n this.focusedCell = {\n rowIndex,\n colIndex: this.keepUserIndex && prevColIndex !== -1 ? prevColIndex : colIndex,\n elementIndex: this.keepUserIndex && prevElementIndex !== -1 ? prevElementIndex : elementIndex,\n element: focusedElement,\n };\n }\n\n private getNextFocusable(from: FocusedCell, delta: { y: number; x: number }) {\n // Find next row to move focus into (can be null if the top/bottom is reached).\n const targetAriaRowIndex = from.rowIndex + delta.y;\n const targetRow = findTableRowByAriaRowIndex(this.table, targetAriaRowIndex, delta.y);\n if (!targetRow) {\n return null;\n }\n\n // Return next interactive cell content element if available.\n const cellElement = getClosestCell(from.element);\n const cellFocusables = cellElement ? this.getFocusablesFrom(cellElement) : [];\n const nextElementIndex = from.elementIndex + delta.x;\n const isValidDirection = !!delta.x;\n const isValidIndex = from.elementIndex !== -1 && 0 <= nextElementIndex && nextElementIndex < cellFocusables.length;\n const isTargetDifferent = from.element !== cellFocusables[nextElementIndex];\n if (isValidDirection && isValidIndex && isTargetDifferent) {\n return cellFocusables[nextElementIndex];\n }\n\n // Find next cell to focus or move focus into (can be null if the left/right edge is reached).\n const targetAriaColIndex = from.colIndex + delta.x;\n const targetCell = findTableRowCellByAriaColIndex(targetRow, targetAriaColIndex, delta.x);\n if (!targetCell) {\n return null;\n }\n\n // When target cell matches the current cell it means we reached the left or right boundary.\n if (targetCell === cellElement && delta.x !== 0) {\n return null;\n }\n\n const targetCellFocusables = this.getFocusablesFrom(targetCell);\n\n // When delta.x = 0 keep element index if possible.\n let focusIndex = from.elementIndex;\n // Use first element index when moving to the right or to extreme left.\n if ((isFinite(delta.x) && delta.x > 0) || delta.x === -Infinity) {\n focusIndex = 0;\n }\n // Use last element index when moving to the left or to extreme right.\n if ((isFinite(delta.x) && delta.x < 0) || delta.x === Infinity) {\n focusIndex = targetCellFocusables.length - 1;\n }\n\n return targetCellFocusables[focusIndex] ?? targetCell;\n }\n\n private getFocusablesFrom(target: HTMLElement) {\n const isElementRegistered = (element: Element) => this._navigationAPI.current?.isRegistered(element);\n return getAllFocusables(target).filter(el => isElementRegistered(el) && !isElementDisabled(el));\n }\n}\n"]}
@@ -1,35 +1,35 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "tabs-header": "awsui_tabs-header_14rmt_9tgo0_154",
5
- "tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_9tgo0_163",
6
- "tabs-header-list": "awsui_tabs-header-list_14rmt_9tgo0_169",
7
- "pagination-button": "awsui_pagination-button_14rmt_9tgo0_187",
8
- "pagination-button-left": "awsui_pagination-button-left_14rmt_9tgo0_194",
9
- "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_9tgo0_197",
10
- "pagination-button-right": "awsui_pagination-button-right_14rmt_9tgo0_201",
11
- "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_9tgo0_204",
12
- "actions-container": "awsui_actions-container_14rmt_9tgo0_209",
13
- "tabs-tab": "awsui_tabs-tab_14rmt_9tgo0_217",
14
- "tabs-tab-label": "awsui_tabs-tab-label_14rmt_9tgo0_227",
15
- "tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_9tgo0_238",
16
- "tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_9tgo0_249",
17
- "tabs-tab-action": "awsui_tabs-tab-action_14rmt_9tgo0_249",
18
- "refresh": "awsui_refresh_14rmt_9tgo0_254",
19
- "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_9tgo0_258",
20
- "tabs-tab-link": "awsui_tabs-tab-link_14rmt_9tgo0_300",
21
- "tabs-tab-active": "awsui_tabs-tab-active_14rmt_9tgo0_378",
22
- "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_9tgo0_385",
23
- "tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_9tgo0_389",
24
- "root": "awsui_root_14rmt_9tgo0_393",
25
- "tabs": "awsui_tabs_14rmt_9tgo0_154",
26
- "tabs-content": "awsui_tabs-content_14rmt_9tgo0_431",
27
- "fit-height": "awsui_fit-height_14rmt_9tgo0_435",
28
- "tabs-content-active": "awsui_tabs-content-active_14rmt_9tgo0_441",
29
- "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_9tgo0_455",
30
- "with-paddings": "awsui_with-paddings_14rmt_9tgo0_455",
31
- "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_9tgo0_466",
32
- "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_9tgo0_477",
33
- "tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_9tgo0_481"
4
+ "tabs-header": "awsui_tabs-header_14rmt_1n7hy_154",
5
+ "tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_1n7hy_163",
6
+ "tabs-header-list": "awsui_tabs-header-list_14rmt_1n7hy_169",
7
+ "pagination-button": "awsui_pagination-button_14rmt_1n7hy_186",
8
+ "pagination-button-left": "awsui_pagination-button-left_14rmt_1n7hy_193",
9
+ "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_1n7hy_196",
10
+ "pagination-button-right": "awsui_pagination-button-right_14rmt_1n7hy_200",
11
+ "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_1n7hy_203",
12
+ "actions-container": "awsui_actions-container_14rmt_1n7hy_208",
13
+ "tabs-tab": "awsui_tabs-tab_14rmt_1n7hy_216",
14
+ "tabs-tab-label": "awsui_tabs-tab-label_14rmt_1n7hy_226",
15
+ "tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_1n7hy_237",
16
+ "tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_1n7hy_248",
17
+ "tabs-tab-action": "awsui_tabs-tab-action_14rmt_1n7hy_248",
18
+ "refresh": "awsui_refresh_14rmt_1n7hy_253",
19
+ "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_1n7hy_257",
20
+ "tabs-tab-link": "awsui_tabs-tab-link_14rmt_1n7hy_299",
21
+ "tabs-tab-active": "awsui_tabs-tab-active_14rmt_1n7hy_377",
22
+ "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_1n7hy_384",
23
+ "tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_1n7hy_388",
24
+ "root": "awsui_root_14rmt_1n7hy_392",
25
+ "tabs": "awsui_tabs_14rmt_1n7hy_154",
26
+ "tabs-content": "awsui_tabs-content_14rmt_1n7hy_430",
27
+ "fit-height": "awsui_fit-height_14rmt_1n7hy_434",
28
+ "tabs-content-active": "awsui_tabs-content-active_14rmt_1n7hy_440",
29
+ "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_1n7hy_454",
30
+ "with-paddings": "awsui_with-paddings_14rmt_1n7hy_454",
31
+ "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_1n7hy_465",
32
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_1n7hy_476",
33
+ "tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_1n7hy_480"
34
34
  };
35
35
 
@@ -151,7 +151,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
151
151
  SPDX-License-Identifier: Apache-2.0
152
152
  */
153
153
  /* stylelint-disable selector-max-type */
154
- .awsui_tabs-header_14rmt_9tgo0_154:not(#\9) {
154
+ .awsui_tabs-header_14rmt_1n7hy_154:not(#\9) {
155
155
  margin-block: 0;
156
156
  margin-inline: 0;
157
157
  padding-block: 0;
@@ -160,13 +160,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
160
160
  flex-wrap: wrap;
161
161
  }
162
162
 
163
- .awsui_tab-header-scroll-container_14rmt_9tgo0_163:not(#\9) {
163
+ .awsui_tab-header-scroll-container_14rmt_1n7hy_163:not(#\9) {
164
164
  display: flex;
165
165
  flex-grow: 1;
166
166
  max-inline-size: 100%;
167
167
  }
168
168
 
169
- .awsui_tabs-header-list_14rmt_9tgo0_169:not(#\9) {
169
+ .awsui_tabs-header-list_14rmt_1n7hy_169:not(#\9) {
170
170
  margin-block: 0;
171
171
  margin-inline: 0;
172
172
  padding-block: 0;
@@ -177,36 +177,35 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
177
177
  position: relative;
178
178
  inline-size: 100%;
179
179
  scroll-snap-type: inline proximity;
180
- -ms-overflow-style: none; /* Internet Explorer 10+ */
181
180
  scrollbar-width: none; /* Firefox */
182
181
  }
183
- .awsui_tabs-header-list_14rmt_9tgo0_169:not(#\9)::-webkit-scrollbar {
182
+ .awsui_tabs-header-list_14rmt_1n7hy_169:not(#\9)::-webkit-scrollbar {
184
183
  display: none; /* Safari and Chrome */
185
184
  }
186
185
 
187
- .awsui_pagination-button_14rmt_9tgo0_187:not(#\9) {
186
+ .awsui_pagination-button_14rmt_1n7hy_186:not(#\9) {
188
187
  margin-block: var(--space-scaled-s-gjhvjd, 12px);
189
188
  margin-inline: 0;
190
189
  padding-block: 0;
191
190
  padding-inline: var(--space-xxs-jnczic, 4px);
192
191
  display: flex;
193
192
  }
194
- .awsui_pagination-button-left_14rmt_9tgo0_194:not(#\9) {
193
+ .awsui_pagination-button-left_14rmt_1n7hy_193:not(#\9) {
195
194
  border-inline-end: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-control-disabled-c9dn39, #d5dbdb);
196
195
  }
197
- .awsui_pagination-button-left-scrollable_14rmt_9tgo0_197:not(#\9) {
196
+ .awsui_pagination-button-left-scrollable_14rmt_1n7hy_196:not(#\9) {
198
197
  z-index: 1;
199
198
  box-shadow: 5px 0px 4px -3px var(--color-border-tabs-shadow-ya1u83, #eaeded), 1px 0px 0px 0px var(--color-border-tabs-shadow-ya1u83, #eaeded);
200
199
  }
201
- .awsui_pagination-button-right_14rmt_9tgo0_201:not(#\9) {
200
+ .awsui_pagination-button-right_14rmt_1n7hy_200:not(#\9) {
202
201
  border-inline-start: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-control-disabled-c9dn39, #d5dbdb);
203
202
  }
204
- .awsui_pagination-button-right-scrollable_14rmt_9tgo0_204:not(#\9) {
203
+ .awsui_pagination-button-right-scrollable_14rmt_1n7hy_203:not(#\9) {
205
204
  z-index: 1;
206
205
  box-shadow: -5px 0px 4px -3px var(--color-border-tabs-shadow-ya1u83, #eaeded), -1px 0px 0px 0 var(--color-border-tabs-shadow-ya1u83, #eaeded);
207
206
  }
208
207
 
209
- .awsui_actions-container_14rmt_9tgo0_209:not(#\9) {
208
+ .awsui_actions-container_14rmt_1n7hy_208:not(#\9) {
210
209
  flex-shrink: 0;
211
210
  align-self: center;
212
211
  padding-block: var(--space-xs-kw7k3v, 8px);
@@ -214,7 +213,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
214
213
  margin-inline-start: auto;
215
214
  }
216
215
 
217
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9) {
216
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9) {
218
217
  list-style: none;
219
218
  padding-block: 0;
220
219
  padding-inline: 0;
@@ -224,7 +223,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
224
223
  scroll-snap-align: start;
225
224
  }
226
225
 
227
- .awsui_tabs-tab-label_14rmt_9tgo0_227:not(#\9) {
226
+ .awsui_tabs-tab-label_14rmt_1n7hy_226:not(#\9) {
228
227
  display: flex;
229
228
  align-items: center;
230
229
  padding-inline: var(--space-xs-kw7k3v, 8px);
@@ -235,7 +234,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
235
234
  word-break: break-word;
236
235
  }
237
236
 
238
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9) {
237
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9) {
239
238
  position: relative;
240
239
  border-block: var(--border-divider-section-width-sznrdy, 1px) solid transparent;
241
240
  border-inline: var(--border-divider-section-width-sznrdy, 1px) solid transparent;
@@ -243,19 +242,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
243
242
  display: flex;
244
243
  align-items: stretch;
245
244
  }
246
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9), .awsui_tabs-tab-header-container_14rmt_9tgo0_238 > button:not(#\9) {
245
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9), .awsui_tabs-tab-header-container_14rmt_1n7hy_237 > button:not(#\9) {
247
246
  background-color: transparent;
248
247
  }
249
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238 > .awsui_tabs-tab-dismiss_14rmt_9tgo0_249:not(#\9), .awsui_tabs-tab-header-container_14rmt_9tgo0_238 > .awsui_tabs-tab-action_14rmt_9tgo0_249:not(#\9) {
248
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237 > .awsui_tabs-tab-dismiss_14rmt_1n7hy_248:not(#\9), .awsui_tabs-tab-header-container_14rmt_1n7hy_237 > .awsui_tabs-tab-action_14rmt_1n7hy_248:not(#\9) {
250
249
  position: relative;
251
250
  display: flex;
252
251
  align-items: center;
253
252
  }
254
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238.awsui_refresh_14rmt_9tgo0_254 > span:not(#\9):first-of-type {
253
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237.awsui_refresh_14rmt_1n7hy_253 > span:not(#\9):first-of-type {
255
254
  margin-inline-start: calc(-1 * var(--space-scaled-xs-sppte9, 8px));
256
255
  }
257
256
 
258
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258):after {
257
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257):after {
259
258
  content: "";
260
259
  position: absolute;
261
260
  inset-inline-start: 0;
@@ -269,35 +268,35 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
269
268
  background: var(--color-border-tabs-underline-gpe7rp, #16191f);
270
269
  opacity: 0;
271
270
  }
272
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258).awsui_refresh_14rmt_9tgo0_254:after {
271
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257).awsui_refresh_14rmt_1n7hy_253:after {
273
272
  transition: opacity var(--motion-duration-refresh-only-medium-h3wrr6, 0ms) var(--motion-easing-refresh-only-c-r5v2kx, cubic-bezier(0.84, 0, 0.16, 1));
274
273
  }
275
274
  @media (prefers-reduced-motion: reduce) {
276
- .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258).awsui_refresh_14rmt_9tgo0_254:after {
275
+ .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257).awsui_refresh_14rmt_1n7hy_253:after {
277
276
  animation: none;
278
277
  transition: none;
279
278
  }
280
279
  }
281
- .awsui-motion-disabled .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258).awsui_refresh_14rmt_9tgo0_254:after, .awsui-mode-entering .awsui_tabs-tab-header-container_14rmt_9tgo0_238:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258).awsui_refresh_14rmt_9tgo0_254:after {
280
+ .awsui-motion-disabled .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257).awsui_refresh_14rmt_1n7hy_253:after, .awsui-mode-entering .awsui_tabs-tab-header-container_14rmt_1n7hy_237:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257).awsui_refresh_14rmt_1n7hy_253:after {
282
281
  animation: none;
283
282
  transition: none;
284
283
  }
285
284
 
286
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):not(:last-child) > .awsui_tabs-tab-header-container_14rmt_9tgo0_238 {
285
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):not(:last-child) > .awsui_tabs-tab-header-container_14rmt_1n7hy_237 {
287
286
  margin-inline-end: calc(-1 * var(--border-divider-section-width-sznrdy, 1px));
288
287
  }
289
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):not(:last-child) > .awsui_tabs-tab-header-container_14rmt_9tgo0_238:before {
288
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):not(:last-child) > .awsui_tabs-tab-header-container_14rmt_1n7hy_237:before {
290
289
  content: "";
291
290
  position: absolute;
292
291
  border-inline-end: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-tabs-divider-uu65wu, #aab7b8);
293
292
  inset: var(--space-scaled-s-gjhvjd, 12px) 0;
294
293
  opacity: 1;
295
294
  }
296
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):not(:last-child) > .awsui_tabs-tab-header-container_14rmt_9tgo0_238.awsui_refresh_14rmt_9tgo0_254:before {
295
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):not(:last-child) > .awsui_tabs-tab-header-container_14rmt_1n7hy_237.awsui_refresh_14rmt_1n7hy_253:before {
297
296
  inset: calc(var(--space-static-s-8me5rn, 12px) - var(--border-active-width-vglvq7, 2px)) 0;
298
297
  }
299
298
 
300
- .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9) {
299
+ .awsui_tabs-tab-link_14rmt_1n7hy_299:not(#\9) {
301
300
  position: relative;
302
301
  display: flex;
303
302
  align-items: stretch;
@@ -318,27 +317,27 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
318
317
  -webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
319
318
  -moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
320
319
  }
321
- .awsui_tabs-tab-link_14rmt_9tgo0_300.awsui_refresh_14rmt_9tgo0_254:not(#\9) {
320
+ .awsui_tabs-tab-link_14rmt_1n7hy_299.awsui_refresh_14rmt_1n7hy_253:not(#\9) {
322
321
  padding-block-start: calc(var(--space-static-xs-4gq40t, 8px) - 1px);
323
322
  padding-block-end: calc(var(--space-static-xs-4gq40t, 8px) - 1px);
324
323
  margin-block-start: 0;
325
324
  }
326
- .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9):hover {
325
+ .awsui_tabs-tab-link_14rmt_1n7hy_299:not(#\9):hover {
327
326
  color: var(--color-text-accent-rvq171, #0073bb);
328
327
  }
329
- .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9):focus {
328
+ .awsui_tabs-tab-link_14rmt_1n7hy_299:not(#\9):focus {
330
329
  outline: none;
331
330
  }
332
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9):focus {
331
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_1n7hy_299:not(#\9):focus {
333
332
  z-index: 1;
334
333
  border-inline-end-color: transparent;
335
334
  position: relative;
336
335
  }
337
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9):focus {
336
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_1n7hy_299:not(#\9):focus {
338
337
  outline: 2px dotted transparent;
339
338
  outline-offset: calc(var(--space-tabs-focus-outline-gutter-7tqwip, 0px) - 1px);
340
339
  }
341
- body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9):focus::before {
340
+ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_1n7hy_299:not(#\9):focus::before {
342
341
  content: " ";
343
342
  display: block;
344
343
  position: absolute;
@@ -353,48 +352,48 @@ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9
353
352
  box-shadow: 0 0 0 2px var(--color-border-item-focused-r5f6xl, #0073bb);
354
353
  }
355
354
 
356
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):first-child {
355
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):first-child {
357
356
  margin-inline-start: 1px;
358
357
  scroll-margin-inline-start: 1px;
359
358
  }
360
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):first-child > .awsui_tabs-tab-header-container_14rmt_9tgo0_238 {
359
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):first-child > .awsui_tabs-tab-header-container_14rmt_1n7hy_237 {
361
360
  padding-inline-start: calc(var(--space-xs-kw7k3v, 8px) - 1px);
362
361
  }
363
362
 
364
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):last-child {
363
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):last-child {
365
364
  margin-inline-end: 1px;
366
365
  scroll-margin-inline-end: 1px;
367
366
  }
368
- .awsui_tabs-tab_14rmt_9tgo0_217:not(#\9):last-child > .awsui_tabs-tab-header-container_14rmt_9tgo0_238 {
367
+ .awsui_tabs-tab_14rmt_1n7hy_216:not(#\9):last-child > .awsui_tabs-tab-header-container_14rmt_1n7hy_237 {
369
368
  padding-inline-end: calc(var(--space-xs-kw7k3v, 8px) - 1px);
370
369
  }
371
370
 
372
- .awsui_tabs-tab-disabled_14rmt_9tgo0_258:not(#\9), .awsui_tabs-tab-disabled_14rmt_9tgo0_258:not(#\9):hover {
371
+ .awsui_tabs-tab-disabled_14rmt_1n7hy_257:not(#\9), .awsui_tabs-tab-disabled_14rmt_1n7hy_257:not(#\9):hover {
373
372
  cursor: default;
374
373
  color: var(--color-text-interactive-disabled-xwt2jl, #aab7b8);
375
374
  font-weight: var(--font-tabs-disabled-weight-co27a7, 400);
376
375
  }
377
376
 
378
- .awsui_tabs-tab-active_14rmt_9tgo0_378:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258) {
377
+ .awsui_tabs-tab-active_14rmt_1n7hy_377:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257) {
379
378
  color: var(--color-text-accent-rvq171, #0073bb);
380
379
  }
381
- .awsui_tabs-tab-active_14rmt_9tgo0_378:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_9tgo0_258):after {
380
+ .awsui_tabs-tab-active_14rmt_1n7hy_377:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1n7hy_257):after {
382
381
  opacity: 1;
383
382
  }
384
383
 
385
- .awsui_tabs-header-with-divider_14rmt_9tgo0_385:not(#\9) {
384
+ .awsui_tabs-header-with-divider_14rmt_1n7hy_384:not(#\9) {
386
385
  border-block-end: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-tabs-divider-uu65wu, #aab7b8);
387
386
  }
388
387
 
389
- .awsui_tabs-tab-focusable_14rmt_9tgo0_389:not(#\9) {
388
+ .awsui_tabs-tab-focusable_14rmt_1n7hy_388:not(#\9) {
390
389
  /* used to manage focusable logic */
391
390
  }
392
391
 
393
- .awsui_root_14rmt_9tgo0_393:not(#\9) {
392
+ .awsui_root_14rmt_1n7hy_392:not(#\9) {
394
393
  /* used in test-utils or tests */
395
394
  }
396
395
 
397
- .awsui_tabs_14rmt_9tgo0_154:not(#\9) {
396
+ .awsui_tabs_14rmt_1n7hy_154:not(#\9) {
398
397
  border-collapse: separate;
399
398
  border-spacing: 0;
400
399
  box-sizing: border-box;
@@ -428,21 +427,21 @@ body[data-awsui-focus-visible=true] .awsui_tabs-tab-link_14rmt_9tgo0_300:not(#\9
428
427
  inline-size: 100%;
429
428
  }
430
429
 
431
- .awsui_tabs-content_14rmt_9tgo0_431:not(#\9) {
430
+ .awsui_tabs-content_14rmt_1n7hy_430:not(#\9) {
432
431
  display: none;
433
432
  }
434
433
 
435
- .awsui_fit-height_14rmt_9tgo0_435:not(#\9) {
434
+ .awsui_fit-height_14rmt_1n7hy_434:not(#\9) {
436
435
  display: flex;
437
436
  flex-direction: column;
438
437
  block-size: 100%;
439
438
  }
440
439
 
441
- .awsui_tabs-content-active_14rmt_9tgo0_441:not(#\9) {
440
+ .awsui_tabs-content-active_14rmt_1n7hy_440:not(#\9) {
442
441
  display: block;
443
442
  flex: 1;
444
443
  }
445
- body[data-awsui-focus-visible=true] .awsui_tabs-content-active_14rmt_9tgo0_441:not(#\9):focus {
444
+ body[data-awsui-focus-visible=true] .awsui_tabs-content-active_14rmt_1n7hy_440:not(#\9):focus {
446
445
  outline: 2px dotted transparent;
447
446
  outline-offset: 2px;
448
447
  border-start-start-radius: var(--border-radius-container-l30zxy, 0px);
@@ -452,32 +451,32 @@ body[data-awsui-focus-visible=true] .awsui_tabs-content-active_14rmt_9tgo0_441:n
452
451
  box-shadow: 0 0 0 2px var(--color-border-item-focused-r5f6xl, #0073bb);
453
452
  }
454
453
 
455
- .awsui_tabs-content-wrapper_14rmt_9tgo0_455.awsui_with-paddings_14rmt_9tgo0_455 > .awsui_tabs-content_14rmt_9tgo0_431:not(#\9) {
454
+ .awsui_tabs-content-wrapper_14rmt_1n7hy_454.awsui_with-paddings_14rmt_1n7hy_454 > .awsui_tabs-content_14rmt_1n7hy_430:not(#\9) {
456
455
  padding-block: var(--space-scaled-m-sw9kcx, 16px);
457
456
  padding-inline: 0;
458
457
  }
459
- .awsui_fit-height_14rmt_9tgo0_435 > .awsui_tabs-content-wrapper_14rmt_9tgo0_455:not(#\9) {
458
+ .awsui_fit-height_14rmt_1n7hy_434 > .awsui_tabs-content-wrapper_14rmt_1n7hy_454:not(#\9) {
460
459
  flex: 1;
461
460
  display: flex;
462
461
  flex-direction: column;
463
462
  overflow: auto;
464
463
  }
465
464
 
466
- .awsui_fit-height_14rmt_9tgo0_435 > .awsui_tabs-content-wrapper_14rmt_9tgo0_455 > .awsui_tabs-container-content-wrapper_14rmt_9tgo0_466:not(#\9) {
465
+ .awsui_fit-height_14rmt_1n7hy_434 > .awsui_tabs-content-wrapper_14rmt_1n7hy_454 > .awsui_tabs-container-content-wrapper_14rmt_1n7hy_465:not(#\9) {
467
466
  block-size: 100%;
468
467
  display: flex;
469
468
  flex-direction: column;
470
469
  }
471
- .awsui_tabs-container-content-wrapper_14rmt_9tgo0_466.awsui_with-paddings_14rmt_9tgo0_455 > .awsui_tabs-content_14rmt_9tgo0_431:not(#\9) {
470
+ .awsui_tabs-container-content-wrapper_14rmt_1n7hy_465.awsui_with-paddings_14rmt_1n7hy_454 > .awsui_tabs-content_14rmt_1n7hy_430:not(#\9) {
472
471
  padding-block-start: var(--space-tabs-content-top-i5vuz0, 16px);
473
472
  padding-block-end: var(--space-scaled-l-66n9sr, 20px);
474
473
  padding-inline: var(--space-container-horizontal-ipmk0e, 20px);
475
474
  }
476
475
 
477
- .awsui_disabled-reason-tooltip_14rmt_9tgo0_477:not(#\9) {
476
+ .awsui_disabled-reason-tooltip_14rmt_1n7hy_476:not(#\9) {
478
477
  /* used in test-utils or tests */
479
478
  }
480
479
 
481
- .awsui_tabs-tab-focused_14rmt_9tgo0_481:not(#\9) {
480
+ .awsui_tabs-tab-focused_14rmt_1n7hy_480:not(#\9) {
482
481
  /* used to manage focusable state for disabled with reason tabs */
483
482
  }
@@ -2,35 +2,35 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "tabs-header": "awsui_tabs-header_14rmt_9tgo0_154",
6
- "tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_9tgo0_163",
7
- "tabs-header-list": "awsui_tabs-header-list_14rmt_9tgo0_169",
8
- "pagination-button": "awsui_pagination-button_14rmt_9tgo0_187",
9
- "pagination-button-left": "awsui_pagination-button-left_14rmt_9tgo0_194",
10
- "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_9tgo0_197",
11
- "pagination-button-right": "awsui_pagination-button-right_14rmt_9tgo0_201",
12
- "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_9tgo0_204",
13
- "actions-container": "awsui_actions-container_14rmt_9tgo0_209",
14
- "tabs-tab": "awsui_tabs-tab_14rmt_9tgo0_217",
15
- "tabs-tab-label": "awsui_tabs-tab-label_14rmt_9tgo0_227",
16
- "tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_9tgo0_238",
17
- "tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_9tgo0_249",
18
- "tabs-tab-action": "awsui_tabs-tab-action_14rmt_9tgo0_249",
19
- "refresh": "awsui_refresh_14rmt_9tgo0_254",
20
- "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_9tgo0_258",
21
- "tabs-tab-link": "awsui_tabs-tab-link_14rmt_9tgo0_300",
22
- "tabs-tab-active": "awsui_tabs-tab-active_14rmt_9tgo0_378",
23
- "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_9tgo0_385",
24
- "tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_9tgo0_389",
25
- "root": "awsui_root_14rmt_9tgo0_393",
26
- "tabs": "awsui_tabs_14rmt_9tgo0_154",
27
- "tabs-content": "awsui_tabs-content_14rmt_9tgo0_431",
28
- "fit-height": "awsui_fit-height_14rmt_9tgo0_435",
29
- "tabs-content-active": "awsui_tabs-content-active_14rmt_9tgo0_441",
30
- "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_9tgo0_455",
31
- "with-paddings": "awsui_with-paddings_14rmt_9tgo0_455",
32
- "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_9tgo0_466",
33
- "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_9tgo0_477",
34
- "tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_9tgo0_481"
5
+ "tabs-header": "awsui_tabs-header_14rmt_1n7hy_154",
6
+ "tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_1n7hy_163",
7
+ "tabs-header-list": "awsui_tabs-header-list_14rmt_1n7hy_169",
8
+ "pagination-button": "awsui_pagination-button_14rmt_1n7hy_186",
9
+ "pagination-button-left": "awsui_pagination-button-left_14rmt_1n7hy_193",
10
+ "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_1n7hy_196",
11
+ "pagination-button-right": "awsui_pagination-button-right_14rmt_1n7hy_200",
12
+ "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_1n7hy_203",
13
+ "actions-container": "awsui_actions-container_14rmt_1n7hy_208",
14
+ "tabs-tab": "awsui_tabs-tab_14rmt_1n7hy_216",
15
+ "tabs-tab-label": "awsui_tabs-tab-label_14rmt_1n7hy_226",
16
+ "tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_1n7hy_237",
17
+ "tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_1n7hy_248",
18
+ "tabs-tab-action": "awsui_tabs-tab-action_14rmt_1n7hy_248",
19
+ "refresh": "awsui_refresh_14rmt_1n7hy_253",
20
+ "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_1n7hy_257",
21
+ "tabs-tab-link": "awsui_tabs-tab-link_14rmt_1n7hy_299",
22
+ "tabs-tab-active": "awsui_tabs-tab-active_14rmt_1n7hy_377",
23
+ "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_1n7hy_384",
24
+ "tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_1n7hy_388",
25
+ "root": "awsui_root_14rmt_1n7hy_392",
26
+ "tabs": "awsui_tabs_14rmt_1n7hy_154",
27
+ "tabs-content": "awsui_tabs-content_14rmt_1n7hy_430",
28
+ "fit-height": "awsui_fit-height_14rmt_1n7hy_434",
29
+ "tabs-content-active": "awsui_tabs-content-active_14rmt_1n7hy_440",
30
+ "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_1n7hy_454",
31
+ "with-paddings": "awsui_with-paddings_14rmt_1n7hy_454",
32
+ "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_1n7hy_465",
33
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_1n7hy_476",
34
+ "tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_1n7hy_480"
35
35
  };
36
36
 
@@ -3,13 +3,12 @@
3
3
  import React, { forwardRef, useEffect, useRef, useState } from 'react';
4
4
  import clsx from 'clsx';
5
5
  import { useContainerQuery } from '@cloudscape-design/component-toolkit';
6
- import { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';
6
+ import { SingleTabStopNavigationProvider, useMergeRefs, useSingleTabStopNavigation, } from '@cloudscape-design/component-toolkit/internal';
7
7
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
8
8
  import { InternalButton } from '../button/internal';
9
9
  import { useInternalI18n } from '../i18n/context';
10
10
  import { getAllFocusables } from '../internal/components/focus-lock/utils';
11
11
  import Tooltip from '../internal/components/tooltip';
12
- import { SingleTabStopNavigationProvider, useSingleTabStopNavigation, } from '../internal/context/single-tab-stop-navigation-context';
13
12
  import { hasModifierKeys, isPlainLeftClick } from '../internal/events';
14
13
  import useHiddenDescription from '../internal/hooks/use-hidden-description';
15
14
  import { usePrevious } from '../internal/hooks/use-previous';