@propriety/court-calendar 1.0.132 → 1.0.136

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -7,7 +7,8 @@ declare const CaseViewer: import('react').NamedExoticComponent<{
7
7
  isVillage: boolean;
8
8
  csvFileName?: string;
9
9
  isAdmin?: boolean;
10
- onSelectedCasesAdjournmentChange?: (cases: Case[], date: Date | null) => void;
10
+ onSelectedCasesAdjournmentChange?: (cases: Case[], date: Date | null) => Promise<boolean>;
11
+ onSelectedCasesClearDetermination?: (cases: Case[]) => Promise<boolean>;
11
12
  firstChair?: number | null;
12
13
  }>;
13
14
  export default CaseViewer;
@@ -1,5 +1,5 @@
1
1
  import { Case, CourtDate } from '../../../types';
2
- export default function DateTabs({ cases, isFetchingCases, setClickedCase, selectedDate, isVillage, csvFileName, isAdmin, onSelectedCasesAdjournmentChange, selectedCourtDate, }: {
2
+ export default function DateTabs({ cases, isFetchingCases, setClickedCase, selectedDate, isVillage, csvFileName, isAdmin, onSelectedCasesAdjournmentChange, onSelectedCasesClearDetermination, selectedCourtDate, }: {
3
3
  cases: Case[];
4
4
  isFetchingCases: boolean;
5
5
  setClickedCase: (caseItem: Case | null) => void;
@@ -7,6 +7,7 @@ export default function DateTabs({ cases, isFetchingCases, setClickedCase, selec
7
7
  isVillage: boolean;
8
8
  csvFileName?: string;
9
9
  isAdmin?: boolean;
10
- onSelectedCasesAdjournmentChange?: (cases: Case[], date: Date | null) => void;
10
+ onSelectedCasesAdjournmentChange?: (cases: Case[], date: Date | null) => Promise<boolean>;
11
+ onSelectedCasesClearDetermination?: (cases: Case[]) => Promise<boolean>;
11
12
  selectedCourtDate: CourtDate | null;
12
13
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- export default function PortalFab({ in: visible, tooltip, icon, onClick, badgeContent, containerId, bottom, right, }: {
2
+ export default function PortalFab({ in: visible, tooltip, icon, onClick, badgeContent, containerId, bottom, right, color, }: {
3
3
  in: boolean;
4
4
  tooltip: string;
5
5
  icon: ReactNode;
@@ -8,4 +8,5 @@ export default function PortalFab({ in: visible, tooltip, icon, onClick, badgeCo
8
8
  containerId?: string;
9
9
  bottom?: number;
10
10
  right?: number;
11
+ color?: 'default' | 'primary' | 'secondary';
11
12
  }): import("react/jsx-runtime").JSX.Element;
@@ -19,6 +19,8 @@ export interface CalEvent {
19
19
  extraDayIndex: number | null;
20
20
  isMultiDay: boolean;
21
21
  hasAdjournedNoDate: boolean;
22
+ hasAllCasesAdjourned: boolean;
23
+ casesLoaded: boolean;
22
24
  source: CourtDate;
23
25
  }
24
26
  /**
@@ -6,6 +6,11 @@ export declare function adjournCases(cases: {
6
6
  indexNumber: string;
7
7
  year: number;
8
8
  }[], adjournedDate: Date | null, apiKey: string, editUser?: number): Promise<boolean>;
9
+ export declare function clearCaseDeterminations(cases: {
10
+ indexNumber: string;
11
+ action: string;
12
+ date: string | null;
13
+ }[], apiKey: string): Promise<boolean>;
9
14
  export declare function fetchFoilClerkEmails(parcelIds: string[], year: number, apiKey: string): Promise<string[]>;
10
15
  export interface FoilAffidavitResult {
11
16
  affidavit_key: string;
@@ -17,9 +17,19 @@ export declare function filterCourtDates(courtDates: CourtDate[], filterCtx: Cal
17
17
  */
18
18
  export declare function filterCalEvents(calEvents: CalEvent[], filterCtx: CalendarFilterCtx): CalEvent[];
19
19
  /**
20
- * Returns true if a calendar event should be skipped when rendering
21
- * FullCalendar event objects (i.e. all its cases are filtered out by active
22
- * case-level filters). Events with zero cases (all adjourned out) are never
23
- * skipped their unsettled work lives on the adjournment date events.
20
+ * Returns true if a calendar event should be suppressed from both the calendar
21
+ * and the sidebar list. Three independent reasons to skip:
22
+ *
23
+ * 1. The court date's cases have not been fetched yet (`casesLoaded === false`)
24
+ * and the bucket is empty. The empty bucket is "pending", not confirmed empty,
25
+ * so suppress until cases resolve — otherwise an all-adjourned court date
26
+ * flashes a phantom 0-case event on its original date during the load window.
27
+ * Once loaded, an empty bucket is either a genuinely empty date (shown, see #1
28
+ * not firing because casesLoaded is true) or all-adjourned (caught by #2).
29
+ * 2. All cases were adjourned to another date — the adjournment events carry
30
+ * them; nothing belongs on the original date. Exception: keep events that
31
+ * have cases in OA limbo (adjourned with no destination date).
32
+ * 3. Active case-level filters (unsettled / no-evidence / unreviewed) leave
33
+ * zero matching cases in this event's bucket.
24
34
  */
25
35
  export declare function shouldSkipEvent(e: CalEvent, filterCtx: CalendarFilterCtx): boolean;
@@ -20,6 +20,7 @@ import { ModalMode } from '../_components/Modal/types';
20
20
  * - `handleDelete` – Confirms, then deletes the selected court date.
21
21
  * - `handleViewUpdateChair` – Optimistically updates a first/second chair in view mode.
22
22
  * - `handleSelectedCasesAdjournmentChange` – Updates the adjournment date for a set of cases.
23
+ * - `handleSelectedCasesClearDetermination` – Clears the determination for a set of cases (backend only clears `D`).
23
24
  */
24
25
  export declare function useModalActions({ modalMode, selectedCourtDate, selectedCases, editedData, editedCases, setEditedData, setIsOpen, pendingNoticeFiles, }: {
25
26
  modalMode: ModalMode;
@@ -34,5 +35,6 @@ export declare function useModalActions({ modalMode, selectedCourtDate, selected
34
35
  handleSave: () => Promise<boolean>;
35
36
  handleDelete: () => Promise<void>;
36
37
  handleViewUpdateChair: (position: "first" | "second", userId: number | null) => void;
37
- handleSelectedCasesAdjournmentChange: (casesToUpdate: Case[], date: Date | null) => Promise<void>;
38
+ handleSelectedCasesAdjournmentChange: (casesToUpdate: Case[], date: Date | null) => Promise<boolean>;
39
+ handleSelectedCasesClearDetermination: (casesToUpdate: Case[]) => Promise<boolean>;
38
40
  };