@cloudscape-design/components-themeable 3.0.71 → 3.0.73

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 (150) hide show
  1. package/lib/internal/scss/breadcrumb-group/item/styles.scss +1 -0
  2. package/lib/internal/scss/calendar/styles.scss +19 -28
  3. package/lib/internal/scss/date-range-picker/calendar/grids/{day/styles.scss → styles.scss} +4 -4
  4. package/lib/internal/scss/date-range-picker/styles.scss +7 -4
  5. package/lib/internal/scss/property-filter/styles.scss +16 -6
  6. package/lib/internal/scss/tabs/tab-header-bar.scss +1 -0
  7. package/lib/internal/template/app-layout/toggles/index.d.ts.map +1 -1
  8. package/lib/internal/template/app-layout/toggles/index.js +2 -2
  9. package/lib/internal/template/app-layout/toggles/index.js.map +1 -1
  10. package/lib/internal/template/app-layout/visual-refresh/app-bar.d.ts.map +1 -1
  11. package/lib/internal/template/app-layout/visual-refresh/app-bar.js +2 -2
  12. package/lib/internal/template/app-layout/visual-refresh/app-bar.js.map +1 -1
  13. package/lib/internal/template/app-layout/visual-refresh/navigation.d.ts.map +1 -1
  14. package/lib/internal/template/app-layout/visual-refresh/navigation.js +1 -1
  15. package/lib/internal/template/app-layout/visual-refresh/navigation.js.map +1 -1
  16. package/lib/internal/template/app-layout/visual-refresh/tools.d.ts.map +1 -1
  17. package/lib/internal/template/app-layout/visual-refresh/tools.js +1 -1
  18. package/lib/internal/template/app-layout/visual-refresh/tools.js.map +1 -1
  19. package/lib/internal/template/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  20. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +1 -1
  21. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  22. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  23. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +16 -15
  24. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  25. package/lib/internal/template/calendar/grid/index.d.ts +2 -2
  26. package/lib/internal/template/calendar/grid/index.d.ts.map +1 -1
  27. package/lib/internal/template/calendar/grid/index.js +64 -23
  28. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  29. package/lib/internal/template/calendar/internal.d.ts.map +1 -1
  30. package/lib/internal/template/calendar/internal.js +3 -15
  31. package/lib/internal/template/calendar/internal.js.map +1 -1
  32. package/lib/internal/template/calendar/styles.css.js +18 -20
  33. package/lib/internal/template/calendar/styles.scoped.css +46 -58
  34. package/lib/internal/template/calendar/styles.selectors.js +18 -20
  35. package/lib/internal/template/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  36. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +61 -6
  37. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  38. package/lib/internal/template/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  39. package/lib/internal/template/date-range-picker/calendar/grids/index.js +1 -0
  40. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  41. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +26 -0
  42. package/lib/internal/template/date-range-picker/calendar/grids/{day/styles.scoped.css → styles.scoped.css} +38 -38
  43. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +27 -0
  44. package/lib/internal/template/date-range-picker/index.js +2 -2
  45. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  46. package/lib/internal/template/date-range-picker/styles.css.js +41 -40
  47. package/lib/internal/template/date-range-picker/styles.scoped.css +56 -48
  48. package/lib/internal/template/date-range-picker/styles.selectors.js +41 -40
  49. package/lib/internal/template/expandable-section/expandable-section-header.d.ts +3 -2
  50. package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
  51. package/lib/internal/template/expandable-section/expandable-section-header.js +3 -3
  52. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  53. package/lib/internal/template/expandable-section/interfaces.d.ts +5 -0
  54. package/lib/internal/template/expandable-section/interfaces.d.ts.map +1 -1
  55. package/lib/internal/template/expandable-section/interfaces.js.map +1 -1
  56. package/lib/internal/template/expandable-section/internal.d.ts +1 -1
  57. package/lib/internal/template/expandable-section/internal.d.ts.map +1 -1
  58. package/lib/internal/template/expandable-section/internal.js +4 -3
  59. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  60. package/lib/internal/template/internal/base-component/styles.scoped.css +9 -9
  61. package/lib/internal/template/internal/components/dropdown-status/index.d.ts +3 -1
  62. package/lib/internal/template/internal/components/dropdown-status/index.d.ts.map +1 -1
  63. package/lib/internal/template/internal/components/dropdown-status/index.js +7 -4
  64. package/lib/internal/template/internal/components/dropdown-status/index.js.map +1 -1
  65. package/lib/internal/template/internal/components/live-region/index.d.ts.map +1 -1
  66. package/lib/internal/template/internal/components/live-region/index.js +1 -0
  67. package/lib/internal/template/internal/components/live-region/index.js.map +1 -1
  68. package/lib/internal/template/internal/environment.js +1 -1
  69. package/lib/internal/template/modal/internal.d.ts.map +1 -1
  70. package/lib/internal/template/modal/internal.js +6 -10
  71. package/lib/internal/template/modal/internal.js.map +1 -1
  72. package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
  73. package/lib/internal/template/multiselect/internal.js +3 -2
  74. package/lib/internal/template/multiselect/internal.js.map +1 -1
  75. package/lib/internal/template/package-lock.json +3 -3
  76. package/lib/internal/template/property-filter/controller.d.ts +2 -0
  77. package/lib/internal/template/property-filter/controller.d.ts.map +1 -1
  78. package/lib/internal/template/property-filter/controller.js +37 -0
  79. package/lib/internal/template/property-filter/controller.js.map +1 -1
  80. package/lib/internal/template/property-filter/index.d.ts.map +1 -1
  81. package/lib/internal/template/property-filter/index.js +25 -7
  82. package/lib/internal/template/property-filter/index.js.map +1 -1
  83. package/lib/internal/template/property-filter/interfaces.d.ts +9 -2
  84. package/lib/internal/template/property-filter/interfaces.d.ts.map +1 -1
  85. package/lib/internal/template/property-filter/interfaces.js +2 -0
  86. package/lib/internal/template/property-filter/interfaces.js.map +1 -1
  87. package/lib/internal/template/property-filter/property-editor.d.ts +13 -0
  88. package/lib/internal/template/property-filter/property-editor.d.ts.map +1 -0
  89. package/lib/internal/template/property-filter/property-editor.js +18 -0
  90. package/lib/internal/template/property-filter/property-editor.js.map +1 -0
  91. package/lib/internal/template/property-filter/property-filter-autosuggest.d.ts +1 -0
  92. package/lib/internal/template/property-filter/property-filter-autosuggest.d.ts.map +1 -1
  93. package/lib/internal/template/property-filter/property-filter-autosuggest.js +17 -3
  94. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  95. package/lib/internal/template/property-filter/styles.css.js +32 -24
  96. package/lib/internal/template/property-filter/styles.scoped.css +45 -27
  97. package/lib/internal/template/property-filter/styles.selectors.js +32 -24
  98. package/lib/internal/template/property-filter/token-editor.d.ts.map +1 -1
  99. package/lib/internal/template/property-filter/token-editor.js +17 -4
  100. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  101. package/lib/internal/template/property-filter/token.d.ts.map +1 -1
  102. package/lib/internal/template/property-filter/token.js +6 -3
  103. package/lib/internal/template/property-filter/token.js.map +1 -1
  104. package/lib/internal/template/select/internal.d.ts.map +1 -1
  105. package/lib/internal/template/select/internal.js +3 -2
  106. package/lib/internal/template/select/internal.js.map +1 -1
  107. package/lib/internal/template/select/parts/filter.d.ts +1 -1
  108. package/lib/internal/template/select/utils/use-select.d.ts +15 -1
  109. package/lib/internal/template/select/utils/use-select.d.ts.map +1 -1
  110. package/lib/internal/template/select/utils/use-select.js +11 -1
  111. package/lib/internal/template/select/utils/use-select.js.map +1 -1
  112. package/lib/internal/template/split-panel/index.d.ts.map +1 -1
  113. package/lib/internal/template/split-panel/index.js +8 -6
  114. package/lib/internal/template/split-panel/index.js.map +1 -1
  115. package/lib/internal/template/split-panel/interfaces.d.ts +1 -0
  116. package/lib/internal/template/split-panel/interfaces.d.ts.map +1 -1
  117. package/lib/internal/template/split-panel/interfaces.js.map +1 -1
  118. package/lib/internal/template/split-panel/utils/use-pointer-events.d.ts +1 -1
  119. package/lib/internal/template/split-panel/utils/use-pointer-events.d.ts.map +1 -1
  120. package/lib/internal/template/split-panel/utils/use-pointer-events.js +9 -5
  121. package/lib/internal/template/split-panel/utils/use-pointer-events.js.map +1 -1
  122. package/lib/internal/template/table/header-cell/styles.css.js +14 -14
  123. package/lib/internal/template/table/header-cell/styles.scoped.css +25 -25
  124. package/lib/internal/template/table/header-cell/styles.selectors.js +14 -14
  125. package/lib/internal/template/table/internal.d.ts.map +1 -1
  126. package/lib/internal/template/table/internal.js +8 -1
  127. package/lib/internal/template/table/internal.js.map +1 -1
  128. package/lib/internal/template/table/use-mouse-down-target.d.ts +6 -0
  129. package/lib/internal/template/table/use-mouse-down-target.d.ts.map +1 -0
  130. package/lib/internal/template/table/use-mouse-down-target.js +30 -0
  131. package/lib/internal/template/table/use-mouse-down-target.js.map +1 -0
  132. package/lib/internal/template/tabs/styles.css.js +21 -21
  133. package/lib/internal/template/tabs/styles.scoped.css +38 -37
  134. package/lib/internal/template/tabs/styles.selectors.js +21 -21
  135. package/lib/internal/template/test-utils/dom/date-range-picker/index.js +1 -1
  136. package/lib/internal/template/test-utils/dom/date-range-picker/index.js.map +1 -1
  137. package/lib/internal/template/test-utils/selectors/date-range-picker/index.js +1 -1
  138. package/lib/internal/template/test-utils/selectors/date-range-picker/index.js.map +1 -1
  139. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +1 -1
  141. package/lib/internal/template/calendar/grid/day/index.d.ts +0 -15
  142. package/lib/internal/template/calendar/grid/day/index.d.ts.map +0 -1
  143. package/lib/internal/template/calendar/grid/day/index.js +0 -47
  144. package/lib/internal/template/calendar/grid/day/index.js.map +0 -1
  145. package/lib/internal/template/date-range-picker/calendar/grids/day/index.d.ts +0 -27
  146. package/lib/internal/template/date-range-picker/calendar/grids/day/index.d.ts.map +0 -1
  147. package/lib/internal/template/date-range-picker/calendar/grids/day/index.js +0 -95
  148. package/lib/internal/template/date-range-picker/calendar/grids/day/index.js.map +0 -1
  149. package/lib/internal/template/date-range-picker/calendar/grids/day/styles.css.js +0 -26
  150. package/lib/internal/template/date-range-picker/calendar/grids/day/styles.selectors.js +0 -27
@@ -3,22 +3,26 @@
3
3
  import { useCallback } from 'react';
4
4
  import styles from '../styles.css.js';
5
5
  export var usePointerEvents = function (_a) {
6
- var position = _a.position, splitPanelRef = _a.splitPanelRef, setSidePanelWidth = _a.setSidePanelWidth, setBottomPanelHeight = _a.setBottomPanelHeight;
6
+ var position = _a.position, splitPanelRef = _a.splitPanelRef, handleRef = _a.handleRef, setSidePanelWidth = _a.setSidePanelWidth, setBottomPanelHeight = _a.setBottomPanelHeight;
7
7
  var onDocumentPointerMove = useCallback(function (event) {
8
- if (!splitPanelRef || !splitPanelRef.current) {
8
+ if (!splitPanelRef || !splitPanelRef.current || !handleRef || !handleRef.current) {
9
9
  return;
10
10
  }
11
11
  if (position === 'side') {
12
12
  var mouseClientX = event.clientX;
13
- var width = splitPanelRef.current.getBoundingClientRect().right - mouseClientX;
13
+ // The handle offset aligns the cursor with the middle of the resize handle.
14
+ var handleOffset = handleRef.current.getBoundingClientRect().width / 2;
15
+ var width = splitPanelRef.current.getBoundingClientRect().right - mouseClientX + handleOffset;
14
16
  setSidePanelWidth(width);
15
17
  }
16
18
  else {
17
19
  var mouseClientY = event.clientY;
18
- var height = splitPanelRef.current.getBoundingClientRect().bottom - mouseClientY;
20
+ // The handle offset aligns the cursor with the middle of the resize handle.
21
+ var handleOffset = handleRef.current.getBoundingClientRect().height / 2;
22
+ var height = splitPanelRef.current.getBoundingClientRect().bottom - mouseClientY + handleOffset;
19
23
  setBottomPanelHeight(height);
20
24
  }
21
- }, [position, splitPanelRef, setSidePanelWidth, setBottomPanelHeight]);
25
+ }, [position, splitPanelRef, handleRef, setSidePanelWidth, setBottomPanelHeight]);
22
26
  var onDocumentPointerUp = useCallback(function () {
23
27
  document.body.classList.remove(styles['resize-active']);
24
28
  document.body.classList.remove(styles["resize-".concat(position)]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-pointer-events.js","sourceRoot":"","sources":["../../../../src/split-panel/utils/use-pointer-events.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,EAKd;QAJjB,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,iBAAiB,uBAAA,EACjB,oBAAoB,0BAAA;IAEpB,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAC,KAAmB;QAClB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC5C,OAAO;SACR;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvB,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,IAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC;YACjF,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,IAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC;YACnF,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAC9B;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CACnE,CAAC;IAEF,IAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAU,QAAQ,CAAE,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC/D,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,IAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAU,QAAQ,CAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC5D,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback } from 'react';\nimport { SizeControlProps } from '../interfaces';\nimport styles from '../styles.css.js';\n\nexport const usePointerEvents = ({\n position,\n splitPanelRef,\n setSidePanelWidth,\n setBottomPanelHeight,\n}: SizeControlProps) => {\n const onDocumentPointerMove = useCallback(\n (event: PointerEvent) => {\n if (!splitPanelRef || !splitPanelRef.current) {\n return;\n }\n\n if (position === 'side') {\n const mouseClientX = event.clientX;\n const width = splitPanelRef.current.getBoundingClientRect().right - mouseClientX;\n setSidePanelWidth(width);\n } else {\n const mouseClientY = event.clientY;\n const height = splitPanelRef.current.getBoundingClientRect().bottom - mouseClientY;\n setBottomPanelHeight(height);\n }\n },\n [position, splitPanelRef, setSidePanelWidth, setBottomPanelHeight]\n );\n\n const onDocumentPointerUp = useCallback(() => {\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles[`resize-${position}`]);\n document.removeEventListener('pointerup', onDocumentPointerUp);\n document.removeEventListener('pointermove', onDocumentPointerMove);\n }, [onDocumentPointerMove, position]);\n\n const onSliderPointerDown = useCallback(() => {\n document.body.classList.add(styles['resize-active']);\n document.body.classList.add(styles[`resize-${position}`]);\n document.addEventListener('pointerup', onDocumentPointerUp);\n document.addEventListener('pointermove', onDocumentPointerMove);\n }, [onDocumentPointerMove, onDocumentPointerUp, position]);\n\n return onSliderPointerDown;\n};\n"]}
1
+ {"version":3,"file":"use-pointer-events.js","sourceRoot":"","sources":["../../../../src/split-panel/utils/use-pointer-events.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,EAMd;QALjB,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,SAAS,eAAA,EACT,iBAAiB,uBAAA,EACjB,oBAAoB,0BAAA;IAEpB,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAC,KAAmB;QAClB,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAChF,OAAO;SACR;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvB,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YAEnC,4EAA4E;YAC5E,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;YACzE,IAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC;YAEhG,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,IAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YAEnC,4EAA4E;YAC5E,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1E,IAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,YAAY,GAAG,YAAY,CAAC;YAElG,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAC9B;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAC9E,CAAC;IAEF,IAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAU,QAAQ,CAAE,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC/D,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,IAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAU,QAAQ,CAAE,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC5D,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3D,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback } from 'react';\nimport { SizeControlProps } from '../interfaces';\nimport styles from '../styles.css.js';\n\nexport const usePointerEvents = ({\n position,\n splitPanelRef,\n handleRef,\n setSidePanelWidth,\n setBottomPanelHeight,\n}: SizeControlProps) => {\n const onDocumentPointerMove = useCallback(\n (event: PointerEvent) => {\n if (!splitPanelRef || !splitPanelRef.current || !handleRef || !handleRef.current) {\n return;\n }\n\n if (position === 'side') {\n const mouseClientX = event.clientX;\n\n // The handle offset aligns the cursor with the middle of the resize handle.\n const handleOffset = handleRef.current.getBoundingClientRect().width / 2;\n const width = splitPanelRef.current.getBoundingClientRect().right - mouseClientX + handleOffset;\n\n setSidePanelWidth(width);\n } else {\n const mouseClientY = event.clientY;\n\n // The handle offset aligns the cursor with the middle of the resize handle.\n const handleOffset = handleRef.current.getBoundingClientRect().height / 2;\n const height = splitPanelRef.current.getBoundingClientRect().bottom - mouseClientY + handleOffset;\n\n setBottomPanelHeight(height);\n }\n },\n [position, splitPanelRef, handleRef, setSidePanelWidth, setBottomPanelHeight]\n );\n\n const onDocumentPointerUp = useCallback(() => {\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles[`resize-${position}`]);\n document.removeEventListener('pointerup', onDocumentPointerUp);\n document.removeEventListener('pointermove', onDocumentPointerMove);\n }, [onDocumentPointerMove, position]);\n\n const onSliderPointerDown = useCallback(() => {\n document.body.classList.add(styles['resize-active']);\n document.body.classList.add(styles[`resize-${position}`]);\n document.addEventListener('pointerup', onDocumentPointerUp);\n document.addEventListener('pointermove', onDocumentPointerMove);\n }, [onDocumentPointerMove, onDocumentPointerUp, position]);\n\n return onSliderPointerDown;\n};\n"]}
@@ -1,19 +1,19 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "header-cell": "awsui_header-cell_1spae_1bcvt_93",
5
- "header-cell-sticky": "awsui_header-cell-sticky_1spae_1bcvt_103",
6
- "header-cell-stuck": "awsui_header-cell-stuck_1spae_1bcvt_106",
7
- "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_1bcvt_109",
8
- "header-cell-sortable": "awsui_header-cell-sortable_1spae_1bcvt_115",
9
- "sorting-icon": "awsui_sorting-icon_1spae_1bcvt_128",
10
- "header-cell-disabled": "awsui_header-cell-disabled_1spae_1bcvt_135",
11
- "header-cell-sorted": "awsui_header-cell-sorted_1spae_1bcvt_135",
12
- "header-cell-content": "awsui_header-cell-content_1spae_1bcvt_135",
13
- "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_1bcvt_168",
14
- "header-cell-text": "awsui_header-cell-text_1spae_1bcvt_197",
15
- "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_1bcvt_197",
16
- "header-cell-ascending": "awsui_header-cell-ascending_1spae_1bcvt_203",
17
- "header-cell-descending": "awsui_header-cell-descending_1spae_1bcvt_204"
4
+ "header-cell": "awsui_header-cell_1spae_1q5s3_93",
5
+ "header-cell-sticky": "awsui_header-cell-sticky_1spae_1q5s3_103",
6
+ "header-cell-stuck": "awsui_header-cell-stuck_1spae_1q5s3_106",
7
+ "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_1q5s3_109",
8
+ "header-cell-sortable": "awsui_header-cell-sortable_1spae_1q5s3_115",
9
+ "sorting-icon": "awsui_sorting-icon_1spae_1q5s3_128",
10
+ "header-cell-disabled": "awsui_header-cell-disabled_1spae_1q5s3_135",
11
+ "header-cell-sorted": "awsui_header-cell-sorted_1spae_1q5s3_135",
12
+ "header-cell-content": "awsui_header-cell-content_1spae_1q5s3_135",
13
+ "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_1q5s3_168",
14
+ "header-cell-text": "awsui_header-cell-text_1spae_1q5s3_197",
15
+ "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_1q5s3_197",
16
+ "header-cell-ascending": "awsui_header-cell-ascending_1spae_1q5s3_203",
17
+ "header-cell-descending": "awsui_header-cell-descending_1spae_1q5s3_204"
18
18
  };
19
19
 
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_header-cell_1spae_1bcvt_93:not(#\9) {
93
+ .awsui_header-cell_1spae_1q5s3_93:not(#\9) {
94
94
  position: relative;
95
95
  text-align: left;
96
96
  box-sizing: border-box;
@@ -100,22 +100,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
100
100
  font-weight: var(--font-heading-s-weight-1ygwuy, 700);
101
101
  padding: var(--space-scaled-xxs-95dhkm, 4px) var(--space-scaled-xs-6859qs, 8px);
102
102
  }
103
- .awsui_header-cell-sticky_1spae_1bcvt_103:not(#\9) {
103
+ .awsui_header-cell-sticky_1spae_1q5s3_103:not(#\9) {
104
104
  border-bottom: var(--border-table-sticky-width-52djt5, 0px) solid var(--color-border-divider-default-k96bks, #eaeded);
105
105
  }
106
- .awsui_header-cell-stuck_1spae_1bcvt_106:not(#\9) {
106
+ .awsui_header-cell-stuck_1spae_1q5s3_106:not(#\9) {
107
107
  border-bottom-color: transparent;
108
108
  }
109
- .awsui_header-cell-variant-full-page_1spae_1bcvt_109:not(#\9) {
109
+ .awsui_header-cell-variant-full-page_1spae_1q5s3_109:not(#\9) {
110
110
  border-bottom: var(--space-scaled-xxs-95dhkm, 4px) solid transparent;
111
111
  }
112
- .awsui_header-cell_1spae_1bcvt_93:not(#\9):first-child {
112
+ .awsui_header-cell_1spae_1q5s3_93:not(#\9):first-child {
113
113
  padding-left: var(--space-xs-rsr2qu, 8px);
114
114
  }
115
- .awsui_header-cell_1spae_1bcvt_93:not(#\9):last-child, .awsui_header-cell_1spae_1bcvt_93.awsui_header-cell-sortable_1spae_1bcvt_115:not(#\9) {
115
+ .awsui_header-cell_1spae_1q5s3_93:not(#\9):last-child, .awsui_header-cell_1spae_1q5s3_93.awsui_header-cell-sortable_1spae_1q5s3_115:not(#\9) {
116
116
  padding-right: var(--space-xs-rsr2qu, 8px);
117
117
  }
118
- .awsui_header-cell_1spae_1bcvt_93:not(#\9):not(:last-child):before {
118
+ .awsui_header-cell_1spae_1q5s3_93:not(#\9):not(:last-child):before {
119
119
  content: "";
120
120
  position: absolute;
121
121
  right: 0;
@@ -125,36 +125,36 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
125
125
  box-sizing: border-box;
126
126
  }
127
127
 
128
- .awsui_sorting-icon_1spae_1bcvt_128:not(#\9) {
128
+ .awsui_sorting-icon_1spae_1q5s3_128:not(#\9) {
129
129
  position: absolute;
130
130
  top: var(--space-scaled-xxs-95dhkm, 4px);
131
131
  right: var(--space-xxs-ynfts5, 4px);
132
- color: var(--color-text-column-sorting-icon-is8apt, #879596);
132
+ color: var(--color-text-column-sorting-icon-u1a3xj, #687078);
133
133
  }
134
134
 
135
- .awsui_header-cell-disabled_1spae_1bcvt_135.awsui_header-cell-sorted_1spae_1bcvt_135 > .awsui_header-cell-content_1spae_1bcvt_135 > .awsui_sorting-icon_1spae_1bcvt_128:not(#\9) {
135
+ .awsui_header-cell-disabled_1spae_1q5s3_135.awsui_header-cell-sorted_1spae_1q5s3_135 > .awsui_header-cell-content_1spae_1q5s3_135 > .awsui_sorting-icon_1spae_1q5s3_128:not(#\9) {
136
136
  color: var(--color-text-interactive-disabled-jcikk2, #aab7b8);
137
137
  }
138
138
 
139
- .awsui_header-cell-content_1spae_1bcvt_135:not(#\9) {
139
+ .awsui_header-cell-content_1spae_1q5s3_135:not(#\9) {
140
140
  position: relative;
141
141
  padding: var(--space-scaled-xxs-95dhkm, 4px) var(--space-s-hv8c1d, 12px);
142
142
  }
143
- .awsui_header-cell-sortable_1spae_1bcvt_115 > .awsui_header-cell-content_1spae_1bcvt_135:not(#\9) {
143
+ .awsui_header-cell-sortable_1spae_1q5s3_115 > .awsui_header-cell-content_1spae_1q5s3_135:not(#\9) {
144
144
  padding-right: calc(var(--space-xl-a39hup, 24px) + var(--space-xxs-ynfts5, 4px));
145
145
  }
146
- .awsui_header-cell-content_1spae_1bcvt_135:not(#\9):focus {
146
+ .awsui_header-cell-content_1spae_1q5s3_135:not(#\9):focus {
147
147
  outline: none;
148
148
  text-decoration: none;
149
149
  }
150
- .awsui_header-cell-content_1spae_1bcvt_135[data-awsui-focus-visible=true]:not(#\9):focus {
150
+ .awsui_header-cell-content_1spae_1q5s3_135[data-awsui-focus-visible=true]:not(#\9):focus {
151
151
  position: relative;
152
152
  }
153
- .awsui_header-cell-content_1spae_1bcvt_135[data-awsui-focus-visible=true]:not(#\9):focus {
153
+ .awsui_header-cell-content_1spae_1q5s3_135[data-awsui-focus-visible=true]:not(#\9):focus {
154
154
  outline: 2px dotted transparent;
155
155
  outline-offset: calc(var(--space-table-header-focus-outline-gutter-uqywlq, 0px) - 1px);
156
156
  }
157
- .awsui_header-cell-content_1spae_1bcvt_135[data-awsui-focus-visible=true]:not(#\9):focus::before {
157
+ .awsui_header-cell-content_1spae_1q5s3_135[data-awsui-focus-visible=true]:not(#\9):focus::before {
158
158
  content: " ";
159
159
  display: block;
160
160
  position: absolute;
@@ -165,14 +165,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
165
165
  border-radius: var(--border-radius-control-default-focus-ring-hekmgc, 2px);
166
166
  box-shadow: 0 0 0 2px var(--color-border-item-focused-n5kd8g, #0073bb);
167
167
  }
168
- .awsui_header-cell-content_1spae_1bcvt_135.awsui_header-cell-fake-focus_1spae_1bcvt_168:not(#\9) {
168
+ .awsui_header-cell-content_1spae_1q5s3_135.awsui_header-cell-fake-focus_1spae_1q5s3_168:not(#\9) {
169
169
  position: relative;
170
170
  }
171
- .awsui_header-cell-content_1spae_1bcvt_135.awsui_header-cell-fake-focus_1spae_1bcvt_168:not(#\9) {
171
+ .awsui_header-cell-content_1spae_1q5s3_135.awsui_header-cell-fake-focus_1spae_1q5s3_168:not(#\9) {
172
172
  outline: 2px dotted transparent;
173
173
  outline-offset: calc(var(--space-table-header-focus-outline-gutter-uqywlq, 0px) - 1px);
174
174
  }
175
- .awsui_header-cell-content_1spae_1bcvt_135.awsui_header-cell-fake-focus_1spae_1bcvt_168:not(#\9)::before {
175
+ .awsui_header-cell-content_1spae_1q5s3_135.awsui_header-cell-fake-focus_1spae_1q5s3_168:not(#\9)::before {
176
176
  content: " ";
177
177
  display: block;
178
178
  position: absolute;
@@ -184,23 +184,23 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
184
184
  box-shadow: 0 0 0 2px var(--color-border-item-focused-n5kd8g, #0073bb);
185
185
  }
186
186
 
187
- .awsui_header-cell-sortable_1spae_1bcvt_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1bcvt_135) > .awsui_header-cell-content_1spae_1bcvt_135 {
187
+ .awsui_header-cell-sortable_1spae_1q5s3_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1q5s3_135) > .awsui_header-cell-content_1spae_1q5s3_135 {
188
188
  cursor: pointer;
189
189
  }
190
- .awsui_header-cell-sortable_1spae_1bcvt_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1bcvt_135) > .awsui_header-cell-content_1spae_1bcvt_135:hover, .awsui_header-cell-sortable_1spae_1bcvt_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1bcvt_135).awsui_header-cell-sorted_1spae_1bcvt_135 > .awsui_header-cell-content_1spae_1bcvt_135 {
190
+ .awsui_header-cell-sortable_1spae_1q5s3_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1q5s3_135) > .awsui_header-cell-content_1spae_1q5s3_135:hover, .awsui_header-cell-sortable_1spae_1q5s3_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1q5s3_135).awsui_header-cell-sorted_1spae_1q5s3_135 > .awsui_header-cell-content_1spae_1q5s3_135 {
191
191
  color: var(--color-text-interactive-active-i5elzx, #16191f);
192
192
  }
193
- .awsui_header-cell-sortable_1spae_1bcvt_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1bcvt_135) > .awsui_header-cell-content_1spae_1bcvt_135:hover > .awsui_sorting-icon_1spae_1bcvt_128, .awsui_header-cell-sortable_1spae_1bcvt_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1bcvt_135).awsui_header-cell-sorted_1spae_1bcvt_135 > .awsui_header-cell-content_1spae_1bcvt_135 > .awsui_sorting-icon_1spae_1bcvt_128 {
193
+ .awsui_header-cell-sortable_1spae_1q5s3_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1q5s3_135) > .awsui_header-cell-content_1spae_1q5s3_135:hover > .awsui_sorting-icon_1spae_1q5s3_128, .awsui_header-cell-sortable_1spae_1q5s3_115:not(#\9):not(.awsui_header-cell-disabled_1spae_1q5s3_135).awsui_header-cell-sorted_1spae_1q5s3_135 > .awsui_header-cell-content_1spae_1q5s3_135 > .awsui_sorting-icon_1spae_1q5s3_128 {
194
194
  color: var(--color-text-interactive-active-i5elzx, #16191f);
195
195
  }
196
196
 
197
- .awsui_header-cell-text_1spae_1bcvt_197:not(#\9):not(.awsui_header-cell-text-wrap_1spae_1bcvt_197) {
197
+ .awsui_header-cell-text_1spae_1q5s3_197:not(#\9):not(.awsui_header-cell-text-wrap_1spae_1q5s3_197) {
198
198
  white-space: nowrap;
199
199
  overflow: hidden;
200
200
  text-overflow: ellipsis;
201
201
  }
202
202
 
203
- .awsui_header-cell-ascending_1spae_1bcvt_203:not(#\9),
204
- .awsui_header-cell-descending_1spae_1bcvt_204:not(#\9) {
203
+ .awsui_header-cell-ascending_1spae_1q5s3_203:not(#\9),
204
+ .awsui_header-cell-descending_1spae_1q5s3_204:not(#\9) {
205
205
  /* used in test-utils */
206
206
  }
@@ -2,19 +2,19 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "header-cell": "awsui_header-cell_1spae_1bcvt_93",
6
- "header-cell-sticky": "awsui_header-cell-sticky_1spae_1bcvt_103",
7
- "header-cell-stuck": "awsui_header-cell-stuck_1spae_1bcvt_106",
8
- "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_1bcvt_109",
9
- "header-cell-sortable": "awsui_header-cell-sortable_1spae_1bcvt_115",
10
- "sorting-icon": "awsui_sorting-icon_1spae_1bcvt_128",
11
- "header-cell-disabled": "awsui_header-cell-disabled_1spae_1bcvt_135",
12
- "header-cell-sorted": "awsui_header-cell-sorted_1spae_1bcvt_135",
13
- "header-cell-content": "awsui_header-cell-content_1spae_1bcvt_135",
14
- "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_1bcvt_168",
15
- "header-cell-text": "awsui_header-cell-text_1spae_1bcvt_197",
16
- "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_1bcvt_197",
17
- "header-cell-ascending": "awsui_header-cell-ascending_1spae_1bcvt_203",
18
- "header-cell-descending": "awsui_header-cell-descending_1spae_1bcvt_204"
5
+ "header-cell": "awsui_header-cell_1spae_1q5s3_93",
6
+ "header-cell-sticky": "awsui_header-cell-sticky_1spae_1q5s3_103",
7
+ "header-cell-stuck": "awsui_header-cell-stuck_1spae_1q5s3_106",
8
+ "header-cell-variant-full-page": "awsui_header-cell-variant-full-page_1spae_1q5s3_109",
9
+ "header-cell-sortable": "awsui_header-cell-sortable_1spae_1q5s3_115",
10
+ "sorting-icon": "awsui_sorting-icon_1spae_1q5s3_128",
11
+ "header-cell-disabled": "awsui_header-cell-disabled_1spae_1q5s3_135",
12
+ "header-cell-sorted": "awsui_header-cell-sorted_1spae_1q5s3_135",
13
+ "header-cell-content": "awsui_header-cell-content_1spae_1q5s3_135",
14
+ "header-cell-fake-focus": "awsui_header-cell-fake-focus_1spae_1q5s3_168",
15
+ "header-cell-text": "awsui_header-cell-text_1spae_1q5s3_197",
16
+ "header-cell-text-wrap": "awsui_header-cell-text-wrap_1spae_1q5s3_197",
17
+ "header-cell-ascending": "awsui_header-cell-ascending_1spae_1q5s3_203",
18
+ "header-cell-descending": "awsui_header-cell-descending_1spae_1q5s3_204"
19
19
  };
20
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAC;AA8B/D,QAAA,MAAM,aAAa,qBA0SK,CAAC;AAEzB,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAc,MAAM,cAAc,CAAC;AA+B/D,QAAA,MAAM,aAAa,qBAmTK,CAAC;AAEzB,eAAe,aAAa,CAAC"}
@@ -26,6 +26,7 @@ import StickyHeader from './sticky-header';
26
26
  import StickyScrollbar from './sticky-scrollbar';
27
27
  import useFocusVisible from '../internal/hooks/focus-visible';
28
28
  import { useMergeRefs } from '../internal/hooks/use-merge-refs';
29
+ import useMouseDownTarget from './use-mouse-down-target';
29
30
  var InternalTable = React.forwardRef(function (_a, ref) {
30
31
  var _b;
31
32
  var header = _a.header, footer = _a.footer, empty = _a.empty, filter = _a.filter, pagination = _a.pagination, preferences = _a.preferences, items = _a.items, columnDefinitions = _a.columnDefinitions, trackBy = _a.trackBy, loading = _a.loading, loadingText = _a.loadingText, selectionType = _a.selectionType, selectedItems = _a.selectedItems, isItemDisabled = _a.isItemDisabled, ariaLabels = _a.ariaLabels, onSelectionChange = _a.onSelectionChange, onSortingChange = _a.onSortingChange, sortingColumn = _a.sortingColumn, sortingDescending = _a.sortingDescending, sortingDisabled = _a.sortingDisabled, visibleColumns = _a.visibleColumns, stickyHeader = _a.stickyHeader, stickyHeaderVerticalOffset = _a.stickyHeaderVerticalOffset, onRowClick = _a.onRowClick, onRowContextMenu = _a.onRowContextMenu, wrapLines = _a.wrapLines, resizableColumns = _a.resizableColumns, onColumnWidthsChange = _a.onColumnWidthsChange, variant = _a.variant, __internalRootRef = _a.__internalRootRef, rest = __rest(_a, ["header", "footer", "empty", "filter", "pagination", "preferences", "items", "columnDefinitions", "trackBy", "loading", "loadingText", "selectionType", "selectedItems", "isItemDisabled", "ariaLabels", "onSelectionChange", "onSortingChange", "sortingColumn", "sortingDescending", "sortingDisabled", "visibleColumns", "stickyHeader", "stickyHeaderVerticalOffset", "onRowClick", "onRowContextMenu", "wrapLines", "resizableColumns", "onColumnWidthsChange", "variant", "__internalRootRef"]);
@@ -108,6 +109,7 @@ var InternalTable = React.forwardRef(function (_a, ref) {
108
109
  ? { role: 'region', tabIndex: 0, 'aria-label': ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.tableLabel }
109
110
  : {};
110
111
  var focusVisibleProps = useFocusVisible();
112
+ var getMouseDownTarget = useMouseDownTarget();
111
113
  return (React.createElement(ColumnWidthsProvider, { tableRef: tableRefObject, visibleColumnDefinitions: visibleColumnDefinitions, resizableColumns: resizableColumns, hasSelection: !!selectionType },
112
114
  React.createElement(InternalContainer, __assign({}, baseProps, { __internalRootRef: __internalRootRef, className: clsx(baseProps.className, styles.root), header: React.createElement(React.Fragment, null,
113
115
  hasHeader && (React.createElement("div", { className: clsx(styles['header-controls'], styles["variant-".concat(computedVariant)]) },
@@ -137,7 +139,12 @@ var InternalTable = React.forwardRef(function (_a, ref) {
137
139
  return (React.createElement("tr", __assign({ key: getItemKey(trackBy, item, rowIndex), className: clsx(styles.row, isSelected && styles['row-selected']), onFocus: function (_a) {
138
140
  var _b;
139
141
  var currentTarget = _a.currentTarget;
140
- return (_b = stickyHeaderRef.current) === null || _b === void 0 ? void 0 : _b.scrollToRow(currentTarget);
142
+ // When an element inside table row receives focus we want to adjust the scroll.
143
+ // However, that behaviour is unwanted when the focus is received as result of a click
144
+ // as it causes the click to never reach the target element.
145
+ if (!currentTarget.contains(getMouseDownTarget())) {
146
+ (_b = stickyHeaderRef.current) === null || _b === void 0 ? void 0 : _b.scrollToRow(currentTarget);
147
+ }
141
148
  } }, focusMarkers.item, { onClick: onRowClickHandler && onRowClickHandler.bind(null, rowIndex, item), onContextMenu: onRowContextMenuHandler && onRowContextMenuHandler.bind(null, rowIndex, item) }),
142
149
  selectionType !== undefined && (React.createElement(TableBodyCell, { className: styles['selection-control'], isFirstRow: firstVisible, isLastRow: lastVisible, isSelected: isSelected, isNextSelected: isNextSelected, isPrevSelected: isPrevSelected, wrapLines: false },
143
150
  React.createElement(SelectionControl, __assign({ onFocusDown: moveFocusDown, onFocusUp: moveFocusUp, onShiftToggle: updateShiftToggle }, getItemSelectionProps(item))))),
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/table/internal.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 clsx from 'clsx';\nimport React, { useImperativeHandle, useRef } from 'react';\nimport { TableForwardRefType, TableProps } from './interfaces';\nimport InternalContainer from '../container/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport ToolsHeader from './tools-header';\nimport Thead, { TheadProps } from './thead';\nimport { TableBodyCell, TableBodyCellContent } from './body-cell';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { supportsStickyPosition } from '../internal/utils/dom';\nimport SelectionControl from './selection-control';\nimport { checkSortingState, getColumnKey, getItemKey, toContainerVariant } from './utils';\nimport { useRowEvents } from './use-row-events';\nimport { focusMarkers, useFocusMove, useSelection } from './use-selection';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { isDevelopment } from '../internal/is-development';\nimport { checkColumnWidths, ColumnWidthsProvider, DEFAULT_WIDTH } from './use-column-widths';\nimport { useScrollSync } from '../internal/hooks/use-scroll-sync';\nimport { ResizeTracker } from './resizer';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport StickyHeader, { StickyHeaderRef } from './sticky-header';\nimport StickyScrollbar from './sticky-scrollbar';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\n\ntype InternalTableProps<T> = SomeRequired<TableProps<T>, 'items' | 'selectedItems' | 'variant'> &\n InternalBaseComponentProps;\n\nconst InternalTable = React.forwardRef(\n <T,>(\n {\n header,\n footer,\n empty,\n filter,\n pagination,\n preferences,\n items,\n columnDefinitions,\n trackBy,\n loading,\n loadingText,\n selectionType,\n selectedItems,\n isItemDisabled,\n ariaLabels,\n onSelectionChange,\n onSortingChange,\n sortingColumn,\n sortingDescending,\n sortingDisabled,\n visibleColumns,\n stickyHeader,\n stickyHeaderVerticalOffset,\n onRowClick,\n onRowContextMenu,\n wrapLines,\n resizableColumns,\n onColumnWidthsChange,\n variant,\n __internalRootRef,\n ...rest\n }: InternalTableProps<T>,\n ref: React.Ref<TableProps.Ref>\n ) => {\n const baseProps = getBaseProps(rest);\n stickyHeader = stickyHeader && supportsStickyPosition();\n\n const [containerWidth, wrapperMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const wrapperRefObject = useRef(null);\n const wrapperRef = useMergeRefs(wrapperMeasureRef, wrapperRefObject);\n\n const [tableWidth, tableMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const tableRefObject = useRef(null);\n const tableRef = useMergeRefs(tableMeasureRef, tableRefObject);\n\n const secondaryWrapperRef = React.useRef<HTMLDivElement>(null);\n const theadRef = useRef<HTMLTableRowElement>(null);\n const stickyHeaderRef = React.useRef<StickyHeaderRef>(null);\n const scrollbarRef = React.useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({ scrollToTop: stickyHeaderRef.current?.scrollToTop || (() => undefined) }));\n\n const handleScroll = useScrollSync(\n [wrapperRefObject, scrollbarRef, secondaryWrapperRef],\n !supportsStickyPosition()\n );\n\n const { moveFocusDown, moveFocusUp, moveFocus } = useFocusMove(selectionType, items.length);\n const { onRowClickHandler, onRowContextMenuHandler } = useRowEvents({ onRowClick, onRowContextMenu });\n const visibleColumnDefinitions = visibleColumns\n ? columnDefinitions.filter(column => column.id && visibleColumns.indexOf(column.id) !== -1)\n : columnDefinitions;\n const { isItemSelected, selectAllProps, getItemSelectionProps, updateShiftToggle } = useSelection({\n items,\n trackBy,\n selectedItems,\n selectionType,\n isItemDisabled,\n onSelectionChange,\n ariaLabels,\n });\n if (loading) {\n selectAllProps.disabled = true;\n }\n\n if (isDevelopment) {\n if (resizableColumns) {\n checkColumnWidths(columnDefinitions);\n }\n if (sortingColumn?.sortingComparator) {\n checkSortingState(columnDefinitions, sortingColumn.sortingComparator);\n }\n }\n\n const isRefresh = useVisualRefresh();\n const computedVariant = isRefresh\n ? variant\n : ['embedded', 'full-page'].indexOf(variant) > -1\n ? 'container'\n : variant;\n const hasHeader = !!(header || filter || pagination || preferences);\n\n const theadProps: TheadProps = {\n containerWidth,\n selectionType,\n selectAllProps,\n columnDefinitions: visibleColumnDefinitions,\n variant: computedVariant,\n wrapLines,\n resizableColumns,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n onSortingChange,\n onFocusMove: moveFocus,\n onResizeFinish(newWidth) {\n const widthsDetail = columnDefinitions.map(\n (column, index) => newWidth[getColumnKey(column, index)] || (column.width as number) || DEFAULT_WIDTH\n );\n const widthsChanged = widthsDetail.some((width, index) => columnDefinitions[index].width !== width);\n if (widthsChanged) {\n fireNonCancelableEvent(onColumnWidthsChange, { widths: widthsDetail });\n }\n },\n };\n\n // Allows keyboard users to scroll horizontally with arrow keys by making the wrapper part of the tab sequence\n const isWrapperScrollable = tableWidth && containerWidth && tableWidth > containerWidth;\n const wrapperProps = isWrapperScrollable\n ? { role: 'region', tabIndex: 0, 'aria-label': ariaLabels?.tableLabel }\n : {};\n const focusVisibleProps = useFocusVisible();\n\n return (\n <ColumnWidthsProvider\n tableRef={tableRefObject}\n visibleColumnDefinitions={visibleColumnDefinitions}\n resizableColumns={resizableColumns}\n hasSelection={!!selectionType}\n >\n <InternalContainer\n {...baseProps}\n __internalRootRef={__internalRootRef}\n className={clsx(baseProps.className, styles.root)}\n header={\n <>\n {hasHeader && (\n <div className={clsx(styles['header-controls'], styles[`variant-${computedVariant}`])}>\n <ToolsHeader header={header} filter={filter} pagination={pagination} preferences={preferences} />\n </div>\n )}\n {stickyHeader && (\n <StickyHeader\n ref={stickyHeaderRef}\n variant={computedVariant}\n theadProps={theadProps}\n wrapperRef={wrapperRefObject}\n theadRef={theadRef}\n secondaryWrapperRef={secondaryWrapperRef}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n />\n )}\n </>\n }\n disableHeaderPaddings={true}\n disableContentPaddings={true}\n variant={toContainerVariant(computedVariant)}\n __disableFooterPaddings={true}\n __disableFooterDivider={true}\n footer={\n footer && (\n <div className={clsx(styles['footer-wrapper'], styles[`variant-${computedVariant}`])}>\n <hr className={styles.divider} />\n <div className={styles.footer}>{footer}</div>\n </div>\n )\n }\n __stickyHeader={stickyHeader}\n __stickyOffset={stickyHeaderVerticalOffset}\n {...focusMarkers.root}\n >\n <div\n ref={wrapperRef}\n className={clsx(styles.wrapper, styles[`variant-${computedVariant}`], {\n [styles['has-footer']]: !!footer,\n [styles['has-header']]: hasHeader,\n })}\n onScroll={handleScroll}\n {...wrapperProps}\n {...focusVisibleProps}\n >\n <table\n ref={tableRef}\n className={clsx(styles.table, resizableColumns && styles['table-layout-fixed'])}\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n role=\"table\"\n aria-label={ariaLabels?.tableLabel}\n >\n <Thead\n ref={theadRef}\n hidden={stickyHeader}\n onCellFocus={colIndex => stickyHeaderRef.current?.setFocusedColumn(colIndex)}\n onCellBlur={() => stickyHeaderRef.current?.setFocusedColumn(null)}\n {...theadProps}\n />\n <tbody>\n {loading || items.length === 0 ? (\n <tr>\n <td\n colSpan={selectionType ? visibleColumnDefinitions.length + 1 : visibleColumnDefinitions.length}\n className={styles['cell-merged']}\n >\n <div\n className={styles['cell-merged-content']}\n style={{\n width:\n (supportsStickyPosition() && containerWidth && Math.floor(containerWidth)) || undefined,\n }}\n >\n {loading ? (\n <InternalStatusIndicator type=\"loading\" className={styles.loading} wrapText={true}>\n {loadingText}\n </InternalStatusIndicator>\n ) : (\n <div className={styles.empty}>{empty}</div>\n )}\n </div>\n </td>\n </tr>\n ) : (\n items.map((item, rowIndex) => {\n const firstVisible = rowIndex === 0;\n const lastVisible = rowIndex === items.length - 1;\n const isSelected = !!selectionType && isItemSelected(item);\n const isPrevSelected = !!selectionType && !firstVisible && isItemSelected(items[rowIndex - 1]);\n const isNextSelected = !!selectionType && !lastVisible && isItemSelected(items[rowIndex + 1]);\n return (\n <tr\n key={getItemKey(trackBy, item, rowIndex)}\n className={clsx(styles.row, isSelected && styles['row-selected'])}\n onFocus={({ currentTarget }) => stickyHeaderRef.current?.scrollToRow(currentTarget)}\n {...focusMarkers.item}\n onClick={onRowClickHandler && onRowClickHandler.bind(null, rowIndex, item)}\n onContextMenu={onRowContextMenuHandler && onRowContextMenuHandler.bind(null, rowIndex, item)}\n >\n {selectionType !== undefined && (\n <TableBodyCell\n className={styles['selection-control']}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n wrapLines={false}\n >\n <SelectionControl\n onFocusDown={moveFocusDown}\n onFocusUp={moveFocusUp}\n onShiftToggle={updateShiftToggle}\n {...getItemSelectionProps(item)}\n />\n </TableBodyCell>\n )}\n {visibleColumnDefinitions.map((column, colIndex) => (\n <TableBodyCellContent\n key={getColumnKey(column, colIndex)}\n style={\n resizableColumns\n ? {}\n : {\n width: column.width,\n minWidth: column.minWidth,\n maxWidth: column.maxWidth,\n }\n }\n column={column}\n item={item}\n wrapLines={wrapLines}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n />\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n {resizableColumns && <ResizeTracker />}\n </div>\n <StickyScrollbar\n ref={scrollbarRef}\n wrapperRef={wrapperRefObject}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n />\n </InternalContainer>\n </ColumnWidthsProvider>\n );\n }\n) as TableForwardRefType;\n\nexport default InternalTable;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/table/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAqB,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,YAAiC,MAAM,iBAAiB,CAAC;AAChE,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAKzD,IAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACpC,UACE,EAgCwB,EACxB,GAA8B;;IAhC5B,IAAA,MAAM,YAAA,EACN,MAAM,YAAA,EACN,KAAK,WAAA,EACL,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,KAAK,WAAA,EACL,iBAAiB,uBAAA,EACjB,OAAO,aAAA,EACP,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,UAAU,gBAAA,EACV,iBAAiB,uBAAA,EACjB,eAAe,qBAAA,EACf,aAAa,mBAAA,EACb,iBAAiB,uBAAA,EACjB,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,YAAY,kBAAA,EACZ,0BAA0B,gCAAA,EAC1B,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,gBAAgB,sBAAA,EAChB,oBAAoB,0BAAA,EACpB,OAAO,aAAA,EACP,iBAAiB,uBAAA,EACd,IAAI,cA/BT,qeAgCC,CADQ;IAIT,IAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,YAAY,GAAG,YAAY,IAAI,sBAAsB,EAAE,CAAC;IAElD,IAAA,KAAsC,iBAAiB,CAAS,UAAC,EAAS;YAAP,KAAK,WAAA;QAAO,OAAA,KAAK;IAAL,CAAK,CAAC,EAApF,cAAc,QAAA,EAAE,iBAAiB,QAAmD,CAAC;IAC5F,IAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAE/D,IAAA,KAAgC,iBAAiB,CAAS,UAAC,EAAS;YAAP,KAAK,WAAA;QAAO,OAAA,KAAK;IAAL,CAAK,CAAC,EAA9E,UAAU,QAAA,EAAE,eAAe,QAAmD,CAAC;IACtF,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,IAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAE/D,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/D,IAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IACnD,IAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAExD,mBAAmB,CAAC,GAAG,EAAE,sBAAM,OAAA,CAAC,EAAE,WAAW,EAAE,CAAA,MAAA,eAAe,CAAC,OAAO,0CAAE,WAAW,KAAI,CAAC,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;IAE7G,IAAM,YAAY,GAAG,aAAa,CAChC,CAAC,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,CAAC,EACrD,CAAC,sBAAsB,EAAE,CAC1B,CAAC;IAEI,IAAA,KAA4C,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAnF,aAAa,mBAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAA8C,CAAC;IACtF,IAAA,KAAiD,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC,EAA7F,iBAAiB,uBAAA,EAAE,uBAAuB,6BAAmD,CAAC;IACtG,IAAM,wBAAwB,GAAG,cAAc;QAC7C,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAArD,CAAqD,CAAC;QAC3F,CAAC,CAAC,iBAAiB,CAAC;IAChB,IAAA,KAA+E,YAAY,CAAC;QAChG,KAAK,OAAA;QACL,OAAO,SAAA;QACP,aAAa,eAAA;QACb,aAAa,eAAA;QACb,cAAc,gBAAA;QACd,iBAAiB,mBAAA;QACjB,UAAU,YAAA;KACX,CAAC,EARM,cAAc,oBAAA,EAAE,cAAc,oBAAA,EAAE,qBAAqB,2BAAA,EAAE,iBAAiB,uBAQ9E,CAAC;IACH,IAAI,OAAO,EAAE;QACX,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;KAChC;IAED,IAAI,aAAa,EAAE;QACjB,IAAI,gBAAgB,EAAE;YACpB,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;SACtC;QACD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,EAAE;YACpC,iBAAiB,CAAC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;SACvE;KACF;IAED,IAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,IAAM,eAAe,GAAG,SAAS;QAC/B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,CAAC;IACZ,IAAM,SAAS,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,WAAW,CAAC,CAAC;IAEpE,IAAM,UAAU,GAAe;QAC7B,cAAc,gBAAA;QACd,aAAa,eAAA;QACb,cAAc,gBAAA;QACd,iBAAiB,EAAE,wBAAwB;QAC3C,OAAO,EAAE,eAAe;QACxB,SAAS,WAAA;QACT,gBAAgB,kBAAA;QAChB,aAAa,eAAA;QACb,eAAe,iBAAA;QACf,iBAAiB,mBAAA;QACjB,eAAe,iBAAA;QACf,WAAW,EAAE,SAAS;QACtB,cAAc,EAAd,UAAe,QAAQ;YACrB,IAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CACxC,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAK,MAAM,CAAC,KAAgB,IAAI,aAAa,EAAlF,CAAkF,CACtG,CAAC;YACF,IAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,EAAxC,CAAwC,CAAC,CAAC;YACpG,IAAI,aAAa,EAAE;gBACjB,sBAAsB,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;aACxE;QACH,CAAC;KACF,CAAC;IAEF,8GAA8G;IAC9G,IAAM,mBAAmB,GAAG,UAAU,IAAI,cAAc,IAAI,UAAU,GAAG,cAAc,CAAC;IACxF,IAAM,YAAY,GAAG,mBAAmB;QACtC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,EAAE;QACvE,CAAC,CAAC,EAAE,CAAC;IACP,IAAM,iBAAiB,GAAG,eAAe,EAAE,CAAC;IAE5C,IAAM,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;IAEhD,OAAO,CACL,oBAAC,oBAAoB,IACnB,QAAQ,EAAE,cAAc,EACxB,wBAAwB,EAAE,wBAAwB,EAClD,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,CAAC,CAAC,aAAa;QAE7B,oBAAC,iBAAiB,eACZ,SAAS,IACb,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EACjD,MAAM,EACJ;gBACG,SAAS,IAAI,CACZ,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,kBAAW,eAAe,CAAE,CAAC,CAAC;oBACnF,oBAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAI,CAC7F,CACP;gBACA,YAAY,IAAI,CACf,oBAAC,YAAY,IACX,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,GACtB,CACH,CACA,EAEL,qBAAqB,EAAE,IAAI,EAC3B,sBAAsB,EAAE,IAAI,EAC5B,OAAO,EAAE,kBAAkB,CAAC,eAAe,CAAC,EAC5C,uBAAuB,EAAE,IAAI,EAC7B,sBAAsB,EAAE,IAAI,EAC5B,MAAM,EACJ,MAAM,IAAI,CACR,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,kBAAW,eAAe,CAAE,CAAC,CAAC;gBAClF,4BAAI,SAAS,EAAE,MAAM,CAAC,OAAO,GAAI;gBACjC,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,IAAG,MAAM,CAAO,CACzC,CACP,EAEH,cAAc,EAAE,YAAY,EAC5B,cAAc,EAAE,0BAA0B,IACtC,YAAY,CAAC,IAAI;YAErB,sCACE,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,kBAAW,eAAe,CAAE,CAAC;oBAClE,GAAC,MAAM,CAAC,YAAY,CAAC,IAAG,CAAC,CAAC,MAAM;oBAChC,GAAC,MAAM,CAAC,YAAY,CAAC,IAAG,SAAS;wBACjC,EACF,QAAQ,EAAE,YAAY,IAClB,YAAY,EACZ,iBAAiB;gBAErB,+BACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBAC/E,sFAAsF;oBACtF,qFAAqF;oBACrF,IAAI,EAAC,OAAO,gBACA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU;oBAElC,oBAAC,KAAK,aACJ,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,UAAA,QAAQ,YAAI,OAAA,MAAA,eAAe,CAAC,OAAO,0CAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA,EAAA,EAC5E,UAAU,EAAE,sBAAM,OAAA,MAAA,eAAe,CAAC,OAAO,0CAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA,EAAA,IAC7D,UAAU,EACd;oBACF,mCACG,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/B;wBACE,4BACE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,EAC9F,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;4BAEhC,6BACE,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,EACxC,KAAK,EAAE;oCACL,KAAK,EACH,CAAC,sBAAsB,EAAE,IAAI,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,SAAS;iCAC1F,IAEA,OAAO,CAAC,CAAC,CAAC,CACT,oBAAC,uBAAuB,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,IAC9E,WAAW,CACY,CAC3B,CAAC,CAAC,CAAC,CACF,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK,IAAG,KAAK,CAAO,CAC5C,CACG,CACH,CACF,CACN,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,QAAQ;wBACvB,IAAM,YAAY,GAAG,QAAQ,KAAK,CAAC,CAAC;wBACpC,IAAM,WAAW,GAAG,QAAQ,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClD,IAAM,UAAU,GAAG,CAAC,CAAC,aAAa,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC3D,IAAM,cAAc,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC/F,IAAM,cAAc,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9F,OAAO,CACL,qCACE,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EACxC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,EACjE,OAAO,EAAE,UAAC,EAAiB;;oCAAf,aAAa,mBAAA;gCACvB,gFAAgF;gCAChF,sFAAsF;gCACtF,4DAA4D;gCAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE;oCACjD,MAAA,eAAe,CAAC,OAAO,0CAAE,WAAW,CAAC,aAAa,CAAC,CAAC;iCACrD;4BACH,CAAC,IACG,YAAY,CAAC,IAAI,IACrB,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAC1E,aAAa,EAAE,uBAAuB,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;4BAE3F,aAAa,KAAK,SAAS,IAAI,CAC9B,oBAAC,aAAa,IACZ,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACtC,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,KAAK;gCAEhB,oBAAC,gBAAgB,aACf,WAAW,EAAE,aAAa,EAC1B,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,iBAAiB,IAC5B,qBAAqB,CAAC,IAAI,CAAC,EAC/B,CACY,CACjB;4BACA,wBAAwB,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,QAAQ,IAAK,OAAA,CAClD,oBAAC,oBAAoB,IACnB,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnC,KAAK,EACH,gBAAgB;oCACd,CAAC,CAAC,EAAE;oCACJ,CAAC,CAAC;wCACE,KAAK,EAAE,MAAM,CAAC,KAAK;wCACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wCACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qCAC1B,EAEP,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,EArBmD,CAqBnD,CAAC,CACC,CACN,CAAC;oBACJ,CAAC,CAAC,CACH,CACK,CACF;gBACP,gBAAgB,IAAI,oBAAC,aAAa,OAAG,CAClC;YACN,oBAAC,eAAe,IACd,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,YAAY,GACtB,CACgB,CACC,CACxB,CAAC;AACJ,CAAC,CACqB,CAAC;AAEzB,eAAe,aAAa,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useImperativeHandle, useRef } from 'react';\nimport { TableForwardRefType, TableProps } from './interfaces';\nimport InternalContainer from '../container/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport ToolsHeader from './tools-header';\nimport Thead, { TheadProps } from './thead';\nimport { TableBodyCell, TableBodyCellContent } from './body-cell';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { supportsStickyPosition } from '../internal/utils/dom';\nimport SelectionControl from './selection-control';\nimport { checkSortingState, getColumnKey, getItemKey, toContainerVariant } from './utils';\nimport { useRowEvents } from './use-row-events';\nimport { focusMarkers, useFocusMove, useSelection } from './use-selection';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { isDevelopment } from '../internal/is-development';\nimport { checkColumnWidths, ColumnWidthsProvider, DEFAULT_WIDTH } from './use-column-widths';\nimport { useScrollSync } from '../internal/hooks/use-scroll-sync';\nimport { ResizeTracker } from './resizer';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport StickyHeader, { StickyHeaderRef } from './sticky-header';\nimport StickyScrollbar from './sticky-scrollbar';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport useMouseDownTarget from './use-mouse-down-target';\n\ntype InternalTableProps<T> = SomeRequired<TableProps<T>, 'items' | 'selectedItems' | 'variant'> &\n InternalBaseComponentProps;\n\nconst InternalTable = React.forwardRef(\n <T,>(\n {\n header,\n footer,\n empty,\n filter,\n pagination,\n preferences,\n items,\n columnDefinitions,\n trackBy,\n loading,\n loadingText,\n selectionType,\n selectedItems,\n isItemDisabled,\n ariaLabels,\n onSelectionChange,\n onSortingChange,\n sortingColumn,\n sortingDescending,\n sortingDisabled,\n visibleColumns,\n stickyHeader,\n stickyHeaderVerticalOffset,\n onRowClick,\n onRowContextMenu,\n wrapLines,\n resizableColumns,\n onColumnWidthsChange,\n variant,\n __internalRootRef,\n ...rest\n }: InternalTableProps<T>,\n ref: React.Ref<TableProps.Ref>\n ) => {\n const baseProps = getBaseProps(rest);\n stickyHeader = stickyHeader && supportsStickyPosition();\n\n const [containerWidth, wrapperMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const wrapperRefObject = useRef(null);\n const wrapperRef = useMergeRefs(wrapperMeasureRef, wrapperRefObject);\n\n const [tableWidth, tableMeasureRef] = useContainerQuery<number>(({ width }) => width);\n const tableRefObject = useRef(null);\n const tableRef = useMergeRefs(tableMeasureRef, tableRefObject);\n\n const secondaryWrapperRef = React.useRef<HTMLDivElement>(null);\n const theadRef = useRef<HTMLTableRowElement>(null);\n const stickyHeaderRef = React.useRef<StickyHeaderRef>(null);\n const scrollbarRef = React.useRef<HTMLDivElement>(null);\n\n useImperativeHandle(ref, () => ({ scrollToTop: stickyHeaderRef.current?.scrollToTop || (() => undefined) }));\n\n const handleScroll = useScrollSync(\n [wrapperRefObject, scrollbarRef, secondaryWrapperRef],\n !supportsStickyPosition()\n );\n\n const { moveFocusDown, moveFocusUp, moveFocus } = useFocusMove(selectionType, items.length);\n const { onRowClickHandler, onRowContextMenuHandler } = useRowEvents({ onRowClick, onRowContextMenu });\n const visibleColumnDefinitions = visibleColumns\n ? columnDefinitions.filter(column => column.id && visibleColumns.indexOf(column.id) !== -1)\n : columnDefinitions;\n const { isItemSelected, selectAllProps, getItemSelectionProps, updateShiftToggle } = useSelection({\n items,\n trackBy,\n selectedItems,\n selectionType,\n isItemDisabled,\n onSelectionChange,\n ariaLabels,\n });\n if (loading) {\n selectAllProps.disabled = true;\n }\n\n if (isDevelopment) {\n if (resizableColumns) {\n checkColumnWidths(columnDefinitions);\n }\n if (sortingColumn?.sortingComparator) {\n checkSortingState(columnDefinitions, sortingColumn.sortingComparator);\n }\n }\n\n const isRefresh = useVisualRefresh();\n const computedVariant = isRefresh\n ? variant\n : ['embedded', 'full-page'].indexOf(variant) > -1\n ? 'container'\n : variant;\n const hasHeader = !!(header || filter || pagination || preferences);\n\n const theadProps: TheadProps = {\n containerWidth,\n selectionType,\n selectAllProps,\n columnDefinitions: visibleColumnDefinitions,\n variant: computedVariant,\n wrapLines,\n resizableColumns,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n onSortingChange,\n onFocusMove: moveFocus,\n onResizeFinish(newWidth) {\n const widthsDetail = columnDefinitions.map(\n (column, index) => newWidth[getColumnKey(column, index)] || (column.width as number) || DEFAULT_WIDTH\n );\n const widthsChanged = widthsDetail.some((width, index) => columnDefinitions[index].width !== width);\n if (widthsChanged) {\n fireNonCancelableEvent(onColumnWidthsChange, { widths: widthsDetail });\n }\n },\n };\n\n // Allows keyboard users to scroll horizontally with arrow keys by making the wrapper part of the tab sequence\n const isWrapperScrollable = tableWidth && containerWidth && tableWidth > containerWidth;\n const wrapperProps = isWrapperScrollable\n ? { role: 'region', tabIndex: 0, 'aria-label': ariaLabels?.tableLabel }\n : {};\n const focusVisibleProps = useFocusVisible();\n\n const getMouseDownTarget = useMouseDownTarget();\n\n return (\n <ColumnWidthsProvider\n tableRef={tableRefObject}\n visibleColumnDefinitions={visibleColumnDefinitions}\n resizableColumns={resizableColumns}\n hasSelection={!!selectionType}\n >\n <InternalContainer\n {...baseProps}\n __internalRootRef={__internalRootRef}\n className={clsx(baseProps.className, styles.root)}\n header={\n <>\n {hasHeader && (\n <div className={clsx(styles['header-controls'], styles[`variant-${computedVariant}`])}>\n <ToolsHeader header={header} filter={filter} pagination={pagination} preferences={preferences} />\n </div>\n )}\n {stickyHeader && (\n <StickyHeader\n ref={stickyHeaderRef}\n variant={computedVariant}\n theadProps={theadProps}\n wrapperRef={wrapperRefObject}\n theadRef={theadRef}\n secondaryWrapperRef={secondaryWrapperRef}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n />\n )}\n </>\n }\n disableHeaderPaddings={true}\n disableContentPaddings={true}\n variant={toContainerVariant(computedVariant)}\n __disableFooterPaddings={true}\n __disableFooterDivider={true}\n footer={\n footer && (\n <div className={clsx(styles['footer-wrapper'], styles[`variant-${computedVariant}`])}>\n <hr className={styles.divider} />\n <div className={styles.footer}>{footer}</div>\n </div>\n )\n }\n __stickyHeader={stickyHeader}\n __stickyOffset={stickyHeaderVerticalOffset}\n {...focusMarkers.root}\n >\n <div\n ref={wrapperRef}\n className={clsx(styles.wrapper, styles[`variant-${computedVariant}`], {\n [styles['has-footer']]: !!footer,\n [styles['has-header']]: hasHeader,\n })}\n onScroll={handleScroll}\n {...wrapperProps}\n {...focusVisibleProps}\n >\n <table\n ref={tableRef}\n className={clsx(styles.table, resizableColumns && styles['table-layout-fixed'])}\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n role=\"table\"\n aria-label={ariaLabels?.tableLabel}\n >\n <Thead\n ref={theadRef}\n hidden={stickyHeader}\n onCellFocus={colIndex => stickyHeaderRef.current?.setFocusedColumn(colIndex)}\n onCellBlur={() => stickyHeaderRef.current?.setFocusedColumn(null)}\n {...theadProps}\n />\n <tbody>\n {loading || items.length === 0 ? (\n <tr>\n <td\n colSpan={selectionType ? visibleColumnDefinitions.length + 1 : visibleColumnDefinitions.length}\n className={styles['cell-merged']}\n >\n <div\n className={styles['cell-merged-content']}\n style={{\n width:\n (supportsStickyPosition() && containerWidth && Math.floor(containerWidth)) || undefined,\n }}\n >\n {loading ? (\n <InternalStatusIndicator type=\"loading\" className={styles.loading} wrapText={true}>\n {loadingText}\n </InternalStatusIndicator>\n ) : (\n <div className={styles.empty}>{empty}</div>\n )}\n </div>\n </td>\n </tr>\n ) : (\n items.map((item, rowIndex) => {\n const firstVisible = rowIndex === 0;\n const lastVisible = rowIndex === items.length - 1;\n const isSelected = !!selectionType && isItemSelected(item);\n const isPrevSelected = !!selectionType && !firstVisible && isItemSelected(items[rowIndex - 1]);\n const isNextSelected = !!selectionType && !lastVisible && isItemSelected(items[rowIndex + 1]);\n return (\n <tr\n key={getItemKey(trackBy, item, rowIndex)}\n className={clsx(styles.row, isSelected && styles['row-selected'])}\n onFocus={({ currentTarget }) => {\n // When an element inside table row receives focus we want to adjust the scroll.\n // However, that behaviour is unwanted when the focus is received as result of a click\n // as it causes the click to never reach the target element.\n if (!currentTarget.contains(getMouseDownTarget())) {\n stickyHeaderRef.current?.scrollToRow(currentTarget);\n }\n }}\n {...focusMarkers.item}\n onClick={onRowClickHandler && onRowClickHandler.bind(null, rowIndex, item)}\n onContextMenu={onRowContextMenuHandler && onRowContextMenuHandler.bind(null, rowIndex, item)}\n >\n {selectionType !== undefined && (\n <TableBodyCell\n className={styles['selection-control']}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n wrapLines={false}\n >\n <SelectionControl\n onFocusDown={moveFocusDown}\n onFocusUp={moveFocusUp}\n onShiftToggle={updateShiftToggle}\n {...getItemSelectionProps(item)}\n />\n </TableBodyCell>\n )}\n {visibleColumnDefinitions.map((column, colIndex) => (\n <TableBodyCellContent\n key={getColumnKey(column, colIndex)}\n style={\n resizableColumns\n ? {}\n : {\n width: column.width,\n minWidth: column.minWidth,\n maxWidth: column.maxWidth,\n }\n }\n column={column}\n item={item}\n wrapLines={wrapLines}\n isFirstRow={firstVisible}\n isLastRow={lastVisible}\n isSelected={isSelected}\n isNextSelected={isNextSelected}\n isPrevSelected={isPrevSelected}\n />\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n {resizableColumns && <ResizeTracker />}\n </div>\n <StickyScrollbar\n ref={scrollbarRef}\n wrapperRef={wrapperRefObject}\n tableRef={tableRefObject}\n onScroll={handleScroll}\n />\n </InternalContainer>\n </ColumnWidthsProvider>\n );\n }\n) as TableForwardRefType;\n\nexport default InternalTable;\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Captures last mouse down target and clears it on keydown.
3
+ * @returns a callback to get the last detected mouse down target.
4
+ */
5
+ export default function useMouseDownTarget(): () => Node | null;
6
+ //# sourceMappingURL=use-mouse-down-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mouse-down-target.d.ts","sourceRoot":"","sources":["../../../src/table/use-mouse-down-target.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,sBAMzC"}
@@ -0,0 +1,30 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { useRef } from 'react';
4
+ import { createSingletonHandler } from '../internal/hooks/use-singleton-handler';
5
+ var useEventListenersSingleton = createSingletonHandler(function (setTarget) {
6
+ function handleMouseDown(event) {
7
+ setTarget(event.target);
8
+ }
9
+ function handleKeyDown() {
10
+ setTarget(null);
11
+ }
12
+ window.addEventListener('mousedown', handleMouseDown);
13
+ window.addEventListener('keydown', handleKeyDown);
14
+ return function () {
15
+ window.removeEventListener('mousedown', handleMouseDown);
16
+ window.removeEventListener('keydown', handleKeyDown);
17
+ };
18
+ });
19
+ /**
20
+ * Captures last mouse down target and clears it on keydown.
21
+ * @returns a callback to get the last detected mouse down target.
22
+ */
23
+ export default function useMouseDownTarget() {
24
+ var mouseDownTargetRef = useRef(null);
25
+ useEventListenersSingleton(function (target) {
26
+ mouseDownTargetRef.current = target;
27
+ });
28
+ return function () { return mouseDownTargetRef.current; };
29
+ }
30
+ //# sourceMappingURL=use-mouse-down-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mouse-down-target.js","sourceRoot":"","sources":["../../../src/table/use-mouse-down-target.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,IAAM,0BAA0B,GAAG,sBAAsB,CAAc,UAAA,SAAS;IAC9E,SAAS,eAAe,CAAC,KAAiB;QACxC,SAAS,CAAC,KAAK,CAAC,MAAc,CAAC,CAAC;IAClC,CAAC;IACD,SAAS,aAAa;QACpB,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,OAAO;QACL,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACxC,IAAM,kBAAkB,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACrD,0BAA0B,CAAC,UAAA,MAAM;QAC/B,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,cAAM,OAAA,kBAAkB,CAAC,OAAO,EAA1B,CAA0B,CAAC;AAC1C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useRef } from 'react';\nimport { createSingletonHandler } from '../internal/hooks/use-singleton-handler';\n\nconst useEventListenersSingleton = createSingletonHandler<Node | null>(setTarget => {\n function handleMouseDown(event: MouseEvent) {\n setTarget(event.target as Node);\n }\n function handleKeyDown() {\n setTarget(null);\n }\n window.addEventListener('mousedown', handleMouseDown);\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('mousedown', handleMouseDown);\n window.removeEventListener('keydown', handleKeyDown);\n };\n});\n\n/**\n * Captures last mouse down target and clears it on keydown.\n * @returns a callback to get the last detected mouse down target.\n */\nexport default function useMouseDownTarget() {\n const mouseDownTargetRef = useRef<null | Node>(null);\n useEventListenersSingleton(target => {\n mouseDownTargetRef.current = target;\n });\n return () => mouseDownTargetRef.current;\n}\n"]}
@@ -1,26 +1,26 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "tabs-header": "awsui_tabs-header_14rmt_15inb_186",
5
- "tabs-header-list": "awsui_tabs-header-list_14rmt_15inb_192",
6
- "pagination-button": "awsui_pagination-button_14rmt_15inb_209",
7
- "pagination-button-left": "awsui_pagination-button-left_14rmt_15inb_214",
8
- "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_15inb_217",
9
- "pagination-button-right": "awsui_pagination-button-right_14rmt_15inb_221",
10
- "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_15inb_224",
11
- "tabs-tab": "awsui_tabs-tab_14rmt_15inb_229",
12
- "tabs-tab-label": "awsui_tabs-tab-label_14rmt_15inb_240",
13
- "tabs-tab-link": "awsui_tabs-tab-link_14rmt_15inb_256",
14
- "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_15inb_313",
15
- "refresh": "awsui_refresh_14rmt_15inb_330",
16
- "tabs-tab-active": "awsui_tabs-tab-active_14rmt_15inb_344",
17
- "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_15inb_351",
18
- "root": "awsui_root_14rmt_15inb_355",
19
- "tabs": "awsui_tabs_14rmt_15inb_186",
20
- "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_15inb_372",
21
- "with-paddings": "awsui_with-paddings_14rmt_15inb_372",
22
- "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_15inb_376",
23
- "tabs-content": "awsui_tabs-content_14rmt_15inb_372",
24
- "tabs-content-active": "awsui_tabs-content-active_14rmt_15inb_384"
4
+ "tabs-header": "awsui_tabs-header_14rmt_ugrxl_186",
5
+ "tabs-header-list": "awsui_tabs-header-list_14rmt_ugrxl_192",
6
+ "pagination-button": "awsui_pagination-button_14rmt_ugrxl_210",
7
+ "pagination-button-left": "awsui_pagination-button-left_14rmt_ugrxl_215",
8
+ "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_ugrxl_218",
9
+ "pagination-button-right": "awsui_pagination-button-right_14rmt_ugrxl_222",
10
+ "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_ugrxl_225",
11
+ "tabs-tab": "awsui_tabs-tab_14rmt_ugrxl_230",
12
+ "tabs-tab-label": "awsui_tabs-tab-label_14rmt_ugrxl_241",
13
+ "tabs-tab-link": "awsui_tabs-tab-link_14rmt_ugrxl_257",
14
+ "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_ugrxl_314",
15
+ "refresh": "awsui_refresh_14rmt_ugrxl_331",
16
+ "tabs-tab-active": "awsui_tabs-tab-active_14rmt_ugrxl_345",
17
+ "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_ugrxl_352",
18
+ "root": "awsui_root_14rmt_ugrxl_356",
19
+ "tabs": "awsui_tabs_14rmt_ugrxl_186",
20
+ "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_ugrxl_373",
21
+ "with-paddings": "awsui_with-paddings_14rmt_ugrxl_373",
22
+ "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_ugrxl_377",
23
+ "tabs-content": "awsui_tabs-content_14rmt_ugrxl_373",
24
+ "tabs-content-active": "awsui_tabs-content-active_14rmt_ugrxl_385"
25
25
  };
26
26