@seedtactics/insight-client 16.7.2 → 16.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +23 -29
  2. package/dist/assets/index-BGjv3-QV.js +388 -0
  3. package/dist/cell-status/current-status.js +4 -1
  4. package/dist/cell-status/estimated-cycle-times.js +2 -1
  5. package/dist/cell-status/inspections.js +1 -1
  6. package/dist/cell-status/loading.js +1 -1
  7. package/dist/cell-status/material-summary.js +4 -2
  8. package/dist/cell-status/names.js +1 -1
  9. package/dist/cell-status/rebookings.js +3 -1
  10. package/dist/cell-status/scheduled-jobs.js +1 -1
  11. package/dist/cell-status/sim-production.js +6 -2
  12. package/dist/cell-status/station-cycles.js +3 -1
  13. package/dist/cell-status/tool-replacements.js +21 -7
  14. package/dist/cell-status/tool-usage.js +7 -2
  15. package/dist/components/App.d.ts +2 -2
  16. package/dist/components/App.js +13 -5
  17. package/dist/components/AxisAndGrid.d.ts +6 -6
  18. package/dist/components/BarcodeScanning.d.ts +2 -2
  19. package/dist/components/BarcodeScanning.js +8 -2
  20. package/dist/components/ChartTooltip.d.ts +2 -2
  21. package/dist/components/ChooseMode.js +6 -1
  22. package/dist/components/ChooseOperator.d.ts +1 -1
  23. package/dist/components/ErrorsAndLoading.d.ts +3 -3
  24. package/dist/components/LoadingIcon.d.ts +1 -1
  25. package/dist/components/LoadingIcon.js +1 -1
  26. package/dist/components/LogEntry.d.ts +2 -2
  27. package/dist/components/LogEntry.js +10 -8
  28. package/dist/components/ManualSerialEntry.d.ts +2 -2
  29. package/dist/components/MonthSelect.d.ts +1 -1
  30. package/dist/components/MonthSelect.js +3 -1
  31. package/dist/components/Navigation.d.ts +2 -2
  32. package/dist/components/Navigation.js +1 -1
  33. package/dist/components/VerboseLogging.d.ts +1 -1
  34. package/dist/components/analysis/AnalysisSelectToolbar.d.ts +1 -1
  35. package/dist/components/analysis/BasketCycleCards.d.ts +1 -1
  36. package/dist/components/analysis/BasketCycleCards.js +1 -1
  37. package/dist/components/analysis/BufferChart.d.ts +1 -1
  38. package/dist/components/analysis/BufferChart.js +23 -4
  39. package/dist/components/analysis/CostPerPiece.d.ts +2 -2
  40. package/dist/components/analysis/CostPerPiece.js +2 -2
  41. package/dist/components/analysis/CycleChart.d.ts +1 -1
  42. package/dist/components/analysis/CycleChart.js +17 -4
  43. package/dist/components/analysis/DataTable.js +4 -2
  44. package/dist/components/analysis/EfficiencyPage.d.ts +2 -2
  45. package/dist/components/analysis/EfficiencyPage.js +1 -1
  46. package/dist/components/analysis/HeatChart.d.ts +1 -1
  47. package/dist/components/analysis/HeatChart.js +12 -3
  48. package/dist/components/analysis/InspectionDataTable.d.ts +1 -1
  49. package/dist/components/analysis/InspectionDataTable.js +6 -1
  50. package/dist/components/analysis/InspectionSankey.d.ts +1 -1
  51. package/dist/components/analysis/InspectionSankey.js +16 -6
  52. package/dist/components/analysis/PalletCycleCards.d.ts +1 -1
  53. package/dist/components/analysis/PalletCycleCards.js +5 -3
  54. package/dist/components/analysis/PartCycleCards.d.ts +2 -2
  55. package/dist/components/analysis/PartCycleCards.js +16 -6
  56. package/dist/components/analysis/QualityPage.d.ts +1 -1
  57. package/dist/components/analysis/ScheduleHistory.d.ts +1 -1
  58. package/dist/components/analysis/ScheduleHistory.js +1 -1
  59. package/dist/components/analysis/StationDataTable.d.ts +1 -1
  60. package/dist/components/analysis/ToolReplacements.d.ts +1 -1
  61. package/dist/components/analysis/ToolReplacements.js +7 -3
  62. package/dist/components/operations/AllMaterial.d.ts +1 -1
  63. package/dist/components/operations/ChartRangeEdit.d.ts +1 -1
  64. package/dist/components/operations/ChartRangeEdit.js +13 -4
  65. package/dist/components/operations/CloseoutReport.js +1 -1
  66. package/dist/components/operations/CompletedParts.js +2 -2
  67. package/dist/components/operations/CurrentWorkorders.js +2 -2
  68. package/dist/components/operations/Dashboard.d.ts +2 -2
  69. package/dist/components/operations/OEEChart.d.ts +4 -4
  70. package/dist/components/operations/OEEChart.js +7 -2
  71. package/dist/components/operations/Outliers.d.ts +1 -1
  72. package/dist/components/operations/Programs.js +9 -4
  73. package/dist/components/operations/Rebookings.d.ts +1 -1
  74. package/dist/components/operations/Rebookings.js +3 -1
  75. package/dist/components/operations/RecentCycleChart.d.ts +1 -1
  76. package/dist/components/operations/RecentCycleChart.js +2 -2
  77. package/dist/components/operations/RecentProduction.js +3 -3
  78. package/dist/components/operations/RecentSchedules.js +3 -1
  79. package/dist/components/operations/RecentStationCycles.d.ts +1 -1
  80. package/dist/components/operations/RecentStationCycles.js +1 -1
  81. package/dist/components/operations/ShiftSettings.d.ts +1 -1
  82. package/dist/components/operations/SimDayUsage.d.ts +1 -1
  83. package/dist/components/operations/ToolReport.js +17 -6
  84. package/dist/components/operations/WorkorderGantt.d.ts +1 -1
  85. package/dist/components/quality/QualityMaterial.d.ts +2 -2
  86. package/dist/components/quality/QualityMaterial.js +1 -1
  87. package/dist/components/quality/QualityPaths.d.ts +1 -1
  88. package/dist/components/quality/RecentFailedInspections.d.ts +1 -1
  89. package/dist/components/routes.d.ts +1 -1
  90. package/dist/components/routes.js +1 -1
  91. package/dist/components/station-monitor/BulkRawMaterial.d.ts +2 -2
  92. package/dist/components/station-monitor/BulkRawMaterial.js +11 -5
  93. package/dist/components/station-monitor/Closeout.js +6 -2
  94. package/dist/components/station-monitor/Inspection.js +3 -1
  95. package/dist/components/station-monitor/InvalidateCycle.d.ts +3 -3
  96. package/dist/components/station-monitor/InvalidateCycle.js +10 -3
  97. package/dist/components/station-monitor/JobDetails.js +4 -2
  98. package/dist/components/station-monitor/LoadStation.d.ts +1 -1
  99. package/dist/components/station-monitor/LoadStation.js +6 -3
  100. package/dist/components/station-monitor/Material.d.ts +10 -10
  101. package/dist/components/station-monitor/Material.js +28 -20
  102. package/dist/components/station-monitor/Material.test.js +1 -1
  103. package/dist/components/station-monitor/MoveMaterialArrows.d.ts +2 -2
  104. package/dist/components/station-monitor/PrintedLabel.d.ts +3 -3
  105. package/dist/components/station-monitor/PrintedLabel.js +9 -4
  106. package/dist/components/station-monitor/QuarantineButton.d.ts +1 -1
  107. package/dist/components/station-monitor/QuarantineButton.js +4 -2
  108. package/dist/components/station-monitor/Queues.d.ts +2 -2
  109. package/dist/components/station-monitor/Queues.js +6 -4
  110. package/dist/components/station-monitor/QueuesAddMaterial.d.ts +3 -3
  111. package/dist/components/station-monitor/QueuesAddMaterial.js +20 -7
  112. package/dist/components/station-monitor/SelectInspType.d.ts +2 -2
  113. package/dist/components/station-monitor/SelectWorkorder.d.ts +1 -1
  114. package/dist/components/station-monitor/StationToolbar.d.ts +1 -1
  115. package/dist/components/station-monitor/StationToolbar.js +13 -3
  116. package/dist/components/station-monitor/SystemOverview.d.ts +4 -4
  117. package/dist/components/station-monitor/SystemOverview.js +36 -16
  118. package/dist/components/station-monitor/Whiteboard.d.ts +1 -1
  119. package/dist/data/all-material-bins.js +2 -1
  120. package/dist/data/cost-per-piece.js +3 -1
  121. package/dist/data/move-arrows.js +3 -1
  122. package/dist/data/part-summary.js +1 -1
  123. package/dist/data/results.cycles.js +13 -4
  124. package/dist/data/tools-programs.js +3 -2
  125. package/dist/index.html +1 -1
  126. package/dist/network/api.d.ts +18 -0
  127. package/dist/network/api.js +502 -371
  128. package/dist/util/chart-colors.js +12 -1
  129. package/docs/client-efficiency.md +226 -263
  130. package/docs/client-engineering.md +27 -28
  131. package/docs/client-launch.md +32 -33
  132. package/docs/client-operations.md +50 -53
  133. package/docs/client-quality.md +39 -43
  134. package/docs/client-sales.md +36 -40
  135. package/docs/client-scanners.md +27 -27
  136. package/docs/client-station-monitor.md +86 -96
  137. package/docs/client-tools-programs.md +47 -44
  138. package/docs/improve-fms.md +73 -78
  139. package/docs/makino.md +21 -25
  140. package/docs/material-quarantine.md +50 -64
  141. package/docs/material-tracking.md +162 -195
  142. package/docs/mazak.md +78 -91
  143. package/docs/niigata.md +145 -168
  144. package/docs/operator-procedures.md +72 -76
  145. package/docs/part-instructions.md +36 -36
  146. package/docs/security.md +87 -81
  147. package/docs/server-config.md +36 -45
  148. package/docs/server-errors.md +21 -22
  149. package/package.json +25 -24
  150. package/dist/assets/index-BwbaiELK.js +0 -364
@@ -77,7 +77,10 @@ export const addWorkorderComment = atom(null, (get, set, { workorder, comment })
77
77
  workorders: st.workorders.map((w) => w.workorderId === workorder
78
78
  ? new ActiveWorkorder({
79
79
  ...w,
80
- comments: [...(w.comments ?? []), new WorkorderComment({ comment, timeUTC: new Date() })],
80
+ comments: [
81
+ ...(w.comments ?? []),
82
+ new WorkorderComment({ comment, timeUTC: new Date() }),
83
+ ],
81
84
  })
82
85
  : w),
83
86
  };
@@ -42,7 +42,8 @@ export class PartAndStationOperation {
42
42
  this.operation = operation;
43
43
  }
44
44
  static ofLogCycle(c) {
45
- return new PartAndStationOperation(c.material[0].part, c.loc, (c.type === LogType.LoadUnloadCycle || c.type === LogType.BasketLoadUnload) && c.material.length > 0
45
+ return new PartAndStationOperation(c.material[0].part, c.loc, (c.type === LogType.LoadUnloadCycle || c.type === LogType.BasketLoadUnload) &&
46
+ c.material.length > 0
46
47
  ? c.result + "-" + c.material[0].proc.toString()
47
48
  : c.program);
48
49
  }
@@ -32,7 +32,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
32
  */
33
33
  import { hashValues } from "@seedtactics/immutable-collections";
34
34
  import { addDays } from "date-fns";
35
- import { LogType, MaterialProcessActualPath } from "../network/api.js";
35
+ import { LogType, MaterialProcessActualPath, } from "../network/api.js";
36
36
  import { LazySeq, HashMap } from "@seedtactics/immutable-collections";
37
37
  import { atom } from "jotai";
38
38
  export var InspectionLogResultType;
@@ -93,7 +93,7 @@ export const onLoadLast30Log = atom(null, (_, set, log) => {
93
93
  set(statCycles.setLast30StationCycles, log);
94
94
  set(rebookings.setLast30Rebookings, log);
95
95
  const newCntr = LazySeq.of(log).maxBy((x) => x.counter)?.counter ?? null;
96
- set(lastEventCounterRW, (oldCntr) => (oldCntr === null ? newCntr : Math.max(oldCntr, newCntr ?? -1)));
96
+ set(lastEventCounterRW, (oldCntr) => oldCntr === null ? newCntr : Math.max(oldCntr, newCntr ?? -1));
97
97
  });
98
98
  export const onLoadCurrentSt = atom(null, (_, set, curSt) => {
99
99
  set(currentSt.setCurrentStatus, curSt);
@@ -30,7 +30,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
30
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
31
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
32
  */
33
- import { LogType } from "../network/api.js";
33
+ import { LogType, } from "../network/api.js";
34
34
  import { addDays } from "date-fns";
35
35
  import { HashMap, LazySeq, HashSet } from "@seedtactics/immutable-collections";
36
36
  import { atom } from "jotai";
@@ -228,7 +228,9 @@ function process_swap(swap, st) {
228
228
  else {
229
229
  newMat = newMatFromState;
230
230
  }
231
- if (oldMat.jobUnique && oldMat.jobUnique !== "" && (!newMat.jobUnique || newMat.jobUnique === "")) {
231
+ if (oldMat.jobUnique &&
232
+ oldMat.jobUnique !== "" &&
233
+ (!newMat.jobUnique || newMat.jobUnique === "")) {
232
234
  // Swap newMat from raw material
233
235
  const forJob = jobs.get(oldMat.jobUnique);
234
236
  if (forJob !== undefined) {
@@ -31,7 +31,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
31
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
32
  */
33
33
  import { atom } from "jotai";
34
- import { LogType, QueueRole } from "../network/api.js";
34
+ import { LogType, QueueRole, } from "../network/api.js";
35
35
  import { LazySeq } from "@seedtactics/immutable-collections";
36
36
  const rawMaterialQueuesRW = atom(new Set());
37
37
  export const rawMaterialQueues = rawMaterialQueuesRW;
@@ -128,7 +128,9 @@ export function useNewRebooking() {
128
128
  const [loading, setLoading] = useState(false);
129
129
  const callback = useCallback((n) => {
130
130
  setLoading(true);
131
- return LogBackend.requestRebooking(n.part, n.qty && !isNaN(n.qty) ? n.qty : 1, n.workorder, n.priority !== undefined && n.priority !== null && !isNaN(n.priority) ? n.priority : undefined, n.notes)
131
+ return LogBackend.requestRebooking(n.part, n.qty && !isNaN(n.qty) ? n.qty : 1, n.workorder, n.priority !== undefined && n.priority !== null && !isNaN(n.priority)
132
+ ? n.priority
133
+ : undefined, n.notes)
132
134
  .then(() => { })
133
135
  .catch(console.log)
134
136
  .finally(() => setLoading(false));
@@ -31,7 +31,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
31
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
32
  */
33
33
  import { addDays } from "date-fns";
34
- import { HistoricJob } from "../network/api.js";
34
+ import { HistoricJob, } from "../network/api.js";
35
35
  import { HashMap, HashSet, LazySeq } from "@seedtactics/immutable-collections";
36
36
  import { atom } from "jotai";
37
37
  import { atomFamily } from "jotai-family";
@@ -67,7 +67,10 @@ function* jobToPartCompleted(jobs) {
67
67
  }
68
68
  }
69
69
  export const setLast30JobProduction = atom(null, (_, set, history) => {
70
- set(last30SimProductionRW, (oldProd) => [...oldProd, ...jobToPartCompleted(Object.values(history.jobs))]);
70
+ set(last30SimProductionRW, (oldProd) => [
71
+ ...oldProd,
72
+ ...jobToPartCompleted(Object.values(history.jobs)),
73
+ ]);
71
74
  });
72
75
  export const updateLast30JobProduction = atom(null, (_, set, { evt, now, expire }) => {
73
76
  if (evt.newJobs) {
@@ -77,7 +80,8 @@ export const updateLast30JobProduction = atom(null, (_, set, { evt, now, expire
77
80
  const expireDate = addDays(now, -30);
78
81
  // check if nothing to expire and no new data
79
82
  const minProd = LazySeq.of(simProd).minBy((e) => e.completeTime.getTime());
80
- if ((minProd === undefined || minProd.completeTime >= expireDate) && apiNewJobs.length === 0) {
83
+ if ((minProd === undefined || minProd.completeTime >= expireDate) &&
84
+ apiNewJobs.length === 0) {
81
85
  return simProd;
82
86
  }
83
87
  simProd = simProd.filter((e) => e.completeTime >= expireDate);
@@ -169,7 +169,9 @@ export const setLast30StationCycles = atom(null, (get, set, log) => {
169
169
  export const updateLast30StationCycles = atom(null, (get, set, { evt, now, expire }) => {
170
170
  if (evt.logEntry && evt.logEntry.type === LogType.InvalidateCycle) {
171
171
  const cntrs = evt.logEntry.details?.["EditedCounters"];
172
- const invalidatedCycles = cntrs ? new Set(cntrs.split(",").map((i) => parseInt(i))) : new Set();
172
+ const invalidatedCycles = cntrs
173
+ ? new Set(cntrs.split(",").map((i) => parseInt(i)))
174
+ : new Set();
173
175
  if (invalidatedCycles.size > 0) {
174
176
  set(last30StationCyclesRW, (cycles) => {
175
177
  for (const invalid of invalidatedCycles) {
@@ -32,7 +32,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
32
  */
33
33
  import { addDays } from "date-fns";
34
34
  import { LogType } from "../network/api.js";
35
- import { LazySeq, HashMap, OrderedMap, hashValues } from "@seedtactics/immutable-collections";
35
+ import { LazySeq, HashMap, OrderedMap, hashValues, } from "@seedtactics/immutable-collections";
36
36
  import { durationToMinutes } from "../util/parseISODuration.js";
37
37
  import { atom } from "jotai";
38
38
  export class StationGroupAndNum {
@@ -47,7 +47,9 @@ export class StationGroupAndNum {
47
47
  return hashValues(this.group, this.num);
48
48
  }
49
49
  compare(other) {
50
- return this.group === other.group ? this.num - other.num : this.group.localeCompare(other.group);
50
+ return this.group === other.group
51
+ ? this.num - other.num
52
+ : this.group.localeCompare(other.group);
51
53
  }
52
54
  toString() {
53
55
  return this.group + " #" + this.num.toString();
@@ -77,7 +79,9 @@ function addReplacementsFromLog(old, e) {
77
79
  const totalCntAtEnd = use.totalToolUseCountAtEndOfCycle ?? null;
78
80
  if ((useDuring || cntDuring) && useDuring === totalUseAtEnd && cntDuring === totalCntAtEnd) {
79
81
  // replace before cycle start
80
- const last = old.recentUse.get(key)?.find((entry) => entry.tool === use.tool && entry.pocket === use.pocket);
82
+ const last = old.recentUse
83
+ .get(key)
84
+ ?.find((entry) => entry.tool === use.tool && entry.pocket === use.pocket);
81
85
  if (last) {
82
86
  const lastTotalUse = last.totalToolUseAtEndOfCycle
83
87
  ? durationToMinutes(last.totalToolUseAtEndOfCycle)
@@ -106,9 +110,13 @@ function addReplacementsFromLog(old, e) {
106
110
  tool: use.tool,
107
111
  pocket: use.pocket,
108
112
  type: "ReplaceInCycle",
109
- totalUseAtBeginningOfCycle: lifetime !== null && useDuring !== null ? lifetime - useDuring + (totalUseAtEnd ?? 0) : null,
113
+ totalUseAtBeginningOfCycle: lifetime !== null && useDuring !== null
114
+ ? lifetime - useDuring + (totalUseAtEnd ?? 0)
115
+ : null,
110
116
  totalUseAtEndOfCycle: totalUseAtEnd,
111
- totalCntAtBeginningOfCycle: lifeCnt !== null && cntDuring !== null ? lifeCnt - cntDuring + (totalCntAtEnd ?? 0) : null,
117
+ totalCntAtBeginningOfCycle: lifeCnt !== null && cntDuring !== null
118
+ ? lifeCnt - cntDuring + (totalCntAtEnd ?? 0)
119
+ : null,
112
120
  totalCntAtEndOfCycle: totalCntAtEnd,
113
121
  });
114
122
  }
@@ -125,7 +133,10 @@ function addReplacementsFromLog(old, e) {
125
133
  }
126
134
  export const setLast30ToolReplacements = atom(null, (_, set, log) => {
127
135
  set(last30ToolReplacementsRW, (oldCycles) => LazySeq.of(log)
128
- .filter((e) => e.type === LogType.MachineCycle && !e.startofcycle && !!e.tooluse && e.tooluse.length > 0)
136
+ .filter((e) => e.type === LogType.MachineCycle &&
137
+ !e.startofcycle &&
138
+ !!e.tooluse &&
139
+ e.tooluse.length > 0)
129
140
  .fold(oldCycles, addReplacementsFromLog));
130
141
  });
131
142
  export const updateLastToolReplacements = atom(null, (_, set, { evt, now, expire }) => {
@@ -150,6 +161,9 @@ export const updateLastToolReplacements = atom(null, (_, set, { evt, now, expire
150
161
  });
151
162
  export const setSpecificMonthToolReplacements = atom(null, (_, set, log) => {
152
163
  set(specificMonthToolReplacementsRW, LazySeq.of(log)
153
- .filter((e) => e.type === LogType.MachineCycle && !e.startofcycle && !!e.tooluse && e.tooluse.length > 0)
164
+ .filter((e) => e.type === LogType.MachineCycle &&
165
+ !e.startofcycle &&
166
+ !!e.tooluse &&
167
+ e.tooluse.length > 0)
154
168
  .fold(emptyReplacementsAndUse, addReplacementsFromLog));
155
169
  });
@@ -39,7 +39,9 @@ import { stat_name_and_num } from "./station-cycles.js";
39
39
  const last30ToolUseRW = atom(HashMap.empty());
40
40
  export const last30ToolUse = last30ToolUseRW;
41
41
  function process_tools(cycle, estimatedCycleTimes, toolUsage) {
42
- if (cycle.tooluse === undefined || cycle.tooluse.length === 0 || cycle.type !== LogType.MachineCycle) {
42
+ if (cycle.tooluse === undefined ||
43
+ cycle.tooluse.length === 0 ||
44
+ cycle.type !== LogType.MachineCycle) {
43
45
  return toolUsage;
44
46
  }
45
47
  const stats = cycle.material.length > 0
@@ -72,7 +74,10 @@ function process_tools(cycle, estimatedCycleTimes, toolUsage) {
72
74
  if (old) {
73
75
  const n = old.recentCycles.slice(-4);
74
76
  n.push({ tools: toolsUsedInCycle });
75
- return { machines: old.machines.add(stat_name_and_num(cycle.loc, cycle.locnum)), recentCycles: n };
77
+ return {
78
+ machines: old.machines.add(stat_name_and_num(cycle.loc, cycle.locnum)),
79
+ recentCycles: n,
80
+ };
76
81
  }
77
82
  else {
78
83
  return {
@@ -3,7 +3,7 @@ import { ChooseModeItem } from "./ChooseMode.js";
3
3
  import * as serverSettings from "../network/server-settings.js";
4
4
  export declare function NavTabs({ children }: {
5
5
  children?: ReactNode;
6
- }): import("react/jsx-runtime").JSX.Element;
6
+ }): import("react").JSX.Element;
7
7
  export interface AppProps {
8
8
  readonly renderCustomPage?: (custom: ReadonlyArray<string>) => {
9
9
  readonly nav: ComponentType | undefined;
@@ -11,5 +11,5 @@ export interface AppProps {
11
11
  };
12
12
  readonly chooseModes?: (i: serverSettings.FMSInfoAndUser) => ReadonlyArray<ChooseModeItem> | null;
13
13
  }
14
- declare const App: import("react").MemoExoticComponent<(props: AppProps) => import("react/jsx-runtime").JSX.Element>;
14
+ declare const App: import("react").MemoExoticComponent<(props: AppProps) => import("react").JSX.Element>;
15
15
  export default App;
@@ -80,7 +80,7 @@ import { CloseoutReport } from "./operations/CloseoutReport.js";
80
80
  import { RebookingsPage } from "./operations/Rebookings.js";
81
81
  import { RecentCompletedPartsPage } from "./operations/CompletedParts.js";
82
82
  import { basketDisplayName } from "../cell-status/station-cycles.js";
83
- import { last30HasBasketCycleData, specificMonthHasBasketCycleData } from "../cell-status/basket-cycles.js";
83
+ import { last30HasBasketCycleData, specificMonthHasBasketCycleData, } from "../cell-status/basket-cycles.js";
84
84
  const OperationsReportsTab = "bms-operations-reports-tab";
85
85
  const operationsReports = [
86
86
  { separator: "Load/Unload" },
@@ -172,7 +172,11 @@ const operationsReports = [
172
172
  function analysisReports(hasBasketCycles) {
173
173
  return [
174
174
  { separator: "Efficiency" },
175
- { name: "Buffers", route: { route: routes.RouteLocation.Analysis_Buffers }, icon: _jsx(BufferIcon, {}) },
175
+ {
176
+ name: "Buffers",
177
+ route: { route: routes.RouteLocation.Analysis_Buffers },
178
+ icon: _jsx(BufferIcon, {}),
179
+ },
176
180
  {
177
181
  name: "Station OEE",
178
182
  route: { route: routes.RouteLocation.Analysis_StationOEE },
@@ -206,7 +210,11 @@ function analysisReports(hasBasketCycles) {
206
210
  hidden: () => !hasBasketCycles,
207
211
  },
208
212
  { separator: "Cell" },
209
- { name: "Quality", route: { route: routes.RouteLocation.Analysis_Quality }, icon: _jsx(BuildIcon, {}) },
213
+ {
214
+ name: "Quality",
215
+ route: { route: routes.RouteLocation.Analysis_Quality },
216
+ icon: _jsx(BuildIcon, {}),
217
+ },
210
218
  {
211
219
  name: "Tool Replacements",
212
220
  route: { route: routes.RouteLocation.Analysis_ToolReplacements },
@@ -302,7 +310,7 @@ const App = memo(function App(props) {
302
310
  else {
303
311
  switch (route.route) {
304
312
  case routes.RouteLocation.Station_LoadMonitor:
305
- page = _jsx(LoadStation, { loadNum: route.loadNum, queues: route.queues, completed: route.completed });
313
+ page = (_jsx(LoadStation, { loadNum: route.loadNum, queues: route.queues, completed: route.completed }));
306
314
  nav1 = StationToolbar;
307
315
  nav2 = StationToolbarOverviewButton;
308
316
  showOperator = true;
@@ -568,7 +576,7 @@ const App = memo(function App(props) {
568
576
  case routes.RouteLocation.Client_Custom: {
569
577
  const customPage = props.renderCustomPage?.(route.custom);
570
578
  nav1 = customPage?.nav;
571
- page = customPage?.page ?? _jsx(ChooseMode, { setRoute: setRoute, modes: props.chooseModes?.(fmsInfo) });
579
+ page = customPage?.page ?? (_jsx(ChooseMode, { setRoute: setRoute, modes: props.chooseModes?.(fmsInfo) }));
572
580
  showAlarms = false;
573
581
  break;
574
582
  }
@@ -3,12 +3,12 @@ export declare function GridRows({ scale, width, tickOverride, }: {
3
3
  scale: ScaleLinear<unknown, number> | ScaleTime<unknown, number>;
4
4
  width: number;
5
5
  tickOverride?: number[];
6
- }): import("react/jsx-runtime").JSX.Element;
6
+ }): import("react").JSX.Element;
7
7
  export declare function GridCols({ scale, height, tickOverride, }: {
8
8
  scale: ScaleLinear<unknown, number> | ScaleTime<unknown, number>;
9
9
  height: number;
10
10
  tickOverride?: number[];
11
- }): import("react/jsx-runtime").JSX.Element;
11
+ }): import("react").JSX.Element;
12
12
  export declare function ChartGrid({ xScale, yScale, width, height, rowTickOverride, colTickOverride, }: {
13
13
  xScale: ScaleLinear<unknown, number> | ScaleTime<unknown, number>;
14
14
  yScale: ScaleLinear<unknown, number> | ScaleTime<unknown, number>;
@@ -16,7 +16,7 @@ export declare function ChartGrid({ xScale, yScale, width, height, rowTickOverri
16
16
  height: number;
17
17
  rowTickOverride?: number[];
18
18
  colTickOverride?: number[];
19
- }): import("react/jsx-runtime").JSX.Element;
19
+ }): import("react").JSX.Element;
20
20
  type AxisScale<T> = ((val: T) => number | undefined) & {
21
21
  domain: () => ReadonlyArray<T>;
22
22
  range: () => ReadonlyArray<number>;
@@ -31,7 +31,7 @@ export declare function AxisBottom<T>({ top, scale, label, fontSize, tickFormat,
31
31
  fontSize?: number;
32
32
  tickFormat?: (val: T) => string;
33
33
  tickOverride?: ReadonlyArray<T>;
34
- }): import("react/jsx-runtime").JSX.Element;
34
+ }): import("react").JSX.Element;
35
35
  export declare function AxisLeft<T>({ left, scale, label, fontSize, tickFormat, tickOverride, }: {
36
36
  left: number;
37
37
  scale: AxisScale<T>;
@@ -39,7 +39,7 @@ export declare function AxisLeft<T>({ left, scale, label, fontSize, tickFormat,
39
39
  fontSize?: number;
40
40
  tickFormat?: (val: T) => string;
41
41
  tickOverride?: ReadonlyArray<T>;
42
- }): import("react/jsx-runtime").JSX.Element;
42
+ }): import("react").JSX.Element;
43
43
  export declare function AxisTop<T>({ top, scale, label, fontSize, tickFormat, tickOverride, }: {
44
44
  top: number;
45
45
  scale: AxisScale<T>;
@@ -47,5 +47,5 @@ export declare function AxisTop<T>({ top, scale, label, fontSize, tickFormat, ti
47
47
  fontSize?: number;
48
48
  tickFormat?: (val: T) => string;
49
49
  tickOverride?: ReadonlyArray<T>;
50
- }): import("react/jsx-runtime").JSX.Element;
50
+ }): import("react").JSX.Element;
51
51
  export {};
@@ -1,6 +1,6 @@
1
1
  export declare const BarcodeListener: import("react").MemoExoticComponent<() => null>;
2
- export declare const QRScanButton: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element | null>;
2
+ export declare const QRScanButton: import("react").MemoExoticComponent<() => import("react").JSX.Element | null>;
3
3
  export declare const scanBarcodeToAddToQueueDialog: import("jotai").PrimitiveAtom<string | null> & {
4
4
  init: string | null;
5
5
  };
6
- export declare const AddByBarcodeDialog: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
6
+ export declare const AddByBarcodeDialog: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
@@ -70,7 +70,10 @@ export const BarcodeListener = memo(function BarcodeListener() {
70
70
  k.stopPropagation();
71
71
  k.preventDefault();
72
72
  }
73
- else if (k.key === "*" && !scanActive && lastBangTime !== null && Date.now() - lastBangTime < 1000) {
73
+ else if (k.key === "*" &&
74
+ !scanActive &&
75
+ lastBangTime !== null &&
76
+ Date.now() - lastBangTime < 1000) {
74
77
  startDetection();
75
78
  k.stopPropagation();
76
79
  k.preventDefault();
@@ -133,7 +136,10 @@ export const AddByBarcodeDialog = memo(function AddByBarcodeDialog() {
133
136
  const [manual, setManual] = useState("");
134
137
  const setBarcode = useSetAtom(materialDialogOpen);
135
138
  function onScan(results) {
136
- if (queue !== null && results.length > 0 && results[0].rawValue !== null && results[0].rawValue !== "") {
139
+ if (queue !== null &&
140
+ results.length > 0 &&
141
+ results[0].rawValue !== null &&
142
+ results[0].rawValue !== "") {
137
143
  setBarcode({ type: "Barcode", barcode: results[0].rawValue, toQueue: queue });
138
144
  setQueue(null);
139
145
  setManual("");
@@ -13,7 +13,7 @@ export declare function Tooltip<T>({ chartHeight, chartWidth, atom, TooltipConte
13
13
  TooltipContent: ComponentType<{
14
14
  tooltip: T;
15
15
  }>;
16
- }): import("react/jsx-runtime").JSX.Element | null;
16
+ }): import("react").JSX.Element | null;
17
17
  export declare function ChartWithTooltip<T>({ chart, tooltipAtom, TooltipContent, sx, autoHeight, }: {
18
18
  chart: ({ width, height }: {
19
19
  width: number;
@@ -25,4 +25,4 @@ export declare function ChartWithTooltip<T>({ chart, tooltipAtom, TooltipContent
25
25
  }>;
26
26
  sx?: SxProps;
27
27
  autoHeight?: boolean;
28
- }): import("react/jsx-runtime").JSX.Element;
28
+ }): import("react").JSX.Element;
@@ -131,6 +131,11 @@ export const defaultChooseModes = [
131
131
  ];
132
132
  export function ChooseMode(p) {
133
133
  const navList = (_jsx(Paper, { children: _jsx(List, { component: "nav", dense: true, children: (p.modes ?? defaultChooseModes).map((mode, idx) => mode.type === "Subheader" ? (_jsx(ListSubheader, { children: mode.caption }, idx)) : (_jsx(ListItem, { children: _jsxs(ListItemButton, { onClick: () => p.setRoute(mode.route), children: [_jsx(ListItemIcon, { children: mode.icon }), _jsx(ListItemText, { children: mode.label })] }) }, idx))) }) }));
134
- return (_jsx("main", { style: { display: "flex", justifyContent: "center" }, children: _jsxs("div", { children: [_jsxs("div", { style: { textAlign: "center" }, children: [_jsx(Typography, { variant: "h4", style: { marginTop: "2em" }, children: "Select user and computer location" }), _jsxs(Typography, { variant: "caption", style: { marginBottom: "2em", maxWidth: "30em", marginLeft: "auto", marginRight: "auto" }, children: ["We recommend that after selecting one of the following modes, you bookmark the page and visit it directly.", _jsx("a", { href: "https://fms-insight.seedtactics.com/docs/client-dashboard.html", children: "Learn More" })] })] }), navList] }) }));
134
+ return (_jsx("main", { style: { display: "flex", justifyContent: "center" }, children: _jsxs("div", { children: [_jsxs("div", { style: { textAlign: "center" }, children: [_jsx(Typography, { variant: "h4", style: { marginTop: "2em" }, children: "Select user and computer location" }), _jsxs(Typography, { variant: "caption", style: {
135
+ marginBottom: "2em",
136
+ maxWidth: "30em",
137
+ marginLeft: "auto",
138
+ marginRight: "auto",
139
+ }, children: ["We recommend that after selecting one of the following modes, you bookmark the page and visit it directly.", _jsx("a", { href: "https://fms-insight.seedtactics.com/docs/client-dashboard.html", children: "Learn More" })] })] }), navList] }) }));
135
140
  }
136
141
  export default ChooseMode;
@@ -1 +1 @@
1
- export declare const OperatorSelect: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
1
+ export declare const OperatorSelect: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
@@ -1,8 +1,8 @@
1
1
  import { ReactNode } from "react";
2
2
  import { FallbackProps } from "react-error-boundary";
3
- export declare function Loading(): import("react/jsx-runtime").JSX.Element;
4
- export declare function DisplayError({ error }: FallbackProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Loading(): import("react").JSX.Element;
4
+ export declare function DisplayError({ error }: FallbackProps): import("react").JSX.Element;
5
5
  export declare function DisplayLoadingAndError(props: {
6
6
  children: ReactNode;
7
7
  fallback?: ReactNode;
8
- }): import("react/jsx-runtime").JSX.Element;
8
+ }): import("react").JSX.Element;
@@ -1 +1 @@
1
- export declare const LoadingIcon: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
1
+ export declare const LoadingIcon: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
@@ -36,7 +36,7 @@ import { Button, CircularProgress, Dialog, DialogActions, DialogContent, DialogT
36
36
  import { Error as ErrorIcon } from "@mui/icons-material";
37
37
  import { Tooltip } from "@mui/material";
38
38
  import { errorLoadingLast30, websocketReconnecting } from "../network/websocket.js";
39
- import { errorLoadingSpecificMonthData, loadingSpecificMonthData } from "../network/load-specific-month.js";
39
+ import { errorLoadingSpecificMonthData, loadingSpecificMonthData, } from "../network/load-specific-month.js";
40
40
  import { useAtomValue } from "jotai";
41
41
  export const LoadingIcon = memo(function LoadingIcon() {
42
42
  const websocketLoading = useAtomValue(websocketReconnecting);
@@ -6,10 +6,10 @@ export interface LogEntryProps {
6
6
  readonly highlightProcsGreaterOrEqualTo?: number;
7
7
  }
8
8
  export declare function isLogEntryInvalidated(e: api.ILogEntry): boolean;
9
- export declare const LogEntry: import("react").MemoExoticComponent<(props: LogEntryProps) => import("react/jsx-runtime").JSX.Element>;
9
+ export declare const LogEntry: import("react").MemoExoticComponent<(props: LogEntryProps) => import("react").JSX.Element>;
10
10
  export interface LogEntriesProps {
11
11
  entries: Iterable<Readonly<api.ILogEntry>>;
12
12
  copyToClipboard?: boolean;
13
13
  highlightProcsGreaterOrEqualTo?: number;
14
14
  }
15
- export declare const LogEntries: import("react").MemoExoticComponent<(props: LogEntriesProps) => import("react/jsx-runtime").JSX.Element>;
15
+ export declare const LogEntries: import("react").MemoExoticComponent<(props: LogEntriesProps) => import("react").JSX.Element>;
@@ -71,10 +71,10 @@ function logType(entry, fmsInfo) {
71
71
  switch (entry.type) {
72
72
  case api.LogType.LoadUnloadCycle:
73
73
  if (entry.startofcycle) {
74
- return "Start " + entry.result.charAt(0).toUpperCase() + entry.result.substring(1).toLowerCase();
74
+ return ("Start " + entry.result.charAt(0).toUpperCase() + entry.result.substring(1).toLowerCase());
75
75
  }
76
76
  else {
77
- return "End " + entry.result.charAt(0).toUpperCase() + entry.result.substring(1).toLowerCase();
77
+ return ("End " + entry.result.charAt(0).toUpperCase() + entry.result.substring(1).toLowerCase());
78
78
  }
79
79
  case api.LogType.BasketLoadUnload:
80
80
  if (entry.program === "LOAD") {
@@ -179,7 +179,7 @@ function display(props, fmsInfo) {
179
179
  const entry = props.entry;
180
180
  switch (entry.type) {
181
181
  case api.LogType.LoadUnloadCycle:
182
- return (_jsxs("span", { children: [displayMat(entry.material), " on ", _jsxs(ColoredSpan, { "$type": "pallet", children: ["pallet ", entry.pal] }), " at", " ", _jsx(ColoredSpan, { "$type": "loadStation", children: loadStationDisplayName(entry.locnum, fmsInfo.loadStationNames) })] }));
182
+ return (_jsxs("span", { children: [displayMat(entry.material), " on", " ", _jsxs(ColoredSpan, { "$type": "pallet", children: ["pallet ", entry.pal] }), " at", " ", _jsx(ColoredSpan, { "$type": "loadStation", children: loadStationDisplayName(entry.locnum, fmsInfo.loadStationNames) })] }));
183
183
  case api.LogType.BasketLoadUnload: {
184
184
  const basketName = basketDisplayName(fmsInfo.basketName);
185
185
  return (_jsxs("span", { children: [displayMat(entry.material), " ", entry.program === "LOAD" ? "loaded onto" : "unloaded from", " ", _jsxs(ColoredSpan, { "$type": "pallet", children: [basketName, " ", entry.pal] }), " ", "at", " ", _jsx(ColoredSpan, { "$type": "loadStation", children: loadStationDisplayName(entry.locnum, fmsInfo.loadStationNames) })] }));
@@ -203,7 +203,7 @@ function display(props, fmsInfo) {
203
203
  }
204
204
  }
205
205
  case api.LogType.MachineCycle:
206
- return (_jsxs("span", { children: [displayMat(entry.material), " on ", _jsxs(ColoredSpan, { "$type": "pallet", children: ["pallet ", entry.pal] }), " at", " ", _jsxs(ColoredSpan, { "$type": "machine", children: [entry.loc, " ", entry.locnum.toString()] }), entry.program && entry.program !== "" ? _jsxs("span", { children: [" with program ", entry.program] }) : undefined] }));
206
+ return (_jsxs("span", { children: [displayMat(entry.material), " on", " ", _jsxs(ColoredSpan, { "$type": "pallet", children: ["pallet ", entry.pal] }), " at", " ", _jsxs(ColoredSpan, { "$type": "machine", children: [entry.loc, " ", entry.locnum.toString()] }), entry.program && entry.program !== "" ? (_jsxs("span", { children: [" with program ", entry.program] })) : undefined] }));
207
207
  case api.LogType.PartMark:
208
208
  return (_jsxs("span", { children: [displayMat(entry.material), " marked with ", entry.result] }));
209
209
  case api.LogType.OrderAssignment:
@@ -249,7 +249,7 @@ function display(props, fmsInfo) {
249
249
  return (_jsxs(ColoredSpan, { "$type": "closeoutFailed", children: [entry.program && entry.program !== "" ? entry.program : "CloseOut", " Failed"] }));
250
250
  }
251
251
  else {
252
- return _jsxs("span", { children: [entry.program && entry.program !== "" ? entry.program : "CloseOut", " Completed"] });
252
+ return (_jsxs("span", { children: [entry.program && entry.program !== "" ? entry.program : "CloseOut", " Completed"] }));
253
253
  }
254
254
  case api.LogType.AddToQueue:
255
255
  switch (entry.program) {
@@ -270,10 +270,10 @@ function display(props, fmsInfo) {
270
270
  return (_jsxs("span", { children: [displayQueueMat(entry.material), " removed from queue", " ", _jsx(ColoredSpan, { "$type": "queue", children: entry.loc })] }));
271
271
  case api.LogType.PalletInStocker:
272
272
  if (entry.startofcycle) {
273
- return (_jsxs("span", { children: [_jsxs(ColoredSpan, { "$type": "pallet", children: ["Pallet ", entry.pal] }), " arrived at stocker ", entry.locnum] }));
273
+ return (_jsxs("span", { children: [_jsxs(ColoredSpan, { "$type": "pallet", children: ["Pallet ", entry.pal] }), " arrived at stocker", " ", entry.locnum] }));
274
274
  }
275
275
  else {
276
- return (_jsxs("span", { children: [_jsxs(ColoredSpan, { "$type": "pallet", children: ["Pallet ", entry.pal] }), " departed stocker ", entry.locnum] }));
276
+ return (_jsxs("span", { children: [_jsxs(ColoredSpan, { "$type": "pallet", children: ["Pallet ", entry.pal] }), " departed stocker", " ", entry.locnum] }));
277
277
  }
278
278
  case api.LogType.PalletOnRotaryInbound:
279
279
  if (entry.startofcycle) {
@@ -358,7 +358,9 @@ const logTypesToHighlight = [
358
358
  api.LogType.BasketLoadUnload,
359
359
  api.LogType.MachineCycle,
360
360
  ];
361
- const LogEntryTableRow = styled(TableRow, { shouldForwardProp: (prop) => prop.toString()[0] !== "$" })(({ $highlightProc, $invalidCycle }) => ({
361
+ const LogEntryTableRow = styled(TableRow, {
362
+ shouldForwardProp: (prop) => prop.toString()[0] !== "$",
363
+ })(({ $highlightProc, $invalidCycle }) => ({
362
364
  ...($highlightProc && { backgroundColor: "#eeeeee" }),
363
365
  ...($invalidCycle && { textDecoration: "line-through" }),
364
366
  }));
@@ -1,5 +1,5 @@
1
- export declare const ManualSerialEntryButton: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
1
+ export declare const ManualSerialEntryButton: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
2
2
  export declare const enterSerialForNewMaterialDialog: import("jotai").PrimitiveAtom<string | null> & {
3
3
  init: string | null;
4
4
  };
5
- export declare const AddBySerialDialog: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
5
+ export declare const AddBySerialDialog: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
@@ -2,5 +2,5 @@ export interface MonthSelectProps {
2
2
  curMonth: Date;
3
3
  onSelectMonth: (d: Date) => void;
4
4
  }
5
- declare const _default: import("react").MemoExoticComponent<(props: MonthSelectProps) => import("react/jsx-runtime").JSX.Element>;
5
+ declare const _default: import("react").MemoExoticComponent<(props: MonthSelectProps) => import("react").JSX.Element>;
6
6
  export default _default;
@@ -59,7 +59,9 @@ export default memo(function MonthSelect(props) {
59
59
  }, size: "large", children: _jsx(CalendarIcon, {}) }) }) }), _jsx(Dialog, { open: dialogOpen, onClose: () => {
60
60
  setDialogOpen(false);
61
61
  setTempDialogCurMonth(undefined);
62
- }, children: _jsxs(DialogContent, { children: [_jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [_jsx(IconButton, { "data-testid": "select-month-dialog-previous-year", onClick: () => setTempDialogCurMonth(addYears(tempDialogCurMonth || props.curMonth, -1)), size: "large", children: _jsx(LeftArrowIcon, {}) }), _jsx("div", { style: { flexGrow: 1 }, children: _jsx(Typography, { variant: "h5", align: "center", "data-testid": "select-month-dialog-current-year", children: (tempDialogCurMonth || props.curMonth).toLocaleDateString(undefined, { year: "numeric" }) }) }), _jsx(IconButton, { onClick: () => setTempDialogCurMonth(addYears(tempDialogCurMonth || props.curMonth, 1)), size: "large", children: _jsx(RightArrowIcon, {}) })] }), _jsx("div", { "data-testid": "select-month-dialog-choose-month", children: months.map((monthRow, monthRowIdx) => (_jsx("div", { style: monthRowIdx > 0 ? { marginTop: "1.2em" } : undefined, children: monthRow.map((month, monthIdx) => (_jsx(Button, { color: "primary", style: monthIdx > 0 ? { marginLeft: "1.2em" } : undefined, onClick: () => {
62
+ }, children: _jsxs(DialogContent, { children: [_jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [_jsx(IconButton, { "data-testid": "select-month-dialog-previous-year", onClick: () => setTempDialogCurMonth(addYears(tempDialogCurMonth || props.curMonth, -1)), size: "large", children: _jsx(LeftArrowIcon, {}) }), _jsx("div", { style: { flexGrow: 1 }, children: _jsx(Typography, { variant: "h5", align: "center", "data-testid": "select-month-dialog-current-year", children: (tempDialogCurMonth || props.curMonth).toLocaleDateString(undefined, {
63
+ year: "numeric",
64
+ }) }) }), _jsx(IconButton, { onClick: () => setTempDialogCurMonth(addYears(tempDialogCurMonth || props.curMonth, 1)), size: "large", children: _jsx(RightArrowIcon, {}) })] }), _jsx("div", { "data-testid": "select-month-dialog-choose-month", children: months.map((monthRow, monthRowIdx) => (_jsx("div", { style: monthRowIdx > 0 ? { marginTop: "1.2em" } : undefined, children: monthRow.map((month, monthIdx) => (_jsx(Button, { color: "primary", style: monthIdx > 0 ? { marginLeft: "1.2em" } : undefined, onClick: () => {
63
65
  props.onSelectMonth(new Date((tempDialogCurMonth || props.curMonth).getFullYear(), month.getMonth(), 1));
64
66
  setTempDialogCurMonth(undefined);
65
67
  setDialogOpen(false);
@@ -17,7 +17,7 @@ export declare function Header({ showAlarms, showLogout, showSearch, showOperato
17
17
  Nav1: ComponentType | undefined;
18
18
  Nav2: ComponentType | undefined;
19
19
  menuNavs?: ReadonlyArray<MenuNavItem>;
20
- }): import("react/jsx-runtime").JSX.Element;
20
+ }): import("react").JSX.Element;
21
21
  export declare function SideMenu({ menuItems }: {
22
22
  menuItems?: ReadonlyArray<MenuNavItem>;
23
- }): import("react/jsx-runtime").JSX.Element | null;
23
+ }): import("react").JSX.Element | null;
@@ -95,7 +95,7 @@ function MenuNavSelect({ menuNavs }) {
95
95
  return;
96
96
  setCurrentRoute(item.route);
97
97
  }), renderValue: () => {
98
- const item = menuNavs.find((i) => ("separator" in i ? false : i.route.route === curRoute.route));
98
+ const item = menuNavs.find((i) => "separator" in i ? false : i.route.route === curRoute.route);
99
99
  if (!item || "separator" in item)
100
100
  return null;
101
101
  return (_jsxs(Box, { sx: {
@@ -1 +1 @@
1
- export declare function VerboseLoggingPage(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function VerboseLoggingPage(): import("react").JSX.Element;
@@ -1 +1 @@
1
- export declare const AnalysisSelectToolbar: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
1
+ export declare const AnalysisSelectToolbar: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
@@ -1 +1 @@
1
- export declare function BasketCycleChart(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function BasketCycleChart(): import("react").JSX.Element;
@@ -134,7 +134,7 @@ export function BasketCycleChart() {
134
134
  minHeight: "2.5em",
135
135
  alignItems: "center",
136
136
  maxWidth: "calc(100vw - 24px - 24px)",
137
- }, children: [_jsxs(Typography, { variant: "subtitle1", children: [basketName, " Cycles"] }), _jsx(Box, { sx: { flexGrow: 1 } }), _jsx(FormControl, { size: "small", children: _jsxs(Select, { autoWidth: true, displayEmpty: true, value: selectedBasket ?? -1, onChange: (e) => setSelectedBasket(e.target.value === -1 ? undefined : (e.target.value)), children: [_jsx(MenuItem, { value: -1, children: _jsxs("em", { children: ["Any ", basketName] }) }, 0), basketCycles
137
+ }, children: [_jsxs(Typography, { variant: "subtitle1", children: [basketName, " Cycles"] }), _jsx(Box, { sx: { flexGrow: 1 } }), _jsx(FormControl, { size: "small", children: _jsxs(Select, { autoWidth: true, displayEmpty: true, value: selectedBasket ?? -1, onChange: (e) => setSelectedBasket(e.target.value === -1 ? undefined : e.target.value), children: [_jsx(MenuItem, { value: -1, children: _jsxs("em", { children: ["Any ", basketName] }) }, 0), basketCycles
138
138
  .keysToLazySeq()
139
139
  .sortBy((x) => x)
140
140
  .map((n) => (_jsx(MenuItem, { value: n, children: _jsx("div", { style: { display: "flex", alignItems: "center" }, children: _jsx("span", { style: { marginRight: "1em" }, children: n }) }) }, n)))] }) }), partNames.length > 0 ? (_jsx(FormControl, { size: "small", children: _jsxs(Select, { autoWidth: true, displayEmpty: true, value: selectedPart
@@ -1 +1 @@
1
- export declare function BufferOccupancyChart(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function BufferOccupancyChart(): import("react").JSX.Element;