@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":"index.js","sourceRoot":"","sources":["../../../../src/table/resizer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { getIsRtl, getLogicalBoundingClientRect, getLogicalPageX } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context.js';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { DEFAULT_COLUMN_WIDTH } from '../use-column-widths';\nimport { getHeaderWidth, getResizerElements } from './resizer-lookup';\n\nimport styles from './styles.css.js';\n\ninterface ResizerProps {\n onWidthUpdate: (newWidth: number) => void;\n onWidthUpdateCommit: () => void;\n ariaLabelledby?: string;\n minWidth?: number;\n tabIndex?: number;\n focusId?: string;\n showFocusRing?: boolean;\n roleDescription?: string;\n}\n\nconst AUTO_GROW_START_TIME = 10;\nconst AUTO_GROW_INTERVAL = 10;\nconst AUTO_GROW_INCREMENT = 5;\n\nexport function Divider({ className }: { className?: string }) {\n return <span className={clsx(styles.divider, styles['divider-disabled'], className)} />;\n}\n\nexport function Resizer({\n onWidthUpdate,\n onWidthUpdateCommit,\n ariaLabelledby,\n minWidth = DEFAULT_COLUMN_WIDTH,\n tabIndex,\n showFocusRing,\n focusId,\n roleDescription,\n}: ResizerProps) {\n onWidthUpdate = useStableCallback(onWidthUpdate);\n onWidthUpdateCommit = useStableCallback(onWidthUpdateCommit);\n\n const isVisualRefresh = useVisualRefresh();\n\n const separatorId = useUniqueId();\n const resizerToggleRef = useRef<HTMLButtonElement>(null);\n const resizerSeparatorRef = useRef<HTMLSpanElement>(null);\n\n const [isDragging, setIsDragging] = useState(false);\n const [isKeyboardDragging, setIsKeyboardDragging] = useState(false);\n const autoGrowTimeout = useRef<ReturnType<typeof setTimeout> | undefined>();\n const [resizerHasFocus, setResizerHasFocus] = useState(false);\n const [headerCellWidth, setHeaderCellWidth] = useState(0);\n\n // Read header width after mounting for it to be available in the element's ARIA label before it gets focused.\n useEffect(() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n }, []);\n\n useEffect(() => {\n const elements = getResizerElements(resizerToggleRef.current);\n const document = resizerToggleRef.current?.ownerDocument ?? window.document;\n\n if ((!isDragging && !resizerHasFocus) || !elements) {\n return;\n }\n\n const { insetInlineStart: inlineStartEdge, insetInlineEnd: inlineEndEdge } = getLogicalBoundingClientRect(\n elements.scrollParent\n );\n\n const updateTrackerPosition = (newOffset: number) => {\n const { insetInlineStart: scrollParentInsetInlineStart } = getLogicalBoundingClientRect(elements.table);\n elements.tracker.style.insetBlockStart = getLogicalBoundingClientRect(elements.header).blockSize + 'px';\n // minus one pixel to offset the cell border\n elements.tracker.style.insetInlineStart = newOffset - scrollParentInsetInlineStart - 1 + 'px';\n };\n\n const updateColumnWidth = (newWidth: number) => {\n const { insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(elements.header);\n const updatedWidth = newWidth < minWidth ? minWidth : newWidth;\n updateTrackerPosition(insetInlineEnd + updatedWidth - inlineSize);\n if (newWidth >= minWidth) {\n setHeaderCellWidth(newWidth);\n }\n // callbacks must be the last calls in the handler, because they may cause an extra update\n onWidthUpdate(newWidth);\n };\n\n const resizeColumn = (offset: number) => {\n if (offset > inlineStartEdge) {\n const cellLeft = getLogicalBoundingClientRect(elements.header).insetInlineStart;\n const newWidth = offset - cellLeft;\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(newWidth);\n }\n };\n\n const onAutoGrow = () => {\n const inlineSize = getLogicalBoundingClientRect(elements.header).inlineSize;\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_INTERVAL);\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(inlineSize + AUTO_GROW_INCREMENT);\n elements.scrollParent.scrollLeft += AUTO_GROW_INCREMENT * (getIsRtl(elements.scrollParent) ? -1 : 1);\n };\n\n const onMouseMove = (event: MouseEvent) => {\n clearTimeout(autoGrowTimeout.current);\n const offset = getLogicalPageX(event);\n if (offset > inlineEndEdge) {\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_START_TIME);\n } else {\n resizeColumn(offset);\n }\n };\n\n const onMouseUp = (event: MouseEvent) => {\n resizeColumn(getLogicalPageX(event));\n setIsDragging(false);\n onWidthUpdateCommit();\n clearTimeout(autoGrowTimeout.current);\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (isKeyboardDragging) {\n const keys = [KeyCode.left, KeyCode.right, KeyCode.enter, KeyCode.right, KeyCode.space, KeyCode.escape];\n\n if (keys.indexOf(event.keyCode) !== -1) {\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setIsKeyboardDragging(false);\n resizerToggleRef.current?.focus();\n },\n onEscape: () => {\n setIsKeyboardDragging(false);\n resizerToggleRef.current?.focus();\n },\n onInlineStart: () => updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize - 10),\n onInlineEnd: () => updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize + 10),\n });\n }\n }\n }\n // Enter keyboard dragging mode\n else if (event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) {\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n },\n });\n }\n }\n };\n\n updateTrackerPosition(getLogicalBoundingClientRect(elements.header).insetInlineEnd);\n const controller = new AbortController();\n\n if (isDragging) {\n document.body.classList.add(styles['resize-active']);\n document.addEventListener('mousemove', onMouseMove, { signal: controller.signal });\n document.addEventListener('mouseup', onMouseUp, { signal: controller.signal });\n }\n if (resizerHasFocus) {\n document.body.classList.add(styles['resize-active-with-focus']);\n elements.header.addEventListener('keydown', onKeyDown, { signal: controller.signal });\n }\n if (isKeyboardDragging) {\n document.body.classList.add(styles['resize-active']);\n }\n\n return () => {\n clearTimeout(autoGrowTimeout.current);\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles['resize-active-with-focus']);\n controller.abort();\n };\n }, [minWidth, isDragging, isKeyboardDragging, resizerHasFocus, onWidthUpdate, onWidthUpdateCommit]);\n\n const { tabIndex: resizerTabIndex } = useSingleTabStopNavigation(resizerToggleRef, { tabIndex });\n\n return (\n <>\n <button\n ref={resizerToggleRef}\n className={clsx(\n styles.resizer,\n (resizerHasFocus || showFocusRing || isKeyboardDragging) && styles['has-focus'],\n isVisualRefresh && styles['is-visual-refresh']\n )}\n onMouseDown={event => {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n setIsDragging(true);\n }}\n onClick={() => {\n // Prevent mouse drag activation and activate keyboard dragging for VO+Space click.\n setIsDragging(false);\n setResizerHasFocus(true);\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n }}\n onFocus={() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n setResizerHasFocus(true);\n }}\n onBlur={event => {\n // Ignoring blur event when focus moves to the resizer separator element.\n // (This focus transition is done programmatically when the resizer button is clicked).\n if (event.relatedTarget !== resizerSeparatorRef.current) {\n setResizerHasFocus(false);\n }\n }}\n // Using a custom role-description to make the element's purpose better clear.\n // The role-description must include the word \"button\" to imply the interaction model.\n // See https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription\n aria-roledescription={roleDescription}\n aria-labelledby={ariaLabelledby}\n tabIndex={resizerTabIndex}\n data-focus-id={focusId}\n />\n <span\n className={clsx(\n styles['divider-interactive'],\n isDragging && styles['divider-active'],\n isVisualRefresh && styles['is-visual-refresh']\n )}\n data-awsui-table-suppress-navigation={true}\n ref={resizerSeparatorRef}\n id={separatorId}\n role=\"slider\"\n tabIndex={-1}\n aria-labelledby={ariaLabelledby}\n aria-hidden={!isKeyboardDragging}\n aria-valuemin={minWidth}\n // aria-valuemax is needed because the slider is inoperable in VoiceOver without it\n aria-valuemax={Number.MAX_SAFE_INTEGER}\n aria-valuenow={headerCellWidth}\n data-focus-id={focusId}\n onBlur={() => {\n setResizerHasFocus(false);\n if (isKeyboardDragging) {\n setIsKeyboardDragging(false);\n }\n onWidthUpdateCommit();\n }}\n />\n </>\n );\n}\n\nexport function ResizeTracker() {\n return <span className={styles.tracker} />;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table/resizer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { getIsRtl, getLogicalBoundingClientRect, getLogicalPageX } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { DEFAULT_COLUMN_WIDTH } from '../use-column-widths';\nimport { getHeaderWidth, getResizerElements } from './resizer-lookup';\n\nimport styles from './styles.css.js';\n\ninterface ResizerProps {\n onWidthUpdate: (newWidth: number) => void;\n onWidthUpdateCommit: () => void;\n ariaLabelledby?: string;\n minWidth?: number;\n tabIndex?: number;\n focusId?: string;\n showFocusRing?: boolean;\n roleDescription?: string;\n}\n\nconst AUTO_GROW_START_TIME = 10;\nconst AUTO_GROW_INTERVAL = 10;\nconst AUTO_GROW_INCREMENT = 5;\n\nexport function Divider({ className }: { className?: string }) {\n return <span className={clsx(styles.divider, styles['divider-disabled'], className)} />;\n}\n\nexport function Resizer({\n onWidthUpdate,\n onWidthUpdateCommit,\n ariaLabelledby,\n minWidth = DEFAULT_COLUMN_WIDTH,\n tabIndex,\n showFocusRing,\n focusId,\n roleDescription,\n}: ResizerProps) {\n onWidthUpdate = useStableCallback(onWidthUpdate);\n onWidthUpdateCommit = useStableCallback(onWidthUpdateCommit);\n\n const isVisualRefresh = useVisualRefresh();\n\n const separatorId = useUniqueId();\n const resizerToggleRef = useRef<HTMLButtonElement>(null);\n const resizerSeparatorRef = useRef<HTMLSpanElement>(null);\n\n const [isDragging, setIsDragging] = useState(false);\n const [isKeyboardDragging, setIsKeyboardDragging] = useState(false);\n const autoGrowTimeout = useRef<ReturnType<typeof setTimeout> | undefined>();\n const [resizerHasFocus, setResizerHasFocus] = useState(false);\n const [headerCellWidth, setHeaderCellWidth] = useState(0);\n\n // Read header width after mounting for it to be available in the element's ARIA label before it gets focused.\n useEffect(() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n }, []);\n\n useEffect(() => {\n const elements = getResizerElements(resizerToggleRef.current);\n const document = resizerToggleRef.current?.ownerDocument ?? window.document;\n\n if ((!isDragging && !resizerHasFocus) || !elements) {\n return;\n }\n\n const { insetInlineStart: inlineStartEdge, insetInlineEnd: inlineEndEdge } = getLogicalBoundingClientRect(\n elements.scrollParent\n );\n\n const updateTrackerPosition = (newOffset: number) => {\n const { insetInlineStart: scrollParentInsetInlineStart } = getLogicalBoundingClientRect(elements.table);\n elements.tracker.style.insetBlockStart = getLogicalBoundingClientRect(elements.header).blockSize + 'px';\n // minus one pixel to offset the cell border\n elements.tracker.style.insetInlineStart = newOffset - scrollParentInsetInlineStart - 1 + 'px';\n };\n\n const updateColumnWidth = (newWidth: number) => {\n const { insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(elements.header);\n const updatedWidth = newWidth < minWidth ? minWidth : newWidth;\n updateTrackerPosition(insetInlineEnd + updatedWidth - inlineSize);\n if (newWidth >= minWidth) {\n setHeaderCellWidth(newWidth);\n }\n // callbacks must be the last calls in the handler, because they may cause an extra update\n onWidthUpdate(newWidth);\n };\n\n const resizeColumn = (offset: number) => {\n if (offset > inlineStartEdge) {\n const cellLeft = getLogicalBoundingClientRect(elements.header).insetInlineStart;\n const newWidth = offset - cellLeft;\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(newWidth);\n }\n };\n\n const onAutoGrow = () => {\n const inlineSize = getLogicalBoundingClientRect(elements.header).inlineSize;\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_INTERVAL);\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(inlineSize + AUTO_GROW_INCREMENT);\n elements.scrollParent.scrollLeft += AUTO_GROW_INCREMENT * (getIsRtl(elements.scrollParent) ? -1 : 1);\n };\n\n const onMouseMove = (event: MouseEvent) => {\n clearTimeout(autoGrowTimeout.current);\n const offset = getLogicalPageX(event);\n if (offset > inlineEndEdge) {\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_START_TIME);\n } else {\n resizeColumn(offset);\n }\n };\n\n const onMouseUp = (event: MouseEvent) => {\n resizeColumn(getLogicalPageX(event));\n setIsDragging(false);\n onWidthUpdateCommit();\n clearTimeout(autoGrowTimeout.current);\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (isKeyboardDragging) {\n const keys = [KeyCode.left, KeyCode.right, KeyCode.enter, KeyCode.right, KeyCode.space, KeyCode.escape];\n\n if (keys.indexOf(event.keyCode) !== -1) {\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setIsKeyboardDragging(false);\n resizerToggleRef.current?.focus();\n },\n onEscape: () => {\n setIsKeyboardDragging(false);\n resizerToggleRef.current?.focus();\n },\n onInlineStart: () => updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize - 10),\n onInlineEnd: () => updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize + 10),\n });\n }\n }\n }\n // Enter keyboard dragging mode\n else if (event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) {\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n },\n });\n }\n }\n };\n\n updateTrackerPosition(getLogicalBoundingClientRect(elements.header).insetInlineEnd);\n const controller = new AbortController();\n\n if (isDragging) {\n document.body.classList.add(styles['resize-active']);\n document.addEventListener('mousemove', onMouseMove, { signal: controller.signal });\n document.addEventListener('mouseup', onMouseUp, { signal: controller.signal });\n }\n if (resizerHasFocus) {\n document.body.classList.add(styles['resize-active-with-focus']);\n elements.header.addEventListener('keydown', onKeyDown, { signal: controller.signal });\n }\n if (isKeyboardDragging) {\n document.body.classList.add(styles['resize-active']);\n }\n\n return () => {\n clearTimeout(autoGrowTimeout.current);\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles['resize-active-with-focus']);\n controller.abort();\n };\n }, [minWidth, isDragging, isKeyboardDragging, resizerHasFocus, onWidthUpdate, onWidthUpdateCommit]);\n\n const { tabIndex: resizerTabIndex } = useSingleTabStopNavigation(resizerToggleRef, { tabIndex });\n\n return (\n <>\n <button\n ref={resizerToggleRef}\n className={clsx(\n styles.resizer,\n (resizerHasFocus || showFocusRing || isKeyboardDragging) && styles['has-focus'],\n isVisualRefresh && styles['is-visual-refresh']\n )}\n onMouseDown={event => {\n if (event.button !== 0) {\n return;\n }\n event.preventDefault();\n setIsDragging(true);\n }}\n onClick={() => {\n // Prevent mouse drag activation and activate keyboard dragging for VO+Space click.\n setIsDragging(false);\n setResizerHasFocus(true);\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n }}\n onFocus={() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n setResizerHasFocus(true);\n }}\n onBlur={event => {\n // Ignoring blur event when focus moves to the resizer separator element.\n // (This focus transition is done programmatically when the resizer button is clicked).\n if (event.relatedTarget !== resizerSeparatorRef.current) {\n setResizerHasFocus(false);\n }\n }}\n // Using a custom role-description to make the element's purpose better clear.\n // The role-description must include the word \"button\" to imply the interaction model.\n // See https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription\n aria-roledescription={roleDescription}\n aria-labelledby={ariaLabelledby}\n tabIndex={resizerTabIndex}\n data-focus-id={focusId}\n />\n <span\n className={clsx(\n styles['divider-interactive'],\n isDragging && styles['divider-active'],\n isVisualRefresh && styles['is-visual-refresh']\n )}\n data-awsui-table-suppress-navigation={true}\n ref={resizerSeparatorRef}\n id={separatorId}\n role=\"slider\"\n tabIndex={-1}\n aria-labelledby={ariaLabelledby}\n aria-hidden={!isKeyboardDragging}\n aria-valuemin={minWidth}\n // aria-valuemax is needed because the slider is inoperable in VoiceOver without it\n aria-valuemax={Number.MAX_SAFE_INTEGER}\n aria-valuenow={headerCellWidth}\n data-focus-id={focusId}\n onBlur={() => {\n setResizerHasFocus(false);\n if (isKeyboardDragging) {\n setIsKeyboardDragging(false);\n }\n onWidthUpdateCommit();\n }}\n />\n </>\n );\n}\n\nexport function ResizeTracker() {\n return <span className={styles.tracker} />;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"selection-control.d.ts","sourceRoot":"","sources":["../../../../src/table/selection/selection-control.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAiB,oBAAoB,EAA0B,MAAM,OAAO,CAAC;AAU3F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,aAAa,CAAC,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACd,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,aAAqB,EACrB,aAAa,EACb,SAAS,EACT,WAAW,EACX,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,aAAwB,EACxB,GAAG,WAAW,EACf,EAAE,qBAAqB,eAmFvB"}
1
+ {"version":3,"file":"selection-control.d.ts","sourceRoot":"","sources":["../../../../src/table/selection/selection-control.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAiB,oBAAoB,EAAc,MAAM,OAAO,CAAC;AAS/E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,aAAa,CAAC,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACd,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,aAAqB,EACrB,aAAa,EACb,SAAS,EACT,WAAW,EACX,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,aAAwB,EACxB,GAAG,WAAW,EACf,EAAE,qBAAqB,eAmFvB"}
@@ -1,12 +1,11 @@
1
1
  import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import React, { useContext } from 'react';
4
+ import React from 'react';
5
5
  import clsx from 'clsx';
6
- import { useUniqueId } from '@cloudscape-design/component-toolkit/internal';
6
+ import { useSingleTabStopNavigation, useUniqueId } from '@cloudscape-design/component-toolkit/internal';
7
7
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
8
8
  import InternalCheckbox from '../../checkbox/internal';
9
- import { SingleTabStopNavigationContext } from '../../internal/context/single-tab-stop-navigation-context';
10
9
  import { KeyCode } from '../../internal/keycode';
11
10
  import RadioButton from '../../radio-group/radio-button';
12
11
  import styles from './styles.css.js';
@@ -14,7 +13,7 @@ export function SelectionControl(_a) {
14
13
  var { selectionType, indeterminate = false, onShiftToggle, onFocusUp, onFocusDown, name, ariaLabel, focusedComponent, rowIndex, itemKey, verticalAlign = 'middle' } = _a, sharedProps = __rest(_a, ["selectionType", "indeterminate", "onShiftToggle", "onFocusUp", "onFocusDown", "name", "ariaLabel", "focusedComponent", "rowIndex", "itemKey", "verticalAlign"]);
15
14
  const controlId = useUniqueId();
16
15
  const isMultiSelection = selectionType === 'multi';
17
- const { navigationActive } = useContext(SingleTabStopNavigationContext);
16
+ const { navigationActive } = useSingleTabStopNavigation(null);
18
17
  const setShiftState = (event) => {
19
18
  if (isMultiSelection) {
20
19
  onShiftToggle === null || onShiftToggle === void 0 ? void 0 : onShiftToggle(event.shiftKey);
@@ -1 +1 @@
1
- {"version":3,"file":"selection-control.js","sourceRoot":"","sources":["../../../../src/table/selection/selection-control.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, { KeyboardEvent, KeyboardEventHandler, MouseEvent, useContext } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalCheckbox from '../../checkbox/internal';\nimport { SingleTabStopNavigationContext } from '../../internal/context/single-tab-stop-navigation-context';\nimport { KeyCode } from '../../internal/keycode';\nimport RadioButton from '../../radio-group/radio-button';\nimport { SelectionProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport interface SelectionControlProps extends SelectionProps {\n onShiftToggle?(shiftPressed: boolean): void;\n onFocusUp?: KeyboardEventHandler;\n onFocusDown?: KeyboardEventHandler;\n ariaLabel?: string;\n tabIndex?: -1;\n focusedComponent?: null | string;\n rowIndex?: number;\n itemKey?: string;\n verticalAlign?: 'middle' | 'top';\n}\n\nexport function SelectionControl({\n selectionType,\n indeterminate = false,\n onShiftToggle,\n onFocusUp,\n onFocusDown,\n name,\n ariaLabel,\n focusedComponent,\n rowIndex,\n itemKey,\n verticalAlign = 'middle',\n ...sharedProps\n}: SelectionControlProps) {\n const controlId = useUniqueId();\n const isMultiSelection = selectionType === 'multi';\n const { navigationActive } = useContext(SingleTabStopNavigationContext);\n\n const setShiftState = (event: KeyboardEvent | MouseEvent) => {\n if (isMultiSelection) {\n onShiftToggle?.(event.shiftKey);\n }\n };\n\n const onMouseDownHandler = (event: MouseEvent) => {\n setShiftState(event);\n if (isMultiSelection) {\n // To overcome an issue\n // If you shift+click or ctrl+click on a label for a checkbox, checkbox is not checked.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=559506\n event.preventDefault();\n }\n };\n\n // native checkboxes do not have focus move via keyboard, we implement it here programmatically\n const handleKeyDown = (event: KeyboardEvent) => {\n setShiftState(event);\n if (isMultiSelection && !navigationActive) {\n if (event.keyCode === KeyCode.up) {\n event.preventDefault();\n onFocusUp?.(event);\n }\n if (event.keyCode === KeyCode.down) {\n event.preventDefault();\n onFocusDown?.(event);\n }\n }\n };\n\n const handleClick = (event: MouseEvent) => {\n const target = event.currentTarget;\n const nativeInput = (target.tagName === 'INPUT' ? target : target.querySelector('input')) as HTMLInputElement;\n // Clicking on input, does not focus it on Firefox (AWSUI-11345)\n nativeInput?.focus();\n };\n\n const selector = isMultiSelection ? (\n <InternalCheckbox\n {...sharedProps}\n showOutline={focusedComponent === 'selection-control'}\n controlId={controlId}\n data-focus-id=\"selection-control\"\n indeterminate={indeterminate}\n />\n ) : (\n <RadioButton {...sharedProps} controlId={controlId} name={name} value={''} label={''} />\n );\n\n return (\n <>\n <label\n onKeyDown={handleKeyDown}\n onKeyUp={setShiftState}\n onMouseDown={onMouseDownHandler}\n onMouseUp={setShiftState}\n onClick={handleClick}\n htmlFor={controlId}\n className={clsx(styles.label, styles.root, verticalAlign === 'top' && styles['label-top'])}\n aria-label={ariaLabel}\n title={ariaLabel}\n {...(rowIndex !== undefined && !sharedProps.disabled\n ? getAnalyticsMetadataAttribute({\n detail: {\n position: `${rowIndex + 1}`,\n item: itemKey || '',\n },\n })\n : {})}\n >\n {selector}\n </label>\n <span className={styles.stud} aria-hidden={true}>\n &nbsp;\n </span>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"selection-control.js","sourceRoot":"","sources":["../../../../src/table/selection/selection-control.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, { KeyboardEvent, KeyboardEventHandler, MouseEvent } from 'react';\nimport clsx from 'clsx';\n\nimport { useSingleTabStopNavigation, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalCheckbox from '../../checkbox/internal';\nimport { KeyCode } from '../../internal/keycode';\nimport RadioButton from '../../radio-group/radio-button';\nimport { SelectionProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport interface SelectionControlProps extends SelectionProps {\n onShiftToggle?(shiftPressed: boolean): void;\n onFocusUp?: KeyboardEventHandler;\n onFocusDown?: KeyboardEventHandler;\n ariaLabel?: string;\n tabIndex?: -1;\n focusedComponent?: null | string;\n rowIndex?: number;\n itemKey?: string;\n verticalAlign?: 'middle' | 'top';\n}\n\nexport function SelectionControl({\n selectionType,\n indeterminate = false,\n onShiftToggle,\n onFocusUp,\n onFocusDown,\n name,\n ariaLabel,\n focusedComponent,\n rowIndex,\n itemKey,\n verticalAlign = 'middle',\n ...sharedProps\n}: SelectionControlProps) {\n const controlId = useUniqueId();\n const isMultiSelection = selectionType === 'multi';\n const { navigationActive } = useSingleTabStopNavigation(null);\n\n const setShiftState = (event: KeyboardEvent | MouseEvent) => {\n if (isMultiSelection) {\n onShiftToggle?.(event.shiftKey);\n }\n };\n\n const onMouseDownHandler = (event: MouseEvent) => {\n setShiftState(event);\n if (isMultiSelection) {\n // To overcome an issue\n // If you shift+click or ctrl+click on a label for a checkbox, checkbox is not checked.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=559506\n event.preventDefault();\n }\n };\n\n // native checkboxes do not have focus move via keyboard, we implement it here programmatically\n const handleKeyDown = (event: KeyboardEvent) => {\n setShiftState(event);\n if (isMultiSelection && !navigationActive) {\n if (event.keyCode === KeyCode.up) {\n event.preventDefault();\n onFocusUp?.(event);\n }\n if (event.keyCode === KeyCode.down) {\n event.preventDefault();\n onFocusDown?.(event);\n }\n }\n };\n\n const handleClick = (event: MouseEvent) => {\n const target = event.currentTarget;\n const nativeInput = (target.tagName === 'INPUT' ? target : target.querySelector('input')) as HTMLInputElement;\n // Clicking on input, does not focus it on Firefox (AWSUI-11345)\n nativeInput?.focus();\n };\n\n const selector = isMultiSelection ? (\n <InternalCheckbox\n {...sharedProps}\n showOutline={focusedComponent === 'selection-control'}\n controlId={controlId}\n data-focus-id=\"selection-control\"\n indeterminate={indeterminate}\n />\n ) : (\n <RadioButton {...sharedProps} controlId={controlId} name={name} value={''} label={''} />\n );\n\n return (\n <>\n <label\n onKeyDown={handleKeyDown}\n onKeyUp={setShiftState}\n onMouseDown={onMouseDownHandler}\n onMouseUp={setShiftState}\n onClick={handleClick}\n htmlFor={controlId}\n className={clsx(styles.label, styles.root, verticalAlign === 'top' && styles['label-top'])}\n aria-label={ariaLabel}\n title={ariaLabel}\n {...(rowIndex !== undefined && !sharedProps.disabled\n ? getAnalyticsMetadataAttribute({\n detail: {\n position: `${rowIndex + 1}`,\n item: itemKey || '',\n },\n })\n : {})}\n >\n {selector}\n </label>\n <span className={styles.stud} aria-hidden={true}>\n &nbsp;\n </span>\n </>\n );\n}\n"]}
@@ -1,39 +1,39 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_wih1l_1asy9_153",
5
- "tools": "awsui_tools_wih1l_1asy9_164",
6
- "tools-filtering": "awsui_tools-filtering_wih1l_1asy9_172",
7
- "tools-align-right": "awsui_tools-align-right_wih1l_1asy9_186",
8
- "tools-pagination": "awsui_tools-pagination_wih1l_1asy9_190",
9
- "tools-preferences": "awsui_tools-preferences_wih1l_1asy9_190",
10
- "tools-small": "awsui_tools-small_wih1l_1asy9_196",
11
- "table": "awsui_table_wih1l_1asy9_202",
12
- "table-layout-fixed": "awsui_table-layout-fixed_wih1l_1asy9_208",
13
- "wrapper": "awsui_wrapper_wih1l_1asy9_212",
14
- "variant-stacked": "awsui_variant-stacked_wih1l_1asy9_219",
15
- "wrapper-content-measure": "awsui_wrapper-content-measure_wih1l_1asy9_219",
16
- "variant-container": "awsui_variant-container_wih1l_1asy9_219",
17
- "has-footer": "awsui_has-footer_wih1l_1asy9_222",
18
- "has-header": "awsui_has-header_wih1l_1asy9_225",
19
- "cell-merged": "awsui_cell-merged_wih1l_1asy9_242",
20
- "cell-merged-content": "awsui_cell-merged-content_wih1l_1asy9_254",
21
- "empty": "awsui_empty_wih1l_1asy9_270",
22
- "loading": "awsui_loading_wih1l_1asy9_274",
23
- "selection-control": "awsui_selection-control_wih1l_1asy9_283",
24
- "selection-control-header": "awsui_selection-control-header_wih1l_1asy9_290",
25
- "header-secondary": "awsui_header-secondary_wih1l_1asy9_296",
26
- "variant-full-page": "awsui_variant-full-page_wih1l_1asy9_308",
27
- "table-has-header": "awsui_table-has-header_wih1l_1asy9_314",
28
- "header-controls": "awsui_header-controls_wih1l_1asy9_325",
29
- "variant-embedded": "awsui_variant-embedded_wih1l_1asy9_334",
30
- "variant-borderless": "awsui_variant-borderless_wih1l_1asy9_334",
31
- "footer-wrapper": "awsui_footer-wrapper_wih1l_1asy9_339",
32
- "footer": "awsui_footer_wih1l_1asy9_339",
33
- "footer-with-pagination": "awsui_footer-with-pagination_wih1l_1asy9_347",
34
- "footer-pagination": "awsui_footer-pagination_wih1l_1asy9_355",
35
- "thead-active": "awsui_thead-active_wih1l_1asy9_359",
36
- "row": "awsui_row_wih1l_1asy9_360",
37
- "row-selected": "awsui_row-selected_wih1l_1asy9_361"
4
+ "root": "awsui_root_wih1l_1qjko_153",
5
+ "tools": "awsui_tools_wih1l_1qjko_164",
6
+ "tools-filtering": "awsui_tools-filtering_wih1l_1qjko_172",
7
+ "tools-align-right": "awsui_tools-align-right_wih1l_1qjko_186",
8
+ "tools-pagination": "awsui_tools-pagination_wih1l_1qjko_190",
9
+ "tools-preferences": "awsui_tools-preferences_wih1l_1qjko_190",
10
+ "tools-small": "awsui_tools-small_wih1l_1qjko_196",
11
+ "table": "awsui_table_wih1l_1qjko_202",
12
+ "table-layout-fixed": "awsui_table-layout-fixed_wih1l_1qjko_208",
13
+ "wrapper": "awsui_wrapper_wih1l_1qjko_212",
14
+ "variant-stacked": "awsui_variant-stacked_wih1l_1qjko_219",
15
+ "wrapper-content-measure": "awsui_wrapper-content-measure_wih1l_1qjko_219",
16
+ "variant-container": "awsui_variant-container_wih1l_1qjko_219",
17
+ "has-footer": "awsui_has-footer_wih1l_1qjko_222",
18
+ "has-header": "awsui_has-header_wih1l_1qjko_225",
19
+ "cell-merged": "awsui_cell-merged_wih1l_1qjko_242",
20
+ "cell-merged-content": "awsui_cell-merged-content_wih1l_1qjko_254",
21
+ "empty": "awsui_empty_wih1l_1qjko_270",
22
+ "loading": "awsui_loading_wih1l_1qjko_274",
23
+ "selection-control": "awsui_selection-control_wih1l_1qjko_283",
24
+ "selection-control-header": "awsui_selection-control-header_wih1l_1qjko_290",
25
+ "header-secondary": "awsui_header-secondary_wih1l_1qjko_296",
26
+ "variant-full-page": "awsui_variant-full-page_wih1l_1qjko_307",
27
+ "table-has-header": "awsui_table-has-header_wih1l_1qjko_313",
28
+ "header-controls": "awsui_header-controls_wih1l_1qjko_324",
29
+ "variant-embedded": "awsui_variant-embedded_wih1l_1qjko_333",
30
+ "variant-borderless": "awsui_variant-borderless_wih1l_1qjko_333",
31
+ "footer-wrapper": "awsui_footer-wrapper_wih1l_1qjko_338",
32
+ "footer": "awsui_footer_wih1l_1qjko_338",
33
+ "footer-with-pagination": "awsui_footer-with-pagination_wih1l_1qjko_346",
34
+ "footer-pagination": "awsui_footer-pagination_wih1l_1qjko_354",
35
+ "thead-active": "awsui_thead-active_wih1l_1qjko_358",
36
+ "row": "awsui_row_wih1l_1qjko_359",
37
+ "row-selected": "awsui_row-selected_wih1l_1qjko_360"
38
38
  };
39
39
 
@@ -150,7 +150,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
150
150
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
151
151
  SPDX-License-Identifier: Apache-2.0
152
152
  */
153
- .awsui_root_wih1l_1asy9_153:not(#\9) {
153
+ .awsui_root_wih1l_1qjko_153:not(#\9) {
154
154
  font-size: var(--font-size-body-m-vv54cm, 14px);
155
155
  line-height: var(--line-height-body-m-bedeoh, 22px);
156
156
  color: var(--color-text-body-default-5qid0u, #16191f);
@@ -161,7 +161,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
161
161
  inline-size: 100%;
162
162
  }
163
163
 
164
- .awsui_tools_wih1l_1asy9_164:not(#\9) {
164
+ .awsui_tools_wih1l_1qjko_164:not(#\9) {
165
165
  display: flex;
166
166
  align-items: flex-end;
167
167
  flex-wrap: wrap;
@@ -169,67 +169,67 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
169
169
  padding-block-end: var(--space-table-header-tools-bottom-b6lpr6, 4px);
170
170
  padding-inline: 0;
171
171
  }
172
- .awsui_tools-filtering_wih1l_1asy9_172:not(#\9) {
172
+ .awsui_tools-filtering_wih1l_1qjko_172:not(#\9) {
173
173
  max-inline-size: 100%;
174
174
  margin-inline-end: var(--space-l-3cws6j, 20px);
175
175
  }
176
176
  @supports (flex-basis: fit-content) {
177
- .awsui_tools-filtering_wih1l_1asy9_172:not(#\9) {
177
+ .awsui_tools-filtering_wih1l_1qjko_172:not(#\9) {
178
178
  flex: 1 1 fit-content;
179
179
  }
180
180
  }
181
181
  @supports not (flex-basis: fit-content) {
182
- .awsui_tools-filtering_wih1l_1asy9_172:not(#\9) {
182
+ .awsui_tools-filtering_wih1l_1qjko_172:not(#\9) {
183
183
  flex: 1 1 auto;
184
184
  }
185
185
  }
186
- .awsui_tools-align-right_wih1l_1asy9_186:not(#\9) {
186
+ .awsui_tools-align-right_wih1l_1qjko_186:not(#\9) {
187
187
  display: flex;
188
188
  margin-inline-start: auto;
189
189
  }
190
- .awsui_tools-pagination_wih1l_1asy9_190 + .awsui_tools-preferences_wih1l_1asy9_190:not(#\9) {
190
+ .awsui_tools-pagination_wih1l_1qjko_190 + .awsui_tools-preferences_wih1l_1qjko_190:not(#\9) {
191
191
  border-inline-start: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-divider-default-ipvpev, #eaeded);
192
192
  box-sizing: border-box;
193
193
  margin-inline-start: var(--space-xs-kw7k3v, 8px);
194
194
  padding-inline-start: var(--space-xs-kw7k3v, 8px);
195
195
  }
196
- .awsui_tools-small_wih1l_1asy9_196 > .awsui_tools-filtering_wih1l_1asy9_172:not(#\9) {
196
+ .awsui_tools-small_wih1l_1qjko_196 > .awsui_tools-filtering_wih1l_1qjko_172:not(#\9) {
197
197
  margin-inline-end: 0;
198
198
  margin-block-end: var(--space-scaled-xs-sppte9, 8px);
199
199
  flex-basis: 100%;
200
200
  }
201
201
 
202
- .awsui_table_wih1l_1asy9_202:not(#\9) {
202
+ .awsui_table_wih1l_1qjko_202:not(#\9) {
203
203
  inline-size: 100%;
204
204
  border-spacing: 0;
205
205
  position: relative;
206
206
  box-sizing: border-box;
207
207
  }
208
- .awsui_table-layout-fixed_wih1l_1asy9_208:not(#\9) {
208
+ .awsui_table-layout-fixed_wih1l_1qjko_208:not(#\9) {
209
209
  table-layout: fixed;
210
210
  }
211
211
 
212
- .awsui_wrapper_wih1l_1asy9_212:not(#\9) {
212
+ .awsui_wrapper_wih1l_1qjko_212:not(#\9) {
213
213
  position: relative;
214
214
  box-sizing: border-box;
215
215
  inline-size: 100%;
216
216
  overflow-x: auto;
217
217
  scrollbar-width: none; /* Hide scrollbar in Firefox */
218
218
  }
219
- .awsui_wrapper_wih1l_1asy9_212.awsui_variant-stacked_wih1l_1asy9_219 > .awsui_table_wih1l_1asy9_202:not(#\9), .awsui_wrapper_wih1l_1asy9_212.awsui_variant-stacked_wih1l_1asy9_219 > .awsui_wrapper-content-measure_wih1l_1asy9_219:not(#\9), .awsui_wrapper_wih1l_1asy9_212.awsui_variant-container_wih1l_1asy9_219 > .awsui_table_wih1l_1asy9_202:not(#\9), .awsui_wrapper_wih1l_1asy9_212.awsui_variant-container_wih1l_1asy9_219 > .awsui_wrapper-content-measure_wih1l_1asy9_219:not(#\9) {
219
+ .awsui_wrapper_wih1l_1qjko_212.awsui_variant-stacked_wih1l_1qjko_219 > .awsui_table_wih1l_1qjko_202:not(#\9), .awsui_wrapper_wih1l_1qjko_212.awsui_variant-stacked_wih1l_1qjko_219 > .awsui_wrapper-content-measure_wih1l_1qjko_219:not(#\9), .awsui_wrapper_wih1l_1qjko_212.awsui_variant-container_wih1l_1qjko_219 > .awsui_table_wih1l_1qjko_202:not(#\9), .awsui_wrapper_wih1l_1qjko_212.awsui_variant-container_wih1l_1qjko_219 > .awsui_wrapper-content-measure_wih1l_1qjko_219:not(#\9) {
220
220
  padding-inline: var(--space-table-horizontal-xmv4qa, 0px);
221
221
  }
222
- .awsui_wrapper_wih1l_1asy9_212.awsui_variant-stacked_wih1l_1asy9_219:not(#\9):not(.awsui_has-footer_wih1l_1asy9_222), .awsui_wrapper_wih1l_1asy9_212.awsui_variant-container_wih1l_1asy9_219:not(#\9):not(.awsui_has-footer_wih1l_1asy9_222) {
222
+ .awsui_wrapper_wih1l_1qjko_212.awsui_variant-stacked_wih1l_1qjko_219:not(#\9):not(.awsui_has-footer_wih1l_1qjko_222), .awsui_wrapper_wih1l_1qjko_212.awsui_variant-container_wih1l_1qjko_219:not(#\9):not(.awsui_has-footer_wih1l_1qjko_222) {
223
223
  padding-block-end: var(--space-table-content-bottom-nmydez, 0px);
224
224
  }
225
- .awsui_wrapper_wih1l_1asy9_212:not(#\9):not(.awsui_has-header_wih1l_1asy9_225) {
225
+ .awsui_wrapper_wih1l_1qjko_212:not(#\9):not(.awsui_has-header_wih1l_1qjko_225) {
226
226
  border-start-end-radius: var(--border-radius-container-l30zxy, 0px);
227
227
  border-start-start-radius: var(--border-radius-container-l30zxy, 0px);
228
228
  }
229
- .awsui_wrapper_wih1l_1asy9_212:not(#\9)::-webkit-scrollbar {
229
+ .awsui_wrapper_wih1l_1qjko_212:not(#\9)::-webkit-scrollbar {
230
230
  display: none; /* Hide scrollbar in Safari and Chrome */
231
231
  }
232
- body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1asy9_212:not(#\9):focus {
232
+ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1qjko_212:not(#\9):focus {
233
233
  outline: 2px dotted transparent;
234
234
  outline-offset: 2px;
235
235
  border-start-start-radius: var(--border-radius-container-l30zxy, 0px);
@@ -239,19 +239,19 @@ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1asy9_212:not(#\9):focu
239
239
  box-shadow: 0 0 0 2px var(--color-border-item-focused-r5f6xl, #0073bb);
240
240
  }
241
241
 
242
- .awsui_cell-merged_wih1l_1asy9_242:not(#\9) {
242
+ .awsui_cell-merged_wih1l_1qjko_242:not(#\9) {
243
243
  text-align: center;
244
244
  padding-block: 0;
245
245
  padding-inline: 0;
246
246
  }
247
- .awsui_cell-merged_wih1l_1asy9_242.awsui_has-footer_wih1l_1asy9_222:not(#\9) {
247
+ .awsui_cell-merged_wih1l_1qjko_242.awsui_has-footer_wih1l_1qjko_222:not(#\9) {
248
248
  /*
249
249
  Add a bottom border to the body cell of an empty table as a separator between the
250
250
  table and the footer
251
251
  */
252
252
  border-block-end: var(--border-divider-section-width-sznrdy, 1px) solid var(--color-border-divider-default-ipvpev, #eaeded);
253
253
  }
254
- .awsui_cell-merged-content_wih1l_1asy9_254:not(#\9) {
254
+ .awsui_cell-merged-content_wih1l_1qjko_254:not(#\9) {
255
255
  box-sizing: border-box;
256
256
  inline-size: 100%;
257
257
  padding-block-start: var(--space-scaled-m-sw9kcx, 16px);
@@ -259,7 +259,7 @@ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1asy9_212:not(#\9):focu
259
259
  padding-inline: var(--space-l-3cws6j, 20px);
260
260
  }
261
261
  @supports (position: sticky) {
262
- .awsui_cell-merged-content_wih1l_1asy9_254:not(#\9) {
262
+ .awsui_cell-merged-content_wih1l_1qjko_254:not(#\9) {
263
263
  position: sticky;
264
264
  inset-inline-start: 0;
265
265
  margin-block: 0;
@@ -267,11 +267,11 @@ body[data-awsui-focus-visible=true] .awsui_wrapper_wih1l_1asy9_212:not(#\9):focu
267
267
  }
268
268
  }
269
269
 
270
- .awsui_empty_wih1l_1asy9_270:not(#\9) {
270
+ .awsui_empty_wih1l_1qjko_270:not(#\9) {
271
271
  color: var(--color-text-empty-vtt4l2, #687078);
272
272
  }
273
273
 
274
- .awsui_loading_wih1l_1asy9_274:not(#\9) {
274
+ .awsui_loading_wih1l_1qjko_274:not(#\9) {
275
275
  /* used in test-utils */
276
276
  }
277
277
 
@@ -280,22 +280,21 @@ The min/max/width token values in Visual Refresh should align
280
280
  the table header and body cells selection control with the table
281
281
  filter search icon.
282
282
  */
283
- .awsui_selection-control_wih1l_1asy9_283:not(#\9) {
283
+ .awsui_selection-control_wih1l_1qjko_283:not(#\9) {
284
284
  box-sizing: border-box;
285
285
  max-inline-size: var(--size-table-selection-horizontal-udsu00, 54px);
286
286
  min-inline-size: var(--size-table-selection-horizontal-udsu00, 54px);
287
287
  position: relative;
288
288
  inline-size: var(--size-table-selection-horizontal-udsu00, 54px);
289
289
  }
290
- .awsui_selection-control_wih1l_1asy9_283.awsui_selection-control-header_wih1l_1asy9_290:not(#\9) {
290
+ .awsui_selection-control_wih1l_1qjko_283.awsui_selection-control-header_wih1l_1qjko_290:not(#\9) {
291
291
  padding-block: var(--space-scaled-xs-sppte9, 8px);
292
292
  padding-inline: var(--space-scaled-l-66n9sr, 20px);
293
293
  border-inline-start: var(--border-item-width-acvlhx, 1px) solid transparent;
294
294
  }
295
295
 
296
- .awsui_header-secondary_wih1l_1asy9_296:not(#\9) {
296
+ .awsui_header-secondary_wih1l_1qjko_296:not(#\9) {
297
297
  overflow: auto;
298
- -ms-overflow-style: none; /* Internet Explorer 10+ */
299
298
  scrollbar-width: none; /* Firefox */
300
299
  box-sizing: border-box;
301
300
  inline-size: 100%;
@@ -305,46 +304,46 @@ filter search icon.
305
304
  border-end-end-radius: 0;
306
305
  background: var(--color-background-table-header-5hauij, #fafafa);
307
306
  }
308
- .awsui_header-secondary_wih1l_1asy9_296.awsui_variant-full-page_wih1l_1asy9_308:not(#\9) {
307
+ .awsui_header-secondary_wih1l_1qjko_296.awsui_variant-full-page_wih1l_1qjko_307:not(#\9) {
309
308
  background: var(--color-background-layout-main-05m5y6, #f2f3f3);
310
309
  }
311
- .awsui_header-secondary_wih1l_1asy9_296.awsui_variant-stacked_wih1l_1asy9_219 > .awsui_table_wih1l_1asy9_202:not(#\9), .awsui_header-secondary_wih1l_1asy9_296.awsui_variant-container_wih1l_1asy9_219 > .awsui_table_wih1l_1asy9_202:not(#\9) {
310
+ .awsui_header-secondary_wih1l_1qjko_296.awsui_variant-stacked_wih1l_1qjko_219 > .awsui_table_wih1l_1qjko_202:not(#\9), .awsui_header-secondary_wih1l_1qjko_296.awsui_variant-container_wih1l_1qjko_219 > .awsui_table_wih1l_1qjko_202:not(#\9) {
312
311
  padding-inline: var(--space-table-horizontal-xmv4qa, 0px);
313
312
  }
314
- .awsui_header-secondary_wih1l_1asy9_296.awsui_variant-stacked_wih1l_1asy9_219:not(#\9):not(.awsui_table-has-header_wih1l_1asy9_314), .awsui_header-secondary_wih1l_1asy9_296.awsui_variant-container_wih1l_1asy9_219:not(#\9):not(.awsui_table-has-header_wih1l_1asy9_314) {
313
+ .awsui_header-secondary_wih1l_1qjko_296.awsui_variant-stacked_wih1l_1qjko_219:not(#\9):not(.awsui_table-has-header_wih1l_1qjko_313), .awsui_header-secondary_wih1l_1qjko_296.awsui_variant-container_wih1l_1qjko_219:not(#\9):not(.awsui_table-has-header_wih1l_1qjko_313) {
315
314
  border-start-start-radius: var(--border-radius-container-l30zxy, 0px);
316
315
  border-start-end-radius: var(--border-radius-container-l30zxy, 0px);
317
316
  }
318
- .awsui_header-secondary_wih1l_1asy9_296:not(#\9)::-webkit-scrollbar {
317
+ .awsui_header-secondary_wih1l_1qjko_296:not(#\9)::-webkit-scrollbar {
319
318
  display: none; /* Safari and Chrome */
320
319
  }
321
- .awsui_header-secondary_wih1l_1asy9_296.awsui_table-has-header_wih1l_1asy9_314:not(#\9) {
320
+ .awsui_header-secondary_wih1l_1qjko_296.awsui_table-has-header_wih1l_1qjko_313:not(#\9) {
322
321
  border-block-start: var(--border-divider-list-width-8ggz94, 1px) solid var(--color-border-container-divider-0lh379, #eaeded);
323
322
  }
324
323
 
325
- .awsui_header-controls_wih1l_1asy9_325:not(#\9) {
324
+ .awsui_header-controls_wih1l_1qjko_324:not(#\9) {
326
325
  padding-block: var(--space-container-header-top-3cfni8, 12px) var(--space-container-header-bottom-rbnprk, 12px);
327
326
  }
328
- .awsui_header-controls_wih1l_1asy9_325.awsui_variant-full-page_wih1l_1asy9_308:not(#\9) {
327
+ .awsui_header-controls_wih1l_1qjko_324.awsui_variant-full-page_wih1l_1qjko_307:not(#\9) {
329
328
  padding-block: 0 calc(var(--space-container-header-bottom-rbnprk, 12px) + var(--space-table-header-tools-full-page-bottom-1o73je, 4px));
330
329
  }
331
- .awsui_header-controls_wih1l_1asy9_325.awsui_variant-stacked_wih1l_1asy9_219:not(#\9), .awsui_header-controls_wih1l_1asy9_325.awsui_variant-container_wih1l_1asy9_219:not(#\9) {
330
+ .awsui_header-controls_wih1l_1qjko_324.awsui_variant-stacked_wih1l_1qjko_219:not(#\9), .awsui_header-controls_wih1l_1qjko_324.awsui_variant-container_wih1l_1qjko_219:not(#\9) {
332
331
  padding-inline: calc(var(--space-table-horizontal-xmv4qa, 0px) + var(--space-table-header-horizontal-2rvxep, 20px));
333
332
  }
334
- .awsui_header-controls_wih1l_1asy9_325.awsui_variant-embedded_wih1l_1asy9_334:not(#\9), .awsui_header-controls_wih1l_1asy9_325.awsui_variant-borderless_wih1l_1asy9_334:not(#\9) {
333
+ .awsui_header-controls_wih1l_1qjko_324.awsui_variant-embedded_wih1l_1qjko_333:not(#\9), .awsui_header-controls_wih1l_1qjko_324.awsui_variant-borderless_wih1l_1qjko_333:not(#\9) {
335
334
  padding-inline: var(--space-table-header-horizontal-2rvxep, 20px);
336
335
  padding-block-start: var(--space-table-embedded-header-top-oo6o3u, 12px);
337
336
  }
338
337
 
339
- .awsui_footer-wrapper_wih1l_1asy9_339.awsui_variant-stacked_wih1l_1asy9_219:not(#\9), .awsui_footer-wrapper_wih1l_1asy9_339.awsui_variant-container_wih1l_1asy9_219:not(#\9) {
338
+ .awsui_footer-wrapper_wih1l_1qjko_338.awsui_variant-stacked_wih1l_1qjko_219:not(#\9), .awsui_footer-wrapper_wih1l_1qjko_338.awsui_variant-container_wih1l_1qjko_219:not(#\9) {
340
339
  padding-inline: var(--space-table-horizontal-xmv4qa, 0px);
341
340
  }
342
341
 
343
- .awsui_footer_wih1l_1asy9_339:not(#\9) {
342
+ .awsui_footer_wih1l_1qjko_338:not(#\9) {
344
343
  padding-block: var(--space-scaled-s-gjhvjd, 12px);
345
344
  padding-inline: var(--space-table-footer-horizontal-x9dbll, 20px);
346
345
  }
347
- .awsui_footer-with-pagination_wih1l_1asy9_347:not(#\9) {
346
+ .awsui_footer-with-pagination_wih1l_1qjko_346:not(#\9) {
348
347
  display: flex;
349
348
  flex-direction: row;
350
349
  justify-content: space-between;
@@ -352,12 +351,12 @@ filter search icon.
352
351
  flex-wrap: wrap;
353
352
  gap: var(--space-scaled-s-gjhvjd, 12px);
354
353
  }
355
- .awsui_footer-pagination_wih1l_1asy9_355:not(#\9) {
354
+ .awsui_footer-pagination_wih1l_1qjko_354:not(#\9) {
356
355
  margin-inline-start: auto;
357
356
  }
358
357
 
359
- .awsui_thead-active_wih1l_1asy9_359:not(#\9),
360
- .awsui_row_wih1l_1asy9_360:not(#\9),
361
- .awsui_row-selected_wih1l_1asy9_361:not(#\9) {
358
+ .awsui_thead-active_wih1l_1qjko_358:not(#\9),
359
+ .awsui_row_wih1l_1qjko_359:not(#\9),
360
+ .awsui_row-selected_wih1l_1qjko_360:not(#\9) {
362
361
  /* used in test-utils */
363
362
  }
@@ -2,39 +2,39 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_wih1l_1asy9_153",
6
- "tools": "awsui_tools_wih1l_1asy9_164",
7
- "tools-filtering": "awsui_tools-filtering_wih1l_1asy9_172",
8
- "tools-align-right": "awsui_tools-align-right_wih1l_1asy9_186",
9
- "tools-pagination": "awsui_tools-pagination_wih1l_1asy9_190",
10
- "tools-preferences": "awsui_tools-preferences_wih1l_1asy9_190",
11
- "tools-small": "awsui_tools-small_wih1l_1asy9_196",
12
- "table": "awsui_table_wih1l_1asy9_202",
13
- "table-layout-fixed": "awsui_table-layout-fixed_wih1l_1asy9_208",
14
- "wrapper": "awsui_wrapper_wih1l_1asy9_212",
15
- "variant-stacked": "awsui_variant-stacked_wih1l_1asy9_219",
16
- "wrapper-content-measure": "awsui_wrapper-content-measure_wih1l_1asy9_219",
17
- "variant-container": "awsui_variant-container_wih1l_1asy9_219",
18
- "has-footer": "awsui_has-footer_wih1l_1asy9_222",
19
- "has-header": "awsui_has-header_wih1l_1asy9_225",
20
- "cell-merged": "awsui_cell-merged_wih1l_1asy9_242",
21
- "cell-merged-content": "awsui_cell-merged-content_wih1l_1asy9_254",
22
- "empty": "awsui_empty_wih1l_1asy9_270",
23
- "loading": "awsui_loading_wih1l_1asy9_274",
24
- "selection-control": "awsui_selection-control_wih1l_1asy9_283",
25
- "selection-control-header": "awsui_selection-control-header_wih1l_1asy9_290",
26
- "header-secondary": "awsui_header-secondary_wih1l_1asy9_296",
27
- "variant-full-page": "awsui_variant-full-page_wih1l_1asy9_308",
28
- "table-has-header": "awsui_table-has-header_wih1l_1asy9_314",
29
- "header-controls": "awsui_header-controls_wih1l_1asy9_325",
30
- "variant-embedded": "awsui_variant-embedded_wih1l_1asy9_334",
31
- "variant-borderless": "awsui_variant-borderless_wih1l_1asy9_334",
32
- "footer-wrapper": "awsui_footer-wrapper_wih1l_1asy9_339",
33
- "footer": "awsui_footer_wih1l_1asy9_339",
34
- "footer-with-pagination": "awsui_footer-with-pagination_wih1l_1asy9_347",
35
- "footer-pagination": "awsui_footer-pagination_wih1l_1asy9_355",
36
- "thead-active": "awsui_thead-active_wih1l_1asy9_359",
37
- "row": "awsui_row_wih1l_1asy9_360",
38
- "row-selected": "awsui_row-selected_wih1l_1asy9_361"
5
+ "root": "awsui_root_wih1l_1qjko_153",
6
+ "tools": "awsui_tools_wih1l_1qjko_164",
7
+ "tools-filtering": "awsui_tools-filtering_wih1l_1qjko_172",
8
+ "tools-align-right": "awsui_tools-align-right_wih1l_1qjko_186",
9
+ "tools-pagination": "awsui_tools-pagination_wih1l_1qjko_190",
10
+ "tools-preferences": "awsui_tools-preferences_wih1l_1qjko_190",
11
+ "tools-small": "awsui_tools-small_wih1l_1qjko_196",
12
+ "table": "awsui_table_wih1l_1qjko_202",
13
+ "table-layout-fixed": "awsui_table-layout-fixed_wih1l_1qjko_208",
14
+ "wrapper": "awsui_wrapper_wih1l_1qjko_212",
15
+ "variant-stacked": "awsui_variant-stacked_wih1l_1qjko_219",
16
+ "wrapper-content-measure": "awsui_wrapper-content-measure_wih1l_1qjko_219",
17
+ "variant-container": "awsui_variant-container_wih1l_1qjko_219",
18
+ "has-footer": "awsui_has-footer_wih1l_1qjko_222",
19
+ "has-header": "awsui_has-header_wih1l_1qjko_225",
20
+ "cell-merged": "awsui_cell-merged_wih1l_1qjko_242",
21
+ "cell-merged-content": "awsui_cell-merged-content_wih1l_1qjko_254",
22
+ "empty": "awsui_empty_wih1l_1qjko_270",
23
+ "loading": "awsui_loading_wih1l_1qjko_274",
24
+ "selection-control": "awsui_selection-control_wih1l_1qjko_283",
25
+ "selection-control-header": "awsui_selection-control-header_wih1l_1qjko_290",
26
+ "header-secondary": "awsui_header-secondary_wih1l_1qjko_296",
27
+ "variant-full-page": "awsui_variant-full-page_wih1l_1qjko_307",
28
+ "table-has-header": "awsui_table-has-header_wih1l_1qjko_313",
29
+ "header-controls": "awsui_header-controls_wih1l_1qjko_324",
30
+ "variant-embedded": "awsui_variant-embedded_wih1l_1qjko_333",
31
+ "variant-borderless": "awsui_variant-borderless_wih1l_1qjko_333",
32
+ "footer-wrapper": "awsui_footer-wrapper_wih1l_1qjko_338",
33
+ "footer": "awsui_footer_wih1l_1qjko_338",
34
+ "footer-with-pagination": "awsui_footer-with-pagination_wih1l_1qjko_346",
35
+ "footer-pagination": "awsui_footer-pagination_wih1l_1qjko_354",
36
+ "thead-active": "awsui_thead-active_wih1l_1qjko_358",
37
+ "row": "awsui_row_wih1l_1qjko_359",
38
+ "row-selected": "awsui_row-selected_wih1l_1qjko_360"
39
39
  };
40
40
 
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { SingleTabStopNavigationAPI } from '../../internal/context/single-tab-stop-navigation-context';
2
+ import { SingleTabStopNavigationAPI } from '@cloudscape-design/component-toolkit/internal';
3
3
  import { GridNavigationProps } from './interfaces';
4
4
  /**
5
5
  * Makes table navigable with keyboard commands.
@@ -1 +1 @@
1
- {"version":3,"file":"grid-navigation.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/grid-navigation.tsx"],"names":[],"mappings":";AASA,OAAO,EACL,0BAA0B,EAE3B,MAAM,2DAA2D,CAAC;AAInE,OAAO,EAAe,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAWhE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,mBAAmB,eAyC/G;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAElC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,cAAc,CAAiD;IAGvE,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,EAAE;QAAE,OAAO,EAAE,IAAI,GAAG,0BAA0B,CAAA;KAAE;IAIlE,IAAI,CAAC,KAAK,EAAE,gBAAgB;IAa5B,OAAO,aAEZ;IAEK,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAIzC,OAAO;IAWP,mBAAmB,qBAAsB,WAAW,UAUzD;IAEK,kBAAkB,aAMvB;IAEK,kBAAkB,2BAmBvB;IAEK,mBAAmB,YAAa,IAAI,GAAG,OAAO,aAMnD;IAEF,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,CAAC,SAAS,CAwBf;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,SAAS,CAsDf;IAEF,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,iBAAiB;CAI1B"}
1
+ {"version":3,"file":"grid-navigation.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/grid-navigation.tsx"],"names":[],"mappings":";AAOA,OAAO,EACL,0BAA0B,EAE3B,MAAM,+CAA+C,CAAC;AAMvD,OAAO,EAAe,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAWhE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,mBAAmB,eAyC/G;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAElC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,cAAc,CAAiD;IAGvE,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,EAAE;QAAE,OAAO,EAAE,IAAI,GAAG,0BAA0B,CAAA;KAAE;IAIlE,IAAI,CAAC,KAAK,EAAE,gBAAgB;IAa5B,OAAO,aAEZ;IAEK,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAIzC,OAAO;IAWP,mBAAmB,qBAAsB,WAAW,UAUzD;IAEK,kBAAkB,aAMvB;IAEK,kBAAkB,2BAmBvB;IAEK,mBAAmB,YAAa,IAAI,GAAG,OAAO,aAMnD;IAEF,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,CAAC,SAAS,CAwBf;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,SAAS,CAsDf;IAEF,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,iBAAiB;CAI1B"}
@@ -3,8 +3,8 @@
3
3
  import React, { useRef } from 'react';
4
4
  import { useEffect, useMemo } from 'react';
5
5
  import { useStableCallback } from '@cloudscape-design/component-toolkit/internal';
6
+ import { SingleTabStopNavigationProvider, } from '@cloudscape-design/component-toolkit/internal';
6
7
  import { getAllFocusables } from '../../internal/components/focus-lock/utils';
7
- import { SingleTabStopNavigationProvider, } from '../../internal/context/single-tab-stop-navigation-context';
8
8
  import { KeyCode } from '../../internal/keycode';
9
9
  import handleKey, { isEventLike } from '../../internal/utils/handle-key';
10
10
  import { nodeBelongs } from '../../internal/utils/node-belongs';