@gobolt/genesis 0.4.13 → 0.4.14

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.js CHANGED
@@ -85643,7 +85643,7 @@ const InfiniteScrollTable = ({
85643
85643
  [isFetchingNextPage, hasNextPage2, fetchNextPage, scrollableNode]
85644
85644
  );
85645
85645
  const dataSource = data?.pages.flatMap((page) => page.docs) ?? [];
85646
- const totalDocs = data?.pages?.[0]?.totalDocs ?? 0;
85646
+ data?.pages?.[0]?.totalDocs ?? 0;
85647
85647
  if (status === "pending") {
85648
85648
  return /* @__PURE__ */ jsx(
85649
85649
  "div",
@@ -85676,34 +85676,6 @@ const InfiniteScrollTable = ({
85676
85676
  },
85677
85677
  ref: tableContainerRef,
85678
85678
  children: [
85679
- /* @__PURE__ */ jsxs(
85680
- Typography$1.Title,
85681
- {
85682
- level: 2,
85683
- style: { marginBottom: "24px", textAlign: "center" },
85684
- children: [
85685
- title,
85686
- " (Table ",
85687
- instanceId,
85688
- ")"
85689
- ]
85690
- }
85691
- ),
85692
- /* @__PURE__ */ jsx(
85693
- Alert,
85694
- {
85695
- message: /* @__PURE__ */ jsxs(Typography$1.Text, { children: [
85696
- "Showing ",
85697
- /* @__PURE__ */ jsx("strong", { children: dataSource.length }),
85698
- " of",
85699
- " ",
85700
- /* @__PURE__ */ jsx("strong", { children: totalDocs }),
85701
- " total launches"
85702
- ] }),
85703
- type: "info",
85704
- style: { marginBottom: "16px", textAlign: "center" }
85705
- }
85706
- ),
85707
85679
  /* @__PURE__ */ jsxs("div", { style: { position: "relative" }, children: [
85708
85680
  /* @__PURE__ */ jsx("style", { children: `
85709
85681
  .infinite-scroll-table .ant-pagination {
@@ -85759,7 +85731,7 @@ const InfiniteScrollTable = ({
85759
85731
  padding: "20px",
85760
85732
  borderTop: "1px solid #f0f0f0"
85761
85733
  },
85762
- children: /* @__PURE__ */ jsx(Typography$1.Text, { type: "secondary", children: "You've reached the end of the launch history." })
85734
+ children: /* @__PURE__ */ jsx(Typography$1.Text, { type: "secondary", children: "No more rows to load." })
85763
85735
  }
85764
85736
  )
85765
85737
  ]
@@ -86487,10 +86459,16 @@ const TableWithControls = ({
86487
86459
  tableData,
86488
86460
  tableControlsData: tableControlsData2,
86489
86461
  onChange,
86490
- onRowClick
86462
+ onRowClick,
86463
+ tableType = "table",
86464
+ isInfiniteScroll,
86465
+ // Deprecated: use tableType instead
86466
+ infiniteScrollConfig,
86467
+ paginationStyle
86491
86468
  }) => {
86492
86469
  const { primaryTableRowData, secondaryTableRowData } = tableControlsData2;
86493
86470
  const { dataSource, columns, rowSelection, hasSettings, hasFilter } = tableData;
86471
+ const actualTableType = isInfiniteScroll ? "infiniteScroll" : tableType;
86494
86472
  const onTableControlsChange = (event) => {
86495
86473
  onChange(event);
86496
86474
  };
@@ -86500,6 +86478,60 @@ const TableWithControls = ({
86500
86478
  payload: { value: "tableChange", pagination, filters, sorter }
86501
86479
  });
86502
86480
  };
86481
+ const renderTable = () => {
86482
+ switch (actualTableType) {
86483
+ case "infiniteScroll": {
86484
+ if (!infiniteScrollConfig) {
86485
+ console.warn("InfiniteScrollTable requires infiniteScrollConfig");
86486
+ return null;
86487
+ }
86488
+ const resizableColumns = columns.map((col) => ({
86489
+ title: col.title,
86490
+ key: col.key,
86491
+ dataIndex: Array.isArray(col.dataIndex) ? col.dataIndex.join(".") : typeof col.dataIndex === "string" ? col.dataIndex : col.key,
86492
+ width: col.width || 150,
86493
+ render: col.render ? (value2, record, index2) => col.render(value2, record, index2 ?? 0) : void 0
86494
+ }));
86495
+ return /* @__PURE__ */ jsx(
86496
+ InfiniteScrollTable,
86497
+ {
86498
+ instanceId: infiniteScrollConfig.instanceId,
86499
+ columns: resizableColumns,
86500
+ fetchService: infiniteScrollConfig.fetchService,
86501
+ title: infiniteScrollConfig.title,
86502
+ scrollHeight: infiniteScrollConfig.scrollHeight,
86503
+ scrollWidth: infiniteScrollConfig.scrollWidth
86504
+ }
86505
+ );
86506
+ }
86507
+ case "pagination": {
86508
+ return /* @__PURE__ */ jsx(
86509
+ TablePagination,
86510
+ {
86511
+ dataSource,
86512
+ columns,
86513
+ rowSelection,
86514
+ onChange: onTableChange,
86515
+ onRowClick,
86516
+ paginationStyle
86517
+ }
86518
+ );
86519
+ }
86520
+ case "table":
86521
+ default: {
86522
+ return /* @__PURE__ */ jsx(
86523
+ Table,
86524
+ {
86525
+ dataSource,
86526
+ columns,
86527
+ rowSelection,
86528
+ onChange: onTableChange,
86529
+ onRowClick
86530
+ }
86531
+ );
86532
+ }
86533
+ }
86534
+ };
86503
86535
  return /* @__PURE__ */ jsxs(Fragment, { children: [
86504
86536
  /* @__PURE__ */ jsx(
86505
86537
  TableControls,
@@ -86509,18 +86541,845 @@ const TableWithControls = ({
86509
86541
  onChange: onTableControlsChange
86510
86542
  }
86511
86543
  ),
86512
- /* @__PURE__ */ jsx(
86513
- Table,
86514
- {
86515
- dataSource,
86516
- columns,
86517
- rowSelection,
86518
- onChange: onTableChange,
86519
- onRowClick
86520
- }
86521
- )
86544
+ renderTable()
86522
86545
  ] });
86523
86546
  };
86547
+ const staticTableData = [
86548
+ {
86549
+ id: "1",
86550
+ number: "1",
86551
+ timerange: "9:00 AM - 10:00 AM",
86552
+ status: "in_progress",
86553
+ address: {
86554
+ nickname: "Home",
86555
+ address: "123 Main St"
86556
+ },
86557
+ job_subtype: "delivery",
86558
+ progress: {
86559
+ firstBarData: {
86560
+ text: "Loading",
86561
+ status: "info",
86562
+ value: 100
86563
+ },
86564
+ secondBarData: {
86565
+ text: "Processing",
86566
+ status: "success",
86567
+ value: 25
86568
+ }
86569
+ }
86570
+ },
86571
+ {
86572
+ id: "2",
86573
+ number: "2",
86574
+ timerange: "10:00 AM - 11:00 AM",
86575
+ status: "scheduled",
86576
+ address: {
86577
+ nickname: "Work",
86578
+ address: "456 Elm St"
86579
+ },
86580
+ job_subtype: "pickup",
86581
+ progress: {
86582
+ firstBarData: {
86583
+ text: "Preparing",
86584
+ status: "info",
86585
+ value: 100
86586
+ },
86587
+ secondBarData: {
86588
+ text: "Final Check",
86589
+ status: "success",
86590
+ value: 0
86591
+ }
86592
+ }
86593
+ },
86594
+ {
86595
+ id: "3",
86596
+ number: "3",
86597
+ timerange: "11:00 AM - 12:00 PM",
86598
+ status: "scheduled",
86599
+ address: {
86600
+ nickname: "Store",
86601
+ address: "789 Oak St"
86602
+ },
86603
+ job_subtype: "delivery",
86604
+ progress: {
86605
+ firstBarData: {
86606
+ text: "Pending",
86607
+ status: "info",
86608
+ value: 0
86609
+ },
86610
+ secondBarData: {
86611
+ text: "Awaiting",
86612
+ status: "success",
86613
+ value: 0
86614
+ }
86615
+ }
86616
+ },
86617
+ {
86618
+ id: "4",
86619
+ number: "4",
86620
+ timerange: "1:00 PM - 2:00 PM",
86621
+ status: "scheduled",
86622
+ address: {
86623
+ nickname: "Office",
86624
+ address: "321 Pine St"
86625
+ },
86626
+ job_subtype: "pickup",
86627
+ progress: {
86628
+ firstBarData: {
86629
+ text: "In Progress",
86630
+ status: "info",
86631
+ value: 100
86632
+ },
86633
+ secondBarData: {
86634
+ text: "Validation",
86635
+ status: "success",
86636
+ value: 30
86637
+ }
86638
+ }
86639
+ },
86640
+ {
86641
+ id: "5",
86642
+ number: "5",
86643
+ timerange: "2:00 PM - 3:00 PM",
86644
+ status: "scheduled",
86645
+ address: {
86646
+ nickname: "Library",
86647
+ address: "555 Book Lane"
86648
+ },
86649
+ job_subtype: "delivery",
86650
+ progress: {
86651
+ firstBarData: {
86652
+ text: "Completed",
86653
+ status: "info",
86654
+ value: 100
86655
+ },
86656
+ secondBarData: {
86657
+ text: "Verified",
86658
+ status: "success",
86659
+ value: 100
86660
+ }
86661
+ }
86662
+ },
86663
+ {
86664
+ id: "6",
86665
+ number: "6",
86666
+ timerange: "3:00 PM - 4:00 PM",
86667
+ status: "scheduled",
86668
+ address: {
86669
+ nickname: "Gym",
86670
+ address: "777 Fitness Ave"
86671
+ },
86672
+ job_subtype: "pickup",
86673
+ progress: {
86674
+ firstBarData: {
86675
+ text: "Phase 1",
86676
+ status: "info",
86677
+ value: 75
86678
+ },
86679
+ secondBarData: {
86680
+ text: "Phase 2",
86681
+ status: "success",
86682
+ value: 50
86683
+ }
86684
+ }
86685
+ },
86686
+ {
86687
+ id: "7",
86688
+ number: "7",
86689
+ timerange: "4:00 PM - 5:00 PM",
86690
+ status: "scheduled",
86691
+ address: {
86692
+ nickname: "Mall",
86693
+ address: "888 Shopping Center"
86694
+ },
86695
+ job_subtype: "delivery",
86696
+ progress: {
86697
+ firstBarData: {
86698
+ text: "Queued",
86699
+ status: "info",
86700
+ value: 0
86701
+ },
86702
+ secondBarData: {
86703
+ text: "Waiting",
86704
+ status: "success",
86705
+ value: 0
86706
+ }
86707
+ }
86708
+ },
86709
+ {
86710
+ id: "8",
86711
+ number: "8",
86712
+ timerange: "9:00 AM - 10:00 AM",
86713
+ status: "completed",
86714
+ address: {
86715
+ nickname: "School",
86716
+ address: "999 Education Rd"
86717
+ },
86718
+ job_subtype: "pickup",
86719
+ progress: {
86720
+ firstBarData: {
86721
+ text: "Delivered",
86722
+ status: "info",
86723
+ value: 100
86724
+ },
86725
+ secondBarData: {
86726
+ text: "Confirmed",
86727
+ status: "success",
86728
+ value: 100
86729
+ }
86730
+ }
86731
+ },
86732
+ {
86733
+ id: "9",
86734
+ number: "9",
86735
+ timerange: "10:00 AM - 11:00 AM",
86736
+ status: "scheduled",
86737
+ address: {
86738
+ nickname: "Restaurant",
86739
+ address: "111 Food Court"
86740
+ },
86741
+ job_subtype: "delivery",
86742
+ progress: {
86743
+ firstBarData: {
86744
+ text: "Preparing",
86745
+ status: "info",
86746
+ value: 100
86747
+ },
86748
+ secondBarData: {
86749
+ text: "Quality Check",
86750
+ status: "success",
86751
+ value: 15
86752
+ }
86753
+ }
86754
+ },
86755
+ {
86756
+ id: "10",
86757
+ number: "10",
86758
+ timerange: "11:00 AM - 12:00 PM",
86759
+ status: "scheduled",
86760
+ address: {
86761
+ nickname: "Park",
86762
+ address: "222 Green Ave"
86763
+ },
86764
+ job_subtype: "pickup",
86765
+ progress: {
86766
+ firstBarData: {
86767
+ text: "Processing",
86768
+ status: "info",
86769
+ value: 80
86770
+ },
86771
+ secondBarData: {
86772
+ text: "Review",
86773
+ status: "success",
86774
+ value: 0
86775
+ }
86776
+ }
86777
+ },
86778
+ {
86779
+ id: "11",
86780
+ number: "11",
86781
+ timerange: "1:00 PM - 2:00 PM",
86782
+ status: "scheduled",
86783
+ address: {
86784
+ nickname: "Beach",
86785
+ address: "333 Shore Dr"
86786
+ },
86787
+ job_subtype: "delivery",
86788
+ progress: {
86789
+ firstBarData: {
86790
+ text: "Planning",
86791
+ status: "info",
86792
+ value: 40
86793
+ },
86794
+ secondBarData: {
86795
+ text: "Route Check",
86796
+ status: "success",
86797
+ value: 20
86798
+ }
86799
+ }
86800
+ },
86801
+ {
86802
+ id: "12",
86803
+ number: "12",
86804
+ timerange: "2:00 PM - 3:00 PM",
86805
+ status: "scheduled",
86806
+ address: {
86807
+ nickname: "Hotel",
86808
+ address: "444 Stay Blvd"
86809
+ },
86810
+ job_subtype: "pickup",
86811
+ progress: {
86812
+ firstBarData: {
86813
+ text: "Scheduled",
86814
+ status: "info",
86815
+ value: 0
86816
+ },
86817
+ secondBarData: {
86818
+ text: "Awaiting",
86819
+ status: "success",
86820
+ value: 0
86821
+ }
86822
+ }
86823
+ },
86824
+ {
86825
+ id: "13",
86826
+ number: "13",
86827
+ timerange: "3:00 PM - 4:00 PM",
86828
+ status: "scheduled",
86829
+ address: {
86830
+ nickname: "Airport",
86831
+ address: "666 Flight Way"
86832
+ },
86833
+ job_subtype: "delivery",
86834
+ progress: {
86835
+ firstBarData: {
86836
+ text: "Pre-flight",
86837
+ status: "info",
86838
+ value: 60
86839
+ },
86840
+ secondBarData: {
86841
+ text: "Security",
86842
+ status: "success",
86843
+ value: 30
86844
+ }
86845
+ }
86846
+ },
86847
+ {
86848
+ id: "14",
86849
+ number: "14",
86850
+ timerange: "4:00 PM - 5:00 PM",
86851
+ status: "cancelled",
86852
+ address: {
86853
+ nickname: "Stadium",
86854
+ address: "777 Sports Complex"
86855
+ },
86856
+ job_subtype: "pickup",
86857
+ progress: {
86858
+ firstBarData: {
86859
+ text: "Cancelled",
86860
+ status: "info",
86861
+ value: 0
86862
+ },
86863
+ secondBarData: {
86864
+ text: "Refund",
86865
+ status: "success",
86866
+ value: 100
86867
+ }
86868
+ }
86869
+ },
86870
+ {
86871
+ id: "15",
86872
+ number: "15",
86873
+ timerange: "9:00 AM - 10:00 AM",
86874
+ status: "scheduled",
86875
+ address: {
86876
+ nickname: "Theater",
86877
+ address: "888 Show Ave"
86878
+ },
86879
+ job_subtype: "delivery",
86880
+ progress: {
86881
+ firstBarData: {
86882
+ text: "Setup",
86883
+ status: "info",
86884
+ value: 25
86885
+ },
86886
+ secondBarData: {
86887
+ text: "Sound Check",
86888
+ status: "success",
86889
+ value: 0
86890
+ }
86891
+ }
86892
+ },
86893
+ {
86894
+ id: "16",
86895
+ number: "16",
86896
+ timerange: "10:00 AM - 11:00 AM",
86897
+ status: "scheduled",
86898
+ address: {
86899
+ nickname: "Museum",
86900
+ address: "999 History Lane"
86901
+ },
86902
+ job_subtype: "pickup",
86903
+ progress: {
86904
+ firstBarData: {
86905
+ text: "Exhibit Prep",
86906
+ status: "info",
86907
+ value: 70
86908
+ },
86909
+ secondBarData: {
86910
+ text: "Documentation",
86911
+ status: "success",
86912
+ value: 45
86913
+ }
86914
+ }
86915
+ },
86916
+ {
86917
+ id: "17",
86918
+ number: "17",
86919
+ timerange: "11:00 AM - 12:00 PM",
86920
+ status: "scheduled",
86921
+ address: {
86922
+ nickname: "Zoo",
86923
+ address: "123 Animal Park"
86924
+ },
86925
+ job_subtype: "delivery",
86926
+ progress: {
86927
+ firstBarData: {
86928
+ text: "Animal Care",
86929
+ status: "info",
86930
+ value: 85
86931
+ },
86932
+ secondBarData: {
86933
+ text: "Feeding",
86934
+ status: "success",
86935
+ value: 90
86936
+ }
86937
+ }
86938
+ },
86939
+ {
86940
+ id: "18",
86941
+ number: "18",
86942
+ timerange: "1:00 PM - 2:00 PM",
86943
+ status: "scheduled",
86944
+ address: {
86945
+ nickname: "Bank",
86946
+ address: "456 Money St"
86947
+ },
86948
+ job_subtype: "pickup",
86949
+ progress: {
86950
+ firstBarData: {
86951
+ text: "Transaction",
86952
+ status: "info",
86953
+ value: 50
86954
+ },
86955
+ secondBarData: {
86956
+ text: "Verification",
86957
+ status: "success",
86958
+ value: 25
86959
+ }
86960
+ }
86961
+ },
86962
+ {
86963
+ id: "19",
86964
+ number: "19",
86965
+ timerange: "2:00 PM - 3:00 PM",
86966
+ status: "scheduled",
86967
+ address: {
86968
+ nickname: "Post Office",
86969
+ address: "789 Mail Road"
86970
+ },
86971
+ job_subtype: "delivery",
86972
+ progress: {
86973
+ firstBarData: {
86974
+ text: "Sorting",
86975
+ status: "info",
86976
+ value: 100
86977
+ },
86978
+ secondBarData: {
86979
+ text: "Dispatch",
86980
+ status: "success",
86981
+ value: 75
86982
+ }
86983
+ }
86984
+ },
86985
+ {
86986
+ id: "20",
86987
+ number: "20",
86988
+ timerange: "3:00 PM - 4:00 PM",
86989
+ status: "scheduled",
86990
+ address: {
86991
+ nickname: "Church",
86992
+ address: "321 Faith Street"
86993
+ },
86994
+ job_subtype: "pickup",
86995
+ progress: {
86996
+ firstBarData: {
86997
+ text: "Service Prep",
86998
+ status: "info",
86999
+ value: 30
87000
+ },
87001
+ secondBarData: {
87002
+ text: "Community",
87003
+ status: "success",
87004
+ value: 10
87005
+ }
87006
+ }
87007
+ },
87008
+ {
87009
+ id: "21",
87010
+ number: "21",
87011
+ timerange: "4:00 PM - 5:00 PM",
87012
+ status: "scheduled",
87013
+ address: {
87014
+ nickname: "Pharmacy",
87015
+ address: "654 Health Ave"
87016
+ },
87017
+ job_subtype: "delivery",
87018
+ progress: {
87019
+ firstBarData: {
87020
+ text: "Prescription",
87021
+ status: "info",
87022
+ value: 90
87023
+ },
87024
+ secondBarData: {
87025
+ text: "Quality Check",
87026
+ status: "success",
87027
+ value: 60
87028
+ }
87029
+ }
87030
+ },
87031
+ {
87032
+ id: "22",
87033
+ number: "22",
87034
+ timerange: "2:00 PM - 3:00 PM",
87035
+ status: "scheduled",
87036
+ address: {
87037
+ nickname: "Office Complex",
87038
+ street: "789 Business Ave",
87039
+ city: "Commerce City",
87040
+ state: "CA",
87041
+ zip: "90210"
87042
+ },
87043
+ progress: {
87044
+ currentStep: 1,
87045
+ totalSteps: 4,
87046
+ steps: {
87047
+ pickup: {
87048
+ text: "Pickup Scheduled",
87049
+ status: "pending",
87050
+ value: 25
87051
+ },
87052
+ transit: {
87053
+ text: "In Transit",
87054
+ status: "pending",
87055
+ value: 0
87056
+ },
87057
+ delivery: {
87058
+ text: "Delivery",
87059
+ status: "pending",
87060
+ value: 0
87061
+ },
87062
+ quality: {
87063
+ text: "Quality Check",
87064
+ status: "pending",
87065
+ value: 0
87066
+ }
87067
+ }
87068
+ }
87069
+ },
87070
+ {
87071
+ id: "23",
87072
+ number: "23",
87073
+ timerange: "3:00 PM - 4:00 PM",
87074
+ status: "completed",
87075
+ address: {
87076
+ nickname: "Retail Store",
87077
+ street: "456 Shopping St",
87078
+ city: "Retail Town",
87079
+ state: "CA",
87080
+ zip: "90211"
87081
+ },
87082
+ progress: {
87083
+ currentStep: 4,
87084
+ totalSteps: 4,
87085
+ steps: {
87086
+ pickup: {
87087
+ text: "Pickup Complete",
87088
+ status: "success",
87089
+ value: 100
87090
+ },
87091
+ transit: {
87092
+ text: "Transit Complete",
87093
+ status: "success",
87094
+ value: 100
87095
+ },
87096
+ delivery: {
87097
+ text: "Delivery Complete",
87098
+ status: "success",
87099
+ value: 100
87100
+ },
87101
+ quality: {
87102
+ text: "Quality Check Complete",
87103
+ status: "success",
87104
+ value: 100
87105
+ }
87106
+ }
87107
+ }
87108
+ },
87109
+ {
87110
+ id: "24",
87111
+ number: "24",
87112
+ timerange: "4:00 PM - 5:00 PM",
87113
+ status: "in_progress",
87114
+ address: {
87115
+ nickname: "Warehouse",
87116
+ street: "321 Storage Blvd",
87117
+ city: "Storage City",
87118
+ state: "CA",
87119
+ zip: "90212"
87120
+ },
87121
+ progress: {
87122
+ currentStep: 2,
87123
+ totalSteps: 4,
87124
+ steps: {
87125
+ pickup: {
87126
+ text: "Pickup Complete",
87127
+ status: "success",
87128
+ value: 100
87129
+ },
87130
+ transit: {
87131
+ text: "In Transit",
87132
+ status: "active",
87133
+ value: 50
87134
+ },
87135
+ delivery: {
87136
+ text: "Delivery",
87137
+ status: "pending",
87138
+ value: 0
87139
+ },
87140
+ quality: {
87141
+ text: "Quality Check",
87142
+ status: "pending",
87143
+ value: 0
87144
+ }
87145
+ }
87146
+ }
87147
+ },
87148
+ {
87149
+ id: "25",
87150
+ number: "25",
87151
+ timerange: "5:00 PM - 6:00 PM",
87152
+ status: "cancelled",
87153
+ address: {
87154
+ nickname: "Canceled Location",
87155
+ street: "999 Cancel St",
87156
+ city: "Cancel City",
87157
+ state: "CA",
87158
+ zip: "90213"
87159
+ },
87160
+ progress: {
87161
+ currentStep: 1,
87162
+ totalSteps: 4,
87163
+ steps: {
87164
+ pickup: {
87165
+ text: "Pickup Cancelled",
87166
+ status: "error",
87167
+ value: 0
87168
+ },
87169
+ transit: {
87170
+ text: "In Transit",
87171
+ status: "pending",
87172
+ value: 0
87173
+ },
87174
+ delivery: {
87175
+ text: "Delivery",
87176
+ status: "pending",
87177
+ value: 0
87178
+ },
87179
+ quality: {
87180
+ text: "Quality Check",
87181
+ status: "pending",
87182
+ value: 0
87183
+ }
87184
+ }
87185
+ }
87186
+ },
87187
+ {
87188
+ id: "26",
87189
+ number: "26",
87190
+ timerange: "6:00 PM - 7:00 PM",
87191
+ status: "scheduled",
87192
+ address: {
87193
+ nickname: "Evening Delivery",
87194
+ street: "555 Evening Ave",
87195
+ city: "Evening City",
87196
+ state: "CA",
87197
+ zip: "90214"
87198
+ },
87199
+ progress: {
87200
+ currentStep: 1,
87201
+ totalSteps: 4,
87202
+ steps: {
87203
+ pickup: {
87204
+ text: "Pickup Scheduled",
87205
+ status: "pending",
87206
+ value: 25
87207
+ },
87208
+ transit: {
87209
+ text: "In Transit",
87210
+ status: "pending",
87211
+ value: 0
87212
+ },
87213
+ delivery: {
87214
+ text: "Delivery",
87215
+ status: "pending",
87216
+ value: 0
87217
+ },
87218
+ quality: {
87219
+ text: "Quality Check",
87220
+ status: "pending",
87221
+ value: 0
87222
+ }
87223
+ }
87224
+ }
87225
+ },
87226
+ {
87227
+ id: "27",
87228
+ number: "27",
87229
+ timerange: "7:00 PM - 8:00 PM",
87230
+ status: "in_progress",
87231
+ address: {
87232
+ nickname: "Night Shift",
87233
+ street: "777 Night St",
87234
+ city: "Night City",
87235
+ state: "CA",
87236
+ zip: "90215"
87237
+ },
87238
+ progress: {
87239
+ currentStep: 3,
87240
+ totalSteps: 4,
87241
+ steps: {
87242
+ pickup: {
87243
+ text: "Pickup Complete",
87244
+ status: "success",
87245
+ value: 100
87246
+ },
87247
+ transit: {
87248
+ text: "Transit Complete",
87249
+ status: "success",
87250
+ value: 100
87251
+ },
87252
+ delivery: {
87253
+ text: "Delivery in Progress",
87254
+ status: "active",
87255
+ value: 75
87256
+ },
87257
+ quality: {
87258
+ text: "Quality Check",
87259
+ status: "pending",
87260
+ value: 0
87261
+ }
87262
+ }
87263
+ }
87264
+ },
87265
+ {
87266
+ id: "28",
87267
+ number: "28",
87268
+ timerange: "8:00 PM - 9:00 PM",
87269
+ status: "completed",
87270
+ address: {
87271
+ nickname: "Final Delivery",
87272
+ street: "888 Final Blvd",
87273
+ city: "Final City",
87274
+ state: "CA",
87275
+ zip: "90216"
87276
+ },
87277
+ progress: {
87278
+ currentStep: 4,
87279
+ totalSteps: 4,
87280
+ steps: {
87281
+ pickup: {
87282
+ text: "Pickup Complete",
87283
+ status: "success",
87284
+ value: 100
87285
+ },
87286
+ transit: {
87287
+ text: "Transit Complete",
87288
+ status: "success",
87289
+ value: 100
87290
+ },
87291
+ delivery: {
87292
+ text: "Delivery Complete",
87293
+ status: "success",
87294
+ value: 100
87295
+ },
87296
+ quality: {
87297
+ text: "Quality Check Complete",
87298
+ status: "success",
87299
+ value: 100
87300
+ }
87301
+ }
87302
+ }
87303
+ },
87304
+ {
87305
+ id: "29",
87306
+ number: "29",
87307
+ timerange: "9:00 PM - 10:00 PM",
87308
+ status: "scheduled",
87309
+ address: {
87310
+ nickname: "Late Night",
87311
+ street: "999 Late St",
87312
+ city: "Late City",
87313
+ state: "CA",
87314
+ zip: "90217"
87315
+ },
87316
+ progress: {
87317
+ currentStep: 1,
87318
+ totalSteps: 4,
87319
+ steps: {
87320
+ pickup: {
87321
+ text: "Pickup Scheduled",
87322
+ status: "pending",
87323
+ value: 25
87324
+ },
87325
+ transit: {
87326
+ text: "In Transit",
87327
+ status: "pending",
87328
+ value: 0
87329
+ },
87330
+ delivery: {
87331
+ text: "Delivery",
87332
+ status: "pending",
87333
+ value: 0
87334
+ },
87335
+ quality: {
87336
+ text: "Quality Check",
87337
+ status: "pending",
87338
+ value: 0
87339
+ }
87340
+ }
87341
+ }
87342
+ },
87343
+ {
87344
+ id: "30",
87345
+ number: "30",
87346
+ timerange: "10:00 PM - 11:00 PM",
87347
+ status: "in_progress",
87348
+ address: {
87349
+ nickname: "Last Stop",
87350
+ street: "000 Last Ave",
87351
+ city: "Last City",
87352
+ state: "CA",
87353
+ zip: "90218"
87354
+ },
87355
+ progress: {
87356
+ currentStep: 2,
87357
+ totalSteps: 4,
87358
+ steps: {
87359
+ pickup: {
87360
+ text: "Pickup Complete",
87361
+ status: "success",
87362
+ value: 100
87363
+ },
87364
+ transit: {
87365
+ text: "In Transit",
87366
+ status: "active",
87367
+ value: 60
87368
+ },
87369
+ delivery: {
87370
+ text: "Delivery",
87371
+ status: "pending",
87372
+ value: 0
87373
+ },
87374
+ quality: {
87375
+ text: "Quality Check",
87376
+ status: "pending",
87377
+ value: 0
87378
+ }
87379
+ }
87380
+ }
87381
+ }
87382
+ ];
86524
87383
  const startCase = (string_) => {
86525
87384
  if (string_) {
86526
87385
  return string_.replaceAll(/([A-Z])/g, " $1").replace(/^./, (s) => s.toUpperCase());
@@ -86628,491 +87487,7 @@ mockColumns.map((column2) => ({
86628
87487
  ...column2
86629
87488
  }));
86630
87489
  const mockDataSource = {
86631
- appointments: [
86632
- {
86633
- id: "1",
86634
- number: "1",
86635
- timerange: "9:00 AM - 10:00 AM",
86636
- status: "in_progress",
86637
- address: {
86638
- nickname: "Home",
86639
- address: "123 Main St"
86640
- },
86641
- job_subtype: "delivery",
86642
- progress: {
86643
- firstBarData: {
86644
- text: "Loading",
86645
- status: "info",
86646
- value: 100
86647
- },
86648
- secondBarData: {
86649
- text: "Processing",
86650
- status: "success",
86651
- value: 25
86652
- }
86653
- }
86654
- },
86655
- {
86656
- id: "2",
86657
- number: "2",
86658
- timerange: "10:00 AM - 11:00 AM",
86659
- status: "scheduled",
86660
- address: {
86661
- nickname: "Work",
86662
- address: "456 Elm St"
86663
- },
86664
- job_subtype: "pickup",
86665
- progress: {
86666
- firstBarData: {
86667
- text: "Preparing",
86668
- status: "info",
86669
- value: 100
86670
- },
86671
- secondBarData: {
86672
- text: "Final Check",
86673
- status: "success",
86674
- value: 0
86675
- }
86676
- }
86677
- },
86678
- {
86679
- id: "3",
86680
- number: "3",
86681
- timerange: "11:00 AM - 12:00 PM",
86682
- status: "scheduled",
86683
- address: {
86684
- nickname: "Store",
86685
- address: "789 Oak St"
86686
- },
86687
- job_subtype: "delivery",
86688
- progress: {
86689
- firstBarData: {
86690
- text: "Pending",
86691
- status: "info",
86692
- value: 0
86693
- },
86694
- secondBarData: {
86695
- text: "Awaiting",
86696
- status: "success",
86697
- value: 0
86698
- }
86699
- }
86700
- },
86701
- {
86702
- id: "4",
86703
- number: "4",
86704
- timerange: "1:00 PM - 2:00 PM",
86705
- status: "scheduled",
86706
- address: {
86707
- nickname: "Office",
86708
- address: "321 Pine St"
86709
- },
86710
- job_subtype: "pickup",
86711
- progress: {
86712
- firstBarData: {
86713
- text: "In Progress",
86714
- status: "info",
86715
- value: 100
86716
- },
86717
- secondBarData: {
86718
- text: "Validation",
86719
- status: "success",
86720
- value: 30
86721
- }
86722
- }
86723
- },
86724
- {
86725
- id: "5",
86726
- number: "5",
86727
- timerange: "2:00 PM - 3:00 PM",
86728
- status: "scheduled",
86729
- address: {
86730
- nickname: "Library",
86731
- address: "555 Book Lane"
86732
- },
86733
- job_subtype: "delivery",
86734
- progress: {
86735
- firstBarData: {
86736
- text: "Completed",
86737
- status: "info",
86738
- value: 100
86739
- },
86740
- secondBarData: {
86741
- text: "Verified",
86742
- status: "success",
86743
- value: 100
86744
- }
86745
- }
86746
- },
86747
- {
86748
- id: "6",
86749
- number: "6",
86750
- timerange: "3:00 PM - 4:00 PM",
86751
- status: "scheduled",
86752
- address: {
86753
- nickname: "Gym",
86754
- address: "777 Fitness Ave"
86755
- },
86756
- job_subtype: "pickup",
86757
- progress: {
86758
- firstBarData: {
86759
- text: "Phase 1",
86760
- status: "info",
86761
- value: 75
86762
- },
86763
- secondBarData: {
86764
- text: "Phase 2",
86765
- status: "success",
86766
- value: 50
86767
- }
86768
- }
86769
- },
86770
- {
86771
- id: "7",
86772
- number: "7",
86773
- timerange: "4:00 PM - 5:00 PM",
86774
- status: "scheduled",
86775
- address: {
86776
- nickname: "Mall",
86777
- address: "888 Shopping Center"
86778
- },
86779
- job_subtype: "delivery",
86780
- progress: {
86781
- firstBarData: {
86782
- text: "Queued",
86783
- status: "info",
86784
- value: 0
86785
- },
86786
- secondBarData: {
86787
- text: "Waiting",
86788
- status: "success",
86789
- value: 0
86790
- }
86791
- }
86792
- },
86793
- {
86794
- id: "8",
86795
- number: "8",
86796
- timerange: "9:00 AM - 10:00 AM",
86797
- status: "completed",
86798
- address: {
86799
- nickname: "School",
86800
- address: "999 Education Rd"
86801
- },
86802
- job_subtype: "pickup",
86803
- progress: {
86804
- firstBarData: {
86805
- text: "Delivered",
86806
- status: "info",
86807
- value: 100
86808
- },
86809
- secondBarData: {
86810
- text: "Confirmed",
86811
- status: "success",
86812
- value: 100
86813
- }
86814
- }
86815
- },
86816
- {
86817
- id: "9",
86818
- number: "9",
86819
- timerange: "10:00 AM - 11:00 AM",
86820
- status: "scheduled",
86821
- address: {
86822
- nickname: "Restaurant",
86823
- address: "111 Food Court"
86824
- },
86825
- job_subtype: "delivery",
86826
- progress: {
86827
- firstBarData: {
86828
- text: "Preparing",
86829
- status: "info",
86830
- value: 100
86831
- },
86832
- secondBarData: {
86833
- text: "Quality Check",
86834
- status: "success",
86835
- value: 15
86836
- }
86837
- }
86838
- },
86839
- {
86840
- id: "10",
86841
- number: "10",
86842
- timerange: "11:00 AM - 12:00 PM",
86843
- status: "scheduled",
86844
- address: {
86845
- nickname: "Park",
86846
- address: "222 Green Ave"
86847
- },
86848
- job_subtype: "pickup",
86849
- progress: {
86850
- firstBarData: {
86851
- text: "Processing",
86852
- status: "info",
86853
- value: 80
86854
- },
86855
- secondBarData: {
86856
- text: "Review",
86857
- status: "success",
86858
- value: 0
86859
- }
86860
- }
86861
- },
86862
- {
86863
- id: "11",
86864
- number: "11",
86865
- timerange: "1:00 PM - 2:00 PM",
86866
- status: "scheduled",
86867
- address: {
86868
- nickname: "Beach",
86869
- address: "333 Shore Dr"
86870
- },
86871
- job_subtype: "delivery",
86872
- progress: {
86873
- firstBarData: {
86874
- text: "Planning",
86875
- status: "info",
86876
- value: 40
86877
- },
86878
- secondBarData: {
86879
- text: "Route Check",
86880
- status: "success",
86881
- value: 20
86882
- }
86883
- }
86884
- },
86885
- {
86886
- id: "12",
86887
- number: "12",
86888
- timerange: "2:00 PM - 3:00 PM",
86889
- status: "scheduled",
86890
- address: {
86891
- nickname: "Hotel",
86892
- address: "444 Stay Blvd"
86893
- },
86894
- job_subtype: "pickup",
86895
- progress: {
86896
- firstBarData: {
86897
- text: "Scheduled",
86898
- status: "info",
86899
- value: 0
86900
- },
86901
- secondBarData: {
86902
- text: "Awaiting",
86903
- status: "success",
86904
- value: 0
86905
- }
86906
- }
86907
- },
86908
- {
86909
- id: "13",
86910
- number: "13",
86911
- timerange: "3:00 PM - 4:00 PM",
86912
- status: "scheduled",
86913
- address: {
86914
- nickname: "Airport",
86915
- address: "666 Flight Way"
86916
- },
86917
- job_subtype: "delivery",
86918
- progress: {
86919
- firstBarData: {
86920
- text: "Pre-flight",
86921
- status: "info",
86922
- value: 60
86923
- },
86924
- secondBarData: {
86925
- text: "Security",
86926
- status: "success",
86927
- value: 30
86928
- }
86929
- }
86930
- },
86931
- {
86932
- id: "14",
86933
- number: "14",
86934
- timerange: "4:00 PM - 5:00 PM",
86935
- status: "cancelled",
86936
- address: {
86937
- nickname: "Stadium",
86938
- address: "777 Sports Complex"
86939
- },
86940
- job_subtype: "pickup",
86941
- progress: {
86942
- firstBarData: {
86943
- text: "Cancelled",
86944
- status: "info",
86945
- value: 0
86946
- },
86947
- secondBarData: {
86948
- text: "Refund",
86949
- status: "success",
86950
- value: 100
86951
- }
86952
- }
86953
- },
86954
- {
86955
- id: "15",
86956
- number: "15",
86957
- timerange: "9:00 AM - 10:00 AM",
86958
- status: "scheduled",
86959
- address: {
86960
- nickname: "Theater",
86961
- address: "888 Show Ave"
86962
- },
86963
- job_subtype: "delivery",
86964
- progress: {
86965
- firstBarData: {
86966
- text: "Setup",
86967
- status: "info",
86968
- value: 25
86969
- },
86970
- secondBarData: {
86971
- text: "Sound Check",
86972
- status: "success",
86973
- value: 0
86974
- }
86975
- }
86976
- },
86977
- {
86978
- id: "16",
86979
- number: "16",
86980
- timerange: "10:00 AM - 11:00 AM",
86981
- status: "scheduled",
86982
- address: {
86983
- nickname: "Museum",
86984
- address: "999 History Lane"
86985
- },
86986
- job_subtype: "pickup",
86987
- progress: {
86988
- firstBarData: {
86989
- text: "Exhibit Prep",
86990
- status: "info",
86991
- value: 70
86992
- },
86993
- secondBarData: {
86994
- text: "Documentation",
86995
- status: "success",
86996
- value: 45
86997
- }
86998
- }
86999
- },
87000
- {
87001
- id: "17",
87002
- number: "17",
87003
- timerange: "11:00 AM - 12:00 PM",
87004
- status: "scheduled",
87005
- address: {
87006
- nickname: "Zoo",
87007
- address: "123 Animal Park"
87008
- },
87009
- job_subtype: "delivery",
87010
- progress: {
87011
- firstBarData: {
87012
- text: "Animal Care",
87013
- status: "info",
87014
- value: 85
87015
- },
87016
- secondBarData: {
87017
- text: "Feeding",
87018
- status: "success",
87019
- value: 90
87020
- }
87021
- }
87022
- },
87023
- {
87024
- id: "18",
87025
- number: "18",
87026
- timerange: "1:00 PM - 2:00 PM",
87027
- status: "scheduled",
87028
- address: {
87029
- nickname: "Bank",
87030
- address: "456 Money St"
87031
- },
87032
- job_subtype: "pickup",
87033
- progress: {
87034
- firstBarData: {
87035
- text: "Transaction",
87036
- status: "info",
87037
- value: 50
87038
- },
87039
- secondBarData: {
87040
- text: "Verification",
87041
- status: "success",
87042
- value: 25
87043
- }
87044
- }
87045
- },
87046
- {
87047
- id: "19",
87048
- number: "19",
87049
- timerange: "2:00 PM - 3:00 PM",
87050
- status: "scheduled",
87051
- address: {
87052
- nickname: "Post Office",
87053
- address: "789 Mail Road"
87054
- },
87055
- job_subtype: "delivery",
87056
- progress: {
87057
- firstBarData: {
87058
- text: "Sorting",
87059
- status: "info",
87060
- value: 100
87061
- },
87062
- secondBarData: {
87063
- text: "Dispatch",
87064
- status: "success",
87065
- value: 75
87066
- }
87067
- }
87068
- },
87069
- {
87070
- id: "20",
87071
- number: "20",
87072
- timerange: "3:00 PM - 4:00 PM",
87073
- status: "scheduled",
87074
- address: {
87075
- nickname: "Church",
87076
- address: "321 Faith Street"
87077
- },
87078
- job_subtype: "pickup",
87079
- progress: {
87080
- firstBarData: {
87081
- text: "Service Prep",
87082
- status: "info",
87083
- value: 30
87084
- },
87085
- secondBarData: {
87086
- text: "Community",
87087
- status: "success",
87088
- value: 10
87089
- }
87090
- }
87091
- },
87092
- {
87093
- id: "21",
87094
- number: "21",
87095
- timerange: "4:00 PM - 5:00 PM",
87096
- status: "scheduled",
87097
- address: {
87098
- nickname: "Pharmacy",
87099
- address: "654 Health Ave"
87100
- },
87101
- job_subtype: "delivery",
87102
- progress: {
87103
- firstBarData: {
87104
- text: "Prescription",
87105
- status: "info",
87106
- value: 90
87107
- },
87108
- secondBarData: {
87109
- text: "Quality Check",
87110
- status: "success",
87111
- value: 60
87112
- }
87113
- }
87114
- }
87115
- ]
87490
+ appointments: staticTableData
87116
87491
  };
87117
87492
  const tableControlsData = {
87118
87493
  primaryTableRowData: {