@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.d.cts 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 };