@trackunit/react-components 1.22.29 → 1.23.3
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/index.cjs.js +31 -31
- package/index.esm.js +32 -30
- package/package.json +6 -5
- package/src/components/Breadcrumb/Breadcrumb.d.ts +1 -7
- package/src/components/Breadcrumb/BreadcrumbContainer.d.ts +8 -0
- package/src/components/PageHeader/components/ActionRenderer.d.ts +25 -0
- package/src/components/PageHeader/components/PageHeaderSecondaryActions.d.ts +0 -21
package/index.cjs.js
CHANGED
|
@@ -1348,6 +1348,19 @@ const Badge = ({ color = "primary", size = "default", compact = false, className
|
|
|
1348
1348
|
return (jsxRuntime.jsx("span", { className: cvaBadge({ color, size, className, compact, isSingleChar }), "data-testid": dataTestId, ref: ref, style: style, children: compact ? null : displayedCount }));
|
|
1349
1349
|
};
|
|
1350
1350
|
|
|
1351
|
+
const cvaBreadcrumb = cssClassVarianceUtilities.cvaMerge(["my-4", "flex", "place-items-center"]);
|
|
1352
|
+
const cvaBreadcrumbItem = cssClassVarianceUtilities.cvaMerge(["flex", "items-center"]);
|
|
1353
|
+
const cvaBreadcrumbForLargeScreen = cssClassVarianceUtilities.cvaMerge(["flex", "flex-nowrap", "items-center"]);
|
|
1354
|
+
const cvaBreadcrumbForMediumScreen = cssClassVarianceUtilities.cvaMerge(["flex", "items-center"], {
|
|
1355
|
+
variants: {
|
|
1356
|
+
expanded: {
|
|
1357
|
+
true: "flex-wrap",
|
|
1358
|
+
false: "flex-nowrap",
|
|
1359
|
+
},
|
|
1360
|
+
},
|
|
1361
|
+
defaultVariants: { expanded: false },
|
|
1362
|
+
});
|
|
1363
|
+
|
|
1351
1364
|
/**
|
|
1352
1365
|
* Maps size keys to their corresponding state property names.
|
|
1353
1366
|
*/
|
|
@@ -1445,19 +1458,6 @@ const useViewportBreakpoints = (options = {}) => {
|
|
|
1445
1458
|
return viewportSize;
|
|
1446
1459
|
};
|
|
1447
1460
|
|
|
1448
|
-
const cvaBreadcrumb = cssClassVarianceUtilities.cvaMerge(["my-4", "flex", "place-items-center"]);
|
|
1449
|
-
const cvaBreadcrumbItem = cssClassVarianceUtilities.cvaMerge(["flex", "items-center"]);
|
|
1450
|
-
const cvaBreadcrumbForLargeScreen = cssClassVarianceUtilities.cvaMerge(["flex", "flex-nowrap", "items-center"]);
|
|
1451
|
-
const cvaBreadcrumbForMediumScreen = cssClassVarianceUtilities.cvaMerge(["flex", "items-center"], {
|
|
1452
|
-
variants: {
|
|
1453
|
-
expanded: {
|
|
1454
|
-
true: "flex-wrap",
|
|
1455
|
-
false: "flex-nowrap",
|
|
1456
|
-
},
|
|
1457
|
-
},
|
|
1458
|
-
defaultVariants: { expanded: false },
|
|
1459
|
-
});
|
|
1460
|
-
|
|
1461
1461
|
/**
|
|
1462
1462
|
* BreadcrumbItem is a helper component that renders the individual breadcrumb item.
|
|
1463
1463
|
*/
|
|
@@ -1500,6 +1500,23 @@ const BreadcrumbForSmallScreen = ({ "data-testid": dataTestId, breadcrumbItems,
|
|
|
1500
1500
|
return (jsxRuntime.jsx("div", { className: className, "data-testid": dataTestId, style: style, children: lastBreadcrumbItem.map((item, index) => (jsxRuntime.jsx(BreadcrumbItem, { "data-testid": `breadcrumbItem-${dataTestId}`, item: item }, `breadcrumbItem-${index}`))) }));
|
|
1501
1501
|
};
|
|
1502
1502
|
|
|
1503
|
+
/**
|
|
1504
|
+
* BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
|
|
1505
|
+
*
|
|
1506
|
+
* @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
|
|
1507
|
+
*/
|
|
1508
|
+
const BreadcrumbContainer = ({ className, "data-testid": dataTestId, breadcrumbItems, style, ref, }) => {
|
|
1509
|
+
const { isMd: isMediumScreen, isXs: isSmallScreen } = useViewportBreakpoints();
|
|
1510
|
+
const sharedContainerProps = { className, "data-testid": dataTestId, ref, style };
|
|
1511
|
+
if (isMediumScreen) {
|
|
1512
|
+
return (jsxRuntime.jsx("div", { ...sharedContainerProps, children: jsxRuntime.jsx(BreadcrumbForMediumScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `mediumScreen-${dataTestId}` }) }));
|
|
1513
|
+
}
|
|
1514
|
+
if (isSmallScreen) {
|
|
1515
|
+
return (jsxRuntime.jsx("div", { ...sharedContainerProps, children: jsxRuntime.jsx(BreadcrumbForSmallScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `smallScreen-${dataTestId}` }) }));
|
|
1516
|
+
}
|
|
1517
|
+
return (jsxRuntime.jsx("div", { ...sharedContainerProps, children: jsxRuntime.jsx(BreadcrumbForLargeScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `largeScreen-${dataTestId}` }) }));
|
|
1518
|
+
};
|
|
1519
|
+
|
|
1503
1520
|
/**
|
|
1504
1521
|
* useBreadcrumbItemsToRender is a custom hook that takes an array of BreadcrumbItemProps and returns an array of React.ReactElement
|
|
1505
1522
|
*/
|
|
@@ -1553,22 +1570,6 @@ const Breadcrumb = ({ className, "data-testid": dataTestId, breadcrumbItems, onC
|
|
|
1553
1570
|
const breadCrumbItemsToJSX = useBreadcrumbItemsToRender(breadcrumbItems);
|
|
1554
1571
|
return (jsxRuntime.jsxs("div", { className: cvaBreadcrumb({ className }), "data-testid": dataTestId, ref: ref, style: style, children: [jsxRuntime.jsx(IconButton, { "data-testid": `backButton-${dataTestId}`, icon: jsxRuntime.jsx(Icon, { name: "ArrowLeft", size: "small" }), onClick: onClickBack, size: "small", variant: "ghost-neutral" }), jsxRuntime.jsx("div", { children: jsxRuntime.jsx(BreadcrumbContainer, { breadcrumbItems: breadCrumbItemsToJSX, "data-testid": dataTestId }) })] }));
|
|
1555
1572
|
};
|
|
1556
|
-
/**
|
|
1557
|
-
* BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
|
|
1558
|
-
*
|
|
1559
|
-
* @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
|
|
1560
|
-
*/
|
|
1561
|
-
const BreadcrumbContainer = ({ className, "data-testid": dataTestId, breadcrumbItems, style, ref, }) => {
|
|
1562
|
-
const { isMd: isMediumScreen, isXs: isSmallScreen } = useViewportBreakpoints();
|
|
1563
|
-
const sharedContainerProps = { className, "data-testid": dataTestId, ref, style };
|
|
1564
|
-
if (isMediumScreen) {
|
|
1565
|
-
return (jsxRuntime.jsx("div", { ...sharedContainerProps, children: jsxRuntime.jsx(BreadcrumbForMediumScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `mediumScreen-${dataTestId}` }) }));
|
|
1566
|
-
}
|
|
1567
|
-
if (isSmallScreen) {
|
|
1568
|
-
return (jsxRuntime.jsx("div", { ...sharedContainerProps, children: jsxRuntime.jsx(BreadcrumbForSmallScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `smallScreen-${dataTestId}` }) }));
|
|
1569
|
-
}
|
|
1570
|
-
return (jsxRuntime.jsx("div", { ...sharedContainerProps, children: jsxRuntime.jsx(BreadcrumbForLargeScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `largeScreen-${dataTestId}` }) }));
|
|
1571
|
-
};
|
|
1572
1573
|
|
|
1573
1574
|
/**
|
|
1574
1575
|
* StarButton renders a clickable star icon for toggling favorite/starred state.
|
|
@@ -6886,6 +6887,7 @@ function ActionRenderer({ action, isMenuItem = false, externalOnClick }) {
|
|
|
6886
6887
|
// Finally, wrap with Link if `to` is provided
|
|
6887
6888
|
return to !== undefined && to !== "" ? (jsxRuntime.jsx(reactRouter.Link, { target: target, to: to, children: wrappedWithTooltip })) : (wrappedWithTooltip);
|
|
6888
6889
|
}
|
|
6890
|
+
|
|
6889
6891
|
/**
|
|
6890
6892
|
* The PageHeaderSecondaryActions component is used to render the secondary actions in the PageHeader component.
|
|
6891
6893
|
*
|
|
@@ -12488,11 +12490,9 @@ const useWindowActivity = ({ onFocus, onBlur, skip = false } = { onBlur: undefin
|
|
|
12488
12490
|
return react.useMemo(() => ({ focused }), [focused]);
|
|
12489
12491
|
};
|
|
12490
12492
|
|
|
12491
|
-
exports.ActionRenderer = ActionRenderer;
|
|
12492
12493
|
exports.Alert = Alert;
|
|
12493
12494
|
exports.Badge = Badge;
|
|
12494
12495
|
exports.Breadcrumb = Breadcrumb;
|
|
12495
|
-
exports.BreadcrumbContainer = BreadcrumbContainer;
|
|
12496
12496
|
exports.Button = Button;
|
|
12497
12497
|
exports.Card = Card;
|
|
12498
12498
|
exports.CardBody = CardBody;
|
package/index.esm.js
CHANGED
|
@@ -1346,6 +1346,19 @@ const Badge = ({ color = "primary", size = "default", compact = false, className
|
|
|
1346
1346
|
return (jsx("span", { className: cvaBadge({ color, size, className, compact, isSingleChar }), "data-testid": dataTestId, ref: ref, style: style, children: compact ? null : displayedCount }));
|
|
1347
1347
|
};
|
|
1348
1348
|
|
|
1349
|
+
const cvaBreadcrumb = cvaMerge(["my-4", "flex", "place-items-center"]);
|
|
1350
|
+
const cvaBreadcrumbItem = cvaMerge(["flex", "items-center"]);
|
|
1351
|
+
const cvaBreadcrumbForLargeScreen = cvaMerge(["flex", "flex-nowrap", "items-center"]);
|
|
1352
|
+
const cvaBreadcrumbForMediumScreen = cvaMerge(["flex", "items-center"], {
|
|
1353
|
+
variants: {
|
|
1354
|
+
expanded: {
|
|
1355
|
+
true: "flex-wrap",
|
|
1356
|
+
false: "flex-nowrap",
|
|
1357
|
+
},
|
|
1358
|
+
},
|
|
1359
|
+
defaultVariants: { expanded: false },
|
|
1360
|
+
});
|
|
1361
|
+
|
|
1349
1362
|
/**
|
|
1350
1363
|
* Maps size keys to their corresponding state property names.
|
|
1351
1364
|
*/
|
|
@@ -1443,19 +1456,6 @@ const useViewportBreakpoints = (options = {}) => {
|
|
|
1443
1456
|
return viewportSize;
|
|
1444
1457
|
};
|
|
1445
1458
|
|
|
1446
|
-
const cvaBreadcrumb = cvaMerge(["my-4", "flex", "place-items-center"]);
|
|
1447
|
-
const cvaBreadcrumbItem = cvaMerge(["flex", "items-center"]);
|
|
1448
|
-
const cvaBreadcrumbForLargeScreen = cvaMerge(["flex", "flex-nowrap", "items-center"]);
|
|
1449
|
-
const cvaBreadcrumbForMediumScreen = cvaMerge(["flex", "items-center"], {
|
|
1450
|
-
variants: {
|
|
1451
|
-
expanded: {
|
|
1452
|
-
true: "flex-wrap",
|
|
1453
|
-
false: "flex-nowrap",
|
|
1454
|
-
},
|
|
1455
|
-
},
|
|
1456
|
-
defaultVariants: { expanded: false },
|
|
1457
|
-
});
|
|
1458
|
-
|
|
1459
1459
|
/**
|
|
1460
1460
|
* BreadcrumbItem is a helper component that renders the individual breadcrumb item.
|
|
1461
1461
|
*/
|
|
@@ -1498,6 +1498,23 @@ const BreadcrumbForSmallScreen = ({ "data-testid": dataTestId, breadcrumbItems,
|
|
|
1498
1498
|
return (jsx("div", { className: className, "data-testid": dataTestId, style: style, children: lastBreadcrumbItem.map((item, index) => (jsx(BreadcrumbItem, { "data-testid": `breadcrumbItem-${dataTestId}`, item: item }, `breadcrumbItem-${index}`))) }));
|
|
1499
1499
|
};
|
|
1500
1500
|
|
|
1501
|
+
/**
|
|
1502
|
+
* BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
|
|
1503
|
+
*
|
|
1504
|
+
* @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
|
|
1505
|
+
*/
|
|
1506
|
+
const BreadcrumbContainer = ({ className, "data-testid": dataTestId, breadcrumbItems, style, ref, }) => {
|
|
1507
|
+
const { isMd: isMediumScreen, isXs: isSmallScreen } = useViewportBreakpoints();
|
|
1508
|
+
const sharedContainerProps = { className, "data-testid": dataTestId, ref, style };
|
|
1509
|
+
if (isMediumScreen) {
|
|
1510
|
+
return (jsx("div", { ...sharedContainerProps, children: jsx(BreadcrumbForMediumScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `mediumScreen-${dataTestId}` }) }));
|
|
1511
|
+
}
|
|
1512
|
+
if (isSmallScreen) {
|
|
1513
|
+
return (jsx("div", { ...sharedContainerProps, children: jsx(BreadcrumbForSmallScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `smallScreen-${dataTestId}` }) }));
|
|
1514
|
+
}
|
|
1515
|
+
return (jsx("div", { ...sharedContainerProps, children: jsx(BreadcrumbForLargeScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `largeScreen-${dataTestId}` }) }));
|
|
1516
|
+
};
|
|
1517
|
+
|
|
1501
1518
|
/**
|
|
1502
1519
|
* useBreadcrumbItemsToRender is a custom hook that takes an array of BreadcrumbItemProps and returns an array of React.ReactElement
|
|
1503
1520
|
*/
|
|
@@ -1551,22 +1568,6 @@ const Breadcrumb = ({ className, "data-testid": dataTestId, breadcrumbItems, onC
|
|
|
1551
1568
|
const breadCrumbItemsToJSX = useBreadcrumbItemsToRender(breadcrumbItems);
|
|
1552
1569
|
return (jsxs("div", { className: cvaBreadcrumb({ className }), "data-testid": dataTestId, ref: ref, style: style, children: [jsx(IconButton, { "data-testid": `backButton-${dataTestId}`, icon: jsx(Icon, { name: "ArrowLeft", size: "small" }), onClick: onClickBack, size: "small", variant: "ghost-neutral" }), jsx("div", { children: jsx(BreadcrumbContainer, { breadcrumbItems: breadCrumbItemsToJSX, "data-testid": dataTestId }) })] }));
|
|
1553
1570
|
};
|
|
1554
|
-
/**
|
|
1555
|
-
* BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
|
|
1556
|
-
*
|
|
1557
|
-
* @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
|
|
1558
|
-
*/
|
|
1559
|
-
const BreadcrumbContainer = ({ className, "data-testid": dataTestId, breadcrumbItems, style, ref, }) => {
|
|
1560
|
-
const { isMd: isMediumScreen, isXs: isSmallScreen } = useViewportBreakpoints();
|
|
1561
|
-
const sharedContainerProps = { className, "data-testid": dataTestId, ref, style };
|
|
1562
|
-
if (isMediumScreen) {
|
|
1563
|
-
return (jsx("div", { ...sharedContainerProps, children: jsx(BreadcrumbForMediumScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `mediumScreen-${dataTestId}` }) }));
|
|
1564
|
-
}
|
|
1565
|
-
if (isSmallScreen) {
|
|
1566
|
-
return (jsx("div", { ...sharedContainerProps, children: jsx(BreadcrumbForSmallScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `smallScreen-${dataTestId}` }) }));
|
|
1567
|
-
}
|
|
1568
|
-
return (jsx("div", { ...sharedContainerProps, children: jsx(BreadcrumbForLargeScreen, { breadcrumbItems: breadcrumbItems, "data-testid": `largeScreen-${dataTestId}` }) }));
|
|
1569
|
-
};
|
|
1570
1571
|
|
|
1571
1572
|
/**
|
|
1572
1573
|
* StarButton renders a clickable star icon for toggling favorite/starred state.
|
|
@@ -6884,6 +6885,7 @@ function ActionRenderer({ action, isMenuItem = false, externalOnClick }) {
|
|
|
6884
6885
|
// Finally, wrap with Link if `to` is provided
|
|
6885
6886
|
return to !== undefined && to !== "" ? (jsx(Link, { target: target, to: to, children: wrappedWithTooltip })) : (wrappedWithTooltip);
|
|
6886
6887
|
}
|
|
6888
|
+
|
|
6887
6889
|
/**
|
|
6888
6890
|
* The PageHeaderSecondaryActions component is used to render the secondary actions in the PageHeader component.
|
|
6889
6891
|
*
|
|
@@ -12486,4 +12488,4 @@ const useWindowActivity = ({ onFocus, onBlur, skip = false } = { onBlur: undefin
|
|
|
12486
12488
|
return useMemo(() => ({ focused }), [focused]);
|
|
12487
12489
|
};
|
|
12488
12490
|
|
|
12489
|
-
export {
|
|
12491
|
+
export { Alert, Badge, Breadcrumb, Button, Card, CardBody, CardFooter, CardHeader, Collapse, CompletionStatusIndicator, CopyableText, DEFAULT_SKELETON_PREFERENCE_CARD_PROPS, DetailsList, EmptyState, EmptyValue, ExternalLink, GridAreas, Heading, Highlight, HorizontalOverflowScroller, Icon, IconButton, Indicator, KPI, KPICard, KPICardSkeleton, KPISkeleton, List, ListItem, MAX_URL_LENGTH, MenuDivider, MenuItem, MenuList, MoreMenu, Notice, PackageNameStoryComponent, Page, PageContent, PageHeader, PageHeaderKpiMetrics, PageHeaderSecondaryActions, PageHeaderTitle, Pagination, Polygon, Popover, PopoverContent, PopoverTitle, PopoverTrigger, Portal, PreferenceCard, PreferenceCardSkeleton, Prompt, ROLE_CARD, SHEET_TRANSITION_DURATION, SHEET_TRANSITION_DURATION_MS, SHEET_TRANSITION_EASING, SectionHeader, SegmentedValueBar, Sheet, Sidebar, SkeletonBlock, SkeletonLabel, SkeletonLines, Spacer, Spinner, StarButton, Tab, TabContent, TabList, Tabs, Tag, Text, ToggleGroup, Tooltip, TrendIndicator, TrendIndicators, ValueBar, ZStack, createGrid, cvaButton, cvaButtonPrefixSuffix, cvaButtonSpinner, cvaButtonSpinnerContainer, cvaClickable, cvaContainerStyles, cvaContentContainer, cvaContentWrapper, cvaDescriptionCard, cvaIconBackground, cvaIconButton, cvaImgStyles, cvaIndicator, cvaIndicatorIcon, cvaIndicatorIconBackground, cvaIndicatorLabel, cvaIndicatorPing, cvaInputContainer, cvaInteractableItem, cvaList, cvaListContainer, cvaListItem$1 as cvaListItem, cvaMenu, cvaMenuItem, cvaMenuItemLabel, cvaMenuItemPrefix, cvaMenuItemStyle, cvaMenuItemSuffix, cvaMenuList, cvaMenuListDivider, cvaMenuListItem, cvaMenuListMultiSelect, cvaPageHeader, cvaPageHeaderContainer, cvaPageHeaderHeading, cvaPreferenceCard, cvaTitleCard, cvaToggleGroup, cvaToggleGroupWithSlidingBackground, cvaToggleItem, cvaToggleItemContent, cvaToggleItemText, cvaZStackContainer, cvaZStackItem, defaultPageSize, docs, getDevicePixelRatio, getValueBarColorByValue, iconColorNames, iconPalette, noPagination, preferenceCardGrid, storageSerializer, useBidirectionalScroll, useClickOutside, useContainerBreakpoints, useContinuousTimeout, useCopyToClipboard, useCursorUrlSync, useCustomEncoding, useDebounce, useDevicePixelRatio, useElevatedReducer, useElevatedState, useGridAreas, useHover, useInfiniteScroll, useIsFirstRender, useIsFullscreen, useIsTextTruncated, useKeyboardShortcut, useList, useListItemHeight, useLocalStorage, useLocalStorageReducer, useMeasure, useMergeRefs, useModifierKey, useOverflowBorder, useOverflowItems, usePersistedState, usePopoverContext, usePrevious, usePrompt, useRandomCSSLengths, useRelayPagination, useResize, useScrollBlock, useScrollDetection, useSearchParamSync, useSelfUpdatingRef, useSessionStorage, useSessionStorageReducer, useSheet, useSheetSnap, useStorageKey, useTextSearch, useTimeout, useViewportBreakpoints, useWatch, useWindowActivity };
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/react-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.3",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
|
+
"migrations": "./migrations.json",
|
|
6
7
|
"engines": {
|
|
7
8
|
"node": ">=24.x"
|
|
8
9
|
},
|
|
@@ -13,10 +14,10 @@
|
|
|
13
14
|
"@floating-ui/react": "^0.26.25",
|
|
14
15
|
"string-ts": "^2.0.0",
|
|
15
16
|
"tailwind-merge": "^2.0.0",
|
|
16
|
-
"@trackunit/ui-design-tokens": "1.
|
|
17
|
-
"@trackunit/css-class-variance-utilities": "1.
|
|
18
|
-
"@trackunit/shared-utils": "1.
|
|
19
|
-
"@trackunit/ui-icons": "1.
|
|
17
|
+
"@trackunit/ui-design-tokens": "1.12.2",
|
|
18
|
+
"@trackunit/css-class-variance-utilities": "1.12.2",
|
|
19
|
+
"@trackunit/shared-utils": "1.14.2",
|
|
20
|
+
"@trackunit/ui-icons": "1.12.3",
|
|
20
21
|
"es-toolkit": "^1.39.10",
|
|
21
22
|
"@tanstack/react-virtual": "3.13.12",
|
|
22
23
|
"dequal": "^2.0.3",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { BreadcrumbProps } from "./utils/types";
|
|
3
3
|
/**
|
|
4
4
|
* The breadcrumb component shows a user's location in a website or application. Breadcrumbs are particularly useful when a large amount of content is organized in a hierarchical manner. They streamline navigation, minimize the steps required to revisit previous pages, and offer contextual insights to the users.
|
|
5
5
|
*
|
|
@@ -37,9 +37,3 @@ import { BreadcrumbContainerProps, BreadcrumbProps } from "./utils/types";
|
|
|
37
37
|
* @returns {ReactElement} Breadcrumb component
|
|
38
38
|
*/
|
|
39
39
|
export declare const Breadcrumb: ({ className, "data-testid": dataTestId, breadcrumbItems, onClickBack, style, ref, }: BreadcrumbProps) => ReactElement;
|
|
40
|
-
/**
|
|
41
|
-
* BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
|
|
42
|
-
*
|
|
43
|
-
* @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
|
|
44
|
-
*/
|
|
45
|
-
export declare const BreadcrumbContainer: ({ className, "data-testid": dataTestId, breadcrumbItems, style, ref, }: BreadcrumbContainerProps) => ReactElement;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
import { BreadcrumbContainerProps } from "./utils/types";
|
|
3
|
+
/**
|
|
4
|
+
* BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
|
|
5
|
+
*
|
|
6
|
+
* @param {BreadcrumbContainerProps} props - The props for the BreadcrumbContainer component
|
|
7
|
+
*/
|
|
8
|
+
export declare const BreadcrumbContainer: ({ className, "data-testid": dataTestId, breadcrumbItems, style, ref, }: BreadcrumbContainerProps) => ReactElement;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
import { CommonProps } from "../../../common/CommonProps";
|
|
3
|
+
import { Refable } from "../../../common/Refable";
|
|
4
|
+
import type { Styleable } from "../../../common/Styleable";
|
|
5
|
+
import { PageHeaderSecondaryActionType } from "../types";
|
|
6
|
+
export type ActionRendererProps = CommonProps & Styleable & Refable & {
|
|
7
|
+
action: PageHeaderSecondaryActionType;
|
|
8
|
+
/**
|
|
9
|
+
* Indicates if we should render a MenuItem or Button.
|
|
10
|
+
* If `isMenuItem` is true, we render `MenuItem`, otherwise we render `Button`.
|
|
11
|
+
*/
|
|
12
|
+
isMenuItem?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Because sometimes in a menu, you want to close the menu after clicking.
|
|
15
|
+
* If `externalOnClick` is provided, we'll call it after the action callback.
|
|
16
|
+
*/
|
|
17
|
+
externalOnClick?: () => void;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The ActionRenderer component is used to render the action in the PageHeaderSecondaryActions component.
|
|
21
|
+
*
|
|
22
|
+
* @param {ActionRendererProps} props - The props for the ActionRenderer component
|
|
23
|
+
* @returns {ReactElement} ActionRenderer component
|
|
24
|
+
*/
|
|
25
|
+
export declare function ActionRenderer({ action, isMenuItem, externalOnClick }: ActionRendererProps): ReactElement;
|
|
@@ -8,26 +8,6 @@ export type PageHeaderSecondaryActionsProps = CommonProps & Styleable & Refable<
|
|
|
8
8
|
hasPrimaryAction?: boolean;
|
|
9
9
|
groupActions?: boolean;
|
|
10
10
|
};
|
|
11
|
-
type ActionRendererProps = CommonProps & Styleable & Refable & {
|
|
12
|
-
action: PageHeaderSecondaryActionType;
|
|
13
|
-
/**
|
|
14
|
-
* Indicates if we should render a MenuItem or Button.
|
|
15
|
-
* If `isMenuItem` is true, we render `MenuItem`, otherwise we render `Button`.
|
|
16
|
-
*/
|
|
17
|
-
isMenuItem?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Because sometimes in a menu, you want to close the menu after clicking.
|
|
20
|
-
* If `externalOnClick` is provided, we’ll call it after the action callback.
|
|
21
|
-
*/
|
|
22
|
-
externalOnClick?: () => void;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* The ActionRenderer component is used to render the action in the PageHeaderSecondaryActions component.
|
|
26
|
-
*
|
|
27
|
-
* @param {ActionRendererProps} props - The props for the ActionRenderer component
|
|
28
|
-
* @returns {ReactElement} ActionRenderer component
|
|
29
|
-
*/
|
|
30
|
-
export declare function ActionRenderer({ action, isMenuItem, externalOnClick }: ActionRendererProps): ReactElement;
|
|
31
11
|
/**
|
|
32
12
|
* The PageHeaderSecondaryActions component is used to render the secondary actions in the PageHeader component.
|
|
33
13
|
*
|
|
@@ -42,4 +22,3 @@ export declare function ActionRenderer({ action, isMenuItem, externalOnClick }:
|
|
|
42
22
|
* @returns {ReactElement | null} PageHeaderSecondaryActions component
|
|
43
23
|
*/
|
|
44
24
|
export declare const PageHeaderSecondaryActions: ({ actions, hasPrimaryAction, groupActions, className, "data-testid": dataTestId, style, ref, }: PageHeaderSecondaryActionsProps) => ReactElement | null;
|
|
45
|
-
export {};
|