@carbon/ibm-products 2.43.2-canary.295 → 2.43.2-canary.298

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.
@@ -24,7 +24,7 @@ import usePrefersReducedMotion from '../../global/js/hooks/usePrefersReducedMoti
24
24
  import { useFocus, getSpecificElement } from '../../global/js/hooks/useFocus.js';
25
25
  import { usePreviousValue } from '../../global/js/hooks/usePreviousValue.js';
26
26
 
27
- var _excluded = ["actionToolbarButtons", "actions", "animateTitle", "children", "className", "closeIconDescription", "condensedActions", "currentStep", "id", "includeOverlay", "labelText", "navigationBackIconDescription", "onNavigationBack", "onRequestClose", "onUnmount", "open", "placement", "preventCloseOnClickOutside", "selectorPageContent", "selectorPrimaryFocus", "size", "slideIn", "slug", "subtitle", "title", "launcherButtonRef"],
27
+ var _excluded = ["actionToolbarButtons", "actions", "aiLabel", "animateTitle", "children", "className", "closeIconDescription", "condensedActions", "currentStep", "id", "includeOverlay", "labelText", "navigationBackIconDescription", "onNavigationBack", "onRequestClose", "onUnmount", "open", "placement", "preventCloseOnClickOutside", "selectorPageContent", "selectorPrimaryFocus", "size", "slideIn", "slug", "subtitle", "title", "launcherButtonRef"],
28
28
  _excluded2 = ["label", "kind", "hasIconOnly", "icon", "renderIcon", "tooltipPosition", "tooltipAlignment", "leading", "disabled", "className", "onClick"];
29
29
  var blockClass = "".concat(pkg.prefix, "--side-panel");
30
30
  var componentName = 'SidePanel';
@@ -47,6 +47,7 @@ var defaults = {
47
47
  var SidePanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
48
48
  var actionToolbarButtons = _ref.actionToolbarButtons,
49
49
  actions = _ref.actions,
50
+ aiLabel = _ref.aiLabel,
50
51
  _ref$animateTitle = _ref.animateTitle,
51
52
  animateTitle = _ref$animateTitle === void 0 ? defaults.animateTitle : _ref$animateTitle,
52
53
  children = _ref.children,
@@ -334,7 +335,7 @@ var SidePanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
334
335
  }
335
336
  }, [animationComplete, firstElement, open, selectorPrimaryFocus, sidePanelRef, slideIn]);
336
337
  var primaryActionContainerClassNames = cx(["".concat(blockClass, "__actions-container"), _defineProperty({}, "".concat(blockClass, "__actions-container--condensed"), condensedActions)]);
337
- var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass), "".concat(blockClass, "--").concat(size), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "--right-placement"), placement === 'right'), "".concat(blockClass, "--left-placement"), placement === 'left'), "".concat(blockClass, "--slide-in"), slideIn), "".concat(blockClass, "--has-slug"), slug), "".concat(blockClass, "--condensed-actions"), condensedActions), "".concat(blockClass, "--has-overlay"), includeOverlay)]);
338
+ var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass), "".concat(blockClass, "--").concat(size), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "--right-placement"), placement === 'right'), "".concat(blockClass, "--left-placement"), placement === 'left'), "".concat(blockClass, "--slide-in"), slideIn), "".concat(blockClass, "--has-ai-label"), !!aiLabel || !!slug), "".concat(blockClass, "--condensed-actions"), condensedActions), "".concat(blockClass, "--has-overlay"), includeOverlay)]);
338
339
  var renderTitle = function renderTitle() {
339
340
  return /*#__PURE__*/React__default.createElement("div", {
340
341
  className: cx("".concat(blockClass, "__title"), _defineProperty({}, "".concat(blockClass, "__title--no-label"), !labelTextRef.current)),
@@ -350,13 +351,23 @@ var SidePanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
350
351
  }, title));
351
352
  };
352
353
  var renderHeader = function renderHeader() {
353
- var _slug$type;
354
- var slugCloseSize = actions && actions.length && /l/.test(size) ? 'md' : 'sm';
355
- var normalizedSlug;
354
+ var _slug$type, _aiLabel$type;
355
+ var aiLabelCloseSize = actions && actions.length && /l/.test(size) ? 'md' : 'sm';
356
+ var normalizedAILabel;
357
+ /**
358
+ * slug is deprecated
359
+ * can remove this condition in future release
360
+ */
356
361
  if (slug && ((_slug$type = slug['type']) === null || _slug$type === void 0 ? void 0 : _slug$type.displayName) === 'Slug') {
357
- normalizedSlug = /*#__PURE__*/React__default.cloneElement(slug, {
362
+ normalizedAILabel = /*#__PURE__*/React__default.cloneElement(slug, {
358
363
  // slug size is sm unless actions and size > md
359
- size: slugCloseSize
364
+ size: aiLabelCloseSize
365
+ });
366
+ }
367
+ if (aiLabel && ((_aiLabel$type = aiLabel['type']) === null || _aiLabel$type === void 0 ? void 0 : _aiLabel$type.displayName) === 'AILabel') {
368
+ normalizedAILabel = /*#__PURE__*/React__default.cloneElement(aiLabel, {
369
+ // aiLabel size is sm unless actions and size > md
370
+ size: aiLabelCloseSize
360
371
  });
361
372
  }
362
373
  return /*#__PURE__*/React__default.createElement("div", {
@@ -364,7 +375,7 @@ var SidePanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
364
375
  ref: headerRef
365
376
  }, currentStep > 0 && /*#__PURE__*/React__default.createElement(Button, {
366
377
  kind: "ghost",
367
- size: slugCloseSize,
378
+ size: aiLabelCloseSize,
368
379
  disabled: false,
369
380
  renderIcon: function renderIcon(props) {
370
381
  return /*#__PURE__*/React__default.createElement(ArrowLeft, _extends({
@@ -378,8 +389,8 @@ var SidePanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
378
389
  className: "".concat(blockClass, "__label-text"),
379
390
  ref: labelTextRef
380
391
  }, labelText), title && title.length && renderTitle(), /*#__PURE__*/React__default.createElement("div", {
381
- className: "".concat(blockClass, "__slug-and-close")
382
- }, normalizedSlug, /*#__PURE__*/React__default.createElement(IconButton, {
392
+ className: "".concat(blockClass, "__ai-label-and-close")
393
+ }, normalizedAILabel, /*#__PURE__*/React__default.createElement(IconButton, {
383
394
  className: "".concat(blockClass, "__close-button"),
384
395
  label: closeIconDescription,
385
396
  onClick: onRequestClose,
@@ -477,7 +488,14 @@ var SidePanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
477
488
 
478
489
  // Return a placeholder if not released and not enabled by feature flag
479
490
  SidePanel = pkg.checkComponentEnabled(SidePanel, componentName);
480
- SidePanel.propTypes = {
491
+ var deprecatedProps = {
492
+ /**
493
+ * **deprecated**
494
+ * **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
495
+ */
496
+ slug: PropTypes.node
497
+ };
498
+ SidePanel.propTypes = _objectSpread2({
481
499
  /**
482
500
  * Sets the action toolbar buttons
483
501
  */
@@ -614,10 +632,6 @@ SidePanel.propTypes = {
614
632
  */
615
633
  /**@ts-ignore*/
616
634
  slideIn: PropTypes.bool,
617
- /**
618
- * **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
619
- */
620
- slug: PropTypes.node,
621
635
  /**
622
636
  * Sets the subtitle text
623
637
  */
@@ -630,7 +644,7 @@ SidePanel.propTypes = {
630
644
  var labelText = _ref7.labelText;
631
645
  return labelText;
632
646
  })
633
- };
647
+ }, deprecatedProps);
634
648
  SidePanel.displayName = componentName;
635
649
 
636
650
  export { SidePanel };
@@ -51,8 +51,10 @@ var DatagridExpandedRow = function DatagridExpandedRow(ExpandedRowContentCompone
51
51
  className: "".concat(blockClass, "__expanded-row-cell-wrapper")
52
52
  }, /*#__PURE__*/React.createElement("div", {
53
53
  className: "".concat(blockClass, "__expanded-row-content"),
54
- style: {
55
- height: expandedContentHeight && expandedContentHeight
54
+ ref: function ref(el) {
55
+ if (el && el.style && expandedContentHeight) {
56
+ el.style.height = "".concat(expandedContentHeight, "px");
57
+ }
56
58
  }
57
59
  }, /*#__PURE__*/React.createElement(ExpandedRowContentComponent, _rollupPluginBabelHelpers.extends({
58
60
  key: key
@@ -110,9 +110,14 @@ type SidePanelBaseProps = {
110
110
  */
111
111
  slideIn?: boolean;
112
112
  /**
113
+ * @deprecated please use the `aiLabel` prop
113
114
  * **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
114
115
  */
115
116
  slug?: ReactNode;
117
+ /**
118
+ * Optional prop that is intended for any scenario where something is being generated by AI to reinforce AI transparency, accountability, and explainability at the UI level.
119
+ */
120
+ aiLabel?: ReactNode;
116
121
  /**
117
122
  * Sets the subtitle text
118
123
  */
@@ -26,7 +26,7 @@ var usePrefersReducedMotion = require('../../global/js/hooks/usePrefersReducedMo
26
26
  var useFocus = require('../../global/js/hooks/useFocus.js');
27
27
  var usePreviousValue = require('../../global/js/hooks/usePreviousValue.js');
28
28
 
29
- var _excluded = ["actionToolbarButtons", "actions", "animateTitle", "children", "className", "closeIconDescription", "condensedActions", "currentStep", "id", "includeOverlay", "labelText", "navigationBackIconDescription", "onNavigationBack", "onRequestClose", "onUnmount", "open", "placement", "preventCloseOnClickOutside", "selectorPageContent", "selectorPrimaryFocus", "size", "slideIn", "slug", "subtitle", "title", "launcherButtonRef"],
29
+ var _excluded = ["actionToolbarButtons", "actions", "aiLabel", "animateTitle", "children", "className", "closeIconDescription", "condensedActions", "currentStep", "id", "includeOverlay", "labelText", "navigationBackIconDescription", "onNavigationBack", "onRequestClose", "onUnmount", "open", "placement", "preventCloseOnClickOutside", "selectorPageContent", "selectorPrimaryFocus", "size", "slideIn", "slug", "subtitle", "title", "launcherButtonRef"],
30
30
  _excluded2 = ["label", "kind", "hasIconOnly", "icon", "renderIcon", "tooltipPosition", "tooltipAlignment", "leading", "disabled", "className", "onClick"];
31
31
  var blockClass = "".concat(settings.pkg.prefix, "--side-panel");
32
32
  var componentName = 'SidePanel';
@@ -49,6 +49,7 @@ var defaults = {
49
49
  exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
50
50
  var actionToolbarButtons = _ref.actionToolbarButtons,
51
51
  actions = _ref.actions,
52
+ aiLabel = _ref.aiLabel,
52
53
  _ref$animateTitle = _ref.animateTitle,
53
54
  animateTitle = _ref$animateTitle === void 0 ? defaults.animateTitle : _ref$animateTitle,
54
55
  children = _ref.children,
@@ -336,7 +337,7 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
336
337
  }
337
338
  }, [animationComplete, firstElement, open, selectorPrimaryFocus, sidePanelRef, slideIn]);
338
339
  var primaryActionContainerClassNames = cx(["".concat(blockClass, "__actions-container"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__actions-container--condensed"), condensedActions)]);
339
- var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass), "".concat(blockClass, "--").concat(size), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--right-placement"), placement === 'right'), "".concat(blockClass, "--left-placement"), placement === 'left'), "".concat(blockClass, "--slide-in"), slideIn), "".concat(blockClass, "--has-slug"), slug), "".concat(blockClass, "--condensed-actions"), condensedActions), "".concat(blockClass, "--has-overlay"), includeOverlay)]);
340
+ var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass), "".concat(blockClass, "--").concat(size), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--right-placement"), placement === 'right'), "".concat(blockClass, "--left-placement"), placement === 'left'), "".concat(blockClass, "--slide-in"), slideIn), "".concat(blockClass, "--has-ai-label"), !!aiLabel || !!slug), "".concat(blockClass, "--condensed-actions"), condensedActions), "".concat(blockClass, "--has-overlay"), includeOverlay)]);
340
341
  var renderTitle = function renderTitle() {
341
342
  return /*#__PURE__*/React.createElement("div", {
342
343
  className: cx("".concat(blockClass, "__title"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__title--no-label"), !labelTextRef.current)),
@@ -352,13 +353,23 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
352
353
  }, title));
353
354
  };
354
355
  var renderHeader = function renderHeader() {
355
- var _slug$type;
356
- var slugCloseSize = actions && actions.length && /l/.test(size) ? 'md' : 'sm';
357
- var normalizedSlug;
356
+ var _slug$type, _aiLabel$type;
357
+ var aiLabelCloseSize = actions && actions.length && /l/.test(size) ? 'md' : 'sm';
358
+ var normalizedAILabel;
359
+ /**
360
+ * slug is deprecated
361
+ * can remove this condition in future release
362
+ */
358
363
  if (slug && ((_slug$type = slug['type']) === null || _slug$type === void 0 ? void 0 : _slug$type.displayName) === 'Slug') {
359
- normalizedSlug = /*#__PURE__*/React.cloneElement(slug, {
364
+ normalizedAILabel = /*#__PURE__*/React.cloneElement(slug, {
360
365
  // slug size is sm unless actions and size > md
361
- size: slugCloseSize
366
+ size: aiLabelCloseSize
367
+ });
368
+ }
369
+ if (aiLabel && ((_aiLabel$type = aiLabel['type']) === null || _aiLabel$type === void 0 ? void 0 : _aiLabel$type.displayName) === 'AILabel') {
370
+ normalizedAILabel = /*#__PURE__*/React.cloneElement(aiLabel, {
371
+ // aiLabel size is sm unless actions and size > md
372
+ size: aiLabelCloseSize
362
373
  });
363
374
  }
364
375
  return /*#__PURE__*/React.createElement("div", {
@@ -366,7 +377,7 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
366
377
  ref: headerRef
367
378
  }, currentStep > 0 && /*#__PURE__*/React.createElement(react.Button, {
368
379
  kind: "ghost",
369
- size: slugCloseSize,
380
+ size: aiLabelCloseSize,
370
381
  disabled: false,
371
382
  renderIcon: function renderIcon(props) {
372
383
  return /*#__PURE__*/React.createElement(icons.ArrowLeft, _rollupPluginBabelHelpers.extends({
@@ -380,8 +391,8 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
380
391
  className: "".concat(blockClass, "__label-text"),
381
392
  ref: labelTextRef
382
393
  }, labelText), title && title.length && renderTitle(), /*#__PURE__*/React.createElement("div", {
383
- className: "".concat(blockClass, "__slug-and-close")
384
- }, normalizedSlug, /*#__PURE__*/React.createElement(react.IconButton, {
394
+ className: "".concat(blockClass, "__ai-label-and-close")
395
+ }, normalizedAILabel, /*#__PURE__*/React.createElement(react.IconButton, {
385
396
  className: "".concat(blockClass, "__close-button"),
386
397
  label: closeIconDescription,
387
398
  onClick: onRequestClose,
@@ -479,7 +490,14 @@ exports.SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
479
490
 
480
491
  // Return a placeholder if not released and not enabled by feature flag
481
492
  exports.SidePanel = settings.pkg.checkComponentEnabled(exports.SidePanel, componentName);
482
- exports.SidePanel.propTypes = {
493
+ var deprecatedProps = {
494
+ /**
495
+ * **deprecated**
496
+ * **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
497
+ */
498
+ slug: index.default.node
499
+ };
500
+ exports.SidePanel.propTypes = _rollupPluginBabelHelpers.objectSpread2({
483
501
  /**
484
502
  * Sets the action toolbar buttons
485
503
  */
@@ -616,10 +634,6 @@ exports.SidePanel.propTypes = {
616
634
  */
617
635
  /**@ts-ignore*/
618
636
  slideIn: index.default.bool,
619
- /**
620
- * **Experimental:** Provide a `Slug` component to be rendered inside the `SidePanel` component
621
- */
622
- slug: index.default.node,
623
637
  /**
624
638
  * Sets the subtitle text
625
639
  */
@@ -632,5 +646,5 @@ exports.SidePanel.propTypes = {
632
646
  var labelText = _ref7.labelText;
633
647
  return labelText;
634
648
  })
635
- };
649
+ }, deprecatedProps);
636
650
  exports.SidePanel.displayName = componentName;
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.295+dc53a099b",
4
+ "version": "2.43.2-canary.298+95c6489e3",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -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": "dc53a099baba3450d769b9e4581c524673529fa0"
123
+ "gitHead": "95c6489e30e5e20e344eff958e481ee22be9d465"
124
124
  }
@@ -109,7 +109,8 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
109
109
  left: 0;
110
110
  border-right: 1px solid $border-subtle-02;
111
111
  }
112
- &.#{$block-class}.#{$block-class}--has-slug {
112
+ &.#{$block-class}.#{$block-class}--has-slug,
113
+ &.#{$block-class}.#{$block-class}--has-ai-label {
113
114
  border-color: transparent;
114
115
  box-shadow: inset 0 -80px 70px -65px $ai-inner-shadow,
115
116
  0 4px 10px 2px $ai-drop-shadow;
@@ -195,13 +196,15 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
195
196
 
196
197
  &.#{$block-class}:has(.#{$block-class}__action-toolbar),
197
198
  &.#{$block-class}--has-action-toolbar,
198
- &.#{$block-class}--has-slug {
199
+ &.#{$block-class}--has-slug,
200
+ &.#{$block-class}--has-ai-label {
199
201
  --#{$block-class}--title-padding-right: #{$spacing-10};
200
202
  }
201
203
 
202
204
  &.#{$block-class}:has(.#{$block-class}__action-toolbar),
203
205
  &.#{$block-class}--has-action-toolbar {
204
- &.#{$block-class}--has-slug {
206
+ &.#{$block-class}--has-slug,
207
+ &.#{$block-class}--has-ai-label {
205
208
  --#{$block-class}--title-padding-right: #{$spacing-11};
206
209
  }
207
210
  }
@@ -308,7 +311,8 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
308
311
  padding-top: $spacing-03;
309
312
  }
310
313
 
311
- &.#{$block-class}--has-slug .#{$block-class}--scrolls {
314
+ &.#{$block-class}--has-slug .#{$block-class}--scrolls,
315
+ &.#{$block-class}--has-ai-label .#{$block-class}--scrolls {
312
316
  @include utilities.ai-popover-gradient('default', 0, 'layer');
313
317
 
314
318
  box-shadow: inset 0 -80px 70px -65px $ai-inner-shadow,
@@ -362,7 +366,8 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
362
366
  height: $spacing-08;
363
367
  }
364
368
 
365
- .#{$block-class}__slug-and-close {
369
+ .#{$block-class}__slug-and-close,
370
+ .#{$block-class}__ai-label-and-close {
366
371
  position: absolute;
367
372
  z-index: 10; /* must be higher than title container border bottom */
368
373
  top: 0;
@@ -464,7 +469,8 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
464
469
  inset: 0;
465
470
  }
466
471
 
467
- .#{$block-class}--has-slug + .#{$block-class}__overlay {
472
+ .#{$block-class}--has-slug + .#{$block-class}__overlay,
473
+ .#{$block-class}--has-ai-label + .#{$block-class}__overlay {
468
474
  /* stylelint-disable-next-line carbon/theme-token-use */
469
475
  background-color: $ai-overlay;
470
476
  }