@carbon/ibm-products 2.43.2-canary.303 → 2.43.2-canary.304

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 (36) hide show
  1. package/css/index-full-carbon.css +45 -2
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +45 -2
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +45 -2
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +45 -2
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +2 -2
  18. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -8
  19. package/es/components/Datagrid/Datagrid/DatagridRow.js +14 -10
  20. package/es/components/Datagrid/Datagrid/addons/{Slug/DatagridSlug.d.ts → AiLabel/DatagridAiLabel.d.ts} +3 -3
  21. package/es/components/Datagrid/Datagrid/addons/AiLabel/DatagridAiLabel.js +29 -0
  22. package/es/components/Datagrid/types/index.d.ts +2 -1
  23. package/es/components/Datagrid/useDefaultStringRenderer.js +3 -3
  24. package/es/components/Datagrid/useSortableColumns.js +6 -6
  25. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +2 -2
  26. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +8 -8
  27. package/lib/components/Datagrid/Datagrid/DatagridRow.js +14 -10
  28. package/lib/components/Datagrid/Datagrid/addons/{Slug/DatagridSlug.d.ts → AiLabel/DatagridAiLabel.d.ts} +3 -3
  29. package/lib/components/Datagrid/Datagrid/addons/AiLabel/DatagridAiLabel.js +31 -0
  30. package/lib/components/Datagrid/types/index.d.ts +2 -1
  31. package/lib/components/Datagrid/useDefaultStringRenderer.js +3 -3
  32. package/lib/components/Datagrid/useSortableColumns.js +6 -6
  33. package/package.json +3 -3
  34. package/scss/components/Datagrid/styles/_datagrid.scss +80 -2
  35. package/es/components/Datagrid/Datagrid/addons/Slug/DatagridSlug.js +0 -29
  36. package/lib/components/Datagrid/Datagrid/addons/Slug/DatagridSlug.js +0 -31
@@ -14,7 +14,7 @@ import { selectionColumnId } from '../common-column-ids.js';
14
14
  import { pkg } from '../../../settings.js';
15
15
  import { handleColumnResizeEndEvent, handleColumnResizingEvent } from './addons/stateReducer.js';
16
16
  import { getNodeTextContent } from '../../../global/js/utils/getNodeTextContent.js';
17
- import { DatagridSlug } from './addons/Slug/DatagridSlug.js';
17
+ import { DatagridAILabel } from './addons/AiLabel/DatagridAiLabel.js';
18
18
  import { useInitialColumnSort } from '../useInitialColumnSort.js';
19
19
 
20
20
  var _th;
@@ -140,17 +140,17 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
140
140
  }),
141
141
  headerGroupClassName = _headerGroup$getHeade.className,
142
142
  headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded);
143
- var renderSlug = function renderSlug(slug) {
143
+ var renderAILabel = function renderAILabel(aiLabel) {
144
144
  if (isTableSortable) {
145
145
  return;
146
146
  }
147
- return /*#__PURE__*/React__default.createElement(DatagridSlug, {
148
- slug: slug
147
+ return /*#__PURE__*/React__default.createElement(DatagridAILabel, {
148
+ aiLabel: aiLabel
149
149
  });
150
150
  };
151
151
  var foundAIRow = rows.some(function (r) {
152
- var _r$original;
153
- return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
152
+ var _r$original, _r$original2;
153
+ return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.aiLabel) || /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original2 = r.original) === null || _r$original2 === void 0 ? void 0 : _r$original2.slug);
154
154
  });
155
155
  var key = headerGroupProps.key,
156
156
  rowProps = _objectWithoutProperties(headerGroupProps, _excluded2);
@@ -203,10 +203,10 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
203
203
  });
204
204
  }
205
205
  return /*#__PURE__*/React__default.createElement(TableHeader, _extends({}, headerProps, {
206
- className: cx(header === null || header === void 0 ? void 0 : header.className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header === null || header === void 0 ? void 0 : header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header === null || header === void 0 ? void 0 : header.isSorted), "".concat(blockClass, "__header-actions-column"), header === null || header === void 0 ? void 0 : header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/React__default.isValidElement(header === null || header === void 0 ? void 0 : header.slug)), headerProps.className),
206
+ className: cx(header === null || header === void 0 ? void 0 : header.className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header === null || header === void 0 ? void 0 : header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header === null || header === void 0 ? void 0 : header.isSorted), "".concat(blockClass, "__header-actions-column"), header === null || header === void 0 ? void 0 : header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/React__default.isValidElement(header === null || header === void 0 ? void 0 : header.slug)), "".concat(blockClass, "__with-ai-label"), header.aiLabel && /*#__PURE__*/React__default.isValidElement(header === null || header === void 0 ? void 0 : header.aiLabel)), headerProps.className),
207
207
  key: header.id,
208
208
  "aria-hidden": header.id === 'spacer' && 'true'
209
- }, getAccessibilityProps(header)), header.render('Header'), renderSlug(header.slug), resizerProps && !header.isAction && /*#__PURE__*/React__default.createElement(ResizeHeader, {
209
+ }, getAccessibilityProps(header)), header.render('Header'), renderAILabel(header.aiLabel || header.slug), resizerProps && !header.isAction && /*#__PURE__*/React__default.createElement(ResizeHeader, {
210
210
  resizerProps: resizerProps,
211
211
  header: header,
212
212
  handleOnMouseDownResize: handleOnMouseDownResize,
@@ -12,7 +12,7 @@ import { px } from '@carbon/layout';
12
12
  import { selectionColumnId } from '../common-column-ids.js';
13
13
  import cx from 'classnames';
14
14
  import { pkg, carbon } from '../../../settings.js';
15
- import { DatagridSlug } from './addons/Slug/DatagridSlug.js';
15
+ import { DatagridAILabel } from './addons/AiLabel/DatagridAiLabel.js';
16
16
 
17
17
  var _SkeletonText;
18
18
  var _excluded = ["className"],
@@ -28,7 +28,7 @@ var rowHeights = {
28
28
 
29
29
  // eslint-disable-next-line react/prop-types
30
30
  var DatagridRow = function DatagridRow(datagridState) {
31
- var _row$original, _row$original2, _row$original3;
31
+ var _row$original, _row$original2, _row$original3, _row$original4, _row$original5, _row$original6;
32
32
  var row = datagridState.row,
33
33
  rows = datagridState.rows,
34
34
  rowSize = datagridState.rowSize,
@@ -115,10 +115,10 @@ var DatagridRow = function DatagridRow(datagridState) {
115
115
  className = _row$getRowProps.className,
116
116
  rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
117
117
  var foundAIRow = rows.some(function (r) {
118
- var _r$original;
119
- return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
118
+ var _r$original, _r$original2;
119
+ return /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.aiLabel) || /*#__PURE__*/isValidElement(r === null || r === void 0 || (_r$original2 = r.original) === null || _r$original2 === void 0 ? void 0 : _r$original2.slug);
120
120
  });
121
- var rowClassNames = cx("".concat(blockClass, "__carbon-row"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(blockClass, "__carbon-row-expandable--async"), getAsyncSubRows && row.depth > 0), "".concat(carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)));
121
+ var rowClassNames = cx("".concat(blockClass, "__carbon-row"), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(blockClass, "__carbon-row-expandable--async"), getAsyncSubRows && row.depth > 0), "".concat(carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)), "".concat(blockClass, "__ai-label--row"), /*#__PURE__*/isValidElement(row === null || row === void 0 || (_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.aiLabel)));
122
122
  var withActionsColumn = headers ? !!headers.filter(function (header) {
123
123
  return header.isAction;
124
124
  }).length : false;
@@ -133,14 +133,18 @@ var DatagridRow = function DatagridRow(datagridState) {
133
133
  onFocus: hoverHandler,
134
134
  onBlur: focusRemover,
135
135
  onKeyUp: handleOnKeyUp
136
- }, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original2 = row.original) !== null && _row$original2 !== void 0 && _row$original2.slug ? /*#__PURE__*/React__default.createElement("td", {
136
+ }, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original3 = row.original) !== null && _row$original3 !== void 0 && _row$original3.aiLabel ? /*#__PURE__*/React__default.createElement("td", {
137
+ className: cx("".concat(blockClass, "__table-row-ai-enabled"), _defineProperty({}, "".concat(blockClass, "__ai-label--expanded"), row.isExpanded))
138
+ }, /*#__PURE__*/React__default.createElement(DatagridAILabel, {
139
+ aiLabel: row === null || row === void 0 || (_row$original4 = row.original) === null || _row$original4 === void 0 ? void 0 : _row$original4.aiLabel
140
+ })) : row !== null && row !== void 0 && (_row$original5 = row.original) !== null && _row$original5 !== void 0 && _row$original5.slug ? /*#__PURE__*/React__default.createElement("td", {
137
141
  className: cx("".concat(blockClass, "__table-row-ai-enabled"), _defineProperty({}, "".concat(blockClass, "__slug--expanded"), row.isExpanded))
138
- }, /*#__PURE__*/React__default.createElement(DatagridSlug, {
139
- slug: row === null || row === void 0 || (_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : _row$original3.slug
142
+ }, /*#__PURE__*/React__default.createElement(DatagridAILabel, {
143
+ aiLabel: row === null || row === void 0 || (_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : _row$original6.slug
140
144
  })) : /*#__PURE__*/React__default.createElement("td", {
141
145
  className: "".concat(blockClass, "__table-row-ai-spacer")
142
146
  }) : null, row.cells.map(function (cell, index) {
143
- var _cell$column, _cell$column2, _associatedHeader$;
147
+ var _cell$column, _cell$column2, _associatedHeader$, _associatedHeader$2;
144
148
  var cellProps = cell.getCellProps({
145
149
  role: undefined
146
150
  });
@@ -166,7 +170,7 @@ var DatagridRow = function DatagridRow(datagridState) {
166
170
  style.flex = lastVisibleFlexStyle;
167
171
  }
168
172
  return /*#__PURE__*/React__default.createElement(TableCell, _extends({
169
- className: cx("".concat(blockClass, "__cell"), _defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), (row.canExpand || getAsyncSubRows) && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), columnClassname)
173
+ className: cx("".concat(blockClass, "__cell"), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), (row.canExpand || getAsyncSubRows) && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), "".concat(blockClass, "__ai-label--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/isValidElement((_associatedHeader$2 = associatedHeader[0]) === null || _associatedHeader$2 === void 0 ? void 0 : _associatedHeader$2.aiLabel)), columnClassname)
170
174
  }, restProps, {
171
175
  style: style,
172
176
  key: cell.column.id
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { ReactNode } from 'react';
8
- interface DatagridSlugProps {
9
- slug?: ReactNode;
8
+ interface DatagridAILabelProps {
9
+ aiLabel?: ReactNode;
10
10
  }
11
- export declare const DatagridSlug: React.ForwardRefExoticComponent<DatagridSlugProps & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const DatagridAILabel: React.ForwardRefExoticComponent<DatagridAILabelProps & React.RefAttributes<HTMLDivElement>>;
12
12
  export {};
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import React__default, { forwardRef, isValidElement } from 'react';
9
+ import PropTypes from '../../../../../_virtual/index.js';
10
+
11
+ var DatagridAILabel = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
+ var aiLabel = _ref.aiLabel;
13
+ if (aiLabel && /*#__PURE__*/isValidElement(aiLabel)) {
14
+ var normalizedAILabel = /*#__PURE__*/React__default.cloneElement(aiLabel, {
15
+ size: 'mini',
16
+ ref: ref
17
+ });
18
+ return normalizedAILabel;
19
+ }
20
+ return null;
21
+ });
22
+ DatagridAILabel.propTypes = {
23
+ /**
24
+ * Specify the AI AILabel to be displayed
25
+ */
26
+ aiLabel: PropTypes.node
27
+ };
28
+
29
+ export { DatagridAILabel };
@@ -128,7 +128,8 @@ export interface DataGridHeader<T extends object = any> extends ColumnInstance,
128
128
  [x: string]: any;
129
129
  }): unknown;
130
130
  isAction?: boolean;
131
- slug?: any;
131
+ slug?: ReactNode;
132
+ aiLabel?: ReactNode;
132
133
  }
133
134
  export interface DataGridHeaderGroup<T extends object = any> extends HeaderGroup<T>, UseResizeColumnsColumnProps<T> {
134
135
  }
@@ -18,9 +18,9 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
18
18
  className: cx("".concat(blockClass, "__defaultStringRenderer"), _defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--multiline"), ((_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.multiLineWrap) || (tableProps === null || tableProps === void 0 ? void 0 : tableProps.multiLineWrapAll)))
19
19
  }, tableProps.value);
20
20
  };
21
- var HeaderRenderer = function HeaderRenderer(header, slug) {
21
+ var HeaderRenderer = function HeaderRenderer(header, slug, aiLabel) {
22
22
  return /*#__PURE__*/React__default.createElement("div", {
23
- className: cx("".concat(blockClass, "__defaultStringRenderer"), _defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React__default.isValidElement(slug))),
23
+ className: cx("".concat(blockClass, "__defaultStringRenderer"), _defineProperty(_defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React__default.isValidElement(slug)), "".concat(blockClass, "__defaultStringRenderer--ai-label"), aiLabel && /*#__PURE__*/React__default.isValidElement(aiLabel))),
24
24
  key: typeof header === 'string' ? header : ''
25
25
  }, header);
26
26
  };
@@ -29,7 +29,7 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
29
29
  return _objectSpread2(_objectSpread2({
30
30
  Cell: StringRenderer
31
31
  }, column), {}, {
32
- Header: column.HeaderRenderer || HeaderRenderer(column.Header, column.slug)
32
+ Header: column.HeaderRenderer || HeaderRenderer(column.Header, column.slug, column.aiLabel)
33
33
  });
34
34
  });
35
35
  return _toConsumableArray(columnsWithDefaultCells);
@@ -12,7 +12,7 @@ import { pkg, carbon } from '../../settings.js';
12
12
  import { Button } from '@carbon/react';
13
13
  import { ArrowsVertical, ArrowDown, ArrowUp } from '@carbon/react/icons';
14
14
  import { SelectAll } from './Datagrid/DatagridSelectAll.js';
15
- import { DatagridSlug } from './Datagrid/addons/Slug/DatagridSlug.js';
15
+ import { DatagridAILabel } from './Datagrid/addons/AiLabel/DatagridAiLabel.js';
16
16
 
17
17
  var blockClass = "".concat(pkg.prefix, "--datagrid");
18
18
  var getNewSortOrder = function getNewSortOrder(currentOrder) {
@@ -78,9 +78,9 @@ var useSortableColumns = function useSortableColumns(hooks) {
78
78
  descendingSortableLabelText = instance.descendingSortableLabelText,
79
79
  defaultSortableLabelText = instance.defaultSortableLabelText;
80
80
  var onSortClick = function onSortClick(event, column) {
81
- var slug = event.target.classList.contains("".concat(carbon.prefix, "--slug")) || event.target.closest(".".concat(carbon.prefix, "--slug"));
81
+ var aiLabel = event.target.classList.contains("".concat(carbon.prefix, "--slug")) || event.target.closest(".".concat(carbon.prefix, "--slug"));
82
82
  // Do not continue with sorting if we find a slug
83
- if (slug) {
83
+ if (aiLabel) {
84
84
  event.stopPropagation();
85
85
  return;
86
86
  }
@@ -136,9 +136,9 @@ var useSortableColumns = function useSortableColumns(hooks) {
136
136
  },
137
137
  kind: "ghost",
138
138
  renderIcon: function renderIcon(props) {
139
- var _headerProp$column;
140
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DatagridSlug, {
141
- slug: headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.slug
139
+ var _headerProp$column, _headerProp$column2;
140
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DatagridAILabel, {
141
+ aiLabel: (headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.aiLabel) || (headerProp === null || headerProp === void 0 || (_headerProp$column2 = headerProp.column) === null || _headerProp$column2 === void 0 ? void 0 : _headerProp$column2.slug)
142
142
  }), icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, props));
143
143
  },
144
144
  id: column === null || column === void 0 ? void 0 : column.id,
@@ -20,7 +20,7 @@ var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
20
20
  // eslint-disable-next-line react/prop-types
21
21
  var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentComponent) {
22
22
  return function (datagridState) {
23
- var _row$original;
23
+ var _row$original, _row$original2;
24
24
  var row = datagridState.row;
25
25
  var expandedContentHeight = row.expandedContentHeight;
26
26
  var toggleParentHoverClass = function toggleParentHoverClass(event) {
@@ -40,7 +40,7 @@ var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentCompone
40
40
  var key = datagridState.key,
41
41
  _state = _rollupPluginBabelHelpers.objectWithoutProperties(datagridState, _excluded);
42
42
  return /*#__PURE__*/React.createElement("tr", {
43
- className: cx("".concat(blockClass, "__expanded-row"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__slug--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug))),
43
+ className: cx("".concat(blockClass, "__expanded-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__slug--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)), "".concat(blockClass, "__ai-label--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.aiLabel))),
44
44
  onMouseEnter: function onMouseEnter(event) {
45
45
  return toggleParentHoverClass(event, 'enter');
46
46
  },
@@ -18,7 +18,7 @@ var commonColumnIds = require('../common-column-ids.js');
18
18
  var settings = require('../../../settings.js');
19
19
  var stateReducer = require('./addons/stateReducer.js');
20
20
  var getNodeTextContent = require('../../../global/js/utils/getNodeTextContent.js');
21
- var DatagridSlug = require('./addons/Slug/DatagridSlug.js');
21
+ var DatagridAiLabel = require('./addons/AiLabel/DatagridAiLabel.js');
22
22
  var useInitialColumnSort = require('../useInitialColumnSort.js');
23
23
 
24
24
  var _th;
@@ -144,17 +144,17 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
144
144
  }),
145
145
  headerGroupClassName = _headerGroup$getHeade.className,
146
146
  headerGroupProps = _rollupPluginBabelHelpers.objectWithoutProperties(_headerGroup$getHeade, _excluded);
147
- var renderSlug = function renderSlug(slug) {
147
+ var renderAILabel = function renderAILabel(aiLabel) {
148
148
  if (isTableSortable) {
149
149
  return;
150
150
  }
151
- return /*#__PURE__*/React.createElement(DatagridSlug.DatagridSlug, {
152
- slug: slug
151
+ return /*#__PURE__*/React.createElement(DatagridAiLabel.DatagridAILabel, {
152
+ aiLabel: aiLabel
153
153
  });
154
154
  };
155
155
  var foundAIRow = rows.some(function (r) {
156
- var _r$original;
157
- return /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
156
+ var _r$original, _r$original2;
157
+ return /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.aiLabel) || /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original2 = r.original) === null || _r$original2 === void 0 ? void 0 : _r$original2.slug);
158
158
  });
159
159
  var key = headerGroupProps.key,
160
160
  rowProps = _rollupPluginBabelHelpers.objectWithoutProperties(headerGroupProps, _excluded2);
@@ -207,10 +207,10 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
207
207
  });
208
208
  }
209
209
  return /*#__PURE__*/React.createElement(react.TableHeader, _rollupPluginBabelHelpers.extends({}, headerProps, {
210
- className: cx(header === null || header === void 0 ? void 0 : header.className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header === null || header === void 0 ? void 0 : header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header === null || header === void 0 ? void 0 : header.isSorted), "".concat(blockClass, "__header-actions-column"), header === null || header === void 0 ? void 0 : header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/React.isValidElement(header === null || header === void 0 ? void 0 : header.slug)), headerProps.className),
210
+ className: cx(header === null || header === void 0 ? void 0 : header.className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__resizableColumn"), resizerProps), "".concat(blockClass, "__isResizing"), header === null || header === void 0 ? void 0 : header.isResizing), "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable && header.id !== 'spacer'), "".concat(blockClass, "__isSorted"), header === null || header === void 0 ? void 0 : header.isSorted), "".concat(blockClass, "__header-actions-column"), header === null || header === void 0 ? void 0 : header.isAction), "".concat(blockClass, "__with-slug"), header.slug && /*#__PURE__*/React.isValidElement(header === null || header === void 0 ? void 0 : header.slug)), "".concat(blockClass, "__with-ai-label"), header.aiLabel && /*#__PURE__*/React.isValidElement(header === null || header === void 0 ? void 0 : header.aiLabel)), headerProps.className),
211
211
  key: header.id,
212
212
  "aria-hidden": header.id === 'spacer' && 'true'
213
- }, getAccessibilityProps(header)), header.render('Header'), renderSlug(header.slug), resizerProps && !header.isAction && /*#__PURE__*/React.createElement(ResizeHeader, {
213
+ }, getAccessibilityProps(header)), header.render('Header'), renderAILabel(header.aiLabel || header.slug), resizerProps && !header.isAction && /*#__PURE__*/React.createElement(ResizeHeader, {
214
214
  resizerProps: resizerProps,
215
215
  header: header,
216
216
  handleOnMouseDownResize: handleOnMouseDownResize,
@@ -16,7 +16,7 @@ var layout = require('@carbon/layout');
16
16
  var commonColumnIds = require('../common-column-ids.js');
17
17
  var cx = require('classnames');
18
18
  var settings = require('../../../settings.js');
19
- var DatagridSlug = require('./addons/Slug/DatagridSlug.js');
19
+ var DatagridAiLabel = require('./addons/AiLabel/DatagridAiLabel.js');
20
20
 
21
21
  var _SkeletonText;
22
22
  var _excluded = ["className"],
@@ -32,7 +32,7 @@ var rowHeights = {
32
32
 
33
33
  // eslint-disable-next-line react/prop-types
34
34
  var DatagridRow = function DatagridRow(datagridState) {
35
- var _row$original, _row$original2, _row$original3;
35
+ var _row$original, _row$original2, _row$original3, _row$original4, _row$original5, _row$original6;
36
36
  var row = datagridState.row,
37
37
  rows = datagridState.rows,
38
38
  rowSize = datagridState.rowSize,
@@ -119,10 +119,10 @@ var DatagridRow = function DatagridRow(datagridState) {
119
119
  className = _row$getRowProps.className,
120
120
  rowProps = _rollupPluginBabelHelpers.objectWithoutProperties(_row$getRowProps, _excluded);
121
121
  var foundAIRow = rows.some(function (r) {
122
- var _r$original;
123
- return /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
122
+ var _r$original, _r$original2;
123
+ return /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.aiLabel) || /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original2 = r.original) === null || _r$original2 === void 0 ? void 0 : _r$original2.slug);
124
124
  });
125
- var rowClassNames = cx("".concat(blockClass, "__carbon-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(blockClass, "__carbon-row-expandable--async"), getAsyncSubRows && row.depth > 0), "".concat(settings.carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)));
125
+ var rowClassNames = cx("".concat(blockClass, "__carbon-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(blockClass, "__carbon-row-expandable--async"), getAsyncSubRows && row.depth > 0), "".concat(settings.carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)), "".concat(blockClass, "__ai-label--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.aiLabel)));
126
126
  var withActionsColumn = headers ? !!headers.filter(function (header) {
127
127
  return header.isAction;
128
128
  }).length : false;
@@ -137,14 +137,18 @@ var DatagridRow = function DatagridRow(datagridState) {
137
137
  onFocus: hoverHandler,
138
138
  onBlur: focusRemover,
139
139
  onKeyUp: handleOnKeyUp
140
- }, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original2 = row.original) !== null && _row$original2 !== void 0 && _row$original2.slug ? /*#__PURE__*/React.createElement("td", {
140
+ }, setAdditionalRowProps()), foundAIRow ? row !== null && row !== void 0 && (_row$original3 = row.original) !== null && _row$original3 !== void 0 && _row$original3.aiLabel ? /*#__PURE__*/React.createElement("td", {
141
+ className: cx("".concat(blockClass, "__table-row-ai-enabled"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__ai-label--expanded"), row.isExpanded))
142
+ }, /*#__PURE__*/React.createElement(DatagridAiLabel.DatagridAILabel, {
143
+ aiLabel: row === null || row === void 0 || (_row$original4 = row.original) === null || _row$original4 === void 0 ? void 0 : _row$original4.aiLabel
144
+ })) : row !== null && row !== void 0 && (_row$original5 = row.original) !== null && _row$original5 !== void 0 && _row$original5.slug ? /*#__PURE__*/React.createElement("td", {
141
145
  className: cx("".concat(blockClass, "__table-row-ai-enabled"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__slug--expanded"), row.isExpanded))
142
- }, /*#__PURE__*/React.createElement(DatagridSlug.DatagridSlug, {
143
- slug: row === null || row === void 0 || (_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : _row$original3.slug
146
+ }, /*#__PURE__*/React.createElement(DatagridAiLabel.DatagridAILabel, {
147
+ aiLabel: row === null || row === void 0 || (_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : _row$original6.slug
144
148
  })) : /*#__PURE__*/React.createElement("td", {
145
149
  className: "".concat(blockClass, "__table-row-ai-spacer")
146
150
  }) : null, row.cells.map(function (cell, index) {
147
- var _cell$column, _cell$column2, _associatedHeader$;
151
+ var _cell$column, _cell$column2, _associatedHeader$, _associatedHeader$2;
148
152
  var cellProps = cell.getCellProps({
149
153
  role: undefined
150
154
  });
@@ -170,7 +174,7 @@ var DatagridRow = function DatagridRow(datagridState) {
170
174
  style.flex = lastVisibleFlexStyle;
171
175
  }
172
176
  return /*#__PURE__*/React.createElement(react.TableCell, _rollupPluginBabelHelpers.extends({
173
- className: cx("".concat(blockClass, "__cell"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), (row.canExpand || getAsyncSubRows) && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), columnClassname)
177
+ className: cx("".concat(blockClass, "__cell"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), (row.canExpand || getAsyncSubRows) && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), "".concat(blockClass, "__ai-label--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$2 = associatedHeader[0]) === null || _associatedHeader$2 === void 0 ? void 0 : _associatedHeader$2.aiLabel)), columnClassname)
174
178
  }, restProps, {
175
179
  style: style,
176
180
  key: cell.column.id
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { ReactNode } from 'react';
8
- interface DatagridSlugProps {
9
- slug?: ReactNode;
8
+ interface DatagridAILabelProps {
9
+ aiLabel?: ReactNode;
10
10
  }
11
- export declare const DatagridSlug: React.ForwardRefExoticComponent<DatagridSlugProps & React.RefAttributes<HTMLDivElement>>;
11
+ export declare const DatagridAILabel: React.ForwardRefExoticComponent<DatagridAILabelProps & React.RefAttributes<HTMLDivElement>>;
12
12
  export {};
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ var React = require('react');
11
+ var index = require('../../../../../_virtual/index.js');
12
+
13
+ var DatagridAILabel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
14
+ var aiLabel = _ref.aiLabel;
15
+ if (aiLabel && /*#__PURE__*/React.isValidElement(aiLabel)) {
16
+ var normalizedAILabel = /*#__PURE__*/React.cloneElement(aiLabel, {
17
+ size: 'mini',
18
+ ref: ref
19
+ });
20
+ return normalizedAILabel;
21
+ }
22
+ return null;
23
+ });
24
+ DatagridAILabel.propTypes = {
25
+ /**
26
+ * Specify the AI AILabel to be displayed
27
+ */
28
+ aiLabel: index.default.node
29
+ };
30
+
31
+ exports.DatagridAILabel = DatagridAILabel;
@@ -128,7 +128,8 @@ export interface DataGridHeader<T extends object = any> extends ColumnInstance,
128
128
  [x: string]: any;
129
129
  }): unknown;
130
130
  isAction?: boolean;
131
- slug?: any;
131
+ slug?: ReactNode;
132
+ aiLabel?: ReactNode;
132
133
  }
133
134
  export interface DataGridHeaderGroup<T extends object = any> extends HeaderGroup<T>, UseResizeColumnsColumnProps<T> {
134
135
  }
@@ -22,9 +22,9 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
22
22
  className: cx("".concat(blockClass, "__defaultStringRenderer"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--multiline"), ((_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.multiLineWrap) || (tableProps === null || tableProps === void 0 ? void 0 : tableProps.multiLineWrapAll)))
23
23
  }, tableProps.value);
24
24
  };
25
- var HeaderRenderer = function HeaderRenderer(header, slug) {
25
+ var HeaderRenderer = function HeaderRenderer(header, slug, aiLabel) {
26
26
  return /*#__PURE__*/React.createElement("div", {
27
- className: cx("".concat(blockClass, "__defaultStringRenderer"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React.isValidElement(slug))),
27
+ className: cx("".concat(blockClass, "__defaultStringRenderer"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React.isValidElement(slug)), "".concat(blockClass, "__defaultStringRenderer--ai-label"), aiLabel && /*#__PURE__*/React.isValidElement(aiLabel))),
28
28
  key: typeof header === 'string' ? header : ''
29
29
  }, header);
30
30
  };
@@ -33,7 +33,7 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
33
33
  return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
34
34
  Cell: StringRenderer
35
35
  }, column), {}, {
36
- Header: column.HeaderRenderer || HeaderRenderer(column.Header, column.slug)
36
+ Header: column.HeaderRenderer || HeaderRenderer(column.Header, column.slug, column.aiLabel)
37
37
  });
38
38
  });
39
39
  return _rollupPluginBabelHelpers.toConsumableArray(columnsWithDefaultCells);
@@ -16,7 +16,7 @@ var settings = require('../../settings.js');
16
16
  var react = require('@carbon/react');
17
17
  var icons = require('@carbon/react/icons');
18
18
  var DatagridSelectAll = require('./Datagrid/DatagridSelectAll.js');
19
- var DatagridSlug = require('./Datagrid/addons/Slug/DatagridSlug.js');
19
+ var DatagridAiLabel = require('./Datagrid/addons/AiLabel/DatagridAiLabel.js');
20
20
 
21
21
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
22
22
  var getNewSortOrder = function getNewSortOrder(currentOrder) {
@@ -82,9 +82,9 @@ var useSortableColumns = function useSortableColumns(hooks) {
82
82
  descendingSortableLabelText = instance.descendingSortableLabelText,
83
83
  defaultSortableLabelText = instance.defaultSortableLabelText;
84
84
  var onSortClick = function onSortClick(event, column) {
85
- var slug = event.target.classList.contains("".concat(settings.carbon.prefix, "--slug")) || event.target.closest(".".concat(settings.carbon.prefix, "--slug"));
85
+ var aiLabel = event.target.classList.contains("".concat(settings.carbon.prefix, "--slug")) || event.target.closest(".".concat(settings.carbon.prefix, "--slug"));
86
86
  // Do not continue with sorting if we find a slug
87
- if (slug) {
87
+ if (aiLabel) {
88
88
  event.stopPropagation();
89
89
  return;
90
90
  }
@@ -140,9 +140,9 @@ var useSortableColumns = function useSortableColumns(hooks) {
140
140
  },
141
141
  kind: "ghost",
142
142
  renderIcon: function renderIcon(props) {
143
- var _headerProp$column;
144
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DatagridSlug.DatagridSlug, {
145
- slug: headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.slug
143
+ var _headerProp$column, _headerProp$column2;
144
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DatagridAiLabel.DatagridAILabel, {
145
+ aiLabel: (headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.aiLabel) || (headerProp === null || headerProp === void 0 || (_headerProp$column2 = headerProp.column) === null || _headerProp$column2 === void 0 ? void 0 : _headerProp$column2.slug)
146
146
  }), icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, props));
147
147
  },
148
148
  id: column === null || column === void 0 ? void 0 : column.id,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.43.2-canary.303+2311bdb74",
4
+ "version": "2.43.2-canary.304+b0b3c1cf4",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -96,7 +96,7 @@
96
96
  "dependencies": {
97
97
  "@babel/runtime": "^7.23.9",
98
98
  "@carbon/feature-flags": "^0.22.0",
99
- "@carbon/ibm-products-styles": "^2.39.1-canary.313+2311bdb74",
99
+ "@carbon/ibm-products-styles": "^2.39.1-canary.314+b0b3c1cf4",
100
100
  "@carbon/telemetry": "^0.1.0",
101
101
  "@dnd-kit/core": "^6.0.8",
102
102
  "@dnd-kit/modifiers": "^7.0.0",
@@ -120,5 +120,5 @@
120
120
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
121
121
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
122
122
  },
123
- "gitHead": "2311bdb7477e72a6cd4d7f915f6dc754874b7375"
123
+ "gitHead": "b0b3c1cf40199e7458584ea1d9093224264e1f4c"
124
124
  }
@@ -156,6 +156,7 @@
156
156
  background-color: $background;
157
157
  }
158
158
 
159
+ /* This section to be removed after support for slug dropped - start */
159
160
  .#{$block-class} th.#{$block-class}__with-slug {
160
161
  /* stylelint-disable-next-line carbon/theme-token-use */
161
162
  box-shadow: inset 0 1px $ai-border-strong;
@@ -228,6 +229,80 @@
228
229
  .#{c4p-settings.$carbon-prefix}--slug {
229
230
  margin-left: $spacing-03;
230
231
  }
232
+ /* This section to be removed after support for slug dropped - end */
233
+
234
+ .#{$block-class} th.#{$block-class}__with-ai-label {
235
+ /* stylelint-disable-next-line carbon/theme-token-use */
236
+ box-shadow: inset 0 1px $ai-border-strong;
237
+ }
238
+
239
+ .#{$block-class} th.#{$block-class}__with-ai-label,
240
+ .#{$block-class} td.#{$block-class}__ai-label--cell {
241
+ @include ai-table-gradient();
242
+ }
243
+
244
+ .#{$block-class}
245
+ .#{c4p-settings.$carbon-prefix}--data-table
246
+ tbody
247
+ tr.#{$block-class}__ai-label--row,
248
+ .#{$block-class}
249
+ .#{c4p-settings.$carbon-prefix}--data-table
250
+ tbody
251
+ tr.#{$block-class}__ai-label--row
252
+ + .#{$block-class}__expanded-row {
253
+ @include ai-table-gradient();
254
+
255
+ background-attachment: fixed;
256
+ }
257
+
258
+ .#{$block-class}
259
+ .#{c4p-settings.$carbon-prefix}--data-table
260
+ tbody
261
+ tr.#{$block-class}__ai-label--row {
262
+ /* stylelint-disable-next-line carbon/theme-token-use */
263
+ box-shadow: inset 1px 0 $ai-border-strong;
264
+ }
265
+
266
+ .#{$block-class}
267
+ .#{c4p-settings.$carbon-prefix}--data-table
268
+ tbody
269
+ tr.#{$block-class}__ai-label--row:hover,
270
+ .#{$block-class}
271
+ .#{c4p-settings.$carbon-prefix}--data-table
272
+ tbody
273
+ tr.#{$block-class}__ai-label--row.#{c4p-settings.$carbon-prefix}--data-table--selected:hover,
274
+ .#{$block-class}
275
+ .#{c4p-settings.$carbon-prefix}--data-table
276
+ tbody
277
+ tr.#{$block-class}__ai-label--row.#{$block-class}__carbon-row-expanded:hover
278
+ + .#{$block-class}__expanded-row,
279
+ .#{$block-class}
280
+ .#{c4p-settings.$carbon-prefix}--data-table
281
+ tbody
282
+ tr.#{$block-class}__expandable-row--hover.#{$block-class}__ai-label--row {
283
+ @include ai-table-gradient('hover');
284
+ }
285
+
286
+ .#{$block-class}
287
+ .#{c4p-settings.$carbon-prefix}--data-table
288
+ tbody
289
+ tr.#{$block-class}__expandable-row--hover.#{$block-class}__ai-label--row
290
+ td {
291
+ background-color: transparent;
292
+ }
293
+
294
+ .#{$block-class}
295
+ .#{c4p-settings.$carbon-prefix}--data-table
296
+ tbody
297
+ tr.#{$block-class}__ai-label--row.#{c4p-settings.$carbon-prefix}--data-table--selected {
298
+ @include ai-table-gradient('selected');
299
+ }
300
+
301
+ .#{$block-class}
302
+ th.#{$block-class}__with-ai-label
303
+ .#{c4p-settings.$carbon-prefix}--slug {
304
+ margin-left: $spacing-03;
305
+ }
231
306
 
232
307
  .#{$block-class}__grid-container {
233
308
  display: block;
@@ -315,7 +390,8 @@
315
390
  white-space: initial;
316
391
  }
317
392
 
318
- .#{$block-class}__defaultStringRenderer.#{$block-class}__defaultStringRenderer--slug {
393
+ .#{$block-class}__defaultStringRenderer.#{$block-class}__defaultStringRenderer--slug,
394
+ .#{$block-class}__defaultStringRenderer.#{$block-class}__defaultStringRenderer--ai-label {
319
395
  width: fit-content;
320
396
  }
321
397
 
@@ -891,7 +967,9 @@
891
967
  .#{$block-class} .#{$block-class}__table-row-ai-enabled {
892
968
  display: flex;
893
969
  align-items: center;
894
- &.#{$block-class}__slug--expanded {
970
+
971
+ &.#{$block-class}__slug--expanded,
972
+ &.#{$block-class}__ai-label--expanded {
895
973
  border: none;
896
974
  }
897
975
  }