Skip to content

Commit 2946074

Browse files
refactor(components): Make positioningMode required on <Labware> and <LabwareRender> (#18923)
1 parent 0644c37 commit 2946074

File tree

21 files changed

+56
-15
lines changed

21 files changed

+56
-15
lines changed

app/src/organisms/ErrorRecoveryFlows/shared/TwoColLwInfoAndDeck.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,10 @@ export function TwoColLwInfoAndDeck(
165165
>
166166
{nestedLabwareDef != null &&
167167
nestedLabwareId !== failedLwId ? (
168-
<LabwareRender definition={nestedLabwareDef} />
168+
<LabwareRender
169+
definition={nestedLabwareDef}
170+
positioningMode="offsetInSlot"
171+
/>
169172
) : null}
170173
</Module>
171174
)

app/src/organisms/InterventionModal/MoveLabwareInterventionContent.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,10 @@ export function MoveLabwareInterventionContent({
225225
>
226226
{nestedLabwareDef != null &&
227227
nestedLabwareId !== command.params.labwareId ? (
228-
<LabwareRender definition={nestedLabwareDef} />
228+
<LabwareRender
229+
definition={nestedLabwareDef}
230+
positioningMode="offsetInSlot"
231+
/>
229232
) : null}
230233
</Module>
231234
)

app/src/organisms/LabwarePositionCheck/steps/HandleLabware/EditOffset/CheckLabware/LPCLabwareJogRender.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export function LPCLabwareJogRender({
4545
<>
4646
<LabwareRender
4747
definition={itemLwDef}
48+
positioningMode="offsetInSlot"
4849
wellStroke={{ A1: COLORS.blue50 }}
4950
wellLabelOption={WELL_LABEL_OPTIONS.SHOW_LABEL_OUTSIDE}
5051
highlightedWellLabels={{ wells: ['A1'] }}

app/src/organisms/LegacyLabwarePositionCheck/JogToWell.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ export const JogToWell = (props: JogToWellProps): JSX.Element | null => {
152152
<>
153153
<LabwareRender
154154
definition={labwareDef}
155+
positioningMode="offsetInSlot"
155156
wellStroke={wellStroke}
156157
wellLabelOption={WELL_LABEL_OPTIONS.SHOW_LABEL_OUTSIDE}
157158
highlightedWellLabels={{ wells: wellsToHighlight }}

app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/SetupLabwareStackView.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ export function SetupLabwareStackView({
194194
>
195195
<LabwareRender
196196
definition={labwareDefinition}
197+
positioningMode="offsetInSlot"
197198
wellFill={wellFill}
198199
/>
199200
</g>

app/src/pages/Desktop/Protocols/ProtocolPreview/LabwareOnDeck.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export function LabwareOnDeck(props: LabwareOnDeckProps): JSX.Element {
5252
return (
5353
<g transform={`translate(${x}, ${y})`}>
5454
<LabwareRender
55+
positioningMode="offsetInSlot"
5556
definition={labwareDef}
5657
wellFill={wellFill}
5758
highlightedWells={wellGroup}

app/src/pages/Desktop/Protocols/ProtocolPreview/LabwareSlotDetails.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ export function LabwareSlotDetails(
157157
<g>
158158
<LabwareRender
159159
definition={labwareDef}
160+
positioningMode="offsetInSlot"
160161
wellFill={wellFill}
161162
missingTips={missingTips}
162163
highlightedWells={wellGroup}

components/src/hardware-sim/BaseDeck/BaseDeck.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ export function BaseDeck(props: BaseDeckProps): JSX.Element {
310310
<g cursor={onLabwareClick != null ? 'pointer' : ''}>
311311
<LabwareRender
312312
definition={nestedLabwareDef}
313+
positioningMode="offsetInSlot"
313314
onLabwareClick={onLabwareClick}
314315
wellFill={nestedLabwareWellFill}
315316
shouldRotateAdapterOrientation={
@@ -373,6 +374,7 @@ export function BaseDeck(props: BaseDeckProps): JSX.Element {
373374
>
374375
<LabwareRender
375376
definition={nestedLabwareDef}
377+
positioningMode="offsetInSlot"
376378
onLabwareClick={onLabwareClick}
377379
wellFill={nestedLabwareWellFill}
378380
shouldRotateAdapterOrientation={
@@ -427,6 +429,7 @@ export function BaseDeck(props: BaseDeckProps): JSX.Element {
427429
>
428430
<LabwareRender
429431
definition={definition}
432+
positioningMode="offsetInSlot"
430433
onLabwareClick={onLabwareClick}
431434
wellFill={wellFill ?? undefined}
432435
missingTips={missingTips}

components/src/hardware-sim/Labware/Labware.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export interface LabwareProps {
3030
/** Labware definition to render */
3131
definition: LabwareDefinition
3232
/* See docs on LabwareRender. */
33-
positioningMode?: 'passThrough' | 'offsetInSlot'
33+
positioningMode: 'passThrough' | 'offsetInSlot'
3434
/** See docs on LabwareRender. */
3535
shouldRotateAdapterOrientation?: boolean
3636
/** boolean to show well labels */
@@ -89,7 +89,7 @@ const LabwareDetailGroup = styled.g`
8989
export const Labware = (props: LabwareProps): JSX.Element => {
9090
const {
9191
definition,
92-
positioningMode = 'offsetInSlot',
92+
positioningMode,
9393
gRef,
9494
hideOutline = false,
9595
highlight,

components/src/hardware-sim/Labware/LabwareRender.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,9 @@ export interface LabwareRenderProps {
6565
* how labware are positioned. It's also clunky when rendering a labware on its
6666
* own.
6767
*/
68-
// todo(mm, 2025-06-09): Make this prop required after the dust settles on
69-
// v8.5.0/PD-v8.5.0 mergebacks, to force new callers to consider passThrough mode.
68+
// todo(mm, 2025-06-09):
7069
// Remove uses of offsetInSlot mode as we're able, and delete it when none are left.
71-
positioningMode?: 'passThrough' | 'offsetInSlot'
70+
positioningMode: 'passThrough' | 'offsetInSlot'
7271
/**
7372
* Special handling for opentrons_universal_flat_adapter. Unlike other labware,
7473
* it rotates to match the underlying module, and that rotation actually matters
@@ -114,7 +113,7 @@ export interface LabwareRenderProps {
114113
}
115114

116115
export const LabwareRender = (props: LabwareRenderProps): JSX.Element => {
117-
const { gRef, definition, positioningMode = 'offsetInSlot' } = props
116+
const { gRef, definition, positioningMode } = props
118117

119118
const cornerOffsetFromSlot = getSchema2CornerOffsetFromSlot(definition)
120119
const labwareLoadName = definition.parameters.loadName

0 commit comments

Comments
 (0)