@homebound/beam 3.68.1 → 3.70.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/index.d.cts CHANGED
@@ -4624,6 +4624,8 @@ declare const Icons: {
4624
4624
  file: JSX.Element;
4625
4625
  images: JSX.Element;
4626
4626
  openBook: JSX.Element;
4627
+ television: JSX.Element;
4628
+ monitor: JSX.Element;
4627
4629
  inbox: JSX.Element;
4628
4630
  criticalPath: JSX.Element;
4629
4631
  nested: JSX.Element;
@@ -4665,6 +4667,7 @@ declare const Icons: {
4665
4667
  basement: JSX.Element;
4666
4668
  cube: JSX.Element;
4667
4669
  history: JSX.Element;
4670
+ dinner: JSX.Element;
4668
4671
  projects: JSX.Element;
4669
4672
  tasks: JSX.Element;
4670
4673
  finances: JSX.Element;
@@ -4704,6 +4707,7 @@ declare const Icons: {
4704
4707
  subdivision: JSX.Element;
4705
4708
  lot: JSX.Element;
4706
4709
  houseFilled: JSX.Element;
4710
+ connect: JSX.Element;
4707
4711
  single: JSX.Element;
4708
4712
  linked: JSX.Element;
4709
4713
  package: JSX.Element;
@@ -7257,7 +7261,7 @@ declare enum SuperDrawerWidth {
7257
7261
  Normal = 1040
7258
7262
  }
7259
7263
 
7260
- interface OpenInDrawerOpts {
7264
+ type OpenInDrawerOpts = {
7261
7265
  /** Invokes left, disabled if undefined. */
7262
7266
  onPrevClick?: () => void;
7263
7267
  /** Invokes right, disabled if undefined. */
@@ -7267,10 +7271,10 @@ interface OpenInDrawerOpts {
7267
7271
  content: ReactNode;
7268
7272
  /** Adds the ability to change the SuperDrawer width based on some pre-defined values */
7269
7273
  width?: SuperDrawerWidth;
7270
- }
7271
- interface OpenDetailOpts {
7274
+ };
7275
+ type OpenDetailOpts = {
7272
7276
  content: ReactNode;
7273
- }
7277
+ };
7274
7278
  type ContentStack = {
7275
7279
  kind: "open";
7276
7280
  opts: OpenInDrawerOpts;
@@ -7279,7 +7283,7 @@ type ContentStack = {
7279
7283
  opts: OpenDetailOpts;
7280
7284
  };
7281
7285
  /** The public API for interacting with `useSuperDrawer`. */
7282
- interface UseSuperDrawerHook {
7286
+ type UseSuperDrawerHook = {
7283
7287
  /** Opens a new drawer, throwing away the current drawer is one exists. */
7284
7288
  openInDrawer: (opts: OpenInDrawerOpts) => void;
7285
7289
  /** Closes the entire drawer, returns false is the previous drawer can't be closed. */
@@ -7304,7 +7308,7 @@ interface UseSuperDrawerHook {
7304
7308
  * the action.
7305
7309
  */
7306
7310
  addCanCloseDrawerDetailCheck: (canCloseCheck: CanCloseCheck) => void;
7307
- }
7311
+ };
7308
7312
  declare function useSuperDrawer(): UseSuperDrawerHook;
7309
7313
 
7310
7314
  type BeamProviderProps = {
@@ -9746,6 +9750,18 @@ type MaxLinesProps = PropsWithChildren<{
9746
9750
  }>;
9747
9751
  declare function MaxLines({ maxLines, children }: MaxLinesProps): JSX.Element;
9748
9752
 
9753
+ type ConfirmCloseModalProps = {
9754
+ onClose: () => void;
9755
+ /** Called when the user chooses to stay (in addition to closing the modal). */
9756
+ onContinue?: () => void;
9757
+ title?: ReactNode;
9758
+ message?: ReactNode;
9759
+ discardText?: string;
9760
+ continueText?: string;
9761
+ };
9762
+ /** Modal content for discarding unsaved changes (SuperDrawer close, WorkflowLayout leave, etc.). */
9763
+ declare function ConfirmCloseModal(props: ConfirmCloseModalProps): JSX.Element;
9764
+
9749
9765
  interface OpenModalProps {
9750
9766
  /** The custom modal content to show. */
9751
9767
  children: JSX.Element;
@@ -9950,14 +9966,6 @@ interface SuperDrawerHeaderStructuredProps {
9950
9966
  }
9951
9967
  declare function SuperDrawerHeader(props: SuperDrawerHeaderProps | SuperDrawerHeaderStructuredProps): JSX.Element;
9952
9968
 
9953
- interface ConfirmCloseModalProps {
9954
- onClose: () => void;
9955
- discardText?: string;
9956
- continueText?: string;
9957
- }
9958
- /** Modal content to appear when a close checks fails */
9959
- declare function ConfirmCloseModal(props: ConfirmCloseModalProps): JSX.Element;
9960
-
9961
9969
  type SuperDrawerContentProps = {
9962
9970
  children: ReactNode;
9963
9971
  /**
@@ -10257,6 +10265,8 @@ type WorkflowLayoutProps = Pick<BaseHeaderProps, "title" | "documentTitleSuffix"
10257
10265
  steps: WorkflowLayoutStep[];
10258
10266
  /** The step shown initially (matched against `defaultTestId(step.label)`); falls back to the first step if omitted or if it doesn't match any step. Uncontrolled — the layout owns step navigation from here. */
10259
10267
  defaultStep?: string;
10268
+ /** When this returns true, Cancel / in-app route changes / tab close require confirmation. */
10269
+ isDirty?: () => boolean;
10260
10270
  };
10261
10271
  /**
10262
10272
  * Workflow-header + body shell with sticky (always-visible) chrome. Contract: `docs/layouts.md`.
@@ -10268,7 +10278,7 @@ type WorkflowLayoutProps = Pick<BaseHeaderProps, "title" | "documentTitleSuffix"
10268
10278
  *
10269
10279
  * Owns the workflow's fixed CTA set (Back/Cancel/Save & Exit/Continue-or-Complete) via `WorkflowActions`
10270
10280
  * so it can move them into a mobile footer at the `sm` breakpoint — `WorkflowHeader` itself is not part
10271
- * of the public API.
10281
+ * of the public API. Pass `isDirty` to confirm before Cancel, in-app navigation, or tab close.
10272
10282
  */
10273
10283
  declare function WorkflowLayout(props: WorkflowLayoutProps): JSX.Element;
10274
10284
 
@@ -10297,8 +10307,6 @@ declare const zIndices: {
10297
10307
  readonly tableActions: 45;
10298
10308
  readonly scrollToTop: 50;
10299
10309
  readonly scrollShadow: 50;
10300
- readonly superDrawerScrim: 55;
10301
- readonly modalUnderlay: 60;
10302
10310
  readonly pageStickyHeader: 70;
10303
10311
  readonly pageStickyFooter: 70;
10304
10312
  readonly dragHandle: 80;
@@ -10307,6 +10315,8 @@ declare const zIndices: {
10307
10315
  readonly navbarMobileMenuScrim: 124;
10308
10316
  readonly navbarMobileMenu: 125;
10309
10317
  readonly environmentBanner: 130;
10318
+ readonly superDrawerScrim: 140;
10319
+ readonly modalUnderlay: 150;
10310
10320
  readonly pageOverlay: 1000;
10311
10321
  readonly snackbar: 1100;
10312
10322
  };
package/dist/index.d.ts CHANGED
@@ -4624,6 +4624,8 @@ declare const Icons: {
4624
4624
  file: JSX.Element;
4625
4625
  images: JSX.Element;
4626
4626
  openBook: JSX.Element;
4627
+ television: JSX.Element;
4628
+ monitor: JSX.Element;
4627
4629
  inbox: JSX.Element;
4628
4630
  criticalPath: JSX.Element;
4629
4631
  nested: JSX.Element;
@@ -4665,6 +4667,7 @@ declare const Icons: {
4665
4667
  basement: JSX.Element;
4666
4668
  cube: JSX.Element;
4667
4669
  history: JSX.Element;
4670
+ dinner: JSX.Element;
4668
4671
  projects: JSX.Element;
4669
4672
  tasks: JSX.Element;
4670
4673
  finances: JSX.Element;
@@ -4704,6 +4707,7 @@ declare const Icons: {
4704
4707
  subdivision: JSX.Element;
4705
4708
  lot: JSX.Element;
4706
4709
  houseFilled: JSX.Element;
4710
+ connect: JSX.Element;
4707
4711
  single: JSX.Element;
4708
4712
  linked: JSX.Element;
4709
4713
  package: JSX.Element;
@@ -7257,7 +7261,7 @@ declare enum SuperDrawerWidth {
7257
7261
  Normal = 1040
7258
7262
  }
7259
7263
 
7260
- interface OpenInDrawerOpts {
7264
+ type OpenInDrawerOpts = {
7261
7265
  /** Invokes left, disabled if undefined. */
7262
7266
  onPrevClick?: () => void;
7263
7267
  /** Invokes right, disabled if undefined. */
@@ -7267,10 +7271,10 @@ interface OpenInDrawerOpts {
7267
7271
  content: ReactNode;
7268
7272
  /** Adds the ability to change the SuperDrawer width based on some pre-defined values */
7269
7273
  width?: SuperDrawerWidth;
7270
- }
7271
- interface OpenDetailOpts {
7274
+ };
7275
+ type OpenDetailOpts = {
7272
7276
  content: ReactNode;
7273
- }
7277
+ };
7274
7278
  type ContentStack = {
7275
7279
  kind: "open";
7276
7280
  opts: OpenInDrawerOpts;
@@ -7279,7 +7283,7 @@ type ContentStack = {
7279
7283
  opts: OpenDetailOpts;
7280
7284
  };
7281
7285
  /** The public API for interacting with `useSuperDrawer`. */
7282
- interface UseSuperDrawerHook {
7286
+ type UseSuperDrawerHook = {
7283
7287
  /** Opens a new drawer, throwing away the current drawer is one exists. */
7284
7288
  openInDrawer: (opts: OpenInDrawerOpts) => void;
7285
7289
  /** Closes the entire drawer, returns false is the previous drawer can't be closed. */
@@ -7304,7 +7308,7 @@ interface UseSuperDrawerHook {
7304
7308
  * the action.
7305
7309
  */
7306
7310
  addCanCloseDrawerDetailCheck: (canCloseCheck: CanCloseCheck) => void;
7307
- }
7311
+ };
7308
7312
  declare function useSuperDrawer(): UseSuperDrawerHook;
7309
7313
 
7310
7314
  type BeamProviderProps = {
@@ -9746,6 +9750,18 @@ type MaxLinesProps = PropsWithChildren<{
9746
9750
  }>;
9747
9751
  declare function MaxLines({ maxLines, children }: MaxLinesProps): JSX.Element;
9748
9752
 
9753
+ type ConfirmCloseModalProps = {
9754
+ onClose: () => void;
9755
+ /** Called when the user chooses to stay (in addition to closing the modal). */
9756
+ onContinue?: () => void;
9757
+ title?: ReactNode;
9758
+ message?: ReactNode;
9759
+ discardText?: string;
9760
+ continueText?: string;
9761
+ };
9762
+ /** Modal content for discarding unsaved changes (SuperDrawer close, WorkflowLayout leave, etc.). */
9763
+ declare function ConfirmCloseModal(props: ConfirmCloseModalProps): JSX.Element;
9764
+
9749
9765
  interface OpenModalProps {
9750
9766
  /** The custom modal content to show. */
9751
9767
  children: JSX.Element;
@@ -9950,14 +9966,6 @@ interface SuperDrawerHeaderStructuredProps {
9950
9966
  }
9951
9967
  declare function SuperDrawerHeader(props: SuperDrawerHeaderProps | SuperDrawerHeaderStructuredProps): JSX.Element;
9952
9968
 
9953
- interface ConfirmCloseModalProps {
9954
- onClose: () => void;
9955
- discardText?: string;
9956
- continueText?: string;
9957
- }
9958
- /** Modal content to appear when a close checks fails */
9959
- declare function ConfirmCloseModal(props: ConfirmCloseModalProps): JSX.Element;
9960
-
9961
9969
  type SuperDrawerContentProps = {
9962
9970
  children: ReactNode;
9963
9971
  /**
@@ -10257,6 +10265,8 @@ type WorkflowLayoutProps = Pick<BaseHeaderProps, "title" | "documentTitleSuffix"
10257
10265
  steps: WorkflowLayoutStep[];
10258
10266
  /** The step shown initially (matched against `defaultTestId(step.label)`); falls back to the first step if omitted or if it doesn't match any step. Uncontrolled — the layout owns step navigation from here. */
10259
10267
  defaultStep?: string;
10268
+ /** When this returns true, Cancel / in-app route changes / tab close require confirmation. */
10269
+ isDirty?: () => boolean;
10260
10270
  };
10261
10271
  /**
10262
10272
  * Workflow-header + body shell with sticky (always-visible) chrome. Contract: `docs/layouts.md`.
@@ -10268,7 +10278,7 @@ type WorkflowLayoutProps = Pick<BaseHeaderProps, "title" | "documentTitleSuffix"
10268
10278
  *
10269
10279
  * Owns the workflow's fixed CTA set (Back/Cancel/Save & Exit/Continue-or-Complete) via `WorkflowActions`
10270
10280
  * so it can move them into a mobile footer at the `sm` breakpoint — `WorkflowHeader` itself is not part
10271
- * of the public API.
10281
+ * of the public API. Pass `isDirty` to confirm before Cancel, in-app navigation, or tab close.
10272
10282
  */
10273
10283
  declare function WorkflowLayout(props: WorkflowLayoutProps): JSX.Element;
10274
10284
 
@@ -10297,8 +10307,6 @@ declare const zIndices: {
10297
10307
  readonly tableActions: 45;
10298
10308
  readonly scrollToTop: 50;
10299
10309
  readonly scrollShadow: 50;
10300
- readonly superDrawerScrim: 55;
10301
- readonly modalUnderlay: 60;
10302
10310
  readonly pageStickyHeader: 70;
10303
10311
  readonly pageStickyFooter: 70;
10304
10312
  readonly dragHandle: 80;
@@ -10307,6 +10315,8 @@ declare const zIndices: {
10307
10315
  readonly navbarMobileMenuScrim: 124;
10308
10316
  readonly navbarMobileMenu: 125;
10309
10317
  readonly environmentBanner: 130;
10318
+ readonly superDrawerScrim: 140;
10319
+ readonly modalUnderlay: 150;
10310
10320
  readonly pageOverlay: 1000;
10311
10321
  readonly snackbar: 1100;
10312
10322
  };