@cloudscape-design/components 3.0.1387 → 3.0.1388

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 (174) hide show
  1. package/index.d.ts +6 -0
  2. package/index.d.ts.map +1 -1
  3. package/index.js +6 -0
  4. package/index.js.map +1 -1
  5. package/internal/base-component/styles.scoped.css +1 -1
  6. package/internal/components/radio-button/index.d.ts.map +1 -1
  7. package/internal/components/radio-button/index.js +2 -2
  8. package/internal/components/radio-button/index.js.map +1 -1
  9. package/internal/environment.js +2 -2
  10. package/internal/environment.json +2 -2
  11. package/internal/manifest.json +1 -1
  12. package/manifest.json +2 -2
  13. package/package.json +19 -1
  14. package/radio-button/interfaces.d.ts +14 -0
  15. package/radio-button/interfaces.d.ts.map +1 -1
  16. package/radio-button/interfaces.js.map +1 -1
  17. package/table/body-cell/styles.css.js +47 -46
  18. package/table/body-cell/styles.scoped.css +376 -376
  19. package/table/body-cell/styles.selectors.js +47 -46
  20. package/table/body-cell/td-element.d.ts.map +1 -1
  21. package/table/body-cell/td-element.js +12 -12
  22. package/table/body-cell/td-element.js.map +1 -1
  23. package/table/header-cell/styles.css.js +39 -38
  24. package/table/header-cell/styles.scoped.css +80 -80
  25. package/table/header-cell/styles.selectors.js +39 -38
  26. package/table/header-cell/th-element.d.ts.map +1 -1
  27. package/table/header-cell/th-element.js +18 -8
  28. package/table/header-cell/th-element.js.map +1 -1
  29. package/table/internal.d.ts.map +1 -1
  30. package/table/internal.js +9 -3
  31. package/table/internal.js.map +1 -1
  32. package/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
  33. package/table/sticky-columns/use-sticky-columns.js +13 -3
  34. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  35. package/table-body/index.d.ts +4 -0
  36. package/table-body/index.d.ts.map +1 -0
  37. package/table-body/index.js +14 -0
  38. package/table-body/index.js.map +1 -0
  39. package/table-body/interfaces.d.ts +17 -0
  40. package/table-body/interfaces.d.ts.map +1 -0
  41. package/table-body/interfaces.js +2 -0
  42. package/table-body/interfaces.js.map +1 -0
  43. package/table-body/internal.d.ts +10 -0
  44. package/table-body/internal.d.ts.map +1 -0
  45. package/table-body/internal.js +13 -0
  46. package/table-body/internal.js.map +1 -0
  47. package/table-body/styles.css.js +7 -0
  48. package/table-body/styles.scoped.css +11 -0
  49. package/table-body/styles.selectors.js +8 -0
  50. package/table-body-cell/index.d.ts +4 -0
  51. package/table-body-cell/index.d.ts.map +1 -0
  52. package/table-body-cell/index.js +17 -0
  53. package/table-body-cell/index.js.map +1 -0
  54. package/table-body-cell/interfaces.d.ts +20 -0
  55. package/table-body-cell/interfaces.d.ts.map +1 -0
  56. package/table-body-cell/interfaces.js +2 -0
  57. package/table-body-cell/interfaces.js.map +1 -0
  58. package/table-body-cell/internal.d.ts +25 -0
  59. package/table-body-cell/internal.d.ts.map +1 -0
  60. package/table-body-cell/internal.js +36 -0
  61. package/table-body-cell/internal.js.map +1 -0
  62. package/table-body-cell/styles.css.js +7 -0
  63. package/table-body-cell/styles.scoped.css +38 -0
  64. package/table-body-cell/styles.selectors.js +8 -0
  65. package/table-head/index.d.ts +4 -0
  66. package/table-head/index.d.ts.map +1 -0
  67. package/table-head/index.js +14 -0
  68. package/table-head/index.js.map +1 -0
  69. package/table-head/interfaces.d.ts +7 -0
  70. package/table-head/interfaces.d.ts.map +1 -0
  71. package/table-head/interfaces.js +2 -0
  72. package/table-head/interfaces.js.map +1 -0
  73. package/table-head/internal.d.ts +8 -0
  74. package/table-head/internal.d.ts.map +1 -0
  75. package/table-head/internal.js +13 -0
  76. package/table-head/internal.js.map +1 -0
  77. package/table-head/styles.css.js +7 -0
  78. package/table-head/styles.scoped.css +11 -0
  79. package/table-head/styles.selectors.js +8 -0
  80. package/table-header-cell/index.d.ts +4 -0
  81. package/table-header-cell/index.d.ts.map +1 -0
  82. package/table-header-cell/index.js +16 -0
  83. package/table-header-cell/index.js.map +1 -0
  84. package/table-header-cell/interfaces.d.ts +21 -0
  85. package/table-header-cell/interfaces.d.ts.map +1 -0
  86. package/table-header-cell/interfaces.js +2 -0
  87. package/table-header-cell/interfaces.js.map +1 -0
  88. package/table-header-cell/internal.d.ts +17 -0
  89. package/table-header-cell/internal.d.ts.map +1 -0
  90. package/table-header-cell/internal.js +33 -0
  91. package/table-header-cell/internal.js.map +1 -0
  92. package/table-header-cell/styles.css.js +11 -0
  93. package/table-header-cell/styles.scoped.css +49 -0
  94. package/table-header-cell/styles.selectors.js +12 -0
  95. package/table-root/context.d.ts +9 -0
  96. package/table-root/context.d.ts.map +1 -0
  97. package/table-root/context.js +16 -0
  98. package/table-root/context.js.map +1 -0
  99. package/table-root/grid-template-columns.d.ts +2 -0
  100. package/table-root/grid-template-columns.d.ts.map +1 -0
  101. package/table-root/grid-template-columns.js +34 -0
  102. package/table-root/grid-template-columns.js.map +1 -0
  103. package/table-root/index.d.ts +7 -0
  104. package/table-root/index.d.ts.map +1 -0
  105. package/table-root/index.js +17 -0
  106. package/table-root/index.js.map +1 -0
  107. package/table-root/interfaces.d.ts +63 -0
  108. package/table-root/interfaces.d.ts.map +1 -0
  109. package/table-root/interfaces.js +2 -0
  110. package/table-root/interfaces.js.map +1 -0
  111. package/table-root/internal.d.ts +13 -0
  112. package/table-root/internal.d.ts.map +1 -0
  113. package/table-root/internal.js +58 -0
  114. package/table-root/internal.js.map +1 -0
  115. package/table-root/styles.css.js +10 -0
  116. package/table-root/styles.scoped.css +71 -0
  117. package/table-root/styles.selectors.js +11 -0
  118. package/table-row/index.d.ts +4 -0
  119. package/table-row/index.d.ts.map +1 -0
  120. package/table-row/index.js +16 -0
  121. package/table-row/index.js.map +1 -0
  122. package/table-row/interfaces.d.ts +38 -0
  123. package/table-row/interfaces.d.ts.map +1 -0
  124. package/table-row/interfaces.js +2 -0
  125. package/table-row/interfaces.js.map +1 -0
  126. package/table-row/internal.d.ts +15 -0
  127. package/table-row/internal.d.ts.map +1 -0
  128. package/table-row/internal.js +13 -0
  129. package/table-row/internal.js.map +1 -0
  130. package/table-row/styles.css.js +7 -0
  131. package/table-row/styles.scoped.css +42 -0
  132. package/table-row/styles.selectors.js +8 -0
  133. package/test-utils/dom/index.d.ts +168 -0
  134. package/test-utils/dom/index.js +116 -1
  135. package/test-utils/dom/index.js.map +1 -1
  136. package/test-utils/dom/table-body/index.d.ts +4 -0
  137. package/test-utils/dom/table-body/index.js +11 -0
  138. package/test-utils/dom/table-body/index.js.map +1 -0
  139. package/test-utils/dom/table-body-cell/index.d.ts +4 -0
  140. package/test-utils/dom/table-body-cell/index.js +11 -0
  141. package/test-utils/dom/table-body-cell/index.js.map +1 -0
  142. package/test-utils/dom/table-head/index.d.ts +4 -0
  143. package/test-utils/dom/table-head/index.js +11 -0
  144. package/test-utils/dom/table-head/index.js.map +1 -0
  145. package/test-utils/dom/table-header-cell/index.d.ts +4 -0
  146. package/test-utils/dom/table-header-cell/index.js +11 -0
  147. package/test-utils/dom/table-header-cell/index.js.map +1 -0
  148. package/test-utils/dom/table-root/index.d.ts +4 -0
  149. package/test-utils/dom/table-root/index.js +11 -0
  150. package/test-utils/dom/table-root/index.js.map +1 -0
  151. package/test-utils/dom/table-row/index.d.ts +4 -0
  152. package/test-utils/dom/table-row/index.js +11 -0
  153. package/test-utils/dom/table-row/index.js.map +1 -0
  154. package/test-utils/selectors/index.d.ts +108 -0
  155. package/test-utils/selectors/index.js +86 -1
  156. package/test-utils/selectors/index.js.map +1 -1
  157. package/test-utils/selectors/table-body/index.d.ts +4 -0
  158. package/test-utils/selectors/table-body/index.js +11 -0
  159. package/test-utils/selectors/table-body/index.js.map +1 -0
  160. package/test-utils/selectors/table-body-cell/index.d.ts +4 -0
  161. package/test-utils/selectors/table-body-cell/index.js +11 -0
  162. package/test-utils/selectors/table-body-cell/index.js.map +1 -0
  163. package/test-utils/selectors/table-head/index.d.ts +4 -0
  164. package/test-utils/selectors/table-head/index.js +11 -0
  165. package/test-utils/selectors/table-head/index.js.map +1 -0
  166. package/test-utils/selectors/table-header-cell/index.d.ts +4 -0
  167. package/test-utils/selectors/table-header-cell/index.js +11 -0
  168. package/test-utils/selectors/table-header-cell/index.js.map +1 -0
  169. package/test-utils/selectors/table-root/index.d.ts +4 -0
  170. package/test-utils/selectors/table-root/index.js +11 -0
  171. package/test-utils/selectors/table-root/index.js.map +1 -0
  172. package/test-utils/selectors/table-row/index.d.ts +4 -0
  173. package/test-utils/selectors/table-row/index.js +11 -0
  174. package/test-utils/selectors/table-row/index.js.map +1 -0
@@ -0,0 +1,16 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ 'use client';
4
+ import React from 'react';
5
+ import useBaseComponent from '../internal/hooks/use-base-component';
6
+ import { applyDisplayName } from '../internal/utils/apply-display-name';
7
+ import InternalTableRow from './internal';
8
+ function TableRow(props) {
9
+ const baseComponentProps = useBaseComponent('TableRow', {
10
+ props: { selected: props.selected, shaded: props.shaded },
11
+ });
12
+ return React.createElement(InternalTableRow, { ...props, ...baseComponentProps });
13
+ }
14
+ applyDisplayName(TableRow, 'TableRow');
15
+ export default TableRow;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table-row/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAI1C,SAAS,QAAQ,CAAC,KAAoB;IACpC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE;QACtD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;KAC1D,CAAC,CAAC;IACH,OAAO,oBAAC,gBAAgB,OAAK,KAAK,KAAM,kBAAkB,GAAI,CAAC;AACjE,CAAC;AAED,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACvC,eAAe,QAAQ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { TableRowProps } from './interfaces';\nimport InternalTableRow from './internal';\n\nexport { TableRowProps };\n\nfunction TableRow(props: TableRowProps) {\n const baseComponentProps = useBaseComponent('TableRow', {\n props: { selected: props.selected, shaded: props.shaded },\n });\n return <InternalTableRow {...props} {...baseComponentProps} />;\n}\n\napplyDisplayName(TableRow, 'TableRow');\nexport default TableRow;\n"]}
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { BaseComponentProps } from '../types/base-component';
3
+ export interface TableRowProps extends BaseComponentProps {
4
+ /**
5
+ * Applies selected-row styling. Visual only — it does not set `aria-selected`; convey selection to
6
+ * assistive technologies via the selection control in a leading cell.
7
+ */
8
+ selected?: boolean;
9
+ /**
10
+ * Applies a shaded background, for alternating row colors.
11
+ */
12
+ shaded?: boolean;
13
+ /** Provides an accessible name for the row. Use this or `ariaLabelledby`. */
14
+ ariaLabel?: string;
15
+ /** Sets `aria-labelledby`. Use the ID(s) of visible element(s) that label the row. */
16
+ ariaLabelledby?: string;
17
+ /** Sets `aria-describedby`. Use the ID(s) of visible element(s) that describe the row. */
18
+ ariaDescribedby?: string;
19
+ /**
20
+ * Sets the row's `aria-rowindex`, its position in the full dataset counting the header row. Set
21
+ * this only when virtualizing; otherwise it is derived from DOM order.
22
+ */
23
+ ariaRowindex?: number;
24
+ /**
25
+ * Applies inline styles to the row element for positioning, such as virtualization or draggable
26
+ * rows. Not intended for general styling.
27
+ */
28
+ positionStyle?: TableRowProps.PositionStyle;
29
+ /** The row's cells, one per column, in order. */
30
+ children?: React.ReactNode;
31
+ }
32
+ export declare namespace TableRowProps {
33
+ interface PositionStyle {
34
+ position?: React.CSSProperties['position'];
35
+ transform?: React.CSSProperties['transform'];
36
+ height?: React.CSSProperties['height'];
37
+ }
38
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/table-row/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IAC5C,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,yBAAiB,aAAa,CAAC;IAC7B,UAAiB,aAAa;QAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KACxC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/table-row/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BaseComponentProps } from '../types/base-component';\n\nexport interface TableRowProps extends BaseComponentProps {\n /**\n * Applies selected-row styling. Visual only — it does not set `aria-selected`; convey selection to\n * assistive technologies via the selection control in a leading cell.\n */\n selected?: boolean;\n /**\n * Applies a shaded background, for alternating row colors.\n */\n shaded?: boolean;\n /** Provides an accessible name for the row. Use this or `ariaLabelledby`. */\n ariaLabel?: string;\n /** Sets `aria-labelledby`. Use the ID(s) of visible element(s) that label the row. */\n ariaLabelledby?: string;\n /** Sets `aria-describedby`. Use the ID(s) of visible element(s) that describe the row. */\n ariaDescribedby?: string;\n /**\n * Sets the row's `aria-rowindex`, its position in the full dataset counting the header row. Set\n * this only when virtualizing; otherwise it is derived from DOM order.\n */\n ariaRowindex?: number;\n /**\n * Applies inline styles to the row element for positioning, such as virtualization or draggable\n * rows. Not intended for general styling.\n */\n positionStyle?: TableRowProps.PositionStyle;\n /** The row's cells, one per column, in order. */\n children?: React.ReactNode;\n}\n\nexport namespace TableRowProps {\n export interface PositionStyle {\n position?: React.CSSProperties['position'];\n transform?: React.CSSProperties['transform'];\n height?: React.CSSProperties['height'];\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
2
+ import { TableRowProps } from './interfaces';
3
+ export interface InternalTableRowProps extends TableRowProps, InternalBaseComponentProps {}
4
+ export default function InternalTableRow({
5
+ selected,
6
+ shaded,
7
+ ariaLabel,
8
+ ariaLabelledby,
9
+ ariaDescribedby,
10
+ ariaRowindex,
11
+ children,
12
+ positionStyle,
13
+ __internalRootRef,
14
+ ...rest
15
+ }: InternalTableRowProps): JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/table-row/internal.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAQ7C,MAAM,WAAW,qBAAsB,SAAQ,aAAa,EAAE,0BAA0B;CAAG;AAE3F,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,QAAQ,EACR,MAAM,EACN,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,qBAAqB,eAqBvB"}
@@ -0,0 +1,13 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import React from 'react';
4
+ import clsx from 'clsx';
5
+ import { getBaseProps } from '../internal/base-component';
6
+ import { useTableContext } from '../table-root/context';
7
+ import styles from './styles.css.js';
8
+ export default function InternalTableRow({ selected, shaded, ariaLabel, ariaLabelledby, ariaDescribedby, ariaRowindex, children, positionStyle, __internalRootRef, ...rest }) {
9
+ const { isGrid, gridTemplateColumns } = useTableContext();
10
+ const { className, ...restBaseProps } = getBaseProps(rest);
11
+ return (React.createElement("tr", { ref: __internalRootRef, className: clsx(className, styles.row, isGrid && styles['row-grid']), ...restBaseProps, ...(selected ? { 'data-awsui-selected': true } : {}), ...(shaded && !selected ? { 'data-awsui-shaded': true } : {}), role: isGrid ? 'row' : undefined, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "aria-rowindex": ariaRowindex, style: (isGrid ? { gridTemplateColumns, ...positionStyle } : positionStyle) }, children));
12
+ }
13
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/table-row/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAQrC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,QAAQ,EACR,MAAM,EACN,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,GAAG,IAAI,EACe;IACtB,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,eAAe,EAAE,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE3D,OAAO,CACL,4BACE,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,KAChE,aAAa,KACb,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACjD,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9D,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,gBACpB,SAAS,qBACJ,cAAc,sBACb,eAAe,mBAClB,YAAY,EAC3B,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,CAAwB,IAEjG,QAAQ,CACN,CACN,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useTableContext } from '../table-root/context';\nimport { TableRowProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\n// Sanctioned data-* hooks: `data-awsui-selected` / `data-awsui-shaded` on the <tr> carry the row's visual\n// state so CSS can key off it — sibling-adjacency (consecutive-selected merge, striped divider) and the\n// selection ring, which a cell can't express from its own context. Inert for the existing Table. A selected\n// row omits the shaded hook so selection styling wins outright (no shaded paint on a selected row).\nexport interface InternalTableRowProps extends TableRowProps, InternalBaseComponentProps {}\n\nexport default function InternalTableRow({\n selected,\n shaded,\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n ariaRowindex,\n children,\n positionStyle,\n __internalRootRef,\n ...rest\n}: InternalTableRowProps) {\n const { isGrid, gridTemplateColumns } = useTableContext();\n const { className, ...restBaseProps } = getBaseProps(rest);\n\n return (\n <tr\n ref={__internalRootRef}\n className={clsx(className, styles.row, isGrid && styles['row-grid'])}\n {...restBaseProps}\n {...(selected ? { 'data-awsui-selected': true } : {})}\n {...(shaded && !selected ? { 'data-awsui-shaded': true } : {})}\n role={isGrid ? 'row' : undefined}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n aria-rowindex={ariaRowindex}\n style={(isGrid ? { gridTemplateColumns, ...positionStyle } : positionStyle) as React.CSSProperties}\n >\n {children}\n </tr>\n );\n}\n"]}
@@ -0,0 +1,7 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "row": "awsui_row_3yyds_npyws_5",
5
+ "row-grid": "awsui_row-grid_3yyds_npyws_10"
6
+ };
7
+
@@ -0,0 +1,42 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ .awsui_row_3yyds_npyws_5:not(#\9) {
6
+ position: relative;
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ .awsui_row-grid_3yyds_npyws_10:not(#\9) {
11
+ display: grid;
12
+ inline-size: 100%;
13
+ align-items: center;
14
+ }
15
+
16
+ .awsui_row_3yyds_npyws_5[data-awsui-selected]:not(#\9)::after {
17
+ content: "";
18
+ position: absolute;
19
+ inset: 0;
20
+ grid-column: 1/-1;
21
+ grid-row: 1;
22
+ border-block-start: var(--border-width-item-selected-l41fek, 2px) solid var(--color-border-item-selected-7104rh, #006ce0);
23
+ border-block-end: var(--border-width-item-selected-l41fek, 2px) solid var(--color-border-item-selected-7104rh, #006ce0);
24
+ border-inline-start: var(--border-width-item-selected-l41fek, 2px) solid var(--color-border-item-selected-7104rh, #006ce0);
25
+ border-inline-end: var(--border-width-item-selected-l41fek, 2px) solid var(--color-border-item-selected-7104rh, #006ce0);
26
+ border-start-start-radius: var(--border-radius-item-mitz8h, 8px);
27
+ border-start-end-radius: var(--border-radius-item-mitz8h, 8px);
28
+ border-end-start-radius: var(--border-radius-item-mitz8h, 8px);
29
+ border-end-end-radius: var(--border-radius-item-mitz8h, 8px);
30
+ pointer-events: none;
31
+ }
32
+
33
+ .awsui_row_3yyds_npyws_5[data-awsui-selected]:not(#\9):has(+ .awsui_row_3yyds_npyws_5[data-awsui-selected])::after {
34
+ border-end-start-radius: 0;
35
+ border-end-end-radius: 0;
36
+ }
37
+
38
+ .awsui_row_3yyds_npyws_5[data-awsui-selected] + .awsui_row_3yyds_npyws_5[data-awsui-selected]:not(#\9)::after {
39
+ border-block-start-width: 0;
40
+ border-start-start-radius: 0;
41
+ border-start-end-radius: 0;
42
+ }
@@ -0,0 +1,8 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "row": "awsui_row_3yyds_npyws_5",
6
+ "row-grid": "awsui_row-grid_3yyds_npyws_10"
7
+ };
8
+
@@ -78,6 +78,12 @@ import SplitPanelWrapper from './split-panel';
78
78
  import StatusIndicatorWrapper from './status-indicator';
79
79
  import StepsWrapper from './steps';
80
80
  import TableWrapper from './table';
81
+ import TableBodyWrapper from './table-body';
82
+ import TableBodyCellWrapper from './table-body-cell';
83
+ import TableHeadWrapper from './table-head';
84
+ import TableHeaderCellWrapper from './table-header-cell';
85
+ import TableRootWrapper from './table-root';
86
+ import TableRowWrapper from './table-row';
81
87
  import TabsWrapper from './tabs';
82
88
  import TagEditorWrapper from './tag-editor';
83
89
  import TextContentWrapper from './text-content';
@@ -173,6 +179,12 @@ export { SplitPanelWrapper };
173
179
  export { StatusIndicatorWrapper };
174
180
  export { StepsWrapper };
175
181
  export { TableWrapper };
182
+ export { TableBodyWrapper };
183
+ export { TableBodyCellWrapper };
184
+ export { TableHeadWrapper };
185
+ export { TableHeaderCellWrapper };
186
+ export { TableRootWrapper };
187
+ export { TableRowWrapper };
176
188
  export { TabsWrapper };
177
189
  export { TagEditorWrapper };
178
190
  export { TextContentWrapper };
@@ -2220,6 +2232,162 @@ declare module '@cloudscape-design/test-utils-core/dist/dom' {
2220
2232
  * @returns {TableWrapper | null}
2221
2233
  */
2222
2234
  findClosestTable(): TableWrapper | null;
2235
+ /**
2236
+ * Returns the wrapper of the first TableBody that matches the specified CSS selector.
2237
+ * If no CSS selector is specified, returns the wrapper of the first TableBody.
2238
+ * If no matching TableBody is found, returns `null`.
2239
+ *
2240
+ * @param {string} [selector] CSS Selector
2241
+ * @returns {TableBodyWrapper | null}
2242
+ */
2243
+ findTableBody(selector?: string): TableBodyWrapper | null;
2244
+ /**
2245
+ * Returns an array of TableBody wrapper that matches the specified CSS selector.
2246
+ * If no CSS selector is specified, returns all of the TableBodies inside the current wrapper.
2247
+ * If no matching TableBody is found, returns an empty array.
2248
+ *
2249
+ * @param {string} [selector] CSS Selector
2250
+ * @returns {Array<TableBodyWrapper>}
2251
+ */
2252
+ findAllTableBodies(selector?: string): Array<TableBodyWrapper>;
2253
+ /**
2254
+ * Returns the wrapper of the closest parent TableBody for the current element,
2255
+ * or the element itself if it is an instance of TableBody.
2256
+ * If no TableBody is found, returns `null`.
2257
+ *
2258
+ * @returns {TableBodyWrapper | null}
2259
+ */
2260
+ findClosestTableBody(): TableBodyWrapper | null;
2261
+ /**
2262
+ * Returns the wrapper of the first TableBodyCell that matches the specified CSS selector.
2263
+ * If no CSS selector is specified, returns the wrapper of the first TableBodyCell.
2264
+ * If no matching TableBodyCell is found, returns `null`.
2265
+ *
2266
+ * @param {string} [selector] CSS Selector
2267
+ * @returns {TableBodyCellWrapper | null}
2268
+ */
2269
+ findTableBodyCell(selector?: string): TableBodyCellWrapper | null;
2270
+ /**
2271
+ * Returns an array of TableBodyCell wrapper that matches the specified CSS selector.
2272
+ * If no CSS selector is specified, returns all of the TableBodyCells inside the current wrapper.
2273
+ * If no matching TableBodyCell is found, returns an empty array.
2274
+ *
2275
+ * @param {string} [selector] CSS Selector
2276
+ * @returns {Array<TableBodyCellWrapper>}
2277
+ */
2278
+ findAllTableBodyCells(selector?: string): Array<TableBodyCellWrapper>;
2279
+ /**
2280
+ * Returns the wrapper of the closest parent TableBodyCell for the current element,
2281
+ * or the element itself if it is an instance of TableBodyCell.
2282
+ * If no TableBodyCell is found, returns `null`.
2283
+ *
2284
+ * @returns {TableBodyCellWrapper | null}
2285
+ */
2286
+ findClosestTableBodyCell(): TableBodyCellWrapper | null;
2287
+ /**
2288
+ * Returns the wrapper of the first TableHead that matches the specified CSS selector.
2289
+ * If no CSS selector is specified, returns the wrapper of the first TableHead.
2290
+ * If no matching TableHead is found, returns `null`.
2291
+ *
2292
+ * @param {string} [selector] CSS Selector
2293
+ * @returns {TableHeadWrapper | null}
2294
+ */
2295
+ findTableHead(selector?: string): TableHeadWrapper | null;
2296
+ /**
2297
+ * Returns an array of TableHead wrapper that matches the specified CSS selector.
2298
+ * If no CSS selector is specified, returns all of the TableHeads inside the current wrapper.
2299
+ * If no matching TableHead is found, returns an empty array.
2300
+ *
2301
+ * @param {string} [selector] CSS Selector
2302
+ * @returns {Array<TableHeadWrapper>}
2303
+ */
2304
+ findAllTableHeads(selector?: string): Array<TableHeadWrapper>;
2305
+ /**
2306
+ * Returns the wrapper of the closest parent TableHead for the current element,
2307
+ * or the element itself if it is an instance of TableHead.
2308
+ * If no TableHead is found, returns `null`.
2309
+ *
2310
+ * @returns {TableHeadWrapper | null}
2311
+ */
2312
+ findClosestTableHead(): TableHeadWrapper | null;
2313
+ /**
2314
+ * Returns the wrapper of the first TableHeaderCell that matches the specified CSS selector.
2315
+ * If no CSS selector is specified, returns the wrapper of the first TableHeaderCell.
2316
+ * If no matching TableHeaderCell is found, returns `null`.
2317
+ *
2318
+ * @param {string} [selector] CSS Selector
2319
+ * @returns {TableHeaderCellWrapper | null}
2320
+ */
2321
+ findTableHeaderCell(selector?: string): TableHeaderCellWrapper | null;
2322
+ /**
2323
+ * Returns an array of TableHeaderCell wrapper that matches the specified CSS selector.
2324
+ * If no CSS selector is specified, returns all of the TableHeaderCells inside the current wrapper.
2325
+ * If no matching TableHeaderCell is found, returns an empty array.
2326
+ *
2327
+ * @param {string} [selector] CSS Selector
2328
+ * @returns {Array<TableHeaderCellWrapper>}
2329
+ */
2330
+ findAllTableHeaderCells(selector?: string): Array<TableHeaderCellWrapper>;
2331
+ /**
2332
+ * Returns the wrapper of the closest parent TableHeaderCell for the current element,
2333
+ * or the element itself if it is an instance of TableHeaderCell.
2334
+ * If no TableHeaderCell is found, returns `null`.
2335
+ *
2336
+ * @returns {TableHeaderCellWrapper | null}
2337
+ */
2338
+ findClosestTableHeaderCell(): TableHeaderCellWrapper | null;
2339
+ /**
2340
+ * Returns the wrapper of the first TableRoot that matches the specified CSS selector.
2341
+ * If no CSS selector is specified, returns the wrapper of the first TableRoot.
2342
+ * If no matching TableRoot is found, returns `null`.
2343
+ *
2344
+ * @param {string} [selector] CSS Selector
2345
+ * @returns {TableRootWrapper | null}
2346
+ */
2347
+ findTableRoot(selector?: string): TableRootWrapper | null;
2348
+ /**
2349
+ * Returns an array of TableRoot wrapper that matches the specified CSS selector.
2350
+ * If no CSS selector is specified, returns all of the TableRoots inside the current wrapper.
2351
+ * If no matching TableRoot is found, returns an empty array.
2352
+ *
2353
+ * @param {string} [selector] CSS Selector
2354
+ * @returns {Array<TableRootWrapper>}
2355
+ */
2356
+ findAllTableRoots(selector?: string): Array<TableRootWrapper>;
2357
+ /**
2358
+ * Returns the wrapper of the closest parent TableRoot for the current element,
2359
+ * or the element itself if it is an instance of TableRoot.
2360
+ * If no TableRoot is found, returns `null`.
2361
+ *
2362
+ * @returns {TableRootWrapper | null}
2363
+ */
2364
+ findClosestTableRoot(): TableRootWrapper | null;
2365
+ /**
2366
+ * Returns the wrapper of the first TableRow that matches the specified CSS selector.
2367
+ * If no CSS selector is specified, returns the wrapper of the first TableRow.
2368
+ * If no matching TableRow is found, returns `null`.
2369
+ *
2370
+ * @param {string} [selector] CSS Selector
2371
+ * @returns {TableRowWrapper | null}
2372
+ */
2373
+ findTableRow(selector?: string): TableRowWrapper | null;
2374
+ /**
2375
+ * Returns an array of TableRow wrapper that matches the specified CSS selector.
2376
+ * If no CSS selector is specified, returns all of the TableRows inside the current wrapper.
2377
+ * If no matching TableRow is found, returns an empty array.
2378
+ *
2379
+ * @param {string} [selector] CSS Selector
2380
+ * @returns {Array<TableRowWrapper>}
2381
+ */
2382
+ findAllTableRows(selector?: string): Array<TableRowWrapper>;
2383
+ /**
2384
+ * Returns the wrapper of the closest parent TableRow for the current element,
2385
+ * or the element itself if it is an instance of TableRow.
2386
+ * If no TableRow is found, returns `null`.
2387
+ *
2388
+ * @returns {TableRowWrapper | null}
2389
+ */
2390
+ findClosestTableRow(): TableRowWrapper | null;
2223
2391
  /**
2224
2392
  * Returns the wrapper of the first Tabs that matches the specified CSS selector.
2225
2393
  * If no CSS selector is specified, returns the wrapper of the first Tabs.
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KeyValuePairsWrapper = exports.ItemCardWrapper = exports.InputWrapper = exports.IconWrapper = exports.HotspotWrapper = exports.HelpPanelWrapper = exports.HeaderWrapper = exports.GridWrapper = exports.FormFieldWrapper = exports.FormWrapper = exports.FlashbarWrapper = exports.FileUploadWrapper = exports.FileTokenGroupWrapper = exports.FileInputWrapper = exports.FileDropzoneWrapper = exports.ExpandableSectionWrapper = exports.ErrorBoundaryWrapper = exports.DropdownWrapper = exports.DrawerWrapper = exports.DividerWrapper = exports.DialogWrapper = exports.DateRangePickerWrapper = exports.DatePickerWrapper = exports.DateInputWrapper = exports.CopyToClipboardWrapper = exports.ContentLayoutWrapper = exports.ContainerWrapper = exports.ColumnLayoutWrapper = exports.CollectionPreferencesWrapper = exports.CodeEditorWrapper = exports.CheckboxWrapper = exports.CardsWrapper = exports.CalendarWrapper = exports.ButtonGroupWrapper = exports.ButtonDropdownWrapper = exports.ButtonWrapper = exports.BreadcrumbGroupWrapper = exports.BoxWrapper = exports.BarChartWrapper = exports.BadgeWrapper = exports.AutosuggestWrapper = exports.AttributeEditorWrapper = exports.AreaChartWrapper = exports.AppLayoutToolbarWrapper = exports.AppLayoutWrapper = exports.AnnotationWrapper = exports.AnchorNavigationWrapper = exports.AlertWrapper = exports.ActionCardWrapper = exports.ElementWrapper = void 0;
4
- exports.WizardWrapper = exports.TutorialPanelWrapper = exports.TruncatedTextWrapper = exports.TreeViewWrapper = exports.TopNavigationWrapper = exports.TooltipWrapper = exports.TokenGroupWrapper = exports.TokenWrapper = exports.ToggleButtonWrapper = exports.ToggleWrapper = exports.TimeInputWrapper = exports.TilesWrapper = exports.TextareaWrapper = exports.TextFilterWrapper = exports.TextContentWrapper = exports.TagEditorWrapper = exports.TabsWrapper = exports.TableWrapper = exports.StepsWrapper = exports.StatusIndicatorWrapper = exports.SplitPanelWrapper = exports.SpinnerWrapper = exports.SpaceBetweenWrapper = exports.SliderWrapper = exports.SkeletonWrapper = exports.SideNavigationWrapper = exports.SelectWrapper = exports.SegmentedControlWrapper = exports.S3ResourceSelectorWrapper = exports.RadioGroupWrapper = exports.RadioButtonWrapper = exports.PropertyFilterWrapper = exports.PromptInputWrapper = exports.ProgressBarWrapper = exports.PopoverWrapper = exports.PieChartWrapper = exports.PanelLayoutWrapper = exports.PaginationWrapper = exports.NavigableGroupWrapper = exports.MultiselectWrapper = exports.ModalWrapper = exports.MixedLineBarChartWrapper = exports.LiveRegionWrapper = exports.ListWrapper = exports.LinkWrapper = exports.LineChartWrapper = void 0;
4
+ exports.TruncatedTextWrapper = exports.TreeViewWrapper = exports.TopNavigationWrapper = exports.TooltipWrapper = exports.TokenGroupWrapper = exports.TokenWrapper = exports.ToggleButtonWrapper = exports.ToggleWrapper = exports.TimeInputWrapper = exports.TilesWrapper = exports.TextareaWrapper = exports.TextFilterWrapper = exports.TextContentWrapper = exports.TagEditorWrapper = exports.TabsWrapper = exports.TableRowWrapper = exports.TableRootWrapper = exports.TableHeaderCellWrapper = exports.TableHeadWrapper = exports.TableBodyCellWrapper = exports.TableBodyWrapper = exports.TableWrapper = exports.StepsWrapper = exports.StatusIndicatorWrapper = exports.SplitPanelWrapper = exports.SpinnerWrapper = exports.SpaceBetweenWrapper = exports.SliderWrapper = exports.SkeletonWrapper = exports.SideNavigationWrapper = exports.SelectWrapper = exports.SegmentedControlWrapper = exports.S3ResourceSelectorWrapper = exports.RadioGroupWrapper = exports.RadioButtonWrapper = exports.PropertyFilterWrapper = exports.PromptInputWrapper = exports.ProgressBarWrapper = exports.PopoverWrapper = exports.PieChartWrapper = exports.PanelLayoutWrapper = exports.PaginationWrapper = exports.NavigableGroupWrapper = exports.MultiselectWrapper = exports.ModalWrapper = exports.MixedLineBarChartWrapper = exports.LiveRegionWrapper = exports.ListWrapper = exports.LinkWrapper = exports.LineChartWrapper = void 0;
5
+ exports.WizardWrapper = exports.TutorialPanelWrapper = void 0;
5
6
  exports.default = wrapper;
6
7
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
8
  // SPDX-License-Identifier: Apache-2.0
@@ -164,6 +165,18 @@ const steps_1 = require("./steps");
164
165
  exports.StepsWrapper = steps_1.default;
165
166
  const table_1 = require("./table");
166
167
  exports.TableWrapper = table_1.default;
168
+ const table_body_1 = require("./table-body");
169
+ exports.TableBodyWrapper = table_body_1.default;
170
+ const table_body_cell_1 = require("./table-body-cell");
171
+ exports.TableBodyCellWrapper = table_body_cell_1.default;
172
+ const table_head_1 = require("./table-head");
173
+ exports.TableHeadWrapper = table_head_1.default;
174
+ const table_header_cell_1 = require("./table-header-cell");
175
+ exports.TableHeaderCellWrapper = table_header_cell_1.default;
176
+ const table_root_1 = require("./table-root");
177
+ exports.TableRootWrapper = table_root_1.default;
178
+ const table_row_1 = require("./table-row");
179
+ exports.TableRowWrapper = table_row_1.default;
167
180
  const tabs_1 = require("./tabs");
168
181
  exports.TabsWrapper = tabs_1.default;
169
182
  const tag_editor_1 = require("./tag-editor");
@@ -1134,6 +1147,78 @@ dom_1.ElementWrapper.prototype.findTable = function (selector) {
1134
1147
  dom_1.ElementWrapper.prototype.findAllTables = function (selector) {
1135
1148
  return this.findAllComponents(table_1.default, selector);
1136
1149
  };
1150
+ dom_1.ElementWrapper.prototype.findTableBody = function (selector) {
1151
+ let rootSelector = `.${table_body_1.default.rootSelector}`;
1152
+ if ("legacyRootSelector" in table_body_1.default && table_body_1.default.legacyRootSelector) {
1153
+ rootSelector = `:is(.${table_body_1.default.rootSelector}, .${table_body_1.default.legacyRootSelector})`;
1154
+ }
1155
+ // casting to 'any' is needed to avoid this issue with generics
1156
+ // https://github.com/microsoft/TypeScript/issues/29132
1157
+ return this.findComponent(selector ? (0, utils_1.appendSelector)(selector, rootSelector) : rootSelector, table_body_1.default);
1158
+ };
1159
+ dom_1.ElementWrapper.prototype.findAllTableBodies = function (selector) {
1160
+ return this.findAllComponents(table_body_1.default, selector);
1161
+ };
1162
+ dom_1.ElementWrapper.prototype.findTableBodyCell = function (selector) {
1163
+ let rootSelector = `.${table_body_cell_1.default.rootSelector}`;
1164
+ if ("legacyRootSelector" in table_body_cell_1.default && table_body_cell_1.default.legacyRootSelector) {
1165
+ rootSelector = `:is(.${table_body_cell_1.default.rootSelector}, .${table_body_cell_1.default.legacyRootSelector})`;
1166
+ }
1167
+ // casting to 'any' is needed to avoid this issue with generics
1168
+ // https://github.com/microsoft/TypeScript/issues/29132
1169
+ return this.findComponent(selector ? (0, utils_1.appendSelector)(selector, rootSelector) : rootSelector, table_body_cell_1.default);
1170
+ };
1171
+ dom_1.ElementWrapper.prototype.findAllTableBodyCells = function (selector) {
1172
+ return this.findAllComponents(table_body_cell_1.default, selector);
1173
+ };
1174
+ dom_1.ElementWrapper.prototype.findTableHead = function (selector) {
1175
+ let rootSelector = `.${table_head_1.default.rootSelector}`;
1176
+ if ("legacyRootSelector" in table_head_1.default && table_head_1.default.legacyRootSelector) {
1177
+ rootSelector = `:is(.${table_head_1.default.rootSelector}, .${table_head_1.default.legacyRootSelector})`;
1178
+ }
1179
+ // casting to 'any' is needed to avoid this issue with generics
1180
+ // https://github.com/microsoft/TypeScript/issues/29132
1181
+ return this.findComponent(selector ? (0, utils_1.appendSelector)(selector, rootSelector) : rootSelector, table_head_1.default);
1182
+ };
1183
+ dom_1.ElementWrapper.prototype.findAllTableHeads = function (selector) {
1184
+ return this.findAllComponents(table_head_1.default, selector);
1185
+ };
1186
+ dom_1.ElementWrapper.prototype.findTableHeaderCell = function (selector) {
1187
+ let rootSelector = `.${table_header_cell_1.default.rootSelector}`;
1188
+ if ("legacyRootSelector" in table_header_cell_1.default && table_header_cell_1.default.legacyRootSelector) {
1189
+ rootSelector = `:is(.${table_header_cell_1.default.rootSelector}, .${table_header_cell_1.default.legacyRootSelector})`;
1190
+ }
1191
+ // casting to 'any' is needed to avoid this issue with generics
1192
+ // https://github.com/microsoft/TypeScript/issues/29132
1193
+ return this.findComponent(selector ? (0, utils_1.appendSelector)(selector, rootSelector) : rootSelector, table_header_cell_1.default);
1194
+ };
1195
+ dom_1.ElementWrapper.prototype.findAllTableHeaderCells = function (selector) {
1196
+ return this.findAllComponents(table_header_cell_1.default, selector);
1197
+ };
1198
+ dom_1.ElementWrapper.prototype.findTableRoot = function (selector) {
1199
+ let rootSelector = `.${table_root_1.default.rootSelector}`;
1200
+ if ("legacyRootSelector" in table_root_1.default && table_root_1.default.legacyRootSelector) {
1201
+ rootSelector = `:is(.${table_root_1.default.rootSelector}, .${table_root_1.default.legacyRootSelector})`;
1202
+ }
1203
+ // casting to 'any' is needed to avoid this issue with generics
1204
+ // https://github.com/microsoft/TypeScript/issues/29132
1205
+ return this.findComponent(selector ? (0, utils_1.appendSelector)(selector, rootSelector) : rootSelector, table_root_1.default);
1206
+ };
1207
+ dom_1.ElementWrapper.prototype.findAllTableRoots = function (selector) {
1208
+ return this.findAllComponents(table_root_1.default, selector);
1209
+ };
1210
+ dom_1.ElementWrapper.prototype.findTableRow = function (selector) {
1211
+ let rootSelector = `.${table_row_1.default.rootSelector}`;
1212
+ if ("legacyRootSelector" in table_row_1.default && table_row_1.default.legacyRootSelector) {
1213
+ rootSelector = `:is(.${table_row_1.default.rootSelector}, .${table_row_1.default.legacyRootSelector})`;
1214
+ }
1215
+ // casting to 'any' is needed to avoid this issue with generics
1216
+ // https://github.com/microsoft/TypeScript/issues/29132
1217
+ return this.findComponent(selector ? (0, utils_1.appendSelector)(selector, rootSelector) : rootSelector, table_row_1.default);
1218
+ };
1219
+ dom_1.ElementWrapper.prototype.findAllTableRows = function (selector) {
1220
+ return this.findAllComponents(table_row_1.default, selector);
1221
+ };
1137
1222
  dom_1.ElementWrapper.prototype.findTabs = function (selector) {
1138
1223
  let rootSelector = `.${tabs_1.default.rootSelector}`;
1139
1224
  if ("legacyRootSelector" in tabs_1.default && tabs_1.default.legacyRootSelector) {
@@ -1728,6 +1813,36 @@ dom_1.ElementWrapper.prototype.findClosestTable = function () {
1728
1813
  // https://github.com/microsoft/TypeScript/issues/29132
1729
1814
  return this.findClosestComponent(table_1.default);
1730
1815
  };
1816
+ dom_1.ElementWrapper.prototype.findClosestTableBody = function () {
1817
+ // casting to 'any' is needed to avoid this issue with generics
1818
+ // https://github.com/microsoft/TypeScript/issues/29132
1819
+ return this.findClosestComponent(table_body_1.default);
1820
+ };
1821
+ dom_1.ElementWrapper.prototype.findClosestTableBodyCell = function () {
1822
+ // casting to 'any' is needed to avoid this issue with generics
1823
+ // https://github.com/microsoft/TypeScript/issues/29132
1824
+ return this.findClosestComponent(table_body_cell_1.default);
1825
+ };
1826
+ dom_1.ElementWrapper.prototype.findClosestTableHead = function () {
1827
+ // casting to 'any' is needed to avoid this issue with generics
1828
+ // https://github.com/microsoft/TypeScript/issues/29132
1829
+ return this.findClosestComponent(table_head_1.default);
1830
+ };
1831
+ dom_1.ElementWrapper.prototype.findClosestTableHeaderCell = function () {
1832
+ // casting to 'any' is needed to avoid this issue with generics
1833
+ // https://github.com/microsoft/TypeScript/issues/29132
1834
+ return this.findClosestComponent(table_header_cell_1.default);
1835
+ };
1836
+ dom_1.ElementWrapper.prototype.findClosestTableRoot = function () {
1837
+ // casting to 'any' is needed to avoid this issue with generics
1838
+ // https://github.com/microsoft/TypeScript/issues/29132
1839
+ return this.findClosestComponent(table_root_1.default);
1840
+ };
1841
+ dom_1.ElementWrapper.prototype.findClosestTableRow = function () {
1842
+ // casting to 'any' is needed to avoid this issue with generics
1843
+ // https://github.com/microsoft/TypeScript/issues/29132
1844
+ return this.findClosestComponent(table_row_1.default);
1845
+ };
1731
1846
  dom_1.ElementWrapper.prototype.findClosestTabs = function () {
1732
1847
  // casting to 'any' is needed to avoid this issue with generics
1733
1848
  // https://github.com/microsoft/TypeScript/issues/29132