@propriety/court-calendar 1.0.83 → 1.0.87

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.
Files changed (46) hide show
  1. package/dist/__tests__/helpers/negotiations.test.d.ts +1 -0
  2. package/dist/_components/DebugModal/Dashboard.d.ts +12 -0
  3. package/dist/_components/DebugModal/Warnings.d.ts +17 -0
  4. package/dist/_components/{DebugModal.d.ts → DebugModal/index.d.ts} +3 -3
  5. package/dist/_components/DebugModal/sections/BucketAnalysis.d.ts +8 -0
  6. package/dist/_components/DebugModal/sections/CaseComparison.d.ts +16 -0
  7. package/dist/_components/DebugModal/sections/CourtDateFields.d.ts +6 -0
  8. package/dist/_components/DebugModal/sections/EventIdentity.d.ts +4 -0
  9. package/dist/_components/DebugModal/sections/Negotiations.d.ts +4 -0
  10. package/dist/_components/DebugModal/sections/StipTracking.d.ts +4 -0
  11. package/dist/_components/DebugModal/sections/UploadStatus.d.ts +16 -0
  12. package/dist/_components/DebugModal/shared.d.ts +24 -0
  13. package/dist/_components/DebugModal/ui.d.ts +28 -0
  14. package/dist/_components/Modal/DateDetails/NegotiationsViewer.d.ts +4 -0
  15. package/dist/_components/Modal/DateDetails/StatusTimeline.d.ts +5 -1
  16. package/dist/court-calendar.css +1 -1
  17. package/dist/helpers/cases.d.ts +2 -0
  18. package/dist/index.mjs +7697 -7354
  19. package/dist/types.d.ts +32 -1
  20. package/package.json +1 -1
  21. package/src/__tests__/fixtures.ts +2 -0
  22. package/src/__tests__/helpers/negotiations.test.ts +101 -0
  23. package/src/_components/CalendarEvents.css +1 -1
  24. package/src/_components/DebugModal/Dashboard.tsx +116 -0
  25. package/src/_components/DebugModal/Warnings.tsx +113 -0
  26. package/src/_components/DebugModal/index.tsx +128 -0
  27. package/src/_components/DebugModal/sections/BucketAnalysis.tsx +108 -0
  28. package/src/_components/DebugModal/sections/CaseComparison.tsx +154 -0
  29. package/src/_components/DebugModal/sections/CourtDateFields.tsx +47 -0
  30. package/src/_components/DebugModal/sections/EventIdentity.tsx +34 -0
  31. package/src/_components/DebugModal/sections/Negotiations.tsx +47 -0
  32. package/src/_components/DebugModal/sections/StipTracking.tsx +47 -0
  33. package/src/_components/DebugModal/sections/UploadStatus.tsx +122 -0
  34. package/src/_components/DebugModal/shared.ts +71 -0
  35. package/src/_components/DebugModal/ui.tsx +74 -0
  36. package/src/_components/Modal/CaseDetails/CaseDetails.tsx +185 -88
  37. package/src/_components/Modal/DateDetails/CaseViewer.tsx +48 -1
  38. package/src/_components/Modal/DateDetails/DateDetails.tsx +21 -1
  39. package/src/_components/Modal/DateDetails/DateTabs.tsx +6 -1
  40. package/src/_components/Modal/DateDetails/NegotiationsViewer.tsx +102 -0
  41. package/src/_components/Modal/DateDetails/StatusTimeline.tsx +42 -15
  42. package/src/constants.ts +2 -0
  43. package/src/helpers/api/cases.ts +4 -0
  44. package/src/helpers/cases.ts +9 -0
  45. package/src/types.ts +46 -13
  46. package/src/_components/DebugModal.tsx +0 -789
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { Case, CourtDate } from '../../types';
2
+ import { CalEvent } from '../../helpers/CalEvent';
3
+ import { Warning } from './Warnings';
4
+ export declare function DashboardPanel({ courtDate, memSnap, apiCases, loading, warnings, isVillage, calEvent, }: {
5
+ courtDate: CourtDate;
6
+ memSnap: Case[];
7
+ apiCases: Case[] | null;
8
+ loading: boolean;
9
+ warnings: Warning[];
10
+ isVillage: boolean;
11
+ calEvent: CalEvent | null;
12
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { Case, CourtDate } from '../../types';
2
+ import { CalEvent } from '../../helpers/CalEvent';
3
+ export interface Warning {
4
+ level: 'error' | 'warn' | 'ok';
5
+ message: string;
6
+ }
7
+ export declare function computeWarnings({ calEvent, memoryCases, apiCases, allDates, isVillage, }: {
8
+ calEvent: CalEvent | null;
9
+ memoryCases: Case[];
10
+ apiCases: Case[] | null;
11
+ allDates: CourtDate[];
12
+ isVillage: boolean;
13
+ }): Warning[];
14
+ export declare function WarningsPanel({ warnings, loading }: {
15
+ warnings: Warning[];
16
+ loading: boolean;
17
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
- import { Case, CourtDate } from '../types';
2
- import { CalEvent } from '../helpers/CalEvent';
3
- export default function DebugModal({ open, onClose, courtDate, memoryCases, calEvent, allDates, }: {
1
+ import { Case, CourtDate } from '../../types';
2
+ import { CalEvent } from '../../helpers/CalEvent';
3
+ export default function DebugModal({ open, onClose, courtDate, memoryCases, calEvent, allDates }: {
4
4
  open: boolean;
5
5
  onClose: () => void;
6
6
  courtDate: CourtDate | null;
@@ -0,0 +1,8 @@
1
+ import { Case, CourtDate } from '../../../types';
2
+ import { CalEvent } from '../../../helpers/CalEvent';
3
+ export declare function BucketAnalysisSection({ memoryCases, calEvent, isVillage, allDates }: {
4
+ memoryCases: Case[];
5
+ calEvent: CalEvent | null;
6
+ isVillage: boolean;
7
+ allDates: CourtDate[];
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { Case } from '../../../types';
2
+ export declare const DIFF_FIELDS: (keyof Case)[];
3
+ export declare function fieldDiff(a: Case | undefined, b: Case | undefined, field: keyof Case): boolean;
4
+ export declare function CaseComparisonSection({ allIndexNumbers, memById, cacheById, apiById, resolvedCache, loading }: {
5
+ allIndexNumbers: string[];
6
+ memById: Map<string, Case>;
7
+ cacheById: Map<string, Case>;
8
+ apiById: Map<string, Case>;
9
+ resolvedCache: Case[] | null;
10
+ loading: boolean;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare function RawDiffSection({ diffCases, memById, apiById }: {
13
+ diffCases: string[];
14
+ memById: Map<string, Case>;
15
+ apiById: Map<string, Case>;
16
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Case, CourtDate } from '../../../types';
2
+ export declare function CourtDateSection({ courtDate, cacheCases, resolvedCache }: {
3
+ courtDate: CourtDate;
4
+ cacheCases: Case[] | 'none' | null;
5
+ resolvedCache: Case[] | null;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { CalEvent } from '../../../helpers/CalEvent';
2
+ export declare function EventIdentitySection({ calEvent }: {
3
+ calEvent: CalEvent | null;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { Case } from '../../../types';
2
+ export declare function NegotiationsSection({ cases }: {
3
+ cases: Case[];
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { Case } from '../../../types';
2
+ export declare function StipTrackingSection({ cases }: {
3
+ cases: Case[];
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { Case, CourtDate } from '../../../types';
2
+ export interface UploadCounts {
3
+ uploaded: number;
4
+ hasEvidenceNotUploaded: number;
5
+ noEvidence: number;
6
+ settled: number;
7
+ total: number;
8
+ }
9
+ export declare function computeUploadCounts(cases: Case[], isVillage: boolean): UploadCounts;
10
+ export declare function UploadStatusSection({ courtDate, memoryCases, apiCases, isVillage, loading }: {
11
+ courtDate: CourtDate;
12
+ memoryCases: Case[];
13
+ apiCases: Case[] | null;
14
+ isVillage: boolean;
15
+ loading: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { Case, CourtDate } from '../../types';
2
+ export declare const C: {
3
+ readonly text: "#ccc";
4
+ readonly dim: "#aaa";
5
+ readonly label: "#555";
6
+ readonly muted: "#444";
7
+ readonly divider: "#2a2a2a";
8
+ readonly border: "#222";
9
+ readonly rowHead: "#1a1a1a";
10
+ readonly panelBg: "#111";
11
+ readonly dashBg: "#0d0d0d";
12
+ readonly statDim: "#3a3a3a";
13
+ readonly green: "#88cc88";
14
+ readonly orange: "#f0a500";
15
+ readonly red: "#ff6b6b";
16
+ readonly blue: "#88aaff";
17
+ };
18
+ export declare function dateToKey(d: Date): string;
19
+ export declare function getCaseBucket(c: Case): string;
20
+ export declare function isOACaseWithNoDate(c: Case, isVillage: boolean): boolean;
21
+ export declare function isAdjEventSuppressed(muniCode: string, activeDate: Date, allDates: CourtDate[]): boolean;
22
+ export declare function fmtVal(val: unknown): string;
23
+ export declare function fmtDate(d: unknown): string;
24
+ export declare function casesById(cases: Case[]): Map<string, Case>;
@@ -0,0 +1,28 @@
1
+ export declare function Section({ title, children, accent, defaultOpen }: {
2
+ title: string;
3
+ children: React.ReactNode;
4
+ accent?: string;
5
+ defaultOpen?: boolean;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function KV({ label, value, color }: {
8
+ label: string;
9
+ value: React.ReactNode;
10
+ color?: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare function Flag({ label, value, redWhenTrue }: {
13
+ label: string;
14
+ value: boolean;
15
+ redWhenTrue?: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ export declare function MonoText({ children, color }: {
18
+ children: React.ReactNode;
19
+ color?: string;
20
+ }): import("react/jsx-runtime").JSX.Element;
21
+ export declare function SubLabel({ children }: {
22
+ children: React.ReactNode;
23
+ }): import("react/jsx-runtime").JSX.Element;
24
+ export declare const TH_STYLE: React.CSSProperties;
25
+ export declare const TD_STYLE: React.CSSProperties;
26
+ export declare const TABLE_STYLE: React.CSSProperties;
27
+ export declare const THEAD_ROW_STYLE: React.CSSProperties;
28
+ export declare const TBODY_ROW_STYLE: React.CSSProperties;
@@ -0,0 +1,4 @@
1
+ import { Case } from '../../../types';
2
+ export default function NegotiationsViewer({ cases }: {
3
+ cases: Case[];
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -9,11 +9,15 @@ export declare enum Status {
9
9
  Incomplete = "incomplete",
10
10
  Loading = "loading"
11
11
  }
12
- export default function StatusTimeline({ reviewed, reviewedCount, uploaded, uploadedCount, settled, settledCount, loading, }: {
12
+ export default function StatusTimeline({ reviewed, reviewedCount, stip, stipCount, uploaded, uploadedCount, sentOffers, sentOffersCount, settled, settledCount, loading, }: {
13
13
  reviewed: Status;
14
14
  reviewedCount?: StageCount;
15
+ stip: Status;
16
+ stipCount?: StageCount;
15
17
  uploaded: Status;
16
18
  uploadedCount?: StageCount;
19
+ sentOffers: Status;
20
+ sentOffersCount?: StageCount;
17
21
  settled: Status;
18
22
  settledCount?: StageCount;
19
23
  loading?: boolean;
@@ -1 +1 @@
1
- .pop-in-ccalendar-event{opacity:0;transform:scale(.8);transform-origin:center center;animation:popInBounce .4s cubic-bezier(.34,1.56,.64,1) forwards;will-change:opacity,transform}@keyframes popInBounce{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}#ccalendar-container *::-webkit-scrollbar{width:8px;background:var(--bg)}#ccalendar-container *::-webkit-scrollbar-thumb{background:var(--fc-border-color);border-radius:4px}#ccalendar-container *::-webkit-scrollbar-track{background:var(--bg)}#ccalendar-container *::-webkit-scrollbar-corner{background:var(--bg)}#ccalendar-container .MuiDataGrid-row:hover,#ccalendar-container .MuiDataGrid-row:hover *{background-color:var(--fc-today-bg-color)!important}#ccalendar-container .MuiDataGrid-row:hover .MuiCheckbox-root,#ccalendar-container .MuiDataGrid-row:hover .MuiCheckbox-root *{background-color:transparent!important}.court-calendar a{color:var(--text)!important;text-decoration:none!important}.month-day-cell{background-color:var(--bg);color:var(--text);cursor:pointer;height:120px;padding:3px!important;position:relative}.month-day-cell.fc-day-other{filter:brightness(.9)}.month-day-cell.fc-day-today{background-color:var(--fc-today-bg-color)}.month-day-cell:hover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--fc-today-bg-color);opacity:.5;pointer-events:none}.day-header{background-color:var(--bg);color:var(--text);border-bottom:1px solid var(--fc-border-color)}.day-header a{padding:6px 4px!important;display:inline-block}.court-calendar th[role=presentation]{background-color:var(--bg)}.day-cell-allday{background-color:var(--bg)!important;color:var(--text)!important}.fc-daygrid-day-events{max-height:100px;min-height:100px;overflow-y:inherit;margin:0!important;overflow-y:auto;scrollbar-color:var(--fc-border-color) transparent}.fc-day-today .fc-daygrid-day-events{scrollbar-color:var(--fc-event-unknown-color) transparent}.court-calendar .fc-timegrid-slot-label{background-color:var(--bg);color:var(--text)}.court-calendar .fc-timegrid-axis{border-color:var(--fc-border-color);background-color:var(--bg);color:var(--text)}.court-calendar .fc-timegrid-divider{border-color:var(--fc-border-color);background-color:var(--bg)}.fc .fc-button,.fc-button{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color);font-family:Roboto,Helvetica,Arial,"sans-serif";padding:.25rem .5rem;cursor:pointer}:is(.fc .fc-button,.fc-button).fc-button-primary{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color)}:is(.fc .fc-button,.fc-button).fc-button-active.fc-button-primary{background-color:var(--fc-today-bg-color);color:var(--text)}:is(.fc .fc-button,.fc-button):hover{background-color:var(--fc-today-bg-color)}.fc.fc-media-screen{background-color:var(--bg);color:var(--text);font-family:Roboto,Helvetica,Arial,"sans-serif"}.CCButton{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color);font-family:Roboto,Helvetica,Arial,"sans-serif";padding:8px 16px;margin-right:8px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.CCButton:hover{background-color:var(--fc-today-bg-color)}.CCButton-Icon{min-width:35px;max-width:35px;min-height:35px;max-height:35px;border:none;padding:0;display:flex;align-items:center;justify-content:center}.CCDropdown-Button{width:75px}.CCDropdown-Menu{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color);font-family:Roboto,Helvetica,Arial,"sans-serif";box-shadow:0 2px 8px #00000026}.CCDropdown-Menu div{padding:8px 19px}.CCDropdown-Menu div:hover{background-color:var(--fc-today-bg-color)}.CCButton-Primary{background-color:#1976d2;color:#fff;border:none}.CCButton-Primary:hover{background-color:#1565c0}.CCButton-Error{background-color:#c15a5a;color:#fff;border:none}.CCButton-Error:hover{background-color:#953838}.ccdisabled{pointer-events:none;opacity:.6}.switch-track{outline:2px solid var(--fc-border-color)}.ccalendar-list-row{cursor:pointer}.CCAvatarIcon:hover{cursor:pointer;transform:scale(1.1);box-shadow:0 4px 8px #0003}#event-tooltip{background-color:var(--text);color:var(--bg);border:1px solid var(--fc-border-color);border-radius:4px;padding:8px;box-shadow:0 4px 8px #00000026;z-index:9999;font-size:16px}.court-event{cursor:pointer;padding:4px 2px}.fc-list .fc-list-day-cushion{background-color:var(--bg)!important;color:var(--text)}.fc-list .fc-list-event:hover td{background-color:var(--fc-today-bg-color)!important}.fc-list .deadline-event .fc-list-event-dot{border:none;width:1em;height:1em;vertical-align:middle;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><circle cx="8" cy="8" r="8" fill="%2300c853"/><path d="M4 8l3 3 5-5" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;background-size:contain}.fc-list .deadline-event.inperson{--color: var(--fc-event-inperson-color)}.fc-list .deadline-event.virtual{--color: var(--fc-event-virtual-color)}.fc-list .deadline-event.unknown{--color: var(--fc-event-unknown-color)}.fc-list .deadline-event.negotiations{--color: var(--fc-event-negotiations-color)}.fc-view:not(.fc-list) .deadline-event{background-color:transparent!important;border-color:transparent!important;display:flex;align-items:center;overflow-x:hidden;position:relative}.fc-view:not(.fc-list) .deadline-event .fc-event-title{color:var(--text)!important}.fc-view:not(.fc-list) .deadline-event.inperson{--color: var(--fc-event-inperson-color)}.fc-view:not(.fc-list) .deadline-event.virtual{--color: var(--fc-event-virtual-color)}.fc-view:not(.fc-list) .deadline-event.unknown{--color: var(--fc-event-unknown-color)}.fc-view:not(.fc-list) .deadline-event.negotiations{--color: var(--fc-event-negotiations-color)}.fc-view:not(.fc-list) .deadline-event.adjourned-no-date{--color: rgb(151, 11, 134) !important}.fc-view:not(.fc-list) .deadline-event.status-uploaded:before{content:"";display:inline-block;width:1em;height:1em;vertical-align:middle;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><circle cx="8" cy="8" r="8" fill="%2300c853"/><path d="M4 8l3 3 5-5" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;background-size:contain;margin:0 4px 0 0;top:.5em;border:none;position:absolute}.fc-view:not(.fc-list) .deadline-event.status-uploaded .fc-event-main{margin-left:1.5em!important}.fc-view:not(.fc-list) .deadline-event:not(.status-uploaded):before{content:"";display:inline-block;border-radius:calc(var(--fc-daygrid-event-dot-width) / 2);box-sizing:content-box;height:0px;margin:0 4px;width:0px;border:calc(var(--fc-daygrid-event-dot-width) / 2) solid var(--color)}.courtdate-event,.adjournment-event{border:1px solid var(--fc-border-color)!important}:is(.courtdate-event,.adjournment-event) .fc-event-title,:is(.courtdate-event,.adjournment-event) .fc-event-time{color:#fff!important}:is(.courtdate-event,.adjournment-event).inperson{background-color:var(--fc-event-inperson-color)!important;border-color:var(--fc-event-inperson-color)!important}:is(.courtdate-event,.adjournment-event).virtual{background-color:var(--fc-event-virtual-color)!important;border-color:var(--fc-event-virtual-color)!important}:is(.courtdate-event,.adjournment-event).unknown{background-color:var(--fc-event-unknown-color)!important;border-color:var(--fc-event-unknown-color)!important}:is(.courtdate-event,.adjournment-event).negotiations{background-color:var(--fc-event-negotiations-color)!important;border-color:var(--fc-event-negotiations-color)!important}:is(.courtdate-event,.adjournment-event) .fc-daygrid-event-dot,:is(.courtdate-event,.adjournment-event) .fc-list-event-dot{display:none}:is(.courtdate-event,.adjournment-event).adjourned-no-date{border-color:#970b86!important;background-color:#970b86!important}.village-date.courtdate-event,.village-date.adjournment-event,.village-date.multipledate-event{border:2px solid #f59e0b!important}.deadline-due-today.courtdate-event,.deadline-due-today.multipledate-event{border:2px solid #d32f2f!important;outline:1px solid #d32f2f}.deadline-due-today.courtdate-event .fc-event-main,.deadline-due-today.multipledate-event .fc-event-main{position:relative}.deadline-due-today.courtdate-event .fc-event-main:after,.deadline-due-today.multipledate-event .fc-event-main:after{content:"!";position:absolute;top:0;right:2px;background:#d32f2f;color:#fff;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:99999}.fc-view:not(.fc-list) .deadline-due-today.deadline-event{border:2px solid #d32f2f!important;border-radius:2px;padding-bottom:2px}.fc-view:not(.fc-list) .deadline-due-today.deadline-event .fc-event-title{color:#d32f2f!important;font-weight:700}.fc-view:not(.fc-list) .deadline-due-today.deadline-event:after{content:"!";position:absolute;left:2px;top:.5em;background:#d32f2f;color:#fff;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:99999}@keyframes overdueFlash{0%,to{border-color:#b71c1c!important;box-shadow:0 0 #b71c1c00}50%{border-color:#ff1744!important;box-shadow:0 0 8px 3px #ff174499}}.deadline-overdue.courtdate-event,.deadline-overdue.multipledate-event{border:2px solid #b71c1c!important;animation:overdueFlash 1.8s ease-in-out infinite!important}.deadline-overdue.courtdate-event .fc-event-main,.deadline-overdue.multipledate-event .fc-event-main{position:relative}.deadline-overdue.courtdate-event .fc-event-main:after,.deadline-overdue.multipledate-event .fc-event-main:after{content:"⚠";position:absolute;top:0;right:2px;background:#b71c1c;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:5}.fc-view:not(.fc-list) .deadline-overdue.deadline-event{border:2px solid #b71c1c!important;border-radius:2px;padding-bottom:2px;animation:overdueFlash 1.8s ease-in-out infinite!important}.fc-view:not(.fc-list) .deadline-overdue.deadline-event .fc-event-title{color:#b71c1c!important;font-weight:700}.fc-view:not(.fc-list) .deadline-overdue.deadline-event:after{content:"⚠";position:absolute;left:2px;top:.5em;background:#b71c1c;color:#fff;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:99999}#ccalendar-toolbar{box-shadow:0 2px 12px #00000012;position:relative}#ccalendar-toolbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--cc-gradient);opacity:.55;pointer-events:none}#ccalendar-toolbar .MuiTypography-h6{background:var(--cc-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700!important}#ccalendar-toolbar .MuiButton-outlined:not([disabled]){border:1.5px solid transparent!important;background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--cc-gradient) border-box!important;transition:box-shadow .15s ease!important}#ccalendar-toolbar .MuiButton-outlined:not([disabled]):hover{background:linear-gradient(var(--fc-today-bg-color),var(--fc-today-bg-color)) padding-box,var(--cc-gradient) border-box!important;box-shadow:0 0 8px 1px var(--cc-glow-purple)!important}.month-day-cell.fc-day-today{background-image:linear-gradient(135deg,#3b82f612,#8b5cf612,#06b6d40d)}.courtdate-event,.adjournment-event,.multipledate-event{border-radius:4px!important;transition:filter .12s ease,box-shadow .12s ease!important}.courtdate-event:hover,.adjournment-event:hover,.multipledate-event:hover{filter:brightness(1.1)!important;box-shadow:0 2px 10px #0000004d!important;z-index:5}#event-tooltip{border:1.5px solid transparent!important;background:linear-gradient(var(--text),var(--text)) padding-box,var(--cc-gradient) border-box!important;box-shadow:0 0 14px 2px #8b5cf638,0 4px 18px #00000047!important;border-radius:10px!important;padding:0!important;font-size:16px!important;font-family:Roboto,Helvetica,Arial,sans-serif!important;min-width:240px!important;max-width:340px!important}#event-tooltip .tt-card{padding:14px 16px}#event-tooltip .tt-title{font-size:17px;font-weight:700;line-height:1.3;margin-bottom:4px}#event-tooltip .tt-date{font-size:15px;opacity:.7;margin-bottom:8px}#event-tooltip .tt-badge{display:inline-block;padding:3px 9px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.03em;margin-bottom:8px}#event-tooltip .tt-badge--blue{background:#3b82f659}#event-tooltip .tt-badge--purple{background:#8b5cf659}#event-tooltip .tt-badge--amber{background:#f59e0b59}#event-tooltip .tt-badge--cyan{background:#06b6d459}#event-tooltip .tt-divider{height:1px;background:#80808047;margin:8px 0}#event-tooltip .tt-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px}#event-tooltip .tt-label{opacity:.58;white-space:nowrap;line-height:1.5}#event-tooltip .tt-value{font-weight:500;line-height:1.5}#event-tooltip .tt-footer{font-size:13px;opacity:.42;text-align:center;margin-top:8px;padding-top:6px;border-top:1px solid rgba(128,128,128,.22)}.modal-footer .MuiButton-containedPrimary{background-image:var(--cc-gradient)!important;box-shadow:0 0 10px 1px var(--cc-glow-purple),0 2px 6px #0000002e!important;transition:opacity .15s ease,box-shadow .15s ease!important}.modal-footer .MuiButton-containedPrimary:hover:not([disabled]){background-image:var(--cc-gradient)!important;opacity:.9;box-shadow:0 0 16px 2px var(--cc-glow-purple),0 2px 8px #00000038!important}.modal-footer .MuiButton-containedPrimary{text-shadow:0 1px 3px rgba(0,0,0,.35)!important}@page{size:landscape;margin:.5in}@media print{#ccalendar-container>.MuiStack-root:first-child,#event-tooltip,.ReactModal__Overlay,.MuiDataGrid-footerContainer{display:none!important}#ccalendar-container{width:100%!important;overflow:visible!important;padding-top:10px}.fc.fc-media-screen,.fc .fc-scrollgrid,.fc .fc-scrollgrid-section>td,.fc .fc-daygrid-body,.fc table{width:100%!important;max-width:100%!important}.fc .fc-scrollgrid{overflow:visible!important}.fc colgroup col{width:auto!important}.fc-daygrid-day-events{max-height:none!important;min-height:auto!important;overflow:visible!important}.month-day-cell{height:auto!important}#ccalendar-container .MuiDataGrid-root{height:auto!important;max-height:none!important}#ccalendar-container .MuiDataGrid-virtualScroller{overflow:visible!important;height:auto!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
1
+ .pop-in-ccalendar-event{opacity:0;transform:scale(.8);transform-origin:center center;animation:popInBounce .4s cubic-bezier(.34,1.56,.64,1) forwards;will-change:opacity,transform}@keyframes popInBounce{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}#ccalendar-container *::-webkit-scrollbar{width:8px;background:var(--bg)}#ccalendar-container *::-webkit-scrollbar-thumb{background:var(--fc-border-color);border-radius:4px}#ccalendar-container *::-webkit-scrollbar-track{background:var(--bg)}#ccalendar-container *::-webkit-scrollbar-corner{background:var(--bg)}#ccalendar-container .MuiDataGrid-row:hover,#ccalendar-container .MuiDataGrid-row:hover *{background-color:var(--fc-today-bg-color)!important}#ccalendar-container .MuiDataGrid-row:hover .MuiCheckbox-root,#ccalendar-container .MuiDataGrid-row:hover .MuiCheckbox-root *{background-color:transparent!important}.court-calendar a{color:var(--text)!important;text-decoration:none!important}.month-day-cell{background-color:var(--bg);color:var(--text);cursor:pointer;height:120px;padding:3px!important;position:relative}.month-day-cell.fc-day-other{filter:brightness(.9)}.month-day-cell.fc-day-today{background-color:var(--fc-today-bg-color)}.month-day-cell:hover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--fc-today-bg-color);opacity:.5;pointer-events:none}.day-header{background-color:var(--bg);color:var(--text);border-bottom:1px solid var(--fc-border-color)}.day-header a{padding:6px 4px!important;display:inline-block}.court-calendar th[role=presentation]{background-color:var(--bg)}.day-cell-allday{background-color:var(--bg)!important;color:var(--text)!important}.fc-daygrid-day-events{max-height:100px;min-height:100px;overflow-y:inherit;margin:0!important;overflow-y:auto;scrollbar-color:var(--fc-border-color) transparent}.fc-day-today .fc-daygrid-day-events{scrollbar-color:var(--fc-event-unknown-color) transparent}.court-calendar .fc-timegrid-slot-label{background-color:var(--bg);color:var(--text)}.court-calendar .fc-timegrid-axis{border-color:var(--fc-border-color);background-color:var(--bg);color:var(--text)}.court-calendar .fc-timegrid-divider{border-color:var(--fc-border-color);background-color:var(--bg)}.fc .fc-button,.fc-button{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color);font-family:Roboto,Helvetica,Arial,"sans-serif";padding:.25rem .5rem;cursor:pointer}:is(.fc .fc-button,.fc-button).fc-button-primary{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color)}:is(.fc .fc-button,.fc-button).fc-button-active.fc-button-primary{background-color:var(--fc-today-bg-color);color:var(--text)}:is(.fc .fc-button,.fc-button):hover{background-color:var(--fc-today-bg-color)}.fc.fc-media-screen{background-color:var(--bg);color:var(--text);font-family:Roboto,Helvetica,Arial,"sans-serif"}.CCButton{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color);font-family:Roboto,Helvetica,Arial,"sans-serif";padding:8px 16px;margin-right:8px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.CCButton:hover{background-color:var(--fc-today-bg-color)}.CCButton-Icon{min-width:35px;max-width:35px;min-height:35px;max-height:35px;border:none;padding:0;display:flex;align-items:center;justify-content:center}.CCDropdown-Button{width:75px}.CCDropdown-Menu{background-color:var(--bg);color:var(--text);border:1px solid var(--fc-border-color);font-family:Roboto,Helvetica,Arial,"sans-serif";box-shadow:0 2px 8px #00000026}.CCDropdown-Menu div{padding:8px 19px}.CCDropdown-Menu div:hover{background-color:var(--fc-today-bg-color)}.CCButton-Primary{background-color:#1976d2;color:#fff;border:none}.CCButton-Primary:hover{background-color:#1565c0}.CCButton-Error{background-color:#c15a5a;color:#fff;border:none}.CCButton-Error:hover{background-color:#953838}.ccdisabled{pointer-events:none;opacity:.6}.switch-track{outline:2px solid var(--fc-border-color)}.ccalendar-list-row{cursor:pointer}.CCAvatarIcon:hover{cursor:pointer;transform:scale(1.1);box-shadow:0 4px 8px #0003}#event-tooltip{background-color:var(--text);color:var(--bg);border:1px solid var(--fc-border-color);border-radius:4px;padding:8px;box-shadow:0 4px 8px #00000026;z-index:9999;font-size:16px}.court-event{cursor:pointer;padding:4px 2px}.fc-list .fc-list-day-cushion{background-color:var(--bg)!important;color:var(--text)}.fc-list .fc-list-event:hover td{background-color:var(--fc-today-bg-color)!important}.fc-list .deadline-event .fc-list-event-dot{border:none;width:1em;height:1em;vertical-align:middle;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><circle cx="8" cy="8" r="8" fill="%2300c853"/><path d="M4 8l3 3 5-5" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;background-size:contain}.fc-list .deadline-event.inperson{--color: var(--fc-event-inperson-color)}.fc-list .deadline-event.virtual{--color: var(--fc-event-virtual-color)}.fc-list .deadline-event.unknown{--color: var(--fc-event-unknown-color)}.fc-list .deadline-event.negotiations{--color: var(--fc-event-negotiations-color)}.fc-view:not(.fc-list) .deadline-event{background-color:transparent!important;border-color:transparent!important;display:flex;align-items:center;overflow-x:hidden;position:relative}.fc-view:not(.fc-list) .deadline-event .fc-event-title{color:var(--text)!important}.fc-view:not(.fc-list) .deadline-event.inperson{--color: var(--fc-event-inperson-color)}.fc-view:not(.fc-list) .deadline-event.virtual{--color: var(--fc-event-virtual-color)}.fc-view:not(.fc-list) .deadline-event.unknown{--color: var(--fc-event-unknown-color)}.fc-view:not(.fc-list) .deadline-event.negotiations{--color: var(--fc-event-negotiations-color)}.fc-view:not(.fc-list) .deadline-event.adjourned-no-date{--color: rgb(151, 11, 134) !important}.fc-view:not(.fc-list) .deadline-event.status-uploaded:before{content:"";display:inline-block;width:1em;height:1em;vertical-align:middle;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><circle cx="8" cy="8" r="8" fill="%2300c853"/><path d="M4 8l3 3 5-5" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;background-size:contain;margin:0 4px 0 0;top:.5em;border:none;position:absolute}.fc-view:not(.fc-list) .deadline-event.status-uploaded .fc-event-main{margin-left:1.5em!important}.fc-view:not(.fc-list) .deadline-event:not(.status-uploaded):before{content:"";display:inline-block;border-radius:calc(var(--fc-daygrid-event-dot-width) / 2);box-sizing:content-box;height:0px;margin:0 4px;width:0px;border:calc(var(--fc-daygrid-event-dot-width) / 2) solid var(--color)}.courtdate-event,.adjournment-event{border:1px solid var(--fc-border-color)!important}:is(.courtdate-event,.adjournment-event) .fc-event-title,:is(.courtdate-event,.adjournment-event) .fc-event-time{color:#fff!important}:is(.courtdate-event,.adjournment-event).inperson{background-color:var(--fc-event-inperson-color)!important;border-color:var(--fc-event-inperson-color)!important}:is(.courtdate-event,.adjournment-event).virtual{background-color:var(--fc-event-virtual-color)!important;border-color:var(--fc-event-virtual-color)!important}:is(.courtdate-event,.adjournment-event).unknown{background-color:var(--fc-event-unknown-color)!important;border-color:var(--fc-event-unknown-color)!important}:is(.courtdate-event,.adjournment-event).negotiations{background-color:var(--fc-event-negotiations-color)!important;border-color:var(--fc-event-negotiations-color)!important}:is(.courtdate-event,.adjournment-event) .fc-daygrid-event-dot,:is(.courtdate-event,.adjournment-event) .fc-list-event-dot{display:none}:is(.courtdate-event,.adjournment-event).adjourned-no-date{border-color:#970b86!important;background-color:#970b86!important}.village-date.courtdate-event,.village-date.adjournment-event,.village-date.multipledate-event{border:2px solid #f59e0b!important}.deadline-due-today.courtdate-event,.deadline-due-today.multipledate-event{border:2px solid #d32f2f!important;outline:1px solid #d32f2f}.deadline-due-today.courtdate-event .fc-event-main,.deadline-due-today.multipledate-event .fc-event-main{position:relative}.deadline-due-today.courtdate-event .fc-event-main:after,.deadline-due-today.multipledate-event .fc-event-main:after{content:"!";position:absolute;top:0;right:2px;background:#d32f2f;color:#fff;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:99999}.fc-view:not(.fc-list) .deadline-due-today.deadline-event{border:2px solid #d32f2f!important;border-radius:2px;padding-bottom:2px}.fc-view:not(.fc-list) .deadline-due-today.deadline-event .fc-event-title{color:#d32f2f!important;font-weight:700}.fc-view:not(.fc-list) .deadline-due-today.deadline-event:after{content:"!";position:absolute;left:2px;top:.7em;background:#d32f2f;color:#fff;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:99999}@keyframes overdueFlash{0%,to{border-color:#b71c1c!important;box-shadow:0 0 #b71c1c00}50%{border-color:#ff1744!important;box-shadow:0 0 8px 3px #ff174499}}.deadline-overdue.courtdate-event,.deadline-overdue.multipledate-event{border:2px solid #b71c1c!important;animation:overdueFlash 1.8s ease-in-out infinite!important}.deadline-overdue.courtdate-event .fc-event-main,.deadline-overdue.multipledate-event .fc-event-main{position:relative}.deadline-overdue.courtdate-event .fc-event-main:after,.deadline-overdue.multipledate-event .fc-event-main:after{content:"⚠";position:absolute;top:0;right:2px;background:#b71c1c;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:5}.fc-view:not(.fc-list) .deadline-overdue.deadline-event{border:2px solid #b71c1c!important;border-radius:2px;padding-bottom:2px;animation:overdueFlash 1.8s ease-in-out infinite!important}.fc-view:not(.fc-list) .deadline-overdue.deadline-event .fc-event-title{color:#b71c1c!important;font-weight:700}.fc-view:not(.fc-list) .deadline-overdue.deadline-event:after{content:"⚠";position:absolute;left:2px;top:.5em;background:#b71c1c;color:#fff;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;z-index:99999}#ccalendar-toolbar{box-shadow:0 2px 12px #00000012;position:relative}#ccalendar-toolbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--cc-gradient);opacity:.55;pointer-events:none}#ccalendar-toolbar .MuiTypography-h6{background:var(--cc-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700!important}#ccalendar-toolbar .MuiButton-outlined:not([disabled]){border:1.5px solid transparent!important;background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--cc-gradient) border-box!important;transition:box-shadow .15s ease!important}#ccalendar-toolbar .MuiButton-outlined:not([disabled]):hover{background:linear-gradient(var(--fc-today-bg-color),var(--fc-today-bg-color)) padding-box,var(--cc-gradient) border-box!important;box-shadow:0 0 8px 1px var(--cc-glow-purple)!important}.month-day-cell.fc-day-today{background-image:linear-gradient(135deg,#3b82f612,#8b5cf612,#06b6d40d)}.courtdate-event,.adjournment-event,.multipledate-event{border-radius:4px!important;transition:filter .12s ease,box-shadow .12s ease!important}.courtdate-event:hover,.adjournment-event:hover,.multipledate-event:hover{filter:brightness(1.1)!important;box-shadow:0 2px 10px #0000004d!important;z-index:5}#event-tooltip{border:1.5px solid transparent!important;background:linear-gradient(var(--text),var(--text)) padding-box,var(--cc-gradient) border-box!important;box-shadow:0 0 14px 2px #8b5cf638,0 4px 18px #00000047!important;border-radius:10px!important;padding:0!important;font-size:16px!important;font-family:Roboto,Helvetica,Arial,sans-serif!important;min-width:240px!important;max-width:340px!important}#event-tooltip .tt-card{padding:14px 16px}#event-tooltip .tt-title{font-size:17px;font-weight:700;line-height:1.3;margin-bottom:4px}#event-tooltip .tt-date{font-size:15px;opacity:.7;margin-bottom:8px}#event-tooltip .tt-badge{display:inline-block;padding:3px 9px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.03em;margin-bottom:8px}#event-tooltip .tt-badge--blue{background:#3b82f659}#event-tooltip .tt-badge--purple{background:#8b5cf659}#event-tooltip .tt-badge--amber{background:#f59e0b59}#event-tooltip .tt-badge--cyan{background:#06b6d459}#event-tooltip .tt-divider{height:1px;background:#80808047;margin:8px 0}#event-tooltip .tt-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px}#event-tooltip .tt-label{opacity:.58;white-space:nowrap;line-height:1.5}#event-tooltip .tt-value{font-weight:500;line-height:1.5}#event-tooltip .tt-footer{font-size:13px;opacity:.42;text-align:center;margin-top:8px;padding-top:6px;border-top:1px solid rgba(128,128,128,.22)}.modal-footer .MuiButton-containedPrimary{background-image:var(--cc-gradient)!important;box-shadow:0 0 10px 1px var(--cc-glow-purple),0 2px 6px #0000002e!important;transition:opacity .15s ease,box-shadow .15s ease!important}.modal-footer .MuiButton-containedPrimary:hover:not([disabled]){background-image:var(--cc-gradient)!important;opacity:.9;box-shadow:0 0 16px 2px var(--cc-glow-purple),0 2px 8px #00000038!important}.modal-footer .MuiButton-containedPrimary{text-shadow:0 1px 3px rgba(0,0,0,.35)!important}@page{size:landscape;margin:.5in}@media print{#ccalendar-container>.MuiStack-root:first-child,#event-tooltip,.ReactModal__Overlay,.MuiDataGrid-footerContainer{display:none!important}#ccalendar-container{width:100%!important;overflow:visible!important;padding-top:10px}.fc.fc-media-screen,.fc .fc-scrollgrid,.fc .fc-scrollgrid-section>td,.fc .fc-daygrid-body,.fc table{width:100%!important;max-width:100%!important}.fc .fc-scrollgrid{overflow:visible!important}.fc colgroup col{width:auto!important}.fc-daygrid-day-events{max-height:none!important;min-height:auto!important;overflow:visible!important}.month-day-cell{height:auto!important}#ccalendar-container .MuiDataGrid-root{height:auto!important;max-height:none!important}#ccalendar-container .MuiDataGrid-virtualScroller{overflow:visible!important;height:auto!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
@@ -3,4 +3,6 @@ export declare function isCaseSettled(c: Case, isVillage: boolean): boolean;
3
3
  export declare function isCaseUploadedOrSettled(c: Case, isVillage: boolean): boolean;
4
4
  export declare function isCaseMissingEvidence(c: Case): boolean;
5
5
  export declare function hasCaseUnuploadedEvidence(c: Case): boolean;
6
+ export declare function hasCaseSentOffer(c: Case): boolean;
7
+ export declare function isStipComplete(c: Case): boolean;
6
8
  export declare function filterCases(cases: Case[], filterCtx: CalendarFilterCtx, isVillage: boolean, selectedDate?: Date): Case[];