@luscii-healthtech/web-ui 2.61.0 → 2.63.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/dist/components/Breadcrumbs/BreadcrumbItem.d.ts +4 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +2 -9
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +14 -0
- package/dist/components/Breadcrumbs/index.d.ts +2 -0
- package/dist/components/PageHeader/PageHeader.types.d.ts +2 -1
- package/dist/components/Timeline/Timeline.d.ts +3 -1
- package/dist/index.d.ts +1 -1
- package/dist/web-ui.cjs.development.js +93 -25
- package/dist/web-ui.cjs.development.js.map +1 -1
- package/dist/web-ui.cjs.production.min.js +1 -1
- package/dist/web-ui.cjs.production.min.js.map +1 -1
- package/dist/web-ui.esm.js +93 -25
- package/dist/web-ui.esm.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
key?: string;
|
|
5
|
-
link?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface BreadcrumbProps {
|
|
8
|
-
crumbs: Crumb[];
|
|
9
|
-
}
|
|
10
|
-
export declare const Breadcrumbs: React.VoidFunctionComponent<BreadcrumbProps>;
|
|
2
|
+
import type { BreadcrumbProps } from "./Breadcrumbs.types";
|
|
3
|
+
export declare const Breadcrumbs: React.FC<BreadcrumbProps>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface Crumb {
|
|
2
|
+
name: string;
|
|
3
|
+
key?: string;
|
|
4
|
+
link?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BreadcrumbProps {
|
|
7
|
+
crumbs: Crumb[];
|
|
8
|
+
truncateAfter?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare type BreadcrumbDividerProps = {
|
|
11
|
+
onClick: () => void;
|
|
12
|
+
truncatedCrumbs: Crumb[];
|
|
13
|
+
};
|
|
14
|
+
export declare const isBreadcrumbDividerProps: (subject: unknown) => subject is BreadcrumbDividerProps;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { BreadcrumbProps } from "../Breadcrumbs
|
|
2
|
+
import type { BreadcrumbProps } from "../Breadcrumbs";
|
|
3
3
|
import type { TabbarProps } from "../Tabbar/Tabbar";
|
|
4
4
|
export interface PageHeaderProps {
|
|
5
5
|
navigation?: Omit<TabbarProps, "withoutPadding">;
|
|
6
6
|
breadcrumbs?: BreadcrumbProps["crumbs"];
|
|
7
|
+
truncateBreadcrumbsAfter?: number;
|
|
7
8
|
dataTestId?: string;
|
|
8
9
|
title: string;
|
|
9
10
|
isPolling?: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseButtonProps } from "../ButtonV2/ButtonProps.type";
|
|
2
|
+
import { CenteredHeroProps } from "../CenteredHero/CenteredHero";
|
|
2
3
|
import { TimelineStepProps } from "./TimelineStep";
|
|
3
4
|
import { TimelineHeaderProps } from "./TimelineHeader";
|
|
4
5
|
export interface TimelineProps {
|
|
@@ -6,6 +7,7 @@ export interface TimelineProps {
|
|
|
6
7
|
steps: TimelineStepProps[];
|
|
7
8
|
loadMoreButtonProps?: BaseButtonProps;
|
|
8
9
|
dataTestId?: string;
|
|
10
|
+
emptyHeroProps?: CenteredHeroProps;
|
|
9
11
|
}
|
|
10
|
-
export declare const Timeline: ({ headerProps, steps, loadMoreButtonProps, dataTestId, }: TimelineProps) => JSX.Element;
|
|
12
|
+
export declare const Timeline: ({ headerProps, steps, loadMoreButtonProps, dataTestId, emptyHeroProps, }: TimelineProps) => JSX.Element;
|
|
11
13
|
export default Timeline;
|
package/dist/index.d.ts
CHANGED
|
@@ -56,7 +56,7 @@ export { Steps } from "./components/Steps/Steps";
|
|
|
56
56
|
export { default as Switcher } from "./components/Switcher/Switcher";
|
|
57
57
|
export { ImagePicker, TargetProps } from "./components/ImagePicker/ImagePicker";
|
|
58
58
|
export { default as Tabbar, TabbarProps, TabItemDetails, } from "./components/Tabbar/Tabbar";
|
|
59
|
-
export { Breadcrumbs, BreadcrumbProps
|
|
59
|
+
export { Breadcrumbs, BreadcrumbProps } from "./components/Breadcrumbs";
|
|
60
60
|
export { PageHeader, PageHeaderProps } from "./components/PageHeader";
|
|
61
61
|
export { default as TabLinks } from "./components/TabLinks/TabLinks";
|
|
62
62
|
export { default as Tag } from "./components/Tag/Tag";
|
|
@@ -6545,29 +6545,90 @@ var Steps = function Steps(_ref) {
|
|
|
6545
6545
|
}, renderedSteps);
|
|
6546
6546
|
};
|
|
6547
6547
|
|
|
6548
|
+
var isBreadcrumbDividerProps = function isBreadcrumbDividerProps(subject) {
|
|
6549
|
+
if (typeof subject !== "object" || typeof subject === null) {
|
|
6550
|
+
return false;
|
|
6551
|
+
}
|
|
6552
|
+
|
|
6553
|
+
var possibleSubject = subject;
|
|
6554
|
+
return typeof possibleSubject.onClick === "function" && Array.isArray(possibleSubject.truncatedCrumbs);
|
|
6555
|
+
};
|
|
6556
|
+
|
|
6557
|
+
var BreadcrumbItem = function BreadcrumbItem(_ref) {
|
|
6558
|
+
var name = _ref.name,
|
|
6559
|
+
link = _ref.link;
|
|
6560
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
6561
|
+
className: "flex flex-row items-center slash-split"
|
|
6562
|
+
}, link ? /*#__PURE__*/React__default.createElement(router.Link, {
|
|
6563
|
+
to: link
|
|
6564
|
+
}, /*#__PURE__*/React__default.createElement(Text, {
|
|
6565
|
+
text: name,
|
|
6566
|
+
color: "blue-800"
|
|
6567
|
+
})) : /*#__PURE__*/React__default.createElement(Text, {
|
|
6568
|
+
text: name,
|
|
6569
|
+
type: "strong"
|
|
6570
|
+
}));
|
|
6571
|
+
};
|
|
6572
|
+
var BreadcrumbDividerItem = function BreadcrumbDividerItem(_ref2) {
|
|
6573
|
+
var onClick = _ref2.onClick,
|
|
6574
|
+
truncatedCrumbs = _ref2.truncatedCrumbs;
|
|
6575
|
+
return /*#__PURE__*/React__default.createElement("li", {
|
|
6576
|
+
className: "flex flex-row items-center slash-split"
|
|
6577
|
+
}, /*#__PURE__*/React__default.createElement("button", {
|
|
6578
|
+
onClick: onClick,
|
|
6579
|
+
title: truncatedCrumbs.map(function (crumb) {
|
|
6580
|
+
return crumb.name;
|
|
6581
|
+
}).join(" / "),
|
|
6582
|
+
className: "px-1"
|
|
6583
|
+
}, /*#__PURE__*/React__default.createElement(Text, {
|
|
6584
|
+
text: "\u2026",
|
|
6585
|
+
color: "blue-800",
|
|
6586
|
+
type: "strong"
|
|
6587
|
+
})));
|
|
6588
|
+
};
|
|
6589
|
+
|
|
6548
6590
|
var Breadcrumbs = function Breadcrumbs(_ref) {
|
|
6549
|
-
var crumbs = _ref.crumbs
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6558
|
-
|
|
6559
|
-
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6591
|
+
var crumbs = _ref.crumbs,
|
|
6592
|
+
_ref$truncateAfter = _ref.truncateAfter,
|
|
6593
|
+
truncateAfter = _ref$truncateAfter === void 0 ? Infinity : _ref$truncateAfter;
|
|
6594
|
+
var head = crumbs[0],
|
|
6595
|
+
tail = crumbs.slice(1);
|
|
6596
|
+
|
|
6597
|
+
var _useState = React.useState(tail.length > truncateAfter),
|
|
6598
|
+
isTruncated = _useState[0],
|
|
6599
|
+
setIsTruncated = _useState[1];
|
|
6600
|
+
|
|
6601
|
+
var truncatedCrumbs = [];
|
|
6602
|
+
|
|
6603
|
+
if (isTruncated) {
|
|
6604
|
+
while (tail.length > truncateAfter) {
|
|
6605
|
+
var shiftedCrumb = tail.shift();
|
|
6606
|
+
|
|
6607
|
+
if (shiftedCrumb) {
|
|
6608
|
+
truncatedCrumbs.push(shiftedCrumb);
|
|
6609
|
+
}
|
|
6610
|
+
}
|
|
6611
|
+
}
|
|
6612
|
+
|
|
6613
|
+
var dividerProps = {
|
|
6614
|
+
onClick: function onClick() {
|
|
6615
|
+
return setIsTruncated(false);
|
|
6616
|
+
},
|
|
6617
|
+
truncatedCrumbs: truncatedCrumbs
|
|
6618
|
+
};
|
|
6619
|
+
var crumbsAndDivider = [head, dividerProps].concat(tail);
|
|
6567
6620
|
return /*#__PURE__*/React__default.createElement("ul", {
|
|
6568
6621
|
"data-test-id": "breadcrumbs",
|
|
6569
6622
|
className: "flex flex-row items-center space-x-2 "
|
|
6570
|
-
},
|
|
6623
|
+
}, (isTruncated ? crumbsAndDivider : crumbs).map(function (crumbOrDividerProps) {
|
|
6624
|
+
return isBreadcrumbDividerProps(crumbOrDividerProps) ? /*#__PURE__*/React__default.createElement(BreadcrumbDividerItem, _extends({
|
|
6625
|
+
key: "divider-" + truncatedCrumbs.map(function (crumb) {
|
|
6626
|
+
return crumb.name;
|
|
6627
|
+
}).join("-")
|
|
6628
|
+
}, crumbOrDividerProps)) : /*#__PURE__*/React__default.createElement(BreadcrumbItem, _extends({
|
|
6629
|
+
key: crumbOrDividerProps.key || crumbOrDividerProps.name
|
|
6630
|
+
}, crumbOrDividerProps));
|
|
6631
|
+
}));
|
|
6571
6632
|
};
|
|
6572
6633
|
|
|
6573
6634
|
var TabbarItem = function TabbarItem(_ref) {
|
|
@@ -6662,7 +6723,8 @@ var PageHeader = function PageHeader(_ref) {
|
|
|
6662
6723
|
isPolling = _ref.isPolling,
|
|
6663
6724
|
title = _ref.title,
|
|
6664
6725
|
contained = _ref.contained,
|
|
6665
|
-
className = _ref.className
|
|
6726
|
+
className = _ref.className,
|
|
6727
|
+
truncateBreadcrumbsAfter = _ref.truncateBreadcrumbsAfter;
|
|
6666
6728
|
var withContained = {
|
|
6667
6729
|
"max-w-3xl m-auto": contained
|
|
6668
6730
|
};
|
|
@@ -6674,7 +6736,8 @@ var PageHeader = function PageHeader(_ref) {
|
|
|
6674
6736
|
}, !!(breadcrumbs != null && breadcrumbs.length) && /*#__PURE__*/React__default.createElement("div", {
|
|
6675
6737
|
className: classNames("mb-4 space-y-4", withContained)
|
|
6676
6738
|
}, /*#__PURE__*/React__default.createElement(Breadcrumbs, {
|
|
6677
|
-
crumbs: breadcrumbs
|
|
6739
|
+
crumbs: breadcrumbs,
|
|
6740
|
+
truncateAfter: truncateBreadcrumbsAfter
|
|
6678
6741
|
}), /*#__PURE__*/React__default.createElement("div", {
|
|
6679
6742
|
className: "mb-4 border-b border-slate-100"
|
|
6680
6743
|
})), /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -7963,7 +8026,8 @@ var TimelineStep = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
|
7963
8026
|
var TimelineHeader = function TimelineHeader(_ref) {
|
|
7964
8027
|
var title = _ref.title,
|
|
7965
8028
|
buttons = _ref.buttons,
|
|
7966
|
-
withBorder = _ref.withBorder
|
|
8029
|
+
_ref$withBorder = _ref.withBorder,
|
|
8030
|
+
withBorder = _ref$withBorder === void 0 ? true : _ref$withBorder;
|
|
7967
8031
|
var hasButtons = buttons && buttons.length > 0;
|
|
7968
8032
|
var className = classNames("flex flex-row items-center space-x-4 rounded-t px-4", {
|
|
7969
8033
|
"py-4": !hasButtons,
|
|
@@ -7994,11 +8058,15 @@ var Timeline = function Timeline(_ref) {
|
|
|
7994
8058
|
steps = _ref.steps,
|
|
7995
8059
|
loadMoreButtonProps = _ref.loadMoreButtonProps,
|
|
7996
8060
|
_ref$dataTestId = _ref.dataTestId,
|
|
7997
|
-
dataTestId = _ref$dataTestId === void 0 ? "timeline" : _ref$dataTestId
|
|
8061
|
+
dataTestId = _ref$dataTestId === void 0 ? "timeline" : _ref$dataTestId,
|
|
8062
|
+
emptyHeroProps = _ref.emptyHeroProps;
|
|
8063
|
+
var isEmptyTimeline = !steps || steps.length === 0;
|
|
7998
8064
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
7999
8065
|
className: "bg-white rounded-xl",
|
|
8000
8066
|
"data-test-id": dataTestId
|
|
8001
|
-
}, headerProps && /*#__PURE__*/React__default.createElement(TimelineHeader, _extends({}, headerProps)), /*#__PURE__*/React__default.createElement(
|
|
8067
|
+
}, headerProps && /*#__PURE__*/React__default.createElement(TimelineHeader, _extends({}, headerProps)), isEmptyTimeline && emptyHeroProps && /*#__PURE__*/React__default.createElement(CenteredHero, _extends({
|
|
8068
|
+
background: "white"
|
|
8069
|
+
}, emptyHeroProps)), !isEmptyTimeline && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
8002
8070
|
className: classNames("px-4 pb-4", {
|
|
8003
8071
|
"pt-4": !headerProps
|
|
8004
8072
|
})
|
|
@@ -8006,7 +8074,7 @@ var Timeline = function Timeline(_ref) {
|
|
|
8006
8074
|
return /*#__PURE__*/React__default.createElement(TimelineStep, _extends({}, step));
|
|
8007
8075
|
})), loadMoreButtonProps && /*#__PURE__*/React__default.createElement("div", {
|
|
8008
8076
|
className: "text-center border-t py-6"
|
|
8009
|
-
}, /*#__PURE__*/React__default.createElement(SecondaryButton, _extends({}, loadMoreButtonProps))));
|
|
8077
|
+
}, /*#__PURE__*/React__default.createElement(SecondaryButton, _extends({}, loadMoreButtonProps)))));
|
|
8010
8078
|
};
|
|
8011
8079
|
|
|
8012
8080
|
var _excluded$t = ["titleProps", "title", "titleAccessory", "contentProps", "content", "defaultContent", "className", "buttons"];
|