@carbon/ibm-products 2.75.0-rc.0 → 2.76.0-rc.0
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.
- package/css/index-full-carbon.css +43 -11
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +34 -6
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +43 -11
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +43 -11
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.d.ts +39 -0
- package/es/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.js +97 -0
- package/es/components/Coachmark/next/Coachmark/CoachmarkTagline/index.d.ts +8 -0
- package/es/components/Coachmark/next/Coachmark/CoachmarkTagline/index.js +8 -0
- package/es/components/PageHeader/next/PageHeader.d.ts +10 -10
- package/es/components/PageHeader/next/PageHeader.js +55 -71
- package/es/components/PageHeader/next/index.d.ts +2 -2
- package/es/components/TagOverflow/TagOverflowPopover.js +7 -2
- package/es/components/TagSet/TagSetOverflow.js +7 -2
- package/es/components/index.d.ts +1 -0
- package/es/index.js +20 -18
- package/es/patterns/DeleteAndRemove/_story-assets/utils.d.ts +7 -0
- package/lib/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.d.ts +39 -0
- package/lib/components/Coachmark/next/Coachmark/CoachmarkTagline/CoachmarkTagline.js +99 -0
- package/lib/components/Coachmark/next/Coachmark/CoachmarkTagline/index.d.ts +8 -0
- package/lib/components/Coachmark/next/Coachmark/CoachmarkTagline/index.js +14 -0
- package/lib/components/PageHeader/next/PageHeader.d.ts +10 -10
- package/lib/components/PageHeader/next/PageHeader.js +54 -68
- package/lib/components/PageHeader/next/index.d.ts +2 -2
- package/lib/components/TagOverflow/TagOverflowPopover.js +7 -2
- package/lib/components/TagSet/TagSetOverflow.js +7 -2
- package/lib/components/index.d.ts +1 -0
- package/lib/index.js +29 -27
- package/lib/patterns/DeleteAndRemove/_story-assets/utils.d.ts +7 -0
- package/package.json +7 -7
- package/scss/components/PageHeader/_page-header.scss +26 -1
- package/scss/components/TagOverflow/_tag-overflow.scss +12 -6
- package/scss/components/TagSet/_tag-set.scss +12 -6
- package/telemetry.yml +4 -2
@@ -0,0 +1,99 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2025
|
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 _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
|
11
|
+
var React = require('react');
|
12
|
+
var index = require('../../../../../_virtual/index.js');
|
13
|
+
var cx = require('classnames');
|
14
|
+
var icons = require('@carbon/react/icons');
|
15
|
+
var react = require('@carbon/react');
|
16
|
+
var devtools = require('../../../../../global/js/utils/devtools.js');
|
17
|
+
var settings = require('../../../../../settings.js');
|
18
|
+
|
19
|
+
var _Idea;
|
20
|
+
|
21
|
+
// The block part of our conventional BEM class names (blockClass__E--M).
|
22
|
+
const blockClass = `${settings.pkg.prefix}--coachmark-tagline`;
|
23
|
+
const componentName = 'CoachmarkTagline';
|
24
|
+
const defaults = {
|
25
|
+
onClose: () => {},
|
26
|
+
closeIconDescription: 'Close'
|
27
|
+
};
|
28
|
+
/**
|
29
|
+
* DO NOT USE. This component is for the exclusive use
|
30
|
+
* of other Onboarding components.
|
31
|
+
*/
|
32
|
+
const CoachmarkTagline = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
33
|
+
let {
|
34
|
+
closeIconDescription = defaults.closeIconDescription,
|
35
|
+
onClose = defaults.onClose,
|
36
|
+
title,
|
37
|
+
buttonProps,
|
38
|
+
isOpen,
|
39
|
+
...rest
|
40
|
+
} = _ref;
|
41
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({}, rest, {
|
42
|
+
className: cx(blockClass, isOpen && `${blockClass}--is-open`),
|
43
|
+
ref: ref
|
44
|
+
}, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React.createElement("button", _rollupPluginBabelHelpers.extends({
|
45
|
+
className: `${blockClass}__cta`,
|
46
|
+
type: "button"
|
47
|
+
}, buttonProps), /*#__PURE__*/React.createElement("div", {
|
48
|
+
className: `${blockClass}__idea`
|
49
|
+
}, _Idea || (_Idea = /*#__PURE__*/React.createElement(icons.Idea, {
|
50
|
+
size: 16
|
51
|
+
}))), /*#__PURE__*/React.createElement("div", null, title)), /*#__PURE__*/React.createElement("div", {
|
52
|
+
className: `${blockClass}--close-btn-container`
|
53
|
+
}, /*#__PURE__*/React.createElement(react.Button, {
|
54
|
+
kind: "ghost",
|
55
|
+
size: "sm",
|
56
|
+
renderIcon: icons.Close,
|
57
|
+
iconDescription: closeIconDescription,
|
58
|
+
hasIconOnly: true,
|
59
|
+
className: `${blockClass}--close-btn`,
|
60
|
+
onClick: onClose
|
61
|
+
})));
|
62
|
+
});
|
63
|
+
|
64
|
+
// The display name of the component, used by React. Note that displayName
|
65
|
+
// is used in preference to relying on function.name.
|
66
|
+
CoachmarkTagline.displayName = componentName;
|
67
|
+
|
68
|
+
// The types and DocGen commentary for the component props,
|
69
|
+
// in alphabetical order (for consistency).
|
70
|
+
// See https://www.npmjs.com/package/prop-types#usage.
|
71
|
+
CoachmarkTagline.propTypes = {
|
72
|
+
/**
|
73
|
+
* button props
|
74
|
+
*/
|
75
|
+
buttonProps: index.default.shape({
|
76
|
+
/**@ts-ignore*/
|
77
|
+
...react.Button.propTypes,
|
78
|
+
/**@ts-ignore*/
|
79
|
+
id: index.default.string,
|
80
|
+
onClick: index.default.func,
|
81
|
+
onDoubleClick: index.default.func,
|
82
|
+
tabIndex: index.default.number,
|
83
|
+
['aria-expanded']: index.default.bool
|
84
|
+
}),
|
85
|
+
/**
|
86
|
+
* Tooltip text and aria label for the Close button icon.
|
87
|
+
*/
|
88
|
+
closeIconDescription: index.default.string,
|
89
|
+
/**
|
90
|
+
* Function to call when the close button is clicked.
|
91
|
+
*/
|
92
|
+
onClose: index.default.func,
|
93
|
+
/**
|
94
|
+
* The title of the tagline.
|
95
|
+
*/
|
96
|
+
title: index.default.string.isRequired
|
97
|
+
};
|
98
|
+
|
99
|
+
exports.CoachmarkTagline = CoachmarkTagline;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2025
|
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
|
+
export { CoachmarkTagline } from './CoachmarkTagline';
|
8
|
+
export type { CoachmarkTaglineProps } from './CoachmarkTagline';
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2025
|
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 CoachmarkTagline = require('./CoachmarkTagline.js');
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
exports.CoachmarkTagline = CoachmarkTagline.CoachmarkTagline;
|
@@ -6,7 +6,6 @@
|
|
6
6
|
*/
|
7
7
|
import React, { type ComponentType, type FunctionComponent } from 'react';
|
8
8
|
import { IconButtonProps, BreadcrumbItemProps, BreadcrumbProps } from '@carbon/react';
|
9
|
-
import { TYPES } from '@carbon/react/es/components/Tag/Tag';
|
10
9
|
/**
|
11
10
|
* ----------
|
12
11
|
* PageHeader
|
@@ -199,19 +198,19 @@ declare const PageHeaderHeroImage: {
|
|
199
198
|
* PageHeaderTabBar
|
200
199
|
* ----------------
|
201
200
|
*/
|
202
|
-
interface TagItem {
|
203
|
-
type: keyof typeof TYPES;
|
204
|
-
text: string;
|
205
|
-
size?: 'sm' | 'md' | 'lg';
|
206
|
-
id: string;
|
207
|
-
}
|
208
201
|
interface PageHeaderTabBarProps {
|
209
202
|
children?: React.ReactNode;
|
210
203
|
className?: string;
|
211
|
-
tags?:
|
204
|
+
tags?: React.ReactNode;
|
212
205
|
scroller?: React.ReactNode;
|
213
206
|
}
|
214
207
|
declare const PageHeaderTabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & React.RefAttributes<HTMLDivElement>>;
|
208
|
+
interface PageHeaderTagOverflowProps {
|
209
|
+
children: React.ReactNode;
|
210
|
+
renderOverflowTag?: (hiddenBreadcrumbs: HTMLElement[], handleOverflowClick: (event: React.MouseEvent) => void, openPopover: boolean) => React.ReactElement;
|
211
|
+
renderPopoverContent?: (hiddenBreadcrumbs: HTMLElement[]) => React.ReactElement;
|
212
|
+
}
|
213
|
+
declare const PageHeaderTagOverflow: React.ForwardRefExoticComponent<PageHeaderTagOverflowProps & React.RefAttributes<HTMLDivElement>>;
|
215
214
|
interface PageHeaderScrollButtonProps extends IconButtonProps {
|
216
215
|
collapseText?: string;
|
217
216
|
expandText?: string;
|
@@ -288,5 +287,6 @@ declare const TabBar: React.ForwardRefExoticComponent<PageHeaderTabBarProps & Re
|
|
288
287
|
declare const ScrollButton: React.ForwardRefExoticComponent<PageHeaderScrollButtonProps & React.RefAttributes<HTMLDivElement>>;
|
289
288
|
declare const TitleBreadcrumb: React.ForwardRefExoticComponent<BreadcrumbItemProps & React.RefAttributes<HTMLLIElement>>;
|
290
289
|
declare const BreadcrumbOverflow: React.ForwardRefExoticComponent<PageHeaderBreadcrumbOverflowProps & React.RefAttributes<HTMLElement>>;
|
291
|
-
|
292
|
-
export
|
290
|
+
declare const TagOverflow: React.ForwardRefExoticComponent<PageHeaderTagOverflowProps & React.RefAttributes<HTMLDivElement>>;
|
291
|
+
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderHeroImage, PageHeaderTabBar, PageHeaderScrollButton, PageHeaderTitleBreadcrumb, PageHeaderBreadcrumbOverflow, PageHeaderTagOverflow, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, HeroImage, TabBar, ScrollButton, TitleBreadcrumb, BreadcrumbOverflow, TagOverflow, };
|
292
|
+
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderHeroImageProps, PageHeaderTabBarProps, PageHeaderScrollButtonProps, PageHeaderTagOverflowProps, };
|
@@ -16,8 +16,6 @@ var layout = require('@carbon/layout');
|
|
16
16
|
var PageHeaderUtils = require('../PageHeaderUtils.js');
|
17
17
|
var overflowHandler = require('./overflowHandler.js');
|
18
18
|
var utilities = require('@carbon/utilities');
|
19
|
-
var useOverflowItems = require('../../../global/js/hooks/useOverflowItems/useOverflowItems.js');
|
20
|
-
var useId = require('../../../global/js/utils/useId.js');
|
21
19
|
var icons = require('@carbon/react/icons');
|
22
20
|
var context = require('./context.js');
|
23
21
|
var utils = require('./utils.js');
|
@@ -523,7 +521,7 @@ const PageHeaderTabBar = /*#__PURE__*/React.forwardRef(function PageHeaderTabBar
|
|
523
521
|
}, scroller);
|
524
522
|
|
525
523
|
// Early return if no tags are provided
|
526
|
-
if (!tags
|
524
|
+
if (!tags) {
|
527
525
|
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({
|
528
526
|
className: classNames,
|
529
527
|
ref: ref
|
@@ -533,17 +531,29 @@ const PageHeaderTabBar = /*#__PURE__*/React.forwardRef(function PageHeaderTabBar
|
|
533
531
|
sm: 4
|
534
532
|
}, children, renderScroller())));
|
535
533
|
}
|
534
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({
|
535
|
+
className: classNames,
|
536
|
+
ref: ref
|
537
|
+
}, other), /*#__PURE__*/React.createElement(react.Grid, null, /*#__PURE__*/React.createElement(react.Column, {
|
538
|
+
lg: 16,
|
539
|
+
md: 8,
|
540
|
+
sm: 4
|
541
|
+
}, /*#__PURE__*/React.createElement("div", {
|
542
|
+
className: cx(`${PageHeaderUtils.blockClass}__tab-bar--tablist`, {
|
543
|
+
[`${settings.pkg.prefix}--page-header__tab-bar--with-scroller`]: !!scroller
|
544
|
+
})
|
545
|
+
}, children, tags, renderScroller()))));
|
546
|
+
});
|
547
|
+
PageHeaderTabBar.displayName = 'PageHeaderTabBar';
|
548
|
+
const PageHeaderTagOverflow = /*#__PURE__*/React.forwardRef(_ref8 => {
|
549
|
+
let {
|
550
|
+
renderOverflowTag,
|
551
|
+
renderPopoverContent,
|
552
|
+
children
|
553
|
+
} = _ref8;
|
536
554
|
const [openPopover, setOpenPopover] = React.useState(false);
|
537
|
-
const
|
538
|
-
const instanceId = useId.useId('PageHeaderTabBar');
|
539
|
-
const tagsWithIds = React.useMemo(() => {
|
540
|
-
return tags.map((tag, index) => ({
|
541
|
-
...tag,
|
542
|
-
id: tag.id || `tag-${index}-${instanceId}`
|
543
|
-
}));
|
544
|
-
}, [instanceId, tags]);
|
555
|
+
const [hiddenTags, setHiddenTags] = React.useState([]);
|
545
556
|
const tagsContainerRef = React.useRef(null);
|
546
|
-
const offsetRef = React.useRef(null);
|
547
557
|
// To close popover when window resizes
|
548
558
|
React.useEffect(() => {
|
549
559
|
const handleResize = () => {
|
@@ -555,64 +565,36 @@ const PageHeaderTabBar = /*#__PURE__*/React.forwardRef(function PageHeaderTabBar
|
|
555
565
|
window.removeEventListener('resize', handleResize);
|
556
566
|
};
|
557
567
|
}, []);
|
558
|
-
|
559
|
-
// overflow items hook
|
560
|
-
const {
|
561
|
-
visibleItems = [],
|
562
|
-
hiddenItems = [],
|
563
|
-
itemRefHandler = () => {}
|
564
|
-
} = useOverflowItems.useOverflowItems(tagsWithIds, tagsContainerRef, offsetRef) || {
|
565
|
-
visibleItems: [],
|
566
|
-
hiddenItems: [],
|
567
|
-
itemRefHandler: () => {}
|
568
|
-
};
|
569
568
|
const handleOverflowClick = React.useCallback(event => {
|
570
569
|
event.stopPropagation();
|
571
570
|
setOpenPopover(prev => !prev);
|
572
571
|
}, []);
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
className: `${
|
584
|
-
|
572
|
+
React.useEffect(() => {
|
573
|
+
overflowHandler.createOverflowHandler({
|
574
|
+
container: tagsContainerRef.current,
|
575
|
+
onChange: (_, hidden) => {
|
576
|
+
setHiddenTags(hidden);
|
577
|
+
}
|
578
|
+
});
|
579
|
+
}, []);
|
580
|
+
return /*#__PURE__*/React.createElement("div", {
|
581
|
+
ref: tagsContainerRef,
|
582
|
+
className: cx(`${settings.pkg.prefix}--page-header--tag-overflow-container`, {
|
583
|
+
[`${settings.pkg.prefix}--page-header--tag-overflow-container__has-no-hidden-items`]: !hiddenTags.length
|
584
|
+
})
|
585
|
+
}, children, /*#__PURE__*/React.createElement(react.Popover, {
|
585
586
|
open: openPopover,
|
586
|
-
onRequestClose: () => setOpenPopover(false)
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
text: `+${hiddenItems.length}`,
|
591
|
-
size: tagSize
|
592
|
-
}), /*#__PURE__*/React.createElement(react.PopoverContent, {
|
593
|
-
className: "tag-popover-content"
|
594
|
-
}, /*#__PURE__*/React.createElement("div", {
|
595
|
-
className: `${PageHeaderUtils.blockClass}__tags-popover-list`
|
596
|
-
}, hiddenItems.map(tag => /*#__PURE__*/React.createElement(react.Tag, {
|
597
|
-
key: tag.id,
|
598
|
-
type: tag.type,
|
599
|
-
size: tag.size
|
600
|
-
}, tag.text))))));
|
601
|
-
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers.extends({
|
602
|
-
className: classNames,
|
603
|
-
ref: ref
|
604
|
-
}, other), /*#__PURE__*/React.createElement(react.Grid, null, /*#__PURE__*/React.createElement(react.Column, {
|
605
|
-
lg: 16,
|
606
|
-
md: 8,
|
607
|
-
sm: 4
|
608
|
-
}, /*#__PURE__*/React.createElement("div", {
|
609
|
-
className: cx(`${PageHeaderUtils.blockClass}__tab-bar--tablist`, {
|
610
|
-
[`${settings.pkg.prefix}--page-header__tab-bar--with-scroller`]: !!scroller
|
587
|
+
onRequestClose: () => setOpenPopover(false),
|
588
|
+
"data-fixed": true,
|
589
|
+
className: cx(`${settings.pkg.prefix}--page-header--tag-overflow-popover`, {
|
590
|
+
[`${settings.pkg.prefix}--page-header--tag-overflow-popover__hidden`]: !hiddenTags.length
|
611
591
|
})
|
612
|
-
},
|
592
|
+
}, renderOverflowTag?.(hiddenTags, handleOverflowClick, openPopover), /*#__PURE__*/React.createElement(react.PopoverContent, null, /*#__PURE__*/React.createElement("div", {
|
593
|
+
className: `${PageHeaderUtils.blockClass}__tags-popover-list`
|
594
|
+
}, renderPopoverContent?.(hiddenTags)))));
|
613
595
|
});
|
614
|
-
|
615
|
-
const PageHeaderScrollButton = /*#__PURE__*/React.forwardRef(function PageHeaderExpander(
|
596
|
+
PageHeaderTagOverflow.displayName = 'PageHeaderTagOverflow';
|
597
|
+
const PageHeaderScrollButton = /*#__PURE__*/React.forwardRef(function PageHeaderExpander(_ref9, ref) {
|
616
598
|
let {
|
617
599
|
className,
|
618
600
|
children,
|
@@ -621,7 +603,7 @@ const PageHeaderScrollButton = /*#__PURE__*/React.forwardRef(function PageHeader
|
|
621
603
|
collapseText = 'Collapse',
|
622
604
|
expandText = 'Expand',
|
623
605
|
...other
|
624
|
-
} =
|
606
|
+
} = _ref9;
|
625
607
|
const {
|
626
608
|
refs,
|
627
609
|
fullyCollapsed
|
@@ -666,12 +648,12 @@ const PageHeaderScrollButton = /*#__PURE__*/React.forwardRef(function PageHeader
|
|
666
648
|
})
|
667
649
|
}));
|
668
650
|
});
|
669
|
-
const PageHeaderTitleBreadcrumb = /*#__PURE__*/React.forwardRef((
|
651
|
+
const PageHeaderTitleBreadcrumb = /*#__PURE__*/React.forwardRef((_ref10, ref) => {
|
670
652
|
let {
|
671
653
|
className,
|
672
654
|
children,
|
673
655
|
...other
|
674
|
-
} =
|
656
|
+
} = _ref10;
|
675
657
|
const {
|
676
658
|
titleClipped,
|
677
659
|
refs
|
@@ -691,13 +673,13 @@ const PageHeaderTitleBreadcrumb = /*#__PURE__*/React.forwardRef((_ref9, ref) =>
|
|
691
673
|
// including the overflow breadcrumb item. The overflowHandler determines what elements
|
692
674
|
// are visible and hidden and passes the hidden elements back to the render prop used
|
693
675
|
// to display the overflow breadcrumb
|
694
|
-
const PageHeaderBreadcrumbOverflow = /*#__PURE__*/React.forwardRef((
|
676
|
+
const PageHeaderBreadcrumbOverflow = /*#__PURE__*/React.forwardRef((_ref11, ref) => {
|
695
677
|
let {
|
696
678
|
renderOverflowBreadcrumb,
|
697
679
|
className,
|
698
680
|
children,
|
699
681
|
...other
|
700
|
-
} =
|
682
|
+
} = _ref11;
|
701
683
|
const [hiddenBreadcrumbs, setHiddenBreadcrumbs] = React.useState([]);
|
702
684
|
const fallbackRef = React.useRef(null);
|
703
685
|
const componentRef = ref ?? fallbackRef;
|
@@ -777,6 +759,8 @@ const TitleBreadcrumb = PageHeaderTitleBreadcrumb;
|
|
777
759
|
TitleBreadcrumb.displayName = 'PageHeaderTitleBreadcrumb';
|
778
760
|
const BreadcrumbOverflow = PageHeaderBreadcrumbOverflow;
|
779
761
|
BreadcrumbOverflow.displayName = 'PageHeaderBreadcrumbOverflow';
|
762
|
+
const TagOverflow = PageHeaderTagOverflow;
|
763
|
+
TagOverflow.displayName = 'PageHeaderTagOverflow';
|
780
764
|
|
781
765
|
exports.BreadcrumbBar = BreadcrumbBar;
|
782
766
|
exports.BreadcrumbOverflow = BreadcrumbOverflow;
|
@@ -793,8 +777,10 @@ exports.PageHeaderContentText = PageHeaderContentText;
|
|
793
777
|
exports.PageHeaderHeroImage = PageHeaderHeroImage;
|
794
778
|
exports.PageHeaderScrollButton = PageHeaderScrollButton;
|
795
779
|
exports.PageHeaderTabBar = PageHeaderTabBar;
|
780
|
+
exports.PageHeaderTagOverflow = PageHeaderTagOverflow;
|
796
781
|
exports.PageHeaderTitleBreadcrumb = PageHeaderTitleBreadcrumb;
|
797
782
|
exports.Root = Root;
|
798
783
|
exports.ScrollButton = ScrollButton;
|
799
784
|
exports.TabBar = TabBar;
|
785
|
+
exports.TagOverflow = TagOverflow;
|
800
786
|
exports.TitleBreadcrumb = TitleBreadcrumb;
|
@@ -4,5 +4,5 @@
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
|
-
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderTabBar, PageHeaderHeroImage, PageHeaderScrollButton, PageHeaderTitleBreadcrumb, PageHeaderBreadcrumbOverflow, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, TabBar, HeroImage, ScrollButton, TitleBreadcrumb, BreadcrumbOverflow, } from './PageHeader';
|
8
|
-
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderTabBarProps, PageHeaderHeroImageProps, PageHeaderScrollButtonProps, } from './PageHeader';
|
7
|
+
export { PageHeader, PageHeaderBreadcrumbBar, PageHeaderContent, PageHeaderContentPageActions, PageHeaderContentText, PageHeaderTabBar, PageHeaderHeroImage, PageHeaderScrollButton, PageHeaderTitleBreadcrumb, PageHeaderBreadcrumbOverflow, PageHeaderTagOverflow, Root, BreadcrumbBar, Content, ContentPageActions, ContentText, TabBar, HeroImage, ScrollButton, TitleBreadcrumb, BreadcrumbOverflow, TagOverflow, } from './PageHeader';
|
8
|
+
export type { PageHeaderProps, PageHeaderBreadcrumbBarProps, PageHeaderContentProps, PageHeaderContentPageActionsProps, PageHeaderContentTextProps, PageHeaderTabBarProps, PageHeaderHeroImageProps, PageHeaderScrollButtonProps, PageHeaderTagOverflowProps, } from './PageHeader';
|
@@ -75,8 +75,13 @@ const TagOverflowPopover = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
75
75
|
}, /*#__PURE__*/React.createElement(react.OperationalTag, {
|
76
76
|
onClick: () => setPopoverOpen?.(!popoverOpen),
|
77
77
|
className: cx(`${blockClass}__trigger`),
|
78
|
-
text: `+${overflowTags.length}
|
79
|
-
|
78
|
+
text: `+${overflowTags.length}`,
|
79
|
+
"aria-expanded": popoverOpen,
|
80
|
+
"aria-controls": `${settings.pkg.prefix}-overflow-content`
|
81
|
+
}), /*#__PURE__*/React.createElement(react.PopoverContent, {
|
82
|
+
id: `${settings.pkg.prefix}-overflow-content`,
|
83
|
+
"aria-hidden": !popoverOpen
|
84
|
+
}, /*#__PURE__*/React.createElement("div", {
|
80
85
|
ref: overflowTagContent,
|
81
86
|
className: `${blockClass}__content`
|
82
87
|
}, /*#__PURE__*/React.createElement("ul", {
|
@@ -103,8 +103,13 @@ const TagSetOverflow = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
103
103
|
onClick: () => setPopoverOpen(!popoverOpen),
|
104
104
|
className: cx(`${blockClass}__popover-trigger`),
|
105
105
|
size: size,
|
106
|
-
text: `+${overflowTags.length}
|
107
|
-
|
106
|
+
text: `+${overflowTags.length}`,
|
107
|
+
"aria-expanded": popoverOpen,
|
108
|
+
"aria-controls": `${settings.pkg.prefix}-overflow-content`
|
109
|
+
}), /*#__PURE__*/React.createElement(react.PopoverContent, {
|
110
|
+
id: `${settings.pkg.prefix}-overflow-content`,
|
111
|
+
"aria-hidden": !popoverOpen
|
112
|
+
}, /*#__PURE__*/React.createElement("div", {
|
108
113
|
ref: overflowTagContent,
|
109
114
|
className: `${blockClass}__content`
|
110
115
|
}, /*#__PURE__*/React.createElement("ul", {
|
@@ -43,6 +43,7 @@ export * from './WebTerminal';
|
|
43
43
|
* draft | previewCandidate | preview
|
44
44
|
*/
|
45
45
|
export * as preview__Coachmark from './Coachmark/next/Coachmark';
|
46
|
+
export * as preview__CoachmarkTagline from './Coachmark/next/Coachmark/CoachmarkTagline';
|
46
47
|
export { FeatureFlags as preview__FeatureFlags, useFeatureFlag as preview__useFeatureFlag, useFeatureFlags as preview__useFeatureFlags, } from './FeatureFlags';
|
47
48
|
export * as preview__PageHeader from './PageHeader/next/PageHeader';
|
48
49
|
export * as previewCandidate__BigNumber from './BigNumber';
|
package/lib/index.js
CHANGED
@@ -53,11 +53,12 @@ var TearsheetNarrow = require('./components/Tearsheet/TearsheetNarrow.js');
|
|
53
53
|
var TruncatedText = require('./components/TruncatedText/TruncatedText.js');
|
54
54
|
var WebTerminal = require('./components/WebTerminal/WebTerminal.js');
|
55
55
|
var WebTerminalContentWrapper = require('./components/WebTerminal/WebTerminalContentWrapper.js');
|
56
|
-
var index$
|
56
|
+
var index$c = require('./components/WebTerminal/hooks/index.js');
|
57
57
|
var index = require('./components/Coachmark/next/Coachmark/index.js');
|
58
|
-
var index$
|
58
|
+
var index$1 = require('./components/Coachmark/next/Coachmark/CoachmarkTagline/index.js');
|
59
|
+
var index$b = require('./components/FeatureFlags/index.js');
|
59
60
|
var PageHeader = require('./components/PageHeader/next/PageHeader.js');
|
60
|
-
var index$
|
61
|
+
var index$2 = require('./components/BigNumber/index.js');
|
61
62
|
var Coachmark = require('./components/Coachmark/Coachmark.js');
|
62
63
|
var enums = require('./components/Coachmark/utils/enums.js');
|
63
64
|
var context = require('./components/Coachmark/utils/context.js');
|
@@ -67,11 +68,11 @@ var CoachmarkButton = require('./components/CoachmarkButton/CoachmarkButton.js')
|
|
67
68
|
var CoachmarkFixed = require('./components/CoachmarkFixed/CoachmarkFixed.js');
|
68
69
|
var CoachmarkOverlayElement = require('./components/CoachmarkOverlayElement/CoachmarkOverlayElement.js');
|
69
70
|
var CoachmarkOverlayElements = require('./components/CoachmarkOverlayElements/CoachmarkOverlayElements.js');
|
70
|
-
var index$
|
71
|
-
var index$
|
72
|
-
var index$
|
73
|
-
var index$
|
74
|
-
var index$
|
71
|
+
var index$3 = require('./components/ConditionBuilder/index.js');
|
72
|
+
var index$4 = require('./components/DataSpreadsheet/index.js');
|
73
|
+
var index$5 = require('./components/DelimitedList/index.js');
|
74
|
+
var index$6 = require('./components/Decorator/index.js');
|
75
|
+
var index$7 = require('./components/GetStartedCard/index.js');
|
75
76
|
var Guidebanner = require('./components/Guidebanner/Guidebanner.js');
|
76
77
|
var GuidebannerElement = require('./components/Guidebanner/GuidebannerElement.js');
|
77
78
|
var GuidebannerElementButton = require('./components/Guidebanner/GuidebannerElementButton.js');
|
@@ -79,14 +80,14 @@ var GuidebannerElementLink = require('./components/Guidebanner/GuidebannerElemen
|
|
79
80
|
var InlineTip = require('./components/InlineTip/InlineTip.js');
|
80
81
|
var InlineTipButton = require('./components/InlineTip/InlineTipButton.js');
|
81
82
|
var InlineTipLink = require('./components/InlineTip/InlineTipLink.js');
|
82
|
-
var index$
|
83
|
-
var index$
|
83
|
+
var index$8 = require('./components/NonLinearReading/index.js');
|
84
|
+
var index$9 = require('./components/SearchBar/index.js');
|
84
85
|
var Toolbar = require('./components/Toolbar/Toolbar.js');
|
85
86
|
var ToolbarButton = require('./components/Toolbar/ToolbarButton.js');
|
86
87
|
var ToolbarGroup = require('./components/Toolbar/ToolbarGroup.js');
|
87
|
-
var index$
|
88
|
+
var index$a = require('./components/TruncatedList/index.js');
|
88
89
|
var ComboButton = require('./components/ComboButton/ComboButton.js');
|
89
|
-
var index$
|
90
|
+
var index$d = require('./components/ComboButton/ComboButtonItem/index.js');
|
90
91
|
var Datagrid = require('./components/Datagrid/Datagrid/Datagrid.js');
|
91
92
|
var useDatagrid = require('./components/Datagrid/useDatagrid.js');
|
92
93
|
var useInfiniteScroll = require('./components/Datagrid/useInfiniteScroll.js');
|
@@ -195,14 +196,15 @@ Object.defineProperty(exports, "TruncatedText", {
|
|
195
196
|
});
|
196
197
|
exports.WebTerminal = WebTerminal.WebTerminal;
|
197
198
|
exports.WebTerminalContentWrapper = WebTerminalContentWrapper.WebTerminalContentWrapper;
|
198
|
-
exports.WebTerminalProvider = index$
|
199
|
-
exports.useWebTerminal = index$
|
199
|
+
exports.WebTerminalProvider = index$c.WebTerminalProvider;
|
200
|
+
exports.useWebTerminal = index$c.useWebTerminal;
|
200
201
|
exports.preview__Coachmark = index;
|
201
|
-
exports.
|
202
|
-
exports.
|
203
|
-
exports.
|
202
|
+
exports.preview__CoachmarkTagline = index$1;
|
203
|
+
exports.preview__FeatureFlags = index$b.FeatureFlags;
|
204
|
+
exports.preview__useFeatureFlag = index$b.useFeatureFlag;
|
205
|
+
exports.preview__useFeatureFlags = index$b.useFeatureFlags;
|
204
206
|
exports.preview__PageHeader = PageHeader;
|
205
|
-
exports.previewCandidate__BigNumber = index$
|
207
|
+
exports.previewCandidate__BigNumber = index$2;
|
206
208
|
exports.previewCandidate__Coachmark = Coachmark.Coachmark;
|
207
209
|
exports.BEACON_KIND = enums.BEACON_KIND;
|
208
210
|
exports.COACHMARK_ALIGNMENT = enums.COACHMARK_ALIGNMENT;
|
@@ -213,11 +215,11 @@ exports.previewCandidate__CoachmarkButton = CoachmarkButton.CoachmarkButton;
|
|
213
215
|
exports.previewCandidate__CoachmarkFixed = CoachmarkFixed.CoachmarkFixed;
|
214
216
|
exports.previewCandidate__CoachmarkOverlayElement = CoachmarkOverlayElement.CoachmarkOverlayElement;
|
215
217
|
exports.previewCandidate__CoachmarkOverlayElements = CoachmarkOverlayElements.CoachmarkOverlayElements;
|
216
|
-
exports.previewCandidate__ConditionBuilder = index$
|
217
|
-
exports.previewCandidate__DataSpreadsheet = index$
|
218
|
-
exports.previewCandidate__DelimitedList = index$
|
219
|
-
exports.previewCandidate__Decorator = index$
|
220
|
-
exports.previewCandidate__GetStartedCard = index$
|
218
|
+
exports.previewCandidate__ConditionBuilder = index$3;
|
219
|
+
exports.previewCandidate__DataSpreadsheet = index$4;
|
220
|
+
exports.previewCandidate__DelimitedList = index$5;
|
221
|
+
exports.previewCandidate__Decorator = index$6;
|
222
|
+
exports.previewCandidate__GetStartedCard = index$7;
|
221
223
|
exports.previewCandidate__Guidebanner = Guidebanner.Guidebanner;
|
222
224
|
exports.previewCandidate__GuidebannerElement = GuidebannerElement.GuidebannerElement;
|
223
225
|
exports.previewCandidate__GuidebannerElementButton = GuidebannerElementButton.GuidebannerElementButton;
|
@@ -225,14 +227,14 @@ exports.previewCandidate__GuidebannerElementLink = GuidebannerElementLink.Guideb
|
|
225
227
|
exports.previewCandidate__InlineTip = InlineTip.InlineTip;
|
226
228
|
exports.previewCandidate__InlineTipButton = InlineTipButton.InlineTipButton;
|
227
229
|
exports.previewCandidate__InlineTipLink = InlineTipLink.InlineTipLink;
|
228
|
-
exports.previewCandidate__NonLinearReading = index$
|
229
|
-
exports.previewCandidate__SearchBar = index$
|
230
|
+
exports.previewCandidate__NonLinearReading = index$8;
|
231
|
+
exports.previewCandidate__SearchBar = index$9;
|
230
232
|
exports.previewCandidate__Toolbar = Toolbar.Toolbar;
|
231
233
|
exports.previewCandidate__ToolbarButton = ToolbarButton.ToolbarButton;
|
232
234
|
exports.previewCandidate__ToolbarGroup = ToolbarGroup.ToolbarGroup;
|
233
|
-
exports.previewCandidate__TruncatedList = index$
|
235
|
+
exports.previewCandidate__TruncatedList = index$a;
|
234
236
|
exports.ComboButton = ComboButton.ComboButton;
|
235
|
-
exports.ComboButtonItem = index$
|
237
|
+
exports.ComboButtonItem = index$d.ComboButtonItem;
|
236
238
|
exports.Datagrid = Datagrid.Datagrid;
|
237
239
|
exports.useDatagrid = useDatagrid.default;
|
238
240
|
exports.useInfiniteScroll = useInfiniteScroll.default;
|
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.
|
4
|
+
"version": "2.76.0-rc.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -68,6 +68,7 @@
|
|
68
68
|
"@babel/preset-env": "^7.26.9",
|
69
69
|
"@babel/preset-react": "^7.26.3",
|
70
70
|
"@babel/preset-typescript": "^7.26.0",
|
71
|
+
"@figma/code-connect": "^1.3.5",
|
71
72
|
"@ibm/telemetry-js-config-generator": "^2.0.1",
|
72
73
|
"@percy/cli": "^1.31.0",
|
73
74
|
"@percy/storybook": "^9.0.0",
|
@@ -81,8 +82,7 @@
|
|
81
82
|
"@storybook/react-vite": "^9.0.13",
|
82
83
|
"@types/react-table": "^7.7.20",
|
83
84
|
"babel-plugin-dev-expression": "^0.2.3",
|
84
|
-
"babel-preset-ibm-cloud-cognitive": "^0.
|
85
|
-
"chalk": "^4.1.2",
|
85
|
+
"babel-preset-ibm-cloud-cognitive": "^0.34.0-rc.0",
|
86
86
|
"change-case": "5.4.4",
|
87
87
|
"classnames": "^2.5.1",
|
88
88
|
"copyfiles": "^2.4.1",
|
@@ -90,7 +90,7 @@
|
|
90
90
|
"fs-extra": "^11.3.0",
|
91
91
|
"glob": "^11.0.1",
|
92
92
|
"jest": "^29.7.0",
|
93
|
-
"jest-config-ibm-cloud-cognitive": "^1.
|
93
|
+
"jest-config-ibm-cloud-cognitive": "^1.35.0-rc.0",
|
94
94
|
"jest-environment-jsdom": "^29.7.0",
|
95
95
|
"namor": "^1.1.2",
|
96
96
|
"npm-run-all2": "^8.0.0",
|
@@ -107,9 +107,9 @@
|
|
107
107
|
},
|
108
108
|
"dependencies": {
|
109
109
|
"@babel/runtime": "^7.26.10",
|
110
|
-
"@carbon-labs/react-resizer": "^0.
|
110
|
+
"@carbon-labs/react-resizer": "^0.10.0",
|
111
111
|
"@carbon/feature-flags": "^0.30.0",
|
112
|
-
"@carbon/ibm-products-styles": "^2.
|
112
|
+
"@carbon/ibm-products-styles": "^2.72.0-rc.0",
|
113
113
|
"@carbon/telemetry": "^0.1.0",
|
114
114
|
"@carbon/utilities": "^0.9.0",
|
115
115
|
"@carbon/utilities-react": "0.12.0",
|
@@ -131,5 +131,5 @@
|
|
131
131
|
"react": "^16.8.6 || ^17.0.1 || ^18.2.0 || ^19.0.0",
|
132
132
|
"react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0 || ^19.0.0"
|
133
133
|
},
|
134
|
-
"gitHead": "
|
134
|
+
"gitHead": "bf120ae9c3bf30ed5898cd7684f1f04ac3d137d9"
|
135
135
|
}
|
@@ -794,6 +794,7 @@ $duration: 1000ms;
|
|
794
794
|
|
795
795
|
.#{$block-class}__content {
|
796
796
|
padding: $spacing-06 0;
|
797
|
+
background-color: $layer;
|
797
798
|
}
|
798
799
|
|
799
800
|
.#{$block-class}__content__title-wrapper {
|
@@ -903,12 +904,13 @@ $duration: 1000ms;
|
|
903
904
|
}
|
904
905
|
|
905
906
|
.#{$block-class}__tab-bar {
|
907
|
+
background-color: $layer;
|
906
908
|
margin-inline-start: -$spacing-05;
|
907
909
|
}
|
908
910
|
|
909
911
|
.#{$block-class}__tab-bar--tablist {
|
910
912
|
display: grid;
|
911
|
-
|
913
|
+
gap: $spacing-07;
|
912
914
|
grid-template-columns: auto minmax(0, 1fr);
|
913
915
|
}
|
914
916
|
|
@@ -966,6 +968,29 @@ $duration: 1000ms;
|
|
966
968
|
padding: $spacing-05;
|
967
969
|
}
|
968
970
|
|
971
|
+
.#{$block-class}--tag-overflow-container {
|
972
|
+
align-content: center;
|
973
|
+
text-align: end;
|
974
|
+
@include breakpoint(sm) {
|
975
|
+
transform: translateX(calc(-1 * #{$spacing-06}));
|
976
|
+
}
|
977
|
+
@include breakpoint(md) {
|
978
|
+
transform: translateX(calc(-1 * #{$spacing-03}));
|
979
|
+
}
|
980
|
+
@include breakpoint(lg) {
|
981
|
+
transform: translateX($spacing-08);
|
982
|
+
}
|
983
|
+
}
|
984
|
+
|
985
|
+
.#{$block-class}--tag-overflow-popover__hidden {
|
986
|
+
visibility: hidden;
|
987
|
+
}
|
988
|
+
|
989
|
+
.#{$block-class}--tag-overflow-container__has-no-hidden-items {
|
990
|
+
/* stylelint-disable-next-line carbon/layout-use */
|
991
|
+
transform: translateX($spacing-07);
|
992
|
+
}
|
993
|
+
|
969
994
|
.#{$block-class}__tag-item {
|
970
995
|
flex-shrink: 0;
|
971
996
|
}
|