@luscii-healthtech/web-ui 27.11.0 → 27.11.2

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.
@@ -6,7 +6,7 @@ import { TitleProps } from "../Title/Title";
6
6
  export type BaseListItemProps = {
7
7
  itemId: string | number;
8
8
  title: React.ReactNode;
9
- subtitle?: string;
9
+ subtitle?: React.ReactNode;
10
10
  icon?: React.FunctionComponent<IconProps> | string;
11
11
  accessories?: JSX.Element[];
12
12
  onlyShowAccessoriesOnHover?: boolean;
@@ -32,5 +32,8 @@ export type CRUDPageProps = (CRUDPagePropsWithoutHeaderOrTitle & {
32
32
  }) | (CRUDPagePropsWithoutHeaderOrTitle & {
33
33
  header: CRUDPageHeader;
34
34
  title?: never;
35
+ }) | (CRUDPagePropsWithoutHeaderOrTitle & {
36
+ header?: never;
37
+ title?: never;
35
38
  });
36
39
  export {};
@@ -5,7 +5,7 @@ import type { TabbarProps } from "../Tabbar/Tabbar";
5
5
  import { IconProps } from "../Icons/types/IconProps.type";
6
6
  type Nil = null | undefined;
7
7
  type WithPageHeaderBanner = {
8
- banner: Nil | {
8
+ banner?: Nil | {
9
9
  title?: string;
10
10
  text: {
11
11
  content: string;
@@ -1260,8 +1260,8 @@ const BaseListItem = React__namespace.default.forwardRef(({ itemId, title, toolt
1260
1260
  React__namespace.default.createElement(
1261
1261
  "div",
1262
1262
  { className: "ui-py-4" },
1263
- typeof title === "string" ? React__namespace.default.createElement(Text, { type: isSelected ? "strong" : "base" }, title) : title,
1264
- subtitle && React__namespace.default.createElement(Text, { text: subtitle, type: "sm", color: "slate-500" })
1263
+ typeof title === "string" ? React__namespace.default.createElement(Text, { variant: isSelected ? "strong" : "base" }, title) : title,
1264
+ subtitle && (typeof subtitle === "string" ? React__namespace.default.createElement(Text, { variant: "sm", color: "slate-500" }, subtitle) : subtitle)
1265
1265
  ),
1266
1266
  React__namespace.default.createElement("div", { className: "ui-flex-grow" }),
1267
1267
  React__namespace.default.createElement("div", { className: classNames__default.default({
@@ -4489,32 +4489,25 @@ const CRUDPage = ({ submitButtonProps, cancelButtonProps, className, children, i
4489
4489
  const mergedClasses = classNames__default.default("cweb-crud-page", "ui-w-full ui-mb-0 ui-mx-auto ui-pb-8", className);
4490
4490
  const submitButton = submitButtonProps && React__namespace.default.createElement(PrimaryButton, Object.assign({ "data-test-id": "submit-button", key: "submit-button", role: BUTTON_ROLES.PRIMARY, isPending: isSubmitting }, submitButtonProps));
4491
4491
  const cancelButton = cancelButtonProps && React__namespace.default.createElement(TertiaryButton, Object.assign({ "data-test-id": "cancel-button", key: "cancel-button", role: BUTTON_ROLES.SECONDARY }, cancelButtonProps));
4492
- let pageHeader;
4493
- if (title) {
4494
- pageHeader = React__namespace.default.createElement(PageHeader, { banner: null, title: React__namespace.default.createElement(
4492
+ if (isLoading) {
4493
+ return React__namespace.default.createElement(
4495
4494
  "div",
4496
- { className: "ui-flex ui-flex-nowrap ui-items-center ui-gap-m" },
4497
- title.icon && React__namespace.default.createElement("img", { id: "title-icon", src: title.icon, className: "ui-h-9 ui-w-9", alt: "title icon" }),
4498
- React__namespace.default.createElement(PageTitle, null, title.text)
4499
- ) });
4500
- } else {
4501
- pageHeader = React__namespace.default.createElement(PageHeader, Object.assign({}, header));
4495
+ { className: "cweb-crud-page-container", "data-test-id": dataTestId },
4496
+ React__namespace.default.createElement(
4497
+ "div",
4498
+ { className: classNames__default.default(mergedClasses, "ui-relative ui-overflow-y-hidden", "cweb-crud-page-loading-container"), style: { height: "90vh" } },
4499
+ React__namespace.default.createElement(PageHeaderBlock, { header, title }),
4500
+ React__namespace.default.createElement(LoadingIndicator, { className: classNames__default.default("crud-page-loader", "ui-absolute ui-bottom-0 ui-left-0 ui-right-0 ui-top-0 ui-m-auto ui-h-12 ui-w-12"), asModal: false })
4501
+ )
4502
+ );
4502
4503
  }
4503
4504
  return React__namespace.default.createElement(
4504
4505
  "div",
4505
4506
  { className: "cweb-crud-page-container", "data-test-id": dataTestId },
4506
- isLoading && React__namespace.default.createElement(
4507
- "div",
4508
- { className: classNames__default.default(mergedClasses, "ui-relative ui-overflow-y-hidden", "cweb-crud-page-loading-container"), style: { height: "90vh" } },
4509
- React__namespace.default.createElement("div", { className: "ui-align-center ui-flex ui-flex-row ui-justify-start" }, pageHeader),
4510
- React__namespace.default.createElement(Divider, { version: "v2" }),
4511
- React__namespace.default.createElement(LoadingIndicator, { className: classNames__default.default("crud-page-loader", "ui-absolute ui-bottom-0 ui-left-0 ui-right-0 ui-top-0 ui-m-auto ui-h-12 ui-w-12"), asModal: false })
4512
- ),
4513
- !isLoading && React__namespace.default.createElement(
4507
+ React__namespace.default.createElement(
4514
4508
  "div",
4515
4509
  { className: mergedClasses, "data-test-id": dataTestId },
4516
- React__namespace.default.createElement("div", { className: "ui-align-center ui-flex ui-flex-row ui-justify-start" }, pageHeader),
4517
- React__namespace.default.createElement(Divider, { version: "v2" }),
4510
+ React__namespace.default.createElement(PageHeaderBlock, { header, title }),
4518
4511
  React__namespace.default.createElement(
4519
4512
  "div",
4520
4513
  { className: "ui-flex ui-justify-center" },
@@ -4529,6 +4522,33 @@ const CRUDPage = ({ submitButtonProps, cancelButtonProps, className, children, i
4529
4522
  )
4530
4523
  );
4531
4524
  };
4525
+ const PageHeaderBlock = ({ header, title }) => {
4526
+ if (!title && !header) {
4527
+ return null;
4528
+ }
4529
+ let pageHeaderComponent = null;
4530
+ if (title) {
4531
+ pageHeaderComponent = React__namespace.default.createElement(
4532
+ "div",
4533
+ { className: "ui-align-center ui-flex ui-flex-row ui-justify-start" },
4534
+ React__namespace.default.createElement(PageHeader, { banner: null, title: React__namespace.default.createElement(
4535
+ "div",
4536
+ { className: "ui-flex ui-flex-nowrap ui-items-center ui-gap-m" },
4537
+ title.icon && React__namespace.default.createElement("img", { id: "title-icon", src: title.icon, className: "ui-h-9 ui-w-9", alt: "title icon" }),
4538
+ React__namespace.default.createElement(PageTitle, null, title.text)
4539
+ ) })
4540
+ );
4541
+ }
4542
+ if (header) {
4543
+ pageHeaderComponent = React__namespace.default.createElement(PageHeader, Object.assign({}, header));
4544
+ }
4545
+ return React__namespace.default.createElement(
4546
+ React__namespace.default.Fragment,
4547
+ null,
4548
+ React__namespace.default.createElement("div", { className: "ui-align-center ui-flex ui-flex-row ui-justify-start" }, pageHeaderComponent),
4549
+ React__namespace.default.createElement(Divider, { version: "v2" })
4550
+ );
4551
+ };
4532
4552
 
4533
4553
  var img$1 = "data:image/svg+xml,%3csvg width='340' height='638' viewBox='0 0 340 638' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3crect x='8' y='60' width='50' height='8' rx='4' transform='rotate(90 8 60)' fill='%23111827'/%3e %3crect x='8' y='118' width='50' height='8' rx='4' transform='rotate(90 8 118)' fill='%23111827'/%3e %3crect x='340' y='67' width='30' height='8' rx='4' transform='rotate(90 340 67)' fill='%23111827'/%3e %3cpath fill-rule='evenodd' clip-rule='evenodd' d='M36 0C18.3269 0 4 14.3269 4 32V606C4 623.673 18.3269 638 36 638H304C321.673 638 336 623.673 336 606V32C336 14.3269 321.673 0 304 0H36ZM28 43C23.5817 43 20 46.5817 20 51V549C20 553.418 23.5817 557 28 557H312C316.418 557 320 553.418 320 549V51C320 46.5817 316.418 43 312 43H28Z' fill='%23374151'/%3e %3ccircle cx='171' cy='598' r='16' fill='%236B7280'/%3e %3ccircle cx='105.5' cy='22.5' r='4.5' fill='%236B7280'/%3e %3crect x='118' y='18' width='104' height='9' rx='4' fill='%239CA3AF'/%3e%3c/svg%3e";
4534
4554