@j3m-quantum/ui 1.5.0 → 1.7.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.cjs +3643 -311
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +897 -1
- package/dist/index.d.ts +897 -1
- package/dist/index.js +3462 -190
- package/dist/index.js.map +1 -1
- package/dist/styles/generated/variables.css +1 -3
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
|
38
38
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
39
39
|
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
40
40
|
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
41
|
+
import { Column, Table as Table$1, ColumnDef } from '@tanstack/react-table';
|
|
42
|
+
export { Column, ColumnDef, ColumnFiltersState, Table as DataTable, Row, SortingState, VisibilityState, flexRender, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table';
|
|
41
43
|
export { areIntervalsOverlapping, format, getDay, isSameDay, isSameMonth, isToday, parseISO } from 'date-fns';
|
|
42
44
|
|
|
43
45
|
declare function useIsMobile(): boolean;
|
|
@@ -387,6 +389,37 @@ declare function AlertDialogCancel({ className, ...props }: React$1.ComponentPro
|
|
|
387
389
|
|
|
388
390
|
declare function Progress({ className, value, ...props }: React$1.ComponentProps<typeof ProgressPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
389
391
|
|
|
392
|
+
interface CircularProgressProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
393
|
+
/** Progress value (0-100) */
|
|
394
|
+
value: number;
|
|
395
|
+
/** Size of the circle in pixels */
|
|
396
|
+
size?: number;
|
|
397
|
+
/** Stroke width in pixels */
|
|
398
|
+
strokeWidth?: number;
|
|
399
|
+
/** Color variant for the progress arc */
|
|
400
|
+
variant?: "default" | "success" | "warning" | "destructive";
|
|
401
|
+
/** Whether to show the completed checkmark when value >= 100 */
|
|
402
|
+
showCheckmark?: boolean;
|
|
403
|
+
/** Content to display in the center (overrides default) */
|
|
404
|
+
children?: React$1.ReactNode;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Circular progress indicator component.
|
|
408
|
+
*
|
|
409
|
+
* Styled to match Quantum chart components:
|
|
410
|
+
* - Uses chart color tokens
|
|
411
|
+
* - Muted background track
|
|
412
|
+
* - Clean typography for center content
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* ```tsx
|
|
416
|
+
* <CircularProgress value={75} size={80}>
|
|
417
|
+
* <span className="text-lg font-bold">75%</span>
|
|
418
|
+
* </CircularProgress>
|
|
419
|
+
* ```
|
|
420
|
+
*/
|
|
421
|
+
declare function CircularProgress({ className, value, size, strokeWidth, variant, showCheckmark, children, ...props }: CircularProgressProps): react_jsx_runtime.JSX.Element;
|
|
422
|
+
|
|
390
423
|
declare function TooltipProvider({ delayDuration, ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime.JSX.Element;
|
|
391
424
|
declare function Tooltip({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
392
425
|
declare function TooltipTrigger({ ...props }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
|
|
@@ -396,6 +429,36 @@ declare const Toaster: ({ theme: themeProp, ...props }: ToasterProps) => react_j
|
|
|
396
429
|
|
|
397
430
|
declare function Spinner({ className, ...props }: LucideProps): react_jsx_runtime.JSX.Element;
|
|
398
431
|
|
|
432
|
+
declare const deliveryIndicatorVariants: (props?: ({
|
|
433
|
+
status?: "on-time" | "delayed" | "critical" | "pending" | null | undefined;
|
|
434
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
435
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
436
|
+
type DeliveryStatus = "on-time" | "delayed" | "critical" | "pending";
|
|
437
|
+
interface DeliveryIndicatorProps extends React$1.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof deliveryIndicatorVariants> {
|
|
438
|
+
/** The delivery status */
|
|
439
|
+
status?: DeliveryStatus;
|
|
440
|
+
/** Optional label for accessibility and tooltip */
|
|
441
|
+
label?: string;
|
|
442
|
+
/** Show tooltip on hover */
|
|
443
|
+
showTooltip?: boolean;
|
|
444
|
+
}
|
|
445
|
+
declare function DeliveryIndicator({ className, status, size, label, showTooltip, ...props }: DeliveryIndicatorProps): react_jsx_runtime.JSX.Element;
|
|
446
|
+
interface DeliveryIndicatorsProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
447
|
+
/** Array of delivery statuses to display */
|
|
448
|
+
deliveries: Array<{
|
|
449
|
+
status: DeliveryStatus;
|
|
450
|
+
label?: string;
|
|
451
|
+
}>;
|
|
452
|
+
/** Size of the indicators */
|
|
453
|
+
size?: "sm" | "default" | "lg";
|
|
454
|
+
/** Show tooltips on hover */
|
|
455
|
+
showTooltips?: boolean;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* A group of delivery indicators for displaying multiple deliveries
|
|
459
|
+
*/
|
|
460
|
+
declare function DeliveryIndicators({ className, deliveries, size, showTooltips, ...props }: DeliveryIndicatorsProps): react_jsx_runtime.JSX.Element;
|
|
461
|
+
|
|
399
462
|
declare function Breadcrumb({ ...props }: React$1.ComponentProps<"nav">): react_jsx_runtime.JSX.Element;
|
|
400
463
|
declare function BreadcrumbList({ className, ...props }: React$1.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
|
|
401
464
|
declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
|
|
@@ -672,6 +735,24 @@ declare const SectionDescription: React$1.ForwardRefExoticComponent<React$1.HTML
|
|
|
672
735
|
declare const SectionContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
673
736
|
declare const SectionFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
674
737
|
|
|
738
|
+
interface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {
|
|
739
|
+
column: Column<TData, TValue>;
|
|
740
|
+
title: string;
|
|
741
|
+
}
|
|
742
|
+
declare function DataTableColumnHeader<TData, TValue>({ column, title, className, }: DataTableColumnHeaderProps<TData, TValue>): react_jsx_runtime.JSX.Element;
|
|
743
|
+
|
|
744
|
+
interface DataTablePaginationProps<TData> {
|
|
745
|
+
table: Table$1<TData>;
|
|
746
|
+
showRowSelection?: boolean;
|
|
747
|
+
pageSizeOptions?: number[];
|
|
748
|
+
}
|
|
749
|
+
declare function DataTablePagination<TData>({ table, showRowSelection, pageSizeOptions, }: DataTablePaginationProps<TData>): react_jsx_runtime.JSX.Element;
|
|
750
|
+
|
|
751
|
+
interface DataTableViewOptionsProps<TData> {
|
|
752
|
+
table: Table$1<TData>;
|
|
753
|
+
}
|
|
754
|
+
declare function DataTableViewOptions<TData>({ table, }: DataTableViewOptionsProps<TData>): react_jsx_runtime.JSX.Element;
|
|
755
|
+
|
|
675
756
|
interface BreadcrumbItemType {
|
|
676
757
|
label: string;
|
|
677
758
|
href?: string;
|
|
@@ -734,6 +815,821 @@ declare function NavUser({ user }: NavUserProps): react_jsx_runtime.JSX.Element;
|
|
|
734
815
|
|
|
735
816
|
declare function SearchForm({ ...props }: React$1.ComponentProps<"form">): react_jsx_runtime.JSX.Element;
|
|
736
817
|
|
|
818
|
+
/**
|
|
819
|
+
* Represents a week in the planning matrix
|
|
820
|
+
*/
|
|
821
|
+
interface Week {
|
|
822
|
+
/** ISO week number (1-53) */
|
|
823
|
+
weekNumber: number;
|
|
824
|
+
/** Year of the week */
|
|
825
|
+
year: number;
|
|
826
|
+
/** Start date of the week */
|
|
827
|
+
startDate: Date;
|
|
828
|
+
/** End date of the week */
|
|
829
|
+
endDate: Date;
|
|
830
|
+
/** Formatted week label (e.g., "W52") */
|
|
831
|
+
label: string;
|
|
832
|
+
/** Formatted date range (e.g., "Dec 22 - Dec 28") */
|
|
833
|
+
dateRange: string;
|
|
834
|
+
/** Whether this is the current week */
|
|
835
|
+
isCurrentWeek: boolean;
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* Unit type for production measurement
|
|
839
|
+
*/
|
|
840
|
+
type ProductionUnit = "quantity" | "kvm" | "ton" | "kg" | "m" | "pcs";
|
|
841
|
+
/**
|
|
842
|
+
* Location type for a planning comment
|
|
843
|
+
*/
|
|
844
|
+
type PlanningCommentLocationType = "production" | "delivery";
|
|
845
|
+
/**
|
|
846
|
+
* Location metadata for deep-linking to where a comment was created
|
|
847
|
+
*/
|
|
848
|
+
interface PlanningCommentLocation {
|
|
849
|
+
/** Type of location (production or delivery) */
|
|
850
|
+
type: PlanningCommentLocationType;
|
|
851
|
+
/** Week key (YYYY-WXX format) */
|
|
852
|
+
weekKey: string;
|
|
853
|
+
/** Supplier ID */
|
|
854
|
+
supplierId: string;
|
|
855
|
+
/** Supplier name for display */
|
|
856
|
+
supplierName?: string;
|
|
857
|
+
/** Delivery ID (if type is "delivery") */
|
|
858
|
+
deliveryId?: string;
|
|
859
|
+
/** Delivery label for display (if type is "delivery") */
|
|
860
|
+
deliveryLabel?: string;
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* A comment attached to production or delivery
|
|
864
|
+
*/
|
|
865
|
+
interface PlanningComment {
|
|
866
|
+
/** Unique identifier */
|
|
867
|
+
id: string;
|
|
868
|
+
/** Author name */
|
|
869
|
+
author: string;
|
|
870
|
+
/** Comment text */
|
|
871
|
+
text: string;
|
|
872
|
+
/** Timestamp */
|
|
873
|
+
createdAt: Date;
|
|
874
|
+
/** Whether the comment has been read */
|
|
875
|
+
isRead?: boolean;
|
|
876
|
+
/** Location metadata for deep-linking */
|
|
877
|
+
location?: PlanningCommentLocation;
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Get display label for a comment location
|
|
881
|
+
*/
|
|
882
|
+
declare function getCommentLocationLabel(location: PlanningCommentLocation): string;
|
|
883
|
+
/**
|
|
884
|
+
* Production data for a week
|
|
885
|
+
*/
|
|
886
|
+
interface ProductionData {
|
|
887
|
+
/** Current produced amount */
|
|
888
|
+
produced: number;
|
|
889
|
+
/** Target/planned amount */
|
|
890
|
+
target: number;
|
|
891
|
+
/** Unit of measurement */
|
|
892
|
+
unit: ProductionUnit;
|
|
893
|
+
/** Production status */
|
|
894
|
+
status: DeliveryStatus;
|
|
895
|
+
/** Progress percentage (0-100) - can be calculated from produced/target */
|
|
896
|
+
progress?: number;
|
|
897
|
+
/** Comments about production */
|
|
898
|
+
comments?: PlanningComment[];
|
|
899
|
+
}
|
|
900
|
+
/**
|
|
901
|
+
* Shipment status for a delivery element
|
|
902
|
+
*/
|
|
903
|
+
type ElementShipmentStatus = "sent" | "not-sent" | "moved" | "addon" | "planned";
|
|
904
|
+
/**
|
|
905
|
+
* An element within a delivery
|
|
906
|
+
*/
|
|
907
|
+
interface DeliveryElement {
|
|
908
|
+
/** Unique identifier */
|
|
909
|
+
id: string;
|
|
910
|
+
/** Element name/description */
|
|
911
|
+
name: string;
|
|
912
|
+
/** Whether this element is produced / shipped (legacy, use shipmentStatus instead) */
|
|
913
|
+
isProduced: boolean;
|
|
914
|
+
/** Shipment status for this element */
|
|
915
|
+
shipmentStatus?: ElementShipmentStatus;
|
|
916
|
+
/** If moved/reassigned, reference to the actual delivery it was sent on */
|
|
917
|
+
actualDeliveryId?: string;
|
|
918
|
+
/** If moved/reassigned, label of the actual delivery */
|
|
919
|
+
actualDeliveryLabel?: string;
|
|
920
|
+
/** If addon, reference to the original planned delivery */
|
|
921
|
+
originalDeliveryId?: string;
|
|
922
|
+
/** If addon, label of the original planned delivery */
|
|
923
|
+
originalDeliveryLabel?: string;
|
|
924
|
+
/** Prefix code (e.g., "VP", "YV") */
|
|
925
|
+
prefix?: string;
|
|
926
|
+
/** Element type (e.g., "Wall panel", "Column") */
|
|
927
|
+
type?: string;
|
|
928
|
+
/** Weight in kg or tons */
|
|
929
|
+
weight?: number;
|
|
930
|
+
/** Weight unit */
|
|
931
|
+
weightUnit?: "kg" | "ton";
|
|
932
|
+
/** Size in square meters */
|
|
933
|
+
sizeSqm?: number;
|
|
934
|
+
/** Delivery identifier this element belongs to */
|
|
935
|
+
deliveryId?: string;
|
|
936
|
+
/** Quantity */
|
|
937
|
+
quantity?: number;
|
|
938
|
+
/** Unit */
|
|
939
|
+
unit?: ProductionUnit;
|
|
940
|
+
}
|
|
941
|
+
/**
|
|
942
|
+
* Get derived shipment status for an element
|
|
943
|
+
* Uses iPad flow data as source of truth if available
|
|
944
|
+
*/
|
|
945
|
+
declare function getElementShipmentStatus(element: DeliveryElement, currentDeliveryId: string): ElementShipmentStatus;
|
|
946
|
+
/**
|
|
947
|
+
* Get label for element shipment status (non-critical tone)
|
|
948
|
+
*/
|
|
949
|
+
declare function getShipmentStatusLabel(status: ElementShipmentStatus): string;
|
|
950
|
+
/**
|
|
951
|
+
* Represents a delivery within a week cell
|
|
952
|
+
*/
|
|
953
|
+
interface Delivery {
|
|
954
|
+
/** Unique identifier */
|
|
955
|
+
id: string;
|
|
956
|
+
/** Delivery status */
|
|
957
|
+
status: DeliveryStatus;
|
|
958
|
+
/** Optional label for tooltip */
|
|
959
|
+
label?: string;
|
|
960
|
+
/** Delivery date within the week */
|
|
961
|
+
date?: Date;
|
|
962
|
+
/** Destination/recipient */
|
|
963
|
+
destination?: string;
|
|
964
|
+
/** Elements included in this delivery */
|
|
965
|
+
elements?: DeliveryElement[];
|
|
966
|
+
/** Number of elements at risk (not produced yet) */
|
|
967
|
+
elementsAtRisk?: number;
|
|
968
|
+
/** Total elements count */
|
|
969
|
+
totalElements?: number;
|
|
970
|
+
/** Delivery progress (0-100) */
|
|
971
|
+
progress?: number;
|
|
972
|
+
/** Comments about this delivery */
|
|
973
|
+
comments?: PlanningComment[];
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* Data for a single week cell in the planning matrix
|
|
977
|
+
*/
|
|
978
|
+
interface WeekCellData {
|
|
979
|
+
/** Cell state type */
|
|
980
|
+
type: "data" | "empty" | "no-logistics";
|
|
981
|
+
/** Quantity value (e.g., units scheduled) - legacy */
|
|
982
|
+
quantity?: number;
|
|
983
|
+
/** Progress percentage (0-100) - legacy */
|
|
984
|
+
progress?: number;
|
|
985
|
+
/** Production data for this week */
|
|
986
|
+
production?: ProductionData;
|
|
987
|
+
/** Array of deliveries for this week */
|
|
988
|
+
deliveries?: Delivery[];
|
|
989
|
+
/** Whether there's a warning/alert for this week */
|
|
990
|
+
hasWarning?: boolean;
|
|
991
|
+
/** Warning message if applicable */
|
|
992
|
+
warningMessage?: string;
|
|
993
|
+
/** Additional notes */
|
|
994
|
+
notes?: string;
|
|
995
|
+
}
|
|
996
|
+
/**
|
|
997
|
+
* Badge type for supplier categorization
|
|
998
|
+
*/
|
|
999
|
+
type SupplierBadgeType = "Welded" | "Painted" | "Glazed" | "Delivered" | "Cured" | "Assembled" | "Tested" | "Sealed" | string;
|
|
1000
|
+
/**
|
|
1001
|
+
* Represents a supplier in the planning table
|
|
1002
|
+
*/
|
|
1003
|
+
interface Supplier {
|
|
1004
|
+
/** Unique identifier */
|
|
1005
|
+
id: string;
|
|
1006
|
+
/** Supplier name (e.g., "Alpha Steel") */
|
|
1007
|
+
name: string;
|
|
1008
|
+
/** Badge/category type (e.g., "Welded", "Painted") */
|
|
1009
|
+
badgeType: SupplierBadgeType;
|
|
1010
|
+
/** Scope description (e.g., "Structure A", "Ext. Panels") */
|
|
1011
|
+
scope: string;
|
|
1012
|
+
/** Week data indexed by "YYYY-WXX" format (e.g., "2025-W02") */
|
|
1013
|
+
weeks: Record<string, WeekCellData>;
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Configuration options for the planning table
|
|
1017
|
+
*/
|
|
1018
|
+
/**
|
|
1019
|
+
* User role for role-based access control
|
|
1020
|
+
*/
|
|
1021
|
+
type PlanningUserRole = "supplier" | "j3m";
|
|
1022
|
+
interface PlanningTableConfig {
|
|
1023
|
+
/** Number of weeks to display */
|
|
1024
|
+
weekCount?: number;
|
|
1025
|
+
/** Start date for the week range */
|
|
1026
|
+
startDate?: Date;
|
|
1027
|
+
/** Whether to highlight the current week */
|
|
1028
|
+
highlightCurrentWeek?: boolean;
|
|
1029
|
+
/** Whether to show the toolbar */
|
|
1030
|
+
showToolbar?: boolean;
|
|
1031
|
+
/** Whether to show pagination */
|
|
1032
|
+
showPagination?: boolean;
|
|
1033
|
+
/** Rows per page options */
|
|
1034
|
+
pageSizeOptions?: number[];
|
|
1035
|
+
/** Default page size */
|
|
1036
|
+
defaultPageSize?: number;
|
|
1037
|
+
/** Whether supplier column is sticky */
|
|
1038
|
+
stickySupplierColumn?: boolean;
|
|
1039
|
+
/** Maximum height of the table (enables vertical scroll) */
|
|
1040
|
+
maxHeight?: string;
|
|
1041
|
+
/** Callback when a cell is clicked */
|
|
1042
|
+
onCellClick?: (supplier: Supplier, week: Week, data: WeekCellData) => void;
|
|
1043
|
+
/** Comments for all weeks (weekKey -> comments[]) - shown in X-axis header */
|
|
1044
|
+
weekComments?: Record<string, PlanningComment[]>;
|
|
1045
|
+
/** Callback when a new comment is added via week header */
|
|
1046
|
+
onAddWeekComment?: (weekKey: string, text: string, location: PlanningCommentLocation) => void;
|
|
1047
|
+
/** Callback when a comment is clicked (for navigation to location) */
|
|
1048
|
+
onCommentClick?: (comment: PlanningComment) => void;
|
|
1049
|
+
/** User role for filtering supplier/prefix options in comments */
|
|
1050
|
+
userRole?: PlanningUserRole;
|
|
1051
|
+
/** Current supplier ID (required when userRole is "supplier") - limits comment options to this supplier only */
|
|
1052
|
+
currentSupplierId?: string;
|
|
1053
|
+
}
|
|
1054
|
+
/**
|
|
1055
|
+
* Props for the PlanningTable component
|
|
1056
|
+
*/
|
|
1057
|
+
interface PlanningTableProps {
|
|
1058
|
+
/** Array of suppliers to display */
|
|
1059
|
+
suppliers: Supplier[];
|
|
1060
|
+
/** Configuration options */
|
|
1061
|
+
config?: PlanningTableConfig;
|
|
1062
|
+
/** Additional class names */
|
|
1063
|
+
className?: string;
|
|
1064
|
+
}
|
|
1065
|
+
/**
|
|
1066
|
+
* Get ISO week string from a date
|
|
1067
|
+
*/
|
|
1068
|
+
declare function getWeekKey(date: Date): string;
|
|
1069
|
+
/**
|
|
1070
|
+
* Get ISO week number from a date
|
|
1071
|
+
*/
|
|
1072
|
+
declare function getISOWeek(date: Date): number;
|
|
1073
|
+
/**
|
|
1074
|
+
* Generate an array of weeks starting from a given date
|
|
1075
|
+
*/
|
|
1076
|
+
declare function generateWeeks(startDate: Date, count: number): Week[];
|
|
1077
|
+
/**
|
|
1078
|
+
* Format production unit for display
|
|
1079
|
+
*/
|
|
1080
|
+
declare function formatProductionUnit(unit: ProductionUnit): string;
|
|
1081
|
+
|
|
1082
|
+
/**
|
|
1083
|
+
* PlanningTable - A weekly supplier planning matrix
|
|
1084
|
+
*
|
|
1085
|
+
* Displays suppliers as rows and weeks as columns, with each cell showing
|
|
1086
|
+
* delivery data, progress, and status indicators.
|
|
1087
|
+
*/
|
|
1088
|
+
declare function PlanningTable({ className, suppliers, config, }: PlanningTableProps): react_jsx_runtime.JSX.Element;
|
|
1089
|
+
|
|
1090
|
+
interface SupplierCellProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1091
|
+
/** Supplier data */
|
|
1092
|
+
supplier: Supplier;
|
|
1093
|
+
}
|
|
1094
|
+
/**
|
|
1095
|
+
* Cell component for displaying supplier information in the Y-axis legend.
|
|
1096
|
+
*
|
|
1097
|
+
* Styling matches Calibration Table's RowHeaderCell:
|
|
1098
|
+
* - White background (Y-axis cells)
|
|
1099
|
+
* - Quantum spacing tokens (8px horizontal, 12px top)
|
|
1100
|
+
* - Same typography scale and badge styling
|
|
1101
|
+
*/
|
|
1102
|
+
declare function SupplierCell({ className, supplier, ...props }: SupplierCellProps): react_jsx_runtime.JSX.Element;
|
|
1103
|
+
|
|
1104
|
+
interface WeekCellProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1105
|
+
/** Week cell data */
|
|
1106
|
+
data: WeekCellData;
|
|
1107
|
+
/** Week information */
|
|
1108
|
+
week: Week;
|
|
1109
|
+
/** Supplier information (for click handler context) */
|
|
1110
|
+
supplier?: Supplier;
|
|
1111
|
+
/** Whether this cell is in the current week */
|
|
1112
|
+
isCurrentWeek?: boolean;
|
|
1113
|
+
/** Callback when cell is clicked */
|
|
1114
|
+
onCellClick?: () => void;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Cell component for displaying week data in the planning matrix.
|
|
1118
|
+
*
|
|
1119
|
+
* Styling matches Calibration Table:
|
|
1120
|
+
* - Edge-to-edge status fills (no inset card look)
|
|
1121
|
+
* - Quantum spacing tokens (8px horizontal, 12px top)
|
|
1122
|
+
* - Left stroke for status indication
|
|
1123
|
+
*
|
|
1124
|
+
* Note: Comments are shown in X-axis header only (not per-cell)
|
|
1125
|
+
*/
|
|
1126
|
+
declare function WeekCell({ className, data, week, supplier, isCurrentWeek, onCellClick, ...props }: WeekCellProps): react_jsx_runtime.JSX.Element;
|
|
1127
|
+
|
|
1128
|
+
/** Location option for the comment form */
|
|
1129
|
+
interface CommentLocationOption {
|
|
1130
|
+
id: string;
|
|
1131
|
+
label: string;
|
|
1132
|
+
type: PlanningCommentLocationType;
|
|
1133
|
+
supplierId: string;
|
|
1134
|
+
supplierName: string;
|
|
1135
|
+
deliveryId?: string;
|
|
1136
|
+
deliveryLabel?: string;
|
|
1137
|
+
}
|
|
1138
|
+
interface PlanningWeekCommentPopoverProps {
|
|
1139
|
+
/** Existing comments for this week */
|
|
1140
|
+
comments: PlanningComment[];
|
|
1141
|
+
/** Week label for display */
|
|
1142
|
+
weekLabel: string;
|
|
1143
|
+
/** Week key (YYYY-WXX format) */
|
|
1144
|
+
weekKey: string;
|
|
1145
|
+
/** Available location options (suppliers + their deliveries) */
|
|
1146
|
+
locationOptions: CommentLocationOption[];
|
|
1147
|
+
/** Callback when a new comment is added */
|
|
1148
|
+
onAddComment?: (text: string, location: PlanningCommentLocation) => void;
|
|
1149
|
+
/** Callback when a comment is clicked (for navigation) */
|
|
1150
|
+
onCommentClick?: (comment: PlanningComment) => void;
|
|
1151
|
+
/** Whether the popover is open */
|
|
1152
|
+
open?: boolean;
|
|
1153
|
+
/** Callback when open state changes */
|
|
1154
|
+
onOpenChange?: (open: boolean) => void;
|
|
1155
|
+
}
|
|
1156
|
+
/**
|
|
1157
|
+
* Popover for viewing and adding comments for a specific week in Planning Table X-axis.
|
|
1158
|
+
*
|
|
1159
|
+
* Features:
|
|
1160
|
+
* - Comments list with location Badge tags (clickable for navigation)
|
|
1161
|
+
* - "Add comment" Button that reveals input form with smooth animation
|
|
1162
|
+
* - Location selection (production or delivery) when adding
|
|
1163
|
+
* - Click-to-navigate to exact location where comment was created
|
|
1164
|
+
*/
|
|
1165
|
+
declare function PlanningWeekCommentPopover({ comments, weekLabel, weekKey, locationOptions, onAddComment, onCommentClick, open, onOpenChange, }: PlanningWeekCommentPopoverProps): react_jsx_runtime.JSX.Element;
|
|
1166
|
+
|
|
1167
|
+
/**
|
|
1168
|
+
* Helper function to generate location options from suppliers and their deliveries
|
|
1169
|
+
*/
|
|
1170
|
+
declare function generateLocationOptions(suppliers: Supplier[], weekKey: string): CommentLocationOption[];
|
|
1171
|
+
|
|
1172
|
+
interface WeekHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1173
|
+
/** Week information */
|
|
1174
|
+
week: Week;
|
|
1175
|
+
/** Week key (YYYY-WXX format) */
|
|
1176
|
+
weekKey?: string;
|
|
1177
|
+
/** Comments for this week */
|
|
1178
|
+
comments?: PlanningComment[];
|
|
1179
|
+
/** Whether to show the comment button */
|
|
1180
|
+
showCommentButton?: boolean;
|
|
1181
|
+
/** Available location options for comment form */
|
|
1182
|
+
locationOptions?: CommentLocationOption[];
|
|
1183
|
+
/** Callback when a new comment is added */
|
|
1184
|
+
onAddComment?: (text: string, location: PlanningCommentLocation) => void;
|
|
1185
|
+
/** Callback when a comment is clicked (for navigation) */
|
|
1186
|
+
onCommentClick?: (comment: PlanningComment) => void;
|
|
1187
|
+
}
|
|
1188
|
+
/**
|
|
1189
|
+
* Header component for week columns in the planning table.
|
|
1190
|
+
* Shows week number and date range with pulsating current week indicator.
|
|
1191
|
+
*
|
|
1192
|
+
* Styling matches Calibration table:
|
|
1193
|
+
* - Semibold week label with tracking-tight
|
|
1194
|
+
* - Current week: primary color text + pulsating dot (no full header tint)
|
|
1195
|
+
* - Date range: smaller, lower contrast, thinner weight (metadata)
|
|
1196
|
+
* - Comment popover in X-axis header (matching Calibration pattern)
|
|
1197
|
+
*/
|
|
1198
|
+
declare function WeekHeader({ className, week, weekKey, comments, showCommentButton, locationOptions, onAddComment, onCommentClick, ...props }: WeekHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1199
|
+
|
|
1200
|
+
interface PlanningTableToolbarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1201
|
+
table: Table$1<Supplier>;
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Toolbar component for the PlanningTable.
|
|
1205
|
+
* Provides search/filter functionality.
|
|
1206
|
+
*/
|
|
1207
|
+
declare function PlanningTableToolbar({ className, table, ...props }: PlanningTableToolbarProps): react_jsx_runtime.JSX.Element;
|
|
1208
|
+
|
|
1209
|
+
interface WeekDetailDialogProps {
|
|
1210
|
+
/** Whether the dialog is open */
|
|
1211
|
+
open: boolean;
|
|
1212
|
+
/** Callback when dialog open state changes */
|
|
1213
|
+
onOpenChange: (open: boolean) => void;
|
|
1214
|
+
/** Supplier data */
|
|
1215
|
+
supplier: Supplier | null;
|
|
1216
|
+
/** Week data */
|
|
1217
|
+
week: Week | null;
|
|
1218
|
+
/** Week cell data */
|
|
1219
|
+
data: WeekCellData | null;
|
|
1220
|
+
/** Callback when progress is updated */
|
|
1221
|
+
onProgressUpdate?: (supplierId: string, weekKey: string, newProgress: number, newProduced?: number) => void;
|
|
1222
|
+
/** Callback when a production comment is added */
|
|
1223
|
+
onAddProductionComment?: (supplierId: string, weekKey: string, text: string) => void;
|
|
1224
|
+
/** Callback when a delivery comment is added */
|
|
1225
|
+
onAddDeliveryComment?: (supplierId: string, weekKey: string, deliveryId: string, text: string) => void;
|
|
1226
|
+
}
|
|
1227
|
+
/**
|
|
1228
|
+
* Dialog component for displaying detailed week information.
|
|
1229
|
+
* Uses stack navigation pattern for delivery drilldown.
|
|
1230
|
+
*
|
|
1231
|
+
* View A: Main (Production + Deliveries list)
|
|
1232
|
+
* View B: Delivery Details (Quantum DataTable, read-only)
|
|
1233
|
+
*/
|
|
1234
|
+
declare function WeekDetailDialog({ open, onOpenChange, supplier, week, data, onProgressUpdate, onAddProductionComment, onAddDeliveryComment, }: WeekDetailDialogProps): react_jsx_runtime.JSX.Element | null;
|
|
1235
|
+
|
|
1236
|
+
/**
|
|
1237
|
+
* Generate the supplier column definition
|
|
1238
|
+
*/
|
|
1239
|
+
declare function getSupplierColumn(): ColumnDef<Supplier>;
|
|
1240
|
+
/**
|
|
1241
|
+
* Generate column definitions for week columns
|
|
1242
|
+
*/
|
|
1243
|
+
declare function generateWeekColumns(weeks: Week[], config?: PlanningTableConfig, suppliers?: Supplier[]): ColumnDef<Supplier>[];
|
|
1244
|
+
/**
|
|
1245
|
+
* Generate all column definitions for the planning table
|
|
1246
|
+
*/
|
|
1247
|
+
declare function generateColumns(weeks: Week[], config?: PlanningTableConfig, suppliers?: Supplier[]): ColumnDef<Supplier>[];
|
|
1248
|
+
|
|
1249
|
+
/**
|
|
1250
|
+
* Calibration Table Types
|
|
1251
|
+
*
|
|
1252
|
+
* Type definitions for the weekly production calibration table.
|
|
1253
|
+
* Suppliers enter weekly production amounts to meet accumulated requirements.
|
|
1254
|
+
*/
|
|
1255
|
+
|
|
1256
|
+
/**
|
|
1257
|
+
* Unit type for production measurement
|
|
1258
|
+
*/
|
|
1259
|
+
type CalibrationUnit = "ton" | "pcs" | "m2" | "kg" | "m";
|
|
1260
|
+
/**
|
|
1261
|
+
* Format unit for display
|
|
1262
|
+
*/
|
|
1263
|
+
declare function formatCalibrationUnit(unit: CalibrationUnit): string;
|
|
1264
|
+
/**
|
|
1265
|
+
* Status of a calibration cell based on accumulated constraint
|
|
1266
|
+
*/
|
|
1267
|
+
type CalibrationStatus = "pending" | "valid" | "shortfall";
|
|
1268
|
+
/**
|
|
1269
|
+
* Data for a single week cell in the calibration matrix
|
|
1270
|
+
*/
|
|
1271
|
+
interface CalibrationCellData {
|
|
1272
|
+
/** Planned/required amount for this week */
|
|
1273
|
+
planned: number;
|
|
1274
|
+
/** Supplier-entered production amount */
|
|
1275
|
+
entered: number | null;
|
|
1276
|
+
/** Accumulated planned up to this week (calculated) */
|
|
1277
|
+
accumulatedPlanned: number;
|
|
1278
|
+
/** Accumulated entered up to this week (calculated) */
|
|
1279
|
+
accumulatedEntered: number;
|
|
1280
|
+
/** Net difference (accumulatedEntered - accumulatedPlanned) */
|
|
1281
|
+
net: number;
|
|
1282
|
+
/** Cell status based on constraint */
|
|
1283
|
+
status: CalibrationStatus;
|
|
1284
|
+
/** Whether this cell is editable */
|
|
1285
|
+
isEditable: boolean;
|
|
1286
|
+
}
|
|
1287
|
+
/**
|
|
1288
|
+
* A comment attached to a specific week and prefix/row
|
|
1289
|
+
*/
|
|
1290
|
+
interface CalibrationComment {
|
|
1291
|
+
/** Unique identifier */
|
|
1292
|
+
id: string;
|
|
1293
|
+
/** Week key (YYYY-WXX format) */
|
|
1294
|
+
weekKey: string;
|
|
1295
|
+
/** Prefix/row ID the comment is tagged to */
|
|
1296
|
+
prefixId: string;
|
|
1297
|
+
/** Prefix/row name for display (e.g., "Columns", "Wall panels") */
|
|
1298
|
+
prefixName: string;
|
|
1299
|
+
/** Author name */
|
|
1300
|
+
author: string;
|
|
1301
|
+
/** Comment text */
|
|
1302
|
+
text: string;
|
|
1303
|
+
/** Timestamp */
|
|
1304
|
+
createdAt: Date;
|
|
1305
|
+
/** Whether the comment has been read */
|
|
1306
|
+
isRead?: boolean;
|
|
1307
|
+
}
|
|
1308
|
+
/**
|
|
1309
|
+
* Badge type for checkpoint categorization
|
|
1310
|
+
*/
|
|
1311
|
+
type CheckpointBadgeType = "Painted" | "Welded" | "Glazed" | "Cured" | "Assembled" | "Delivered" | "Tested" | "Sealed" | string;
|
|
1312
|
+
/**
|
|
1313
|
+
* A prefix/element row in the calibration table (Supplier view)
|
|
1314
|
+
*/
|
|
1315
|
+
interface CalibrationPrefix {
|
|
1316
|
+
/** Unique identifier */
|
|
1317
|
+
id: string;
|
|
1318
|
+
/** Prefix name (e.g., "Trusses") */
|
|
1319
|
+
name: string;
|
|
1320
|
+
/** Prefix type code (e.g., "TF") */
|
|
1321
|
+
typeCode: string;
|
|
1322
|
+
/** Checkpoint badge type */
|
|
1323
|
+
checkpoint: CheckpointBadgeType;
|
|
1324
|
+
/** Unit of measurement */
|
|
1325
|
+
unit: CalibrationUnit;
|
|
1326
|
+
/** Total required quantity (sum of all planned) */
|
|
1327
|
+
totalRequired: number;
|
|
1328
|
+
/** Total booked/committed quantity */
|
|
1329
|
+
totalBooked: number;
|
|
1330
|
+
/** Week data indexed by "YYYY-WXX" format */
|
|
1331
|
+
weeks: Record<string, CalibrationCellData>;
|
|
1332
|
+
/** Comments for this prefix */
|
|
1333
|
+
comments?: CalibrationComment[];
|
|
1334
|
+
}
|
|
1335
|
+
/**
|
|
1336
|
+
* Calibration status for a supplier submission
|
|
1337
|
+
*/
|
|
1338
|
+
type SubmissionStatus = "draft" | "submitted" | "approved" | "rejected";
|
|
1339
|
+
/**
|
|
1340
|
+
* A supplier row in the J3M overview table
|
|
1341
|
+
*/
|
|
1342
|
+
interface CalibrationSupplier {
|
|
1343
|
+
/** Unique identifier */
|
|
1344
|
+
id: string;
|
|
1345
|
+
/** Supplier company name */
|
|
1346
|
+
name: string;
|
|
1347
|
+
/** Submission status */
|
|
1348
|
+
status: SubmissionStatus;
|
|
1349
|
+
/** Last updated timestamp */
|
|
1350
|
+
lastUpdated?: Date;
|
|
1351
|
+
/** Submitted by user name */
|
|
1352
|
+
submittedBy?: string;
|
|
1353
|
+
/** Prefixes/elements this supplier is responsible for */
|
|
1354
|
+
prefixes: CalibrationPrefix[];
|
|
1355
|
+
/** Overall calibration progress (0-100) */
|
|
1356
|
+
progress: number;
|
|
1357
|
+
/** Number of shortfalls across all prefixes */
|
|
1358
|
+
shortfallCount: number;
|
|
1359
|
+
/** Total comments count */
|
|
1360
|
+
commentsCount: number;
|
|
1361
|
+
}
|
|
1362
|
+
/**
|
|
1363
|
+
* Mode for the calibration table
|
|
1364
|
+
*/
|
|
1365
|
+
type CalibrationMode = "supplier" | "j3m";
|
|
1366
|
+
/**
|
|
1367
|
+
* Configuration options for the calibration table
|
|
1368
|
+
*/
|
|
1369
|
+
interface CalibrationTableConfig {
|
|
1370
|
+
/** Mode: supplier (editing) or j3m (overview) */
|
|
1371
|
+
mode: CalibrationMode;
|
|
1372
|
+
/** Number of weeks to display */
|
|
1373
|
+
weekCount?: number;
|
|
1374
|
+
/** Start date for the week range (defaults to earliest planned week) */
|
|
1375
|
+
startDate?: Date;
|
|
1376
|
+
/** Whether to allow adding earlier weeks */
|
|
1377
|
+
allowTimelineExtension?: boolean;
|
|
1378
|
+
/** Maximum weeks that can be added earlier */
|
|
1379
|
+
maxEarlierWeeks?: number;
|
|
1380
|
+
/** Whether to show the toolbar/filters */
|
|
1381
|
+
showToolbar?: boolean;
|
|
1382
|
+
/** Whether to show pagination */
|
|
1383
|
+
showPagination?: boolean;
|
|
1384
|
+
/** Rows per page options */
|
|
1385
|
+
pageSizeOptions?: number[];
|
|
1386
|
+
/** Default page size */
|
|
1387
|
+
defaultPageSize?: number;
|
|
1388
|
+
/** Whether row header column is sticky */
|
|
1389
|
+
stickyRowHeader?: boolean;
|
|
1390
|
+
/** Maximum height of the table */
|
|
1391
|
+
maxHeight?: string;
|
|
1392
|
+
/** Callback when a cell value changes */
|
|
1393
|
+
onCellChange?: (prefixId: string, weekKey: string, value: number | null) => void;
|
|
1394
|
+
/** Callback when calibration is submitted */
|
|
1395
|
+
onSubmit?: () => void;
|
|
1396
|
+
/** Callback when a comment is added */
|
|
1397
|
+
onAddComment?: (prefixId: string, weekKey: string, text: string) => void;
|
|
1398
|
+
/** Callback when a week is added earlier */
|
|
1399
|
+
onAddEarlierWeek?: () => void;
|
|
1400
|
+
}
|
|
1401
|
+
/**
|
|
1402
|
+
* Props for CalibrationTable (Supplier mode)
|
|
1403
|
+
*/
|
|
1404
|
+
interface CalibrationTableProps {
|
|
1405
|
+
/** Prefixes to display (for supplier mode) */
|
|
1406
|
+
prefixes: CalibrationPrefix[];
|
|
1407
|
+
/** Supplier information */
|
|
1408
|
+
supplierName?: string;
|
|
1409
|
+
/** Submission status */
|
|
1410
|
+
status?: SubmissionStatus;
|
|
1411
|
+
/** Configuration options */
|
|
1412
|
+
config?: Omit<CalibrationTableConfig, "mode">;
|
|
1413
|
+
/** Additional class names */
|
|
1414
|
+
className?: string;
|
|
1415
|
+
}
|
|
1416
|
+
/**
|
|
1417
|
+
* Props for CalibrationOverview (J3M mode)
|
|
1418
|
+
*/
|
|
1419
|
+
interface CalibrationOverviewProps {
|
|
1420
|
+
/** Suppliers to display */
|
|
1421
|
+
suppliers: CalibrationSupplier[];
|
|
1422
|
+
/** Configuration options */
|
|
1423
|
+
config?: Omit<CalibrationTableConfig, "mode">;
|
|
1424
|
+
/** Additional class names */
|
|
1425
|
+
className?: string;
|
|
1426
|
+
}
|
|
1427
|
+
/**
|
|
1428
|
+
* Calculate calibration cell data with accumulated constraints
|
|
1429
|
+
*/
|
|
1430
|
+
declare function calculateCalibrationCells(weeks: {
|
|
1431
|
+
weekKey: string;
|
|
1432
|
+
planned: number;
|
|
1433
|
+
entered: number | null;
|
|
1434
|
+
}[]): Record<string, CalibrationCellData>;
|
|
1435
|
+
/**
|
|
1436
|
+
* Check if calibration can be submitted (all cells valid, no shortfalls)
|
|
1437
|
+
*/
|
|
1438
|
+
declare function canSubmitCalibration(prefixes: CalibrationPrefix[]): {
|
|
1439
|
+
canSubmit: boolean;
|
|
1440
|
+
shortfallCount: number;
|
|
1441
|
+
pendingCount: number;
|
|
1442
|
+
message: string;
|
|
1443
|
+
};
|
|
1444
|
+
|
|
1445
|
+
/**
|
|
1446
|
+
* CalibrationTable - Weekly production calibration matrix
|
|
1447
|
+
*
|
|
1448
|
+
* Suppliers use this to enter weekly production amounts to meet
|
|
1449
|
+
* accumulated requirements. Shows validation state (grey/green/red)
|
|
1450
|
+
* based on accumulated constraint logic.
|
|
1451
|
+
*/
|
|
1452
|
+
declare function CalibrationTable({ className, prefixes, supplierName, status, config, }: CalibrationTableProps): react_jsx_runtime.JSX.Element;
|
|
1453
|
+
|
|
1454
|
+
interface CalibrationWeekCellProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1455
|
+
/** Cell data */
|
|
1456
|
+
data: CalibrationCellData;
|
|
1457
|
+
/** Unit of measurement */
|
|
1458
|
+
unit: CalibrationUnit;
|
|
1459
|
+
/** Callback when value changes */
|
|
1460
|
+
onValueChange?: (value: number | null) => void;
|
|
1461
|
+
/** Whether the cell is in a focused/active state */
|
|
1462
|
+
isFocused?: boolean;
|
|
1463
|
+
/** Whether this cell is forced red due to prior deficit in the row */
|
|
1464
|
+
forcedRed?: boolean;
|
|
1465
|
+
/** Whether this is an empty cell (no planned work) */
|
|
1466
|
+
isEmpty?: boolean;
|
|
1467
|
+
/** Callback when "+" button is clicked to add amount */
|
|
1468
|
+
onAddClick?: () => void;
|
|
1469
|
+
}
|
|
1470
|
+
/**
|
|
1471
|
+
* A single week cell in the calibration table.
|
|
1472
|
+
* Shows accumulated status, planned value, and editable input.
|
|
1473
|
+
*
|
|
1474
|
+
* Status styling rules:
|
|
1475
|
+
* - White (empty): no planned work AND not behind (not forcedRed)
|
|
1476
|
+
* - Valid (green): meets accumulated requirement
|
|
1477
|
+
* - Shortfall (red): accumulated < planned accumulated
|
|
1478
|
+
* - ForcedRed: behind as of this week due to prior deficit
|
|
1479
|
+
*/
|
|
1480
|
+
declare function CalibrationWeekCell({ className, data, unit, onValueChange, isFocused, forcedRed, isEmpty, onAddClick, ...props }: CalibrationWeekCellProps): react_jsx_runtime.JSX.Element;
|
|
1481
|
+
|
|
1482
|
+
/** Option for the row/type select dropdown */
|
|
1483
|
+
interface PrefixOption {
|
|
1484
|
+
id: string;
|
|
1485
|
+
name: string;
|
|
1486
|
+
}
|
|
1487
|
+
interface CommentPopoverProps {
|
|
1488
|
+
/** Existing comments for this week (may include comments from multiple prefixes) */
|
|
1489
|
+
comments: CalibrationComment[];
|
|
1490
|
+
/** Week label for display */
|
|
1491
|
+
weekLabel: string;
|
|
1492
|
+
/** Available prefixes/rows for selection */
|
|
1493
|
+
availablePrefixes: PrefixOption[];
|
|
1494
|
+
/** Callback when a new comment is added */
|
|
1495
|
+
onAddComment?: (text: string, prefixId: string, prefixName: string) => void;
|
|
1496
|
+
/** Whether the popover is open */
|
|
1497
|
+
open?: boolean;
|
|
1498
|
+
/** Callback when open state changes */
|
|
1499
|
+
onOpenChange?: (open: boolean) => void;
|
|
1500
|
+
}
|
|
1501
|
+
/**
|
|
1502
|
+
* Popover for viewing and adding comments for a specific week.
|
|
1503
|
+
*
|
|
1504
|
+
* Features:
|
|
1505
|
+
* - Comments list with row/type Badge tags
|
|
1506
|
+
* - "Add comment" Button that reveals input form with smooth animation
|
|
1507
|
+
* - Select dropdown for choosing which row/type the comment applies to
|
|
1508
|
+
*/
|
|
1509
|
+
declare function CommentPopover({ comments, weekLabel, availablePrefixes, onAddComment, open, onOpenChange, }: CommentPopoverProps): react_jsx_runtime.JSX.Element;
|
|
1510
|
+
|
|
1511
|
+
interface CalibrationWeekHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1512
|
+
/** Week information */
|
|
1513
|
+
week: Week;
|
|
1514
|
+
/** Comments for this week */
|
|
1515
|
+
comments?: CalibrationComment[];
|
|
1516
|
+
/** Whether to show the comment button */
|
|
1517
|
+
showCommentButton?: boolean;
|
|
1518
|
+
/** Available prefixes/rows for the comment select dropdown */
|
|
1519
|
+
availablePrefixes?: PrefixOption[];
|
|
1520
|
+
/** Callback when a new comment is added (includes prefix info) */
|
|
1521
|
+
onAddComment?: (text: string, prefixId: string, prefixName: string) => void;
|
|
1522
|
+
}
|
|
1523
|
+
/**
|
|
1524
|
+
* Header component for week columns in the calibration table.
|
|
1525
|
+
* Shows week number (W01, W02...), date range, and comment popover.
|
|
1526
|
+
*
|
|
1527
|
+
* Comment button states:
|
|
1528
|
+
* - No comments: Plain comment icon
|
|
1529
|
+
* - Has comments: Comment icon with notification dot (primary orange)
|
|
1530
|
+
*/
|
|
1531
|
+
declare function CalibrationWeekHeader({ className, week, comments, showCommentButton, availablePrefixes, onAddComment, ...props }: CalibrationWeekHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1532
|
+
|
|
1533
|
+
interface RowHeaderCellProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "prefix"> {
|
|
1534
|
+
/** Prefix/row data */
|
|
1535
|
+
data: CalibrationPrefix;
|
|
1536
|
+
/** Whether to show the progress bar */
|
|
1537
|
+
showProgress?: boolean;
|
|
1538
|
+
}
|
|
1539
|
+
/**
|
|
1540
|
+
* Row header cell for the calibration table.
|
|
1541
|
+
* Shows prefix name, type code, checkpoint badge with flag, and progress bar.
|
|
1542
|
+
*
|
|
1543
|
+
* Based on Figma design:
|
|
1544
|
+
* - "Trusses" (prefix name, bold)
|
|
1545
|
+
* - "TF" (type code, muted)
|
|
1546
|
+
* - "Paint" badge with flag icon (checkpoint)
|
|
1547
|
+
* - Progress bar aligned to title text width
|
|
1548
|
+
*/
|
|
1549
|
+
declare function RowHeaderCell({ className, data, showProgress, ...props }: RowHeaderCellProps): react_jsx_runtime.JSX.Element;
|
|
1550
|
+
|
|
1551
|
+
interface NetBadgeProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1552
|
+
/** Net value (accumulated entered - accumulated planned) */
|
|
1553
|
+
net: number;
|
|
1554
|
+
/** Cell status */
|
|
1555
|
+
status: CalibrationStatus;
|
|
1556
|
+
/** Whether to show compact version (icon only when valid) */
|
|
1557
|
+
compact?: boolean;
|
|
1558
|
+
}
|
|
1559
|
+
/**
|
|
1560
|
+
* Badge showing accumulated net status.
|
|
1561
|
+
* - Grey: Pending (not finalized)
|
|
1562
|
+
* - Green: Valid (net >= 0)
|
|
1563
|
+
* - Red: Shortfall (net < 0)
|
|
1564
|
+
*/
|
|
1565
|
+
declare function NetBadge({ className, net, status, compact, ...props }: NetBadgeProps): react_jsx_runtime.JSX.Element;
|
|
1566
|
+
|
|
1567
|
+
interface CommentButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1568
|
+
/** Number of existing comments */
|
|
1569
|
+
commentCount?: number;
|
|
1570
|
+
/** Size variant */
|
|
1571
|
+
size?: "sm" | "default";
|
|
1572
|
+
}
|
|
1573
|
+
/**
|
|
1574
|
+
* Comment button with icon states:
|
|
1575
|
+
* - No comments: Plain comment icon
|
|
1576
|
+
* - Has comments: Comment icon with notification dot (primary orange)
|
|
1577
|
+
*/
|
|
1578
|
+
declare function CommentButton({ className, commentCount, size, ...props }: CommentButtonProps): react_jsx_runtime.JSX.Element;
|
|
1579
|
+
|
|
1580
|
+
interface CommentDialogProps {
|
|
1581
|
+
/** Available prefixes/rows to comment on */
|
|
1582
|
+
prefixes: CalibrationPrefix[];
|
|
1583
|
+
/** Available weeks */
|
|
1584
|
+
weeks: Week[];
|
|
1585
|
+
/** Callback when a comment is added */
|
|
1586
|
+
onAddComment?: (prefixId: string, weekKey: string, text: string) => void;
|
|
1587
|
+
/** Trigger button variant */
|
|
1588
|
+
triggerVariant?: "default" | "outline" | "ghost";
|
|
1589
|
+
/** Whether the dialog is open */
|
|
1590
|
+
open?: boolean;
|
|
1591
|
+
/** Callback when open state changes */
|
|
1592
|
+
onOpenChange?: (open: boolean) => void;
|
|
1593
|
+
}
|
|
1594
|
+
/**
|
|
1595
|
+
* Dialog for adding a comment from the top toolbar.
|
|
1596
|
+
*
|
|
1597
|
+
* Allows user to:
|
|
1598
|
+
* - Select which prefix/row the comment refers to
|
|
1599
|
+
* - Select which week (optional, defaults to current context)
|
|
1600
|
+
* - Enter comment text
|
|
1601
|
+
*/
|
|
1602
|
+
declare function CommentDialog({ prefixes, weeks, onAddComment, triggerVariant, open, onOpenChange, }: CommentDialogProps): react_jsx_runtime.JSX.Element;
|
|
1603
|
+
|
|
1604
|
+
interface SubmitCalibrationBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1605
|
+
/** Current submission status */
|
|
1606
|
+
status: SubmissionStatus;
|
|
1607
|
+
/** Last saved date */
|
|
1608
|
+
lastSaved?: Date;
|
|
1609
|
+
/** Whether calibration can be submitted */
|
|
1610
|
+
canSubmit: boolean;
|
|
1611
|
+
/** Number of shortfalls */
|
|
1612
|
+
shortfallCount: number;
|
|
1613
|
+
/** Number of pending (unfilled) cells */
|
|
1614
|
+
pendingCount: number;
|
|
1615
|
+
/** Helper message explaining current state */
|
|
1616
|
+
message: string;
|
|
1617
|
+
/** Callback when submit button is clicked */
|
|
1618
|
+
onSubmit?: () => void;
|
|
1619
|
+
/** Callback when save draft is clicked */
|
|
1620
|
+
onSaveDraft?: () => void;
|
|
1621
|
+
}
|
|
1622
|
+
/**
|
|
1623
|
+
* Sticky footer bar for calibration table.
|
|
1624
|
+
* Shows status badge, last saved date, and submit/save buttons.
|
|
1625
|
+
*
|
|
1626
|
+
* Based on Figma design:
|
|
1627
|
+
* - DRAFT badge (blue dot + text)
|
|
1628
|
+
* - Date display with calendar icon
|
|
1629
|
+
* - "Submit calibration" button (orange/primary)
|
|
1630
|
+
*/
|
|
1631
|
+
declare function SubmitCalibrationBar({ className, status, lastSaved, canSubmit, shortfallCount, pendingCount, message, onSubmit, onSaveDraft, ...props }: SubmitCalibrationBarProps): react_jsx_runtime.JSX.Element;
|
|
1632
|
+
|
|
737
1633
|
/**
|
|
738
1634
|
* Event Calendar Types
|
|
739
1635
|
* Based on big-calendar by Leonardo Ramos (MIT License)
|
|
@@ -1306,4 +2202,4 @@ interface BigCalendarProps extends Omit<EventCalendarProviderProps, "children">
|
|
|
1306
2202
|
}
|
|
1307
2203
|
declare function BigCalendar({ className, compact, bordered, showHeader, showAddButton, showSettings, enableDragDrop, weekStartsOn, maxEventsPerDay, config, ...providerProps }: BigCalendarProps): react_jsx_runtime.JSX.Element;
|
|
1308
2204
|
|
|
1309
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgendaView, type AgendaViewProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, BADGE_VARIANT_LABELS, Badge, BigCalendar, type BigCalendarProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, Calendar, CalendarContext, CalendarDayButton, CalendarHeader, CalendarHeaderCompact, type CalendarHeaderCompactProps, type CalendarHeaderProps, CalendarSettingsButton, type CalendarSettingsButtonProps, CalendarSettingsContent, type CalendarSettingsContentProps, CalendarSettingsDialog, type CalendarSettingsDialogProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChangeBadgeVariantInput, ChangeVisibleHoursInput, ChangeWorkingHoursInput, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_VISIBLE_HOURS, DEFAULT_WORKING_HOURS, DateBadge, type DateBadgeProps, DayView, type DayViewProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DragContext, DragProvider, type DragProviderProps, DraggableEvent, type DraggableEventProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DroppableZone, type DroppableZoneProps, EVENT_COLORS, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventBadge, type EventBadgeProps, EventCalendarProvider, type EventCalendarProviderProps, EventDialog, type EventDialogProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, type ICalendarActions, type ICalendarCell, type ICalendarConfig, type ICalendarContext, type ICalendarHeaderProps, type ICalendarState, type IDayCellProps, type IDragContext, type IEvent, type IEventBadgeProps, type IEventDialogProps, type IEventPosition, type ITimeSlotProps, type IUser, type IViewProps, type IWorkingHours, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MonthView, type MonthViewProps, MoreEvents, type MoreEventsProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, type NavItem, NavMain, type NavProject, NavProjects, NavSecondary, NavUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PlayerCanvas, PlayerCanvasActionButton, PlayerCanvasControls, PlayerCanvasDivider, PlayerCanvasInfo, PlayerCanvasLabel, PlayerCanvasPlayButton, PlayerCanvasProgress, PlayerCanvasSkipButton, PlayerCanvasTitle, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, QuickAddEvent, type QuickAddEventProps, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, SearchForm, SearchTrigger, type SearchTriggerProps, Section, SectionContent, SectionDescription, SectionFooter, SectionHeader, type SectionProps, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteHeader, Skeleton, Slider, Spinner, Switch, type TBadgeVariant, type TCalendarView, type TEventColor, type TVisibleHours, type TWorkingHours, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeSwitch, type ThemeSwitchProps, TimeIndicator, type TimeIndicatorProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToolBarCanvas, ToolBarCanvasButton, ToolBarCanvasDivider, ToolBarCanvasGroup, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseDroppableOptions, type UserAvatarItem, UserAvatarsDropdown, type UserAvatarsDropdownProps, VIEW_LABELS, WeekView, type WeekViewProps, YearView, type YearViewProps, badgeVariants, buttonGroupVariants, buttonVariants, calculateDropDates, calculateMonthEventPositions, cardVariants, createDefaultEvent, formatDateRange, formatTime, generateEventId, getCalendarCells, getCurrentEvents, getDayHours, getEventBlockStyle, getEventDuration, getEventDurationMinutes, getEventsCount, getEventsForDate, getEventsInRange, getHeaderLabel, getMonthCellEvents, getMonthDays, getTimeHeight, getTimePosition, getViewDateRange, getVisibleHours, getWeekDayNames, getWeekDays, getYearMonths, groupEvents, isMultiDayEvent, isWorkingHour, navigateDate, navigationMenuTriggerStyle, playerCanvasPlayButtonVariants, playerCanvasSkipButtonVariants, rangeText, sectionVariants, snapToInterval, sortEvents, splitEventsByDuration, toggleVariants, toolBarCanvasButtonVariants, useDrag, useDraggable, useDroppable, useEventCalendar, useEventsInRange, useFilteredEvents, useFormField, useIsMobile, useSearchShortcut, useSidebar };
|
|
2205
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgendaView, type AgendaViewProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarImage, BADGE_VARIANT_LABELS, Badge, BigCalendar, type BigCalendarProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, Calendar, CalendarContext, CalendarDayButton, CalendarHeader, CalendarHeaderCompact, type CalendarHeaderCompactProps, type CalendarHeaderProps, CalendarSettingsButton, type CalendarSettingsButtonProps, CalendarSettingsContent, type CalendarSettingsContentProps, CalendarSettingsDialog, type CalendarSettingsDialogProps, type CalibrationCellData, type CalibrationComment, type CalibrationMode, type CalibrationOverviewProps, type CalibrationPrefix, type CalibrationStatus, type CalibrationSupplier, CalibrationTable, type CalibrationTableConfig, type CalibrationTableProps, type CalibrationUnit, CalibrationWeekCell, type CalibrationWeekCellProps, CalibrationWeekHeader, type CalibrationWeekHeaderProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChangeBadgeVariantInput, ChangeVisibleHoursInput, ChangeWorkingHoursInput, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, type CheckpointBadgeType, CircularProgress, type CircularProgressProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommentButton, type CommentButtonProps, CommentDialog, type CommentDialogProps, type CommentLocationOption, CommentPopover, type CommentPopoverProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_VISIBLE_HOURS, DEFAULT_WORKING_HOURS, DataTableColumnHeader, type DataTableColumnHeaderProps, DataTablePagination, type DataTablePaginationProps, DataTableViewOptions, type DataTableViewOptionsProps, DateBadge, type DateBadgeProps, DayView, type DayViewProps, type Delivery, type DeliveryElement, DeliveryIndicator, type DeliveryIndicatorProps, DeliveryIndicators, type DeliveryIndicatorsProps, type DeliveryStatus, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DragContext, DragProvider, type DragProviderProps, DraggableEvent, type DraggableEventProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DroppableZone, type DroppableZoneProps, EVENT_COLORS, type ElementShipmentStatus, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventBadge, type EventBadgeProps, EventCalendarProvider, type EventCalendarProviderProps, EventDialog, type EventDialogProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, type ICalendarActions, type ICalendarCell, type ICalendarConfig, type ICalendarContext, type ICalendarHeaderProps, type ICalendarState, type IDayCellProps, type IDragContext, type IEvent, type IEventBadgeProps, type IEventDialogProps, type IEventPosition, type ITimeSlotProps, type IUser, type IViewProps, type IWorkingHours, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MonthView, type MonthViewProps, MoreEvents, type MoreEventsProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, type NavItem, NavMain, type NavProject, NavProjects, NavSecondary, NavUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NetBadge, type NetBadgeProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PlanningComment, type PlanningCommentLocation, type PlanningCommentLocationType, PlanningTable, type PlanningTableConfig, type PlanningTableProps, PlanningTableToolbar, type PlanningTableToolbarProps, type PlanningUserRole, PlanningWeekCommentPopover, type PlanningWeekCommentPopoverProps, PlayerCanvas, PlayerCanvasActionButton, PlayerCanvasControls, PlayerCanvasDivider, PlayerCanvasInfo, PlayerCanvasLabel, PlayerCanvasPlayButton, PlayerCanvasProgress, PlayerCanvasSkipButton, PlayerCanvasTitle, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PrefixOption, type ProductionData, type ProductionUnit, Progress, QuickAddEvent, type QuickAddEventProps, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RowHeaderCell, type RowHeaderCellProps, ScrollArea, ScrollBar, SearchForm, SearchTrigger, type SearchTriggerProps, Section, SectionContent, SectionDescription, SectionFooter, SectionHeader, type SectionProps, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteHeader, Skeleton, Slider, Spinner, type SubmissionStatus, SubmitCalibrationBar, type SubmitCalibrationBarProps, type Supplier, type SupplierBadgeType, SupplierCell, type SupplierCellProps, Switch, type TBadgeVariant, type TCalendarView, type TEventColor, type TVisibleHours, type TWorkingHours, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeSwitch, type ThemeSwitchProps, TimeIndicator, type TimeIndicatorProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, ToolBarCanvas, ToolBarCanvasButton, ToolBarCanvasDivider, ToolBarCanvasGroup, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseDroppableOptions, type UserAvatarItem, UserAvatarsDropdown, type UserAvatarsDropdownProps, VIEW_LABELS, type Week, WeekCell, type WeekCellData, type WeekCellProps, WeekDetailDialog, type WeekDetailDialogProps, WeekHeader, type WeekHeaderProps, WeekView, type WeekViewProps, YearView, type YearViewProps, badgeVariants, buttonGroupVariants, buttonVariants, calculateCalibrationCells, calculateDropDates, calculateMonthEventPositions, canSubmitCalibration, cardVariants, createDefaultEvent, deliveryIndicatorVariants, formatCalibrationUnit, formatDateRange, formatProductionUnit, formatTime, generateColumns, generateEventId, generateLocationOptions, generateWeekColumns, generateWeeks, getCalendarCells, getCommentLocationLabel, getCurrentEvents, getDayHours, getElementShipmentStatus, getEventBlockStyle, getEventDuration, getEventDurationMinutes, getEventsCount, getEventsForDate, getEventsInRange, getHeaderLabel, getISOWeek, getMonthCellEvents, getMonthDays, getShipmentStatusLabel, getSupplierColumn, getTimeHeight, getTimePosition, getViewDateRange, getVisibleHours, getWeekDayNames, getWeekDays, getWeekKey, getYearMonths, groupEvents, isMultiDayEvent, isWorkingHour, navigateDate, navigationMenuTriggerStyle, playerCanvasPlayButtonVariants, playerCanvasSkipButtonVariants, rangeText, sectionVariants, snapToInterval, sortEvents, splitEventsByDuration, toggleVariants, toolBarCanvasButtonVariants, useDrag, useDraggable, useDroppable, useEventCalendar, useEventsInRange, useFilteredEvents, useFormField, useIsMobile, useSearchShortcut, useSidebar };
|