@propriety/court-calendar 0.0.2 → 0.0.4

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 (50) hide show
  1. package/dist/_components/CCalendar.d.ts +4 -0
  2. package/dist/_components/List/CalendarList.d.ts +8 -0
  3. package/dist/_components/Modal/CaseDetails/CaseDetails.d.ts +6 -0
  4. package/dist/_components/Modal/CaseDetails/EvidenceRow.d.ts +8 -0
  5. package/dist/_components/Modal/CaseDetails/EvidenceSection.d.ts +4 -0
  6. package/dist/_components/Modal/CreateEdit/CreateEditCase.d.ts +9 -0
  7. package/dist/_components/Modal/CreateEdit/DateSelector.d.ts +8 -0
  8. package/dist/_components/Modal/CreateEdit/EditUserFieldDropdown.d.ts +7 -0
  9. package/dist/_components/Modal/CreateEdit/EnumDropdown.d.ts +7 -0
  10. package/dist/_components/Modal/CreateEdit/HearingOfficerDropdown.d.ts +6 -0
  11. package/dist/_components/Modal/CreateEdit/TextFieldList.d.ts +11 -0
  12. package/dist/_components/Modal/CreateEdit/ToggleableTextField.d.ts +10 -0
  13. package/dist/_components/Modal/Modal.d.ts +16 -0
  14. package/dist/_components/Modal/ModalActions.d.ts +8 -0
  15. package/dist/_components/Modal/View/CaseToolbar.d.ts +5 -0
  16. package/dist/_components/Modal/View/CaseViewer.d.ts +10 -0
  17. package/dist/_components/Modal/View/DateDetails.d.ts +4 -0
  18. package/dist/_components/Modal/View/InfoBox.d.ts +5 -0
  19. package/dist/_components/Modal/View/InfoBoxBtn.d.ts +7 -0
  20. package/dist/_components/Modal/View/NoticeFileLink.d.ts +3 -0
  21. package/dist/_components/Shared/FirstSecondChairIcons.d.ts +7 -0
  22. package/dist/_components/Shared/FormRow.d.ts +6 -0
  23. package/dist/_components/Shared/MuniDropdown.d.ts +6 -0
  24. package/dist/_components/Shared/SearchBar.d.ts +5 -0
  25. package/dist/_components/Toolbar/CaseFilter.d.ts +6 -0
  26. package/dist/_components/Toolbar/DateTypeFilter.d.ts +5 -0
  27. package/dist/_components/Toolbar/HearingTypeFilter.d.ts +5 -0
  28. package/dist/_components/Toolbar/Toolbar.d.ts +14 -0
  29. package/dist/_components/Toolbar/UserFilter.d.ts +6 -0
  30. package/dist/_components/Toolbar/ViewFilter.d.ts +4 -0
  31. package/dist/helpers/cache.d.ts +18 -0
  32. package/dist/helpers/cases.d.ts +6 -0
  33. package/dist/helpers/courtDates.d.ts +7 -0
  34. package/dist/helpers/formatter.d.ts +3 -0
  35. package/dist/helpers/munis.d.ts +4 -0
  36. package/dist/helpers/people.d.ts +3 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.mjs +12726 -12759
  39. package/dist/types.d.ts +106 -0
  40. package/package.json +5 -4
  41. package/src/_components/CCalendar.css +1 -0
  42. package/src/_components/CCalendar.tsx +0 -17
  43. package/src/_components/List/CalendarList.tsx +0 -3
  44. package/src/_components/Modal/Modal.tsx +0 -3
  45. package/src/_components/Modal/ModalActions.tsx +2 -4
  46. package/src/_components/Shared/FirstSecondChairIcons.tsx +5 -8
  47. package/src/_components/Toolbar/Toolbar.tsx +1 -3
  48. package/src/helpers/people.ts +46 -65
  49. package/vite.config.ts +9 -1
  50. package/dist/court-calendar.css +0 -1
@@ -0,0 +1,4 @@
1
+ export default function CCalendar({ apiKey, activeUser }: {
2
+ apiKey: string;
3
+ activeUser: number;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Case, CourtDate } from '../../types';
2
+ export default function CalendarList({ filteredDates, setSelectedDate, currentDate, onUpdateChair, allCases, }: {
3
+ filteredDates: CourtDate[];
4
+ setSelectedDate: (date: CourtDate) => void;
5
+ currentDate: Date;
6
+ onUpdateChair?: (courtDateId: number, position: 'first' | 'second', userId: number | null) => void;
7
+ allCases: Record<string, Case[]>;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Case } from '../../../types';
2
+ declare const CaseDetails: import('react').NamedExoticComponent<{
3
+ selectedCase: Case | null;
4
+ isVillage: boolean;
5
+ }>;
6
+ export default CaseDetails;
@@ -0,0 +1,8 @@
1
+ export default function EvidenceRow({ label, url, user, uploadDate, createdDate, isUploaded, }: {
2
+ label: string;
3
+ url: string;
4
+ user: string;
5
+ uploadDate: string;
6
+ createdDate: string;
7
+ isUploaded?: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { Evidence } from '../../../types';
2
+ export default function EvidenceSection({ evidence }: {
3
+ evidence: Evidence | null;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ModalMode, Case, CourtDate } from '../../../types';
2
+ declare const CreateEditCase: import('react').NamedExoticComponent<{
3
+ edited: CourtDate | undefined;
4
+ setEdited: (data: CourtDate) => void;
5
+ editedCases: Case[];
6
+ setEditedCases: (cases: Case[]) => void;
7
+ modalMode: ModalMode;
8
+ }>;
9
+ export default CreateEditCase;
@@ -0,0 +1,8 @@
1
+ import { CourtDate } from '../../../types';
2
+ export default function DateSelector({ editing, property, label, setEdited, disabled, }: {
3
+ editing: CourtDate | undefined;
4
+ property: keyof CourtDate;
5
+ label: string;
6
+ setEdited: (data: CourtDate) => void;
7
+ disabled: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { CourtDate } from '../../../types';
2
+ export default function EditUserFieldDropdown({ label, edited, setEdited, userPropertyName, }: {
3
+ label: string;
4
+ edited: CourtDate;
5
+ setEdited: (edited: CourtDate) => void;
6
+ userPropertyName: keyof CourtDate;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { CourtDate } from '../../../types';
2
+ export default function EnumDropdown<T extends object>({ edited, setEdited, enumObject, label, }: {
3
+ edited: CourtDate;
4
+ setEdited: (data: CourtDate) => void;
5
+ enumObject: T;
6
+ label: string;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { CourtDate } from '../../../types';
2
+ export default function HearingOfficerDropdown({ label, edited, setEdited, }: {
3
+ label: string;
4
+ edited: CourtDate;
5
+ setEdited: (edited: CourtDate) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { ModalMode } from '../../../types';
2
+ export default function TextFieldList({ textFields, setTextFields, label, fieldLabelPrefix, modalMode, toggleStates, setToggleStates, alternateFieldLabelPrefix, }: {
3
+ textFields: string[];
4
+ setTextFields: (fields: string[], toggles?: boolean[]) => void;
5
+ label: string;
6
+ fieldLabelPrefix: string;
7
+ modalMode: ModalMode;
8
+ toggleStates?: boolean[];
9
+ setToggleStates?: (toggles: boolean[]) => void;
10
+ alternateFieldLabelPrefix?: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ export default function ToggleableTextField({ value, onChange, onBlur, isToggled, onToggleChange, fieldLabelPrefix, alternateFieldLabelPrefix, }: {
2
+ index: number;
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onBlur?: () => void;
6
+ isToggled: boolean;
7
+ onToggleChange: (checked: boolean) => void;
8
+ fieldLabelPrefix: string;
9
+ alternateFieldLabelPrefix: string;
10
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { ModalMode, CalendarFilterCtx, Case, CourtDate } from '../../types';
2
+ export default function CCModal({ modalIsOpen, modalMode, setModalMode, setIsOpen, selectedCourtDate, updateCourtDateInMemory, filterCtx, setFilterCtx, selectedCases, updateCases, deleteCases, isFetchingCases, apiKey, }: {
3
+ modalIsOpen: boolean;
4
+ modalMode: ModalMode;
5
+ setModalMode: (mode: ModalMode) => void;
6
+ setIsOpen: (isOpen: boolean) => void;
7
+ selectedCourtDate: CourtDate | null;
8
+ updateCourtDateInMemory: (updatedDate: CourtDate, del?: boolean) => void;
9
+ filterCtx: CalendarFilterCtx;
10
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
11
+ selectedCases: Case[];
12
+ updateCases: (cases: Record<string, Case[]>) => void;
13
+ deleteCases: (courtDateId: string) => void;
14
+ isFetchingCases: boolean;
15
+ apiKey: string;
16
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ModalMode } from '../../types';
2
+ export default function ModalActions({ modalMode, onDelete, onSave, setModalMode, setIsOpen, }: {
3
+ modalMode: ModalMode;
4
+ onDelete: () => void;
5
+ onSave: () => void;
6
+ setModalMode: (mode: ModalMode) => void;
7
+ setIsOpen: (isOpen: boolean) => void;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { CalendarFilterCtx } from '../../../types';
2
+ export default function CaseToolbar({ filterCtx, setFilterCtx, }: {
3
+ filterCtx: CalendarFilterCtx;
4
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { CalendarFilterCtx, Case } from '../../../types';
2
+ declare const CaseViewer: import('react').NamedExoticComponent<{
3
+ cases: Case[];
4
+ isFetchingCases: boolean;
5
+ filterCtx: CalendarFilterCtx;
6
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
7
+ setClickedCase: (caseItem: Case | null) => void;
8
+ isVillage: boolean;
9
+ }>;
10
+ export default CaseViewer;
@@ -0,0 +1,4 @@
1
+ import { CourtDate } from '../../../types';
2
+ export default function DateDetails({ selectedCourtDate, }: {
3
+ selectedCourtDate: CourtDate | null;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export default function InfoBox({ label, info, color }: {
2
+ label: string;
3
+ info: string;
4
+ color?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ export default function InfoBoxBtn({ label, info, btnLabel, btnIcon, onBtnClick, }: {
2
+ label: string;
3
+ info: string;
4
+ btnLabel?: string;
5
+ btnIcon?: React.ReactNode;
6
+ onBtnClick?: () => void;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export default function NoticeFileLink({ fileKey }: {
2
+ fileKey: string | null;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ type ChairPosition = 'first' | 'second';
2
+ export default function FirstSecondChairIcons({ user1ID, user2ID, onUpdateChair, }: {
3
+ user1ID: number | null;
4
+ user2ID: number | null;
5
+ onUpdateChair?: (position: ChairPosition, userId: number | null) => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ export default function FormRow({ children, gap, header, subheader, }: {
2
+ children: React.ReactNode;
3
+ gap?: number;
4
+ header?: string;
5
+ subheader?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export default function MuniDropdown({ selectedMuni, setSelectedMuni, allowClear, size, }: {
2
+ selectedMuni: string | null;
3
+ setSelectedMuni: (muni: string) => void;
4
+ allowClear: boolean;
5
+ size: 'small' | 'medium';
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export default function SearchBar({ searchTerm, setSearchTerm, width, }: {
2
+ searchTerm: string;
3
+ setSearchTerm: (term: string) => void;
4
+ width?: string | number;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { CalendarFilterCtx } from '../../types';
2
+ export default function CaseFilter({ filterCtx, setFilterCtx, isFetchingCases, }: {
3
+ filterCtx: CalendarFilterCtx;
4
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
5
+ isFetchingCases: boolean;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { CalendarFilterCtx } from '../../types';
2
+ export default function DateTypeFilter({ filterCtx, setFilterCtx, }: {
3
+ filterCtx: CalendarFilterCtx;
4
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { CalendarFilterCtx } from '../../types';
2
+ export default function HearingTypeFilter({ filterCtx, setFilterCtx, }: {
3
+ filterCtx: CalendarFilterCtx;
4
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { Calendar } from '@fullcalendar/core/index.js';
2
+ import { CalendarFilterCtx } from '../../types';
3
+ export default function Toolbar({ calendarApi, filterCtx, setFilterCtx, handleCreateClick, currentView, setCurrentView, setCurrentDate, activeUser, isFetchingCases, }: {
4
+ calendarApi: Calendar | null;
5
+ filterCtx: CalendarFilterCtx;
6
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
7
+ handleCreateClick: () => void;
8
+ currentView: string;
9
+ setCurrentView: (view: string) => void;
10
+ currentDate: Date;
11
+ setCurrentDate: (date: Date) => void;
12
+ activeUser: number | null;
13
+ isFetchingCases: boolean;
14
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { CalendarFilterCtx } from '../../types';
2
+ export default function UserFilter({ filterCtx, setFilterCtx, activeUser, }: {
3
+ filterCtx: CalendarFilterCtx;
4
+ setFilterCtx: (ctx: CalendarFilterCtx) => void;
5
+ activeUser: number | null;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export default function ViewFilter({ currentView, setCurrentView, }: {
2
+ currentView: string;
3
+ setCurrentView: (view: string) => void;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { Case, CourtDate } from '../types';
2
+ export declare function getCasesCache(): Promise<{
3
+ [courtDateId: string]: {
4
+ data: Case[];
5
+ timestamp: number;
6
+ };
7
+ }>;
8
+ export declare function setCasesCache(cache: {
9
+ [courtDateId: string]: {
10
+ data: Case[];
11
+ timestamp: number;
12
+ };
13
+ }): Promise<void>;
14
+ export declare function getCachedCases(courtDateId: string): Promise<Case[] | null>;
15
+ export declare function updateCasesCache(courtDateId: string, data: Case[]): Promise<void>;
16
+ export declare function removeCasesCache(courtDateId: string): Promise<void>;
17
+ export declare function getCourtDatesCache(): Promise<CourtDate[] | null>;
18
+ export declare function setCourtDatesCache(data: CourtDate[]): Promise<void>;
@@ -0,0 +1,6 @@
1
+ import { Case } from '../types';
2
+ export declare function searchByCaseTerm(term: string, apiKey: string): AsyncGenerator<any, void, unknown>;
3
+ export declare function fetchCasesByCourtDate(id: string, apiKey: string): Promise<Case[]>;
4
+ export declare function fetchAllCasesPaginated(apiKey: string, pageSize?: number): AsyncGenerator<Record<string, Case[]>, void, unknown>;
5
+ export declare function isCaseSettled(c: Case, isVillage: boolean): boolean;
6
+ export declare function isCaseMissingEvidence(c: Case): boolean;
@@ -0,0 +1,7 @@
1
+ import { CourtDate } from '../types';
2
+ export declare function getAllDates(apiKey: string): Promise<Array<CourtDate>>;
3
+ export declare function updateCourtDate(courtDateId: number, updatedData: Partial<CourtDate>, apiKey: string, courtCases?: string[]): Promise<boolean>;
4
+ export declare function deleteCourtDate(courtDateId: number, apiKey: string): Promise<boolean>;
5
+ export declare function createCourtDate(courtDate: Date, muniCode: string, apiKey: string, courtCases?: string[]): Promise<number | null>;
6
+ export declare function snoozeUploadDeadline(courtDateId: number, apiKey: string): Promise<boolean>;
7
+ export declare function isVillageDate(muniCode: string): boolean;
@@ -0,0 +1,3 @@
1
+ import { Evidence } from '../types';
2
+ export declare function formatDateForAPI(date: Date): string;
3
+ export declare function formatEvidence(evidence: Evidence): string;
@@ -0,0 +1,4 @@
1
+ import { Muni } from '../types';
2
+ export declare const allMuniNames: Record<string, Muni>;
3
+ export declare function getTownshipName(muniCode: string): string;
4
+ export declare function getCountyName(muniCode: string): string;
@@ -0,0 +1,3 @@
1
+ import { User, HearingOfficer } from '../types';
2
+ export declare const allUsers: Record<number, User>;
3
+ export declare const allHearingOfficers: Record<number, HearingOfficer>;
@@ -0,0 +1 @@
1
+ export { default as CCalendar } from './_components/CCalendar';