@opentrons/components 0.1.7-alpha.1 → 0.2.0-alpha.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.
Files changed (251) hide show
  1. package/cssModuleSideEffect.ts +22 -0
  2. package/lib/assets/localization/en/index.d.ts +12 -0
  3. package/lib/assets/localization/index.d.ts +12 -0
  4. package/lib/atoms/AnimationVideo/index.d.ts +13 -0
  5. package/lib/atoms/InlineNotification/index.d.ts +1 -1
  6. package/lib/atoms/ListButton/ListButtonChildren/index.d.ts +0 -1
  7. package/lib/atoms/StyledText/PlaceholderStyledText.d.ts +14 -0
  8. package/lib/atoms/StyledText/index.d.ts +1 -0
  9. package/lib/atoms/buttons/BasicButton.d.ts +12 -0
  10. package/lib/atoms/buttons/index.d.ts +1 -0
  11. package/lib/atoms/index.d.ts +1 -0
  12. package/lib/hardware-sim/BaseDeck/BaseDeck.d.ts +10 -8
  13. package/lib/hardware-sim/Deck/FlexTrash.d.ts +4 -1
  14. package/lib/hardware-sim/Deck/MoveLabwareOnDeck.d.ts +3 -2
  15. package/lib/hardware-sim/Deck/RobotCoordsForeignDiv.d.ts +6 -5
  16. package/lib/hardware-sim/Deck/RobotCoordsForeignObject.d.ts +8 -5
  17. package/lib/hardware-sim/Deck/RobotCoordsText.d.ts +11 -1
  18. package/lib/hardware-sim/Deck/RobotWorkSpace.d.ts +30 -14
  19. package/lib/hardware-sim/Deck/__tests__/resolveLabwareLocation.test.d.ts +1 -0
  20. package/lib/hardware-sim/Deck/resolveLabwareLocation.d.ts +20 -0
  21. package/lib/hardware-sim/DeckConfigurator/AbsorbanceReaderItem.d.ts +11 -0
  22. package/lib/hardware-sim/DeckConfigurator/EmptyConfigItem.d.ts +11 -0
  23. package/lib/hardware-sim/DeckConfigurator/FlexStackerItem.d.ts +12 -0
  24. package/lib/hardware-sim/DeckConfigurator/HeaterShakerItem.d.ts +11 -0
  25. package/lib/hardware-sim/DeckConfigurator/MagneticBlockItem.d.ts +12 -0
  26. package/lib/hardware-sim/DeckConfigurator/StagingAreaConfigItem.d.ts +11 -0
  27. package/lib/hardware-sim/DeckConfigurator/{StaticFixture.d.ts → StaticItem.d.ts} +1 -1
  28. package/lib/hardware-sim/DeckConfigurator/TemperatureModuleItem.d.ts +11 -0
  29. package/lib/hardware-sim/DeckConfigurator/ThermocyclerItem.d.ts +11 -0
  30. package/lib/hardware-sim/DeckConfigurator/TrashBinConfigItem.d.ts +11 -0
  31. package/lib/hardware-sim/DeckConfigurator/WasteChuteConfigItem.d.ts +11 -0
  32. package/lib/hardware-sim/DeckConfigurator/constants.d.ts +5 -8
  33. package/lib/hardware-sim/DeckConfigurator/index.d.ts +4 -3
  34. package/lib/hardware-sim/Labware/CalibrationBlockRender.d.ts +15 -0
  35. package/lib/hardware-sim/Labware/Labware.d.ts +7 -8
  36. package/lib/hardware-sim/Labware/LabwareAdapter/index.d.ts +2 -2
  37. package/lib/hardware-sim/Labware/LabwareRender.d.ts +46 -5
  38. package/lib/hardware-sim/Labware/index.d.ts +1 -0
  39. package/lib/hardware-sim/Labware/labwareInternals/FilledWells.d.ts +3 -4
  40. package/lib/hardware-sim/Labware/labwareInternals/LabwareOutline.d.ts +20 -9
  41. package/lib/hardware-sim/Labware/labwareInternals/LabwareWellLabels.d.ts +2 -2
  42. package/lib/hardware-sim/Labware/labwareInternals/StaticLabware.d.ts +2 -2
  43. package/lib/hardware-sim/Labware/labwareInternals/StrokedWells.d.ts +2 -2
  44. package/lib/hardware-sim/Labware/labwareInternals/StyledWells.d.ts +2 -2
  45. package/lib/hardware-sim/Labware/labwareInternals/Well.d.ts +1 -2
  46. package/lib/hardware-sim/Labware/labwareInternals/WellLabels.d.ts +2 -2
  47. package/lib/hardware-sim/Module/index.d.ts +24 -2
  48. package/lib/hardware-sim/Pipette/PipetteRender.d.ts +2 -2
  49. package/lib/hardware-sim/RobotCoordinateSpace/RobotCoordinateSpace.d.ts +5 -3
  50. package/lib/hocs/withStyleProps.d.ts +26 -0
  51. package/lib/hooks/useConditionalConfirm.d.ts +4 -0
  52. package/lib/icons/Icon.d.ts +7 -7
  53. package/lib/icons/ModuleIcon.d.ts +4 -3
  54. package/lib/instrument/index.d.ts +0 -2
  55. package/lib/legacy-hardware-sim/index.d.ts +0 -1
  56. package/lib/lists/index.d.ts +0 -1
  57. package/lib/molecules/CustomizeExpandButton/__tests__/CustomizeExpandButton.test.d.ts +1 -0
  58. package/lib/molecules/CustomizeExpandButton/index.d.ts +29 -0
  59. package/lib/molecules/DeckInfoLabel/index.d.ts +8 -16
  60. package/lib/molecules/index.d.ts +2 -1
  61. package/lib/organisms/CommandText/index.d.ts +2 -2
  62. package/lib/organisms/CommandText/useCommandTextString/index.d.ts +2 -2
  63. package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareDefinitionsFromCommands.d.ts +2 -2
  64. package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareLocation.d.ts +3 -3
  65. package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareName.d.ts +2 -2
  66. package/lib/organisms/FixtureOption/index.d.ts +2 -2
  67. package/lib/organisms/ProtocolDeck/index.d.ts +10 -0
  68. package/lib/organisms/ProtocolTimelineScrubber/CommandItem.d.ts +2 -2
  69. package/lib/organisms/ProtocolTimelineScrubber/utils.d.ts +2 -2
  70. package/lib/organisms/index.d.ts +1 -0
  71. package/lib/primitives/ForeignObject.d.ts +8 -18
  72. package/lib/primitives/style-props.d.ts +1 -1
  73. package/lib/structure/index.d.ts +2 -3
  74. package/package.json +6 -3
  75. package/src/alerts/alerts.module.css +2 -2
  76. package/src/assets/localization/en/deck_configuration.json +12 -0
  77. package/src/assets/localization/en/index.ts +2 -0
  78. package/src/assets/localization/en/protocol_command_text.json +1 -1
  79. package/src/atoms/AnimationVideo/__tests__/AnimationVideo.test.tsx +40 -0
  80. package/src/atoms/AnimationVideo/index.tsx +44 -0
  81. package/src/atoms/CheckboxField/__tests__/CheckboxField.test.tsx +0 -3
  82. package/src/atoms/CheckboxField/index.tsx +1 -1
  83. package/src/atoms/InlineNotification/index.tsx +86 -70
  84. package/src/atoms/ListButton/ListButton.stories.tsx +21 -7
  85. package/src/atoms/ListButton/ListButtonChildren/index.ts +0 -1
  86. package/src/atoms/ListItem/ListItemChildren/ListItemDescriptor.tsx +2 -2
  87. package/src/atoms/MenuList/OverflowBtn.tsx +39 -41
  88. package/src/atoms/Snackbar/Snackbar.stories.tsx +59 -23
  89. package/src/atoms/Snackbar/index.tsx +48 -38
  90. package/src/atoms/StyledText/PlaceholderStyledText.tsx +46 -0
  91. package/src/atoms/StyledText/index.ts +1 -0
  92. package/src/atoms/StyledText/placeholderstyledtext.module.css +25 -0
  93. package/src/atoms/buttons/BasicButton.tsx +100 -0
  94. package/src/atoms/buttons/SecondaryButton.tsx +5 -2
  95. package/src/atoms/buttons/__tests__/BasicButton.test.tsx +87 -0
  96. package/src/atoms/buttons/buttons.stories.tsx +91 -55
  97. package/src/atoms/buttons/index.ts +1 -0
  98. package/src/atoms/index.ts +1 -0
  99. package/src/buttons/buttons.module.css +92 -92
  100. package/src/controls/styles.module.css +15 -15
  101. package/src/forms/Select.module.css +23 -23
  102. package/src/forms/forms.module.css +38 -37
  103. package/src/hardware-sim/BaseDeck/BaseDeck.stories.tsx +7 -7
  104. package/src/hardware-sim/BaseDeck/BaseDeck.tsx +98 -61
  105. package/src/hardware-sim/BaseDeck/WasteChuteFixture.tsx +22 -28
  106. package/src/hardware-sim/BaseDeck/basedeck.module.css +20 -0
  107. package/src/hardware-sim/Deck/FlexTrash.tsx +50 -30
  108. package/src/hardware-sim/Deck/MoveLabwareOnDeck.stories.tsx +2 -2
  109. package/src/hardware-sim/Deck/MoveLabwareOnDeck.tsx +122 -156
  110. package/src/hardware-sim/Deck/RobotCoordsForeignDiv.tsx +35 -27
  111. package/src/hardware-sim/Deck/RobotCoordsForeignObject.tsx +32 -29
  112. package/src/hardware-sim/Deck/RobotCoordsText.tsx +12 -11
  113. package/src/hardware-sim/Deck/RobotWorkSpace.tsx +74 -54
  114. package/src/hardware-sim/Deck/SlotLabels.tsx +51 -51
  115. package/src/hardware-sim/Deck/__tests__/resolveLabwareLocation.test.ts +138 -0
  116. package/src/hardware-sim/Deck/deck.module.css +54 -0
  117. package/src/hardware-sim/Deck/resolveLabwareLocation.ts +154 -0
  118. package/src/hardware-sim/DeckConfigurator/{FlexStackerFixture.tsx → AbsorbanceReaderItem.tsx} +34 -31
  119. package/src/hardware-sim/DeckConfigurator/{EmptyConfigFixture.tsx → EmptyConfigItem.tsx} +72 -44
  120. package/src/hardware-sim/DeckConfigurator/{AbsorbanceReaderFixture.tsx → FlexStackerItem.tsx} +46 -27
  121. package/src/hardware-sim/DeckConfigurator/{HeaterShakerFixture.tsx → HeaterShakerItem.tsx} +40 -28
  122. package/src/hardware-sim/DeckConfigurator/{MagneticBlockFixture.tsx → MagneticBlockItem.tsx} +41 -58
  123. package/src/hardware-sim/DeckConfigurator/{StagingAreaConfigFixture.tsx → StagingAreaConfigItem.tsx} +41 -23
  124. package/src/hardware-sim/DeckConfigurator/{StaticFixture.tsx → StaticItem.tsx} +16 -9
  125. package/src/hardware-sim/DeckConfigurator/{TemperatureModuleFixture.tsx → TemperatureModuleItem.tsx} +42 -26
  126. package/src/hardware-sim/DeckConfigurator/{ThermocyclerFixture.tsx → ThermocyclerItem.tsx} +31 -21
  127. package/src/hardware-sim/DeckConfigurator/{TrashBinConfigFixture.tsx → TrashBinConfigItem.tsx} +42 -27
  128. package/src/hardware-sim/DeckConfigurator/{WasteChuteConfigFixture.tsx → WasteChuteConfigItem.tsx} +38 -27
  129. package/src/hardware-sim/DeckConfigurator/constants.ts +5 -9
  130. package/src/hardware-sim/DeckConfigurator/index.tsx +236 -206
  131. package/src/hardware-sim/Labware/CalibrationBlockRender.stories.tsx +49 -0
  132. package/src/hardware-sim/Labware/CalibrationBlockRender.tsx +172 -0
  133. package/src/hardware-sim/Labware/Labware.tsx +30 -15
  134. package/src/hardware-sim/Labware/LabwareAdapter/index.tsx +2 -2
  135. package/src/hardware-sim/Labware/LabwareRender.stories.tsx +36 -21
  136. package/src/hardware-sim/Labware/LabwareRender.tsx +70 -15
  137. package/src/hardware-sim/Labware/__tests__/Labware.test.tsx +9 -4
  138. package/src/hardware-sim/Labware/__tests__/LabwareRender.test.tsx +14 -5
  139. package/src/hardware-sim/Labware/index.ts +1 -0
  140. package/src/hardware-sim/Labware/labware.module.css +8 -0
  141. package/src/hardware-sim/Labware/labwareInternals/FilledWells.tsx +3 -4
  142. package/src/hardware-sim/Labware/labwareInternals/LabwareOutline.tsx +48 -23
  143. package/src/hardware-sim/Labware/labwareInternals/LabwareWellLabels.tsx +3 -3
  144. package/src/hardware-sim/Labware/labwareInternals/StaticLabware.tsx +2 -2
  145. package/src/hardware-sim/Labware/labwareInternals/StrokedWells.tsx +2 -2
  146. package/src/hardware-sim/Labware/labwareInternals/StyledWells.tsx +2 -2
  147. package/src/hardware-sim/Labware/labwareInternals/Well.tsx +1 -2
  148. package/src/hardware-sim/Labware/labwareInternals/WellLabels.tsx +10 -11
  149. package/src/hardware-sim/Labware/labwareInternals/__tests__/LabwareWellLabels.test.tsx +2 -2
  150. package/src/hardware-sim/Labware/labwareInternals/__tests__/StrokedWells.test.tsx +2 -2
  151. package/src/hardware-sim/Labware/labwareInternals/__tests__/WellLabels.test.tsx +2 -2
  152. package/src/hardware-sim/Module/Module.stories.tsx +45 -15
  153. package/src/hardware-sim/Module/Thermocycler/index.tsx +2 -2
  154. package/src/hardware-sim/Module/index.tsx +41 -18
  155. package/src/hardware-sim/Pipette/PipetteRender.stories.tsx +2 -2
  156. package/src/hardware-sim/Pipette/PipetteRender.tsx +5 -7
  157. package/src/hardware-sim/Pipette/__tests__/PipetteRender.test.tsx +2 -2
  158. package/src/hardware-sim/RobotCoordinateSpace/RobotCoordinateSpace.tsx +15 -14
  159. package/src/hardware-sim/RobotCoordinateSpace/robotcoordinatespace.module.css +3 -0
  160. package/src/hocs/withStyleProps.ts +53 -0
  161. package/src/hooks/useConditionalConfirm.ts +15 -5
  162. package/src/icons/Icon.tsx +38 -29
  163. package/src/icons/ModuleIcon.tsx +5 -3
  164. package/src/icons/icon-data.ts +26 -2
  165. package/src/icons/icon.module.css +10 -0
  166. package/src/index.module.css +1 -0
  167. package/src/instrument/InstrumentDiagram.tsx +0 -2
  168. package/src/instrument/PipetteSelect.module.css +3 -3
  169. package/src/instrument/index.ts +0 -2
  170. package/src/legacy-hardware-sim/LabwareNameOverlay.module.css +5 -5
  171. package/src/legacy-hardware-sim/ModuleItem.module.css +19 -19
  172. package/src/legacy-hardware-sim/index.ts +0 -1
  173. package/src/lists/index.ts +0 -1
  174. package/src/lists/lists.module.css +23 -23
  175. package/src/modals/modals.module.css +55 -55
  176. package/src/molecules/CustomizeExpandButton/__tests__/CustomizeExpandButton.test.tsx +88 -0
  177. package/src/molecules/CustomizeExpandButton/index.tsx +189 -0
  178. package/src/molecules/DeckInfoLabel/DeckInfoLabel.stories.tsx +10 -6
  179. package/src/molecules/DeckInfoLabel/__tests__/DeckInfoLabel.test.tsx +15 -11
  180. package/src/molecules/DeckInfoLabel/deckinfolabel.module.css +42 -0
  181. package/src/molecules/DeckInfoLabel/index.tsx +36 -62
  182. package/src/molecules/DropdownMenu/index.tsx +17 -13
  183. package/src/molecules/InfoScreen/index.tsx +6 -2
  184. package/src/molecules/ReleaseNotes/styles.module.css +15 -15
  185. package/src/molecules/index.ts +2 -1
  186. package/src/nav/SidePanel.module.css +6 -6
  187. package/src/organisms/CommandText/__tests__/CommandText.test.tsx +12 -12
  188. package/src/organisms/CommandText/index.tsx +2 -2
  189. package/src/organisms/CommandText/useCommandTextString/index.ts +2 -2
  190. package/src/organisms/CommandText/useCommandTextString/utils/__tests__/getFinalLabwareLocation.test.ts +4 -4
  191. package/src/organisms/CommandText/useCommandTextString/utils/commandText/__tests__/getPipettingCommandText.test.tsx +3 -3
  192. package/src/organisms/CommandText/useCommandTextString/utils/commandText/getFlexStackerCommandText.ts +2 -4
  193. package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToWellCommandText.ts +19 -3
  194. package/src/organisms/CommandText/useCommandTextString/utils/commandText/getPipettingCommandText.ts +19 -10
  195. package/src/organisms/CommandText/useCommandTextString/utils/getLabwareDefinitionsFromCommands.ts +9 -9
  196. package/src/organisms/CommandText/useCommandTextString/utils/getLabwareLocation.tsx +3 -3
  197. package/src/organisms/CommandText/useCommandTextString/utils/getLabwareName.ts +2 -2
  198. package/src/organisms/DeckLabelSet/index.tsx +1 -3
  199. package/src/organisms/FixtureOption/__tests__/FixtureOption.test.tsx +0 -2
  200. package/src/organisms/FixtureOption/index.tsx +42 -71
  201. package/src/organisms/ProtocolDeck/index.tsx +118 -0
  202. package/src/organisms/ProtocolTimelineScrubber/CommandItem.tsx +2 -2
  203. package/src/organisms/ProtocolTimelineScrubber/PipetteVisuals.tsx +1 -1
  204. package/src/organisms/ProtocolTimelineScrubber/utils.ts +3 -3
  205. package/src/organisms/index.ts +1 -0
  206. package/src/primitives/ForeignObject.tsx +20 -61
  207. package/src/primitives/style-props.ts +1 -0
  208. package/src/slotmap/styles.module.css +1 -1
  209. package/src/structure/Pill.module.css +1 -1
  210. package/src/structure/Splash.module.css +1 -1
  211. package/src/structure/index.ts +2 -4
  212. package/src/structure/structure.module.css +11 -11
  213. package/src/styles/colors.module.css +1 -0
  214. package/src/styles/global.css +179 -0
  215. package/src/styles/index.module.css +1 -1
  216. package/src/styles/typography.module.css +1 -0
  217. package/src/testing/utils/renderWithProviders.tsx +3 -6
  218. package/src/tooltips/tooltips.module.css +14 -14
  219. package/vite.config.mts +6 -3
  220. package/lib/atoms/ListButton/ListButtonChildren/ListButtonRadioButton.d.ts +0 -14
  221. package/lib/hardware-sim/DeckConfigurator/AbsorbanceReaderFixture.d.ts +0 -10
  222. package/lib/hardware-sim/DeckConfigurator/EmptyConfigFixture.d.ts +0 -8
  223. package/lib/hardware-sim/DeckConfigurator/FlexStackerFixture.d.ts +0 -11
  224. package/lib/hardware-sim/DeckConfigurator/HeaterShakerFixture.d.ts +0 -10
  225. package/lib/hardware-sim/DeckConfigurator/MagneticBlockFixture.d.ts +0 -11
  226. package/lib/hardware-sim/DeckConfigurator/StagingAreaConfigFixture.d.ts +0 -10
  227. package/lib/hardware-sim/DeckConfigurator/TemperatureModuleFixture.d.ts +0 -10
  228. package/lib/hardware-sim/DeckConfigurator/ThermocyclerFixture.d.ts +0 -10
  229. package/lib/hardware-sim/DeckConfigurator/TrashBinConfigFixture.d.ts +0 -10
  230. package/lib/hardware-sim/DeckConfigurator/WasteChuteConfigFixture.d.ts +0 -11
  231. package/lib/hardware-sim/utils.d.ts +0 -3
  232. package/lib/instrument/InstrumentGroup.d.ts +0 -11
  233. package/lib/instrument/InstrumentInfo.d.ts +0 -18
  234. package/lib/legacy-hardware-sim/ModuleItem.d.ts +0 -17
  235. package/lib/lists/TitledList.d.ts +0 -44
  236. package/lib/structure/Card.d.ts +0 -18
  237. package/src/atoms/ListButton/ListButtonChildren/ListButtonRadioButton.tsx +0 -109
  238. package/src/atoms/ListButton/__tests__/ListButtonRadioButton.test.tsx +0 -28
  239. package/src/hardware-sim/utils.ts +0 -18
  240. package/src/instrument/InstrumentDiagram.stories.tsx +0 -43
  241. package/src/instrument/InstrumentGroup.stories.tsx +0 -89
  242. package/src/instrument/InstrumentGroup.tsx +0 -35
  243. package/src/instrument/InstrumentInfo.tsx +0 -106
  244. package/src/instrument/__tests__/InstrumentInfo.test.tsx +0 -58
  245. package/src/instrument/instrument.module.css +0 -45
  246. package/src/legacy-hardware-sim/ModuleItem.tsx +0 -145
  247. package/src/lists/TitledList.tsx +0 -154
  248. package/src/structure/Card.stories.tsx +0 -29
  249. package/src/structure/Card.tsx +0 -65
  250. /package/lib/atoms/{ListButton/__tests__/ListButtonRadioButton.test.d.ts → AnimationVideo/__tests__/AnimationVideo.test.d.ts} +0 -0
  251. /package/lib/{instrument/__tests__/InstrumentInfo.test.d.ts → atoms/buttons/__tests__/BasicButton.test.d.ts} +0 -0
@@ -1,6 +1,5 @@
1
- import type { CSSProperties } from 'styled-components';
2
- import type { RefObject } from 'react';
3
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
1
+ import type { CSSProperties, RefObject } from 'react';
2
+ import type { LabwareDefinition } from '@opentrons/shared-data';
4
3
  import type { HighlightedWellLabels, WellFill, WellGroup, WellMouseEvent, WellStroke } from './labwareInternals/types';
5
4
  export declare const WELL_LABEL_OPTIONS: {
6
5
  readonly SHOW_LABEL_INSIDE: "SHOW_LABEL_INSIDE";
@@ -9,8 +8,50 @@ export declare const WELL_LABEL_OPTIONS: {
9
8
  export type WellLabelOption = keyof typeof WELL_LABEL_OPTIONS;
10
9
  export interface LabwareRenderProps {
11
10
  /** Labware definition to render */
12
- definition: LabwareDefinition2;
13
- /** Opional Prop for labware on heater shakers sitting on right side of the deck */
11
+ definition: LabwareDefinition;
12
+ /**
13
+ * How the rendered labware should be positioned. Use `passThrough` for new code.
14
+ *
15
+ * `passThrough` -
16
+ * The origin of the labware will be at the SVG origin. Beware that what
17
+ * "the origin of the labware" corresponds to, physically, is not consistent across
18
+ * labware. e.g. do not assume that it's always the labware's front-left corner.
19
+ *
20
+ * To render a labware on its own, use the `getLabwareViewBox()` util from
21
+ * shared-data to compute the SVG's viewBox around that origin.
22
+ *
23
+ * To render a labware aligned to something like a deck slot or module, wrap this
24
+ * component in an SVG transform. Use a util like shared-data's
25
+ * `getDeckSlotOriginToLabwareOrigin()` to compute it.
26
+ *
27
+ * `offsetInSlot` -
28
+ * The SVG origin will be treated as the origin of the slot enclosing the labware.
29
+ * The labware will be offset from that origin according to the labware def's
30
+ * cornerOffsetFromSlot.
31
+ *
32
+ * To render a labware on its own, set the SVG viewBox's origin to
33
+ * definition.cornerOffsetFromSlot.
34
+ *
35
+ * To render a labware aligned to something like a deck slot or module, wrap this
36
+ * component in an SVG transform that places the origin of this component at the
37
+ * origin of the slot.
38
+ *
39
+ * This is deprecated because it relies on labware schema 2's slot-centric ideas of
40
+ * how labware are positioned. It's also clunky when rendering a labware on its
41
+ * own.
42
+ */
43
+ positioningMode: 'passThrough' | 'offsetInSlot';
44
+ /**
45
+ * Special handling for opentrons_universal_flat_adapter. Unlike other labware,
46
+ * it rotates to match the underlying module, and that rotation actually matters
47
+ * because it's asymmetrical.
48
+ *
49
+ * This should be true if this is that adapter and we're on the left side of the deck,
50
+ * and false otherwise.
51
+ *
52
+ * Ignored if positioningMode is passThrough, in which case it's the caller's
53
+ * responsibility to do this rotation.
54
+ */
14
55
  shouldRotateAdapterOrientation?: boolean;
15
56
  /** option to show well labels inside or outside of labware outline */
16
57
  wellLabelOption?: WellLabelOption;
@@ -1,4 +1,5 @@
1
1
  export * from './labwareInternals/index';
2
+ export * from './CalibrationBlockRender';
2
3
  export * from './LabwareRender';
3
4
  export * from './Labware';
4
5
  export * from './labwareInternals/types';
@@ -1,8 +1,7 @@
1
- import type { CSSProperties } from 'styled-components';
2
- import type { MemoExoticComponent } from 'react';
3
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
1
+ import type { CSSProperties, MemoExoticComponent } from 'react';
2
+ import type { LabwareDefinition } from '@opentrons/shared-data';
4
3
  export interface FilledWellsProps {
5
- definition: LabwareDefinition2;
4
+ definition: LabwareDefinition;
6
5
  fillByWell: Record<string, CSSProperties['fill']>;
7
6
  strokeColor?: string;
8
7
  }
@@ -1,12 +1,6 @@
1
- import type { CSSProperties } from 'styled-components';
2
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
3
- export interface LabwareOutlineProps {
4
- /** Labware definition to outline */
5
- definition?: LabwareDefinition2;
6
- /** x dimension in mm of this labware, used if definition doesn't supply dimensions, defaults to 127.76 */
7
- width?: number;
8
- /** y dimension in mm of this labware, used if definition doesn't supply dimensions, defaults to 85.48 */
9
- height?: number;
1
+ import type { CSSProperties } from 'react';
2
+ import type { LabwareDefinition } from '@opentrons/shared-data';
3
+ export type LabwareOutlineProps = {
10
4
  /** if this labware is a tip rack, darken background and lighten borderx dimension in mm of this labware, used if definition doesn't supply dimensions, defaults to false */
11
5
  isTiprack?: boolean;
12
6
  /** adds thicker blue border with blur to labware, defaults to false */
@@ -17,5 +11,22 @@ export interface LabwareOutlineProps {
17
11
  stroke?: CSSProperties['stroke'];
18
12
  fill?: CSSProperties['fill'];
19
13
  showRadius?: boolean;
14
+ } & (DefinitionProps | DefinitionReplacementProps);
15
+ interface DefinitionProps {
16
+ /** Labware definition to outline */
17
+ definition: LabwareDefinition;
18
+ }
19
+ /** Used for rendering an outline without needing a full labware definition. */
20
+ interface DefinitionReplacementProps {
21
+ definition?: undefined;
22
+ /** x dimension in mm of the outline. */
23
+ width: number;
24
+ /** y dimension in mm of the outline. */
25
+ height: number;
26
+ /** minimum x-coordinate (i.e. the left side) of the outline. */
27
+ minX: number;
28
+ /** minimum y-coordinate (i.e. the bottom) of the outline. */
29
+ minY: number;
20
30
  }
21
31
  export declare function LabwareOutline(props: LabwareOutlineProps): JSX.Element;
32
+ export {};
@@ -1,8 +1,8 @@
1
1
  import type { MemoExoticComponent } from 'react';
2
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
2
+ import type { LabwareDefinition } from '@opentrons/shared-data';
3
3
  import type { HighlightedWellLabels } from './types';
4
4
  interface LabwareWellLabelsProps {
5
- definition: LabwareDefinition2;
5
+ definition: LabwareDefinition;
6
6
  highlightedWellLabels?: HighlightedWellLabels;
7
7
  wellLabelColor?: string;
8
8
  }
@@ -1,10 +1,10 @@
1
1
  import type { CSSProperties } from 'styled-components';
2
2
  import type { MemoExoticComponent } from 'react';
3
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
3
+ import type { LabwareDefinition } from '@opentrons/shared-data';
4
4
  import type { WellMouseEvent, WellStroke } from './types';
5
5
  export interface StaticLabwareProps {
6
6
  /** Labware definition to render */
7
- definition: LabwareDefinition2;
7
+ definition: LabwareDefinition;
8
8
  /** Add thicker blurred blue border to labware, defaults to false */
9
9
  highlight?: boolean;
10
10
  /** adds a drop shadow to the highlight border */
@@ -1,8 +1,8 @@
1
1
  import type { CSSProperties } from 'styled-components';
2
2
  import type { MemoExoticComponent } from 'react';
3
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
3
+ import type { LabwareDefinition } from '@opentrons/shared-data';
4
4
  export interface StrokedWellProps {
5
- definition: LabwareDefinition2;
5
+ definition: LabwareDefinition;
6
6
  strokeByWell: Record<string, CSSProperties['stroke']>;
7
7
  }
8
8
  export declare function StrokedWellsComponent(props: StrokedWellProps): JSX.Element;
@@ -1,10 +1,10 @@
1
1
  import type { CSSProperties, MemoExoticComponent } from 'react';
2
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
2
+ import type { LabwareDefinition } from '@opentrons/shared-data';
3
3
  import type { WellGroup } from './types';
4
4
  type WellContents = 'tipPresent' | 'tipMissing' | 'defaultWell' | 'disabledWell' | 'highlightedWell' | 'selectedWell';
5
5
  export interface StyledWellProps {
6
6
  wellContents: WellContents;
7
- definition: LabwareDefinition2;
7
+ definition: LabwareDefinition;
8
8
  wells: WellGroup;
9
9
  }
10
10
  export declare const STYLE_BY_WELL_CONTENTS: {
@@ -1,8 +1,7 @@
1
1
  import type { CSSProperties, MemoExoticComponent } from 'react';
2
2
  import type { LabwareWell } from '@opentrons/shared-data';
3
- import type { StyleProps } from '../../../primitives';
4
3
  import type { WellMouseEvent } from './types';
5
- export interface WellProps extends StyleProps {
4
+ export interface WellProps extends CSSProperties {
6
5
  /** Well Name (eg 'A1') */
7
6
  wellName: string;
8
7
  /** well object from labware definition */
@@ -1,9 +1,9 @@
1
1
  import type { MemoExoticComponent } from 'react';
2
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
2
+ import type { LabwareDefinition } from '@opentrons/shared-data';
3
3
  import type { WellLabelOption } from '../LabwareRender';
4
4
  import type { HighlightedWellLabels } from './types';
5
5
  export interface WellLabelsProps {
6
- definition: LabwareDefinition2;
6
+ definition: LabwareDefinition;
7
7
  wellLabelOption: WellLabelOption;
8
8
  highlightedWellLabels?: HighlightedWellLabels;
9
9
  wellLabelColor?: string;
@@ -12,7 +12,29 @@ interface Props {
12
12
  innerProps?: ComponentProps<typeof Thermocycler> | ComponentProps<typeof HeaterShaker> | ComponentProps<typeof Temperature> | {};
13
13
  statusInfo?: ReactNode;
14
14
  children?: ReactNode;
15
- targetSlotId?: string;
16
- targetDeckId?: string;
15
+ /**
16
+ * How child components should be positioned.
17
+ *
18
+ * "offsetToSlot" - The SVG origin of a child will be at the labware mating interface of the
19
+ * module, which is the front-left (-x, -y) corner of the slot on top of the module.
20
+ *
21
+ * todo(mm, 2025-07-21):
22
+ * 1. Add a "passThrough" mode that disables the "offsetToSlot" behavior,
23
+ * to allow child components to replace it with their own SVG transform,
24
+ * to support labware schema 3.
25
+ * 2. Migrate all existing call sites to use "passThrough".
26
+ * 3. Remove "offsetToSlot".
27
+ */
28
+ childrenPositioningMode: 'offsetToSlot';
29
+ /**
30
+ * Used for applying slot-specific positioning adjustments.
31
+ * If you're rendering the module on a deck, supply this for correct positioning.
32
+ */
33
+ targetSlotId: string | null;
34
+ /**
35
+ * Used for applying slot-specific positioning adjustments.
36
+ * If you're rendering the module on a deck, supply this for correct positioning.
37
+ */
38
+ targetDeckId: string | null;
17
39
  }
18
40
  export declare const Module: (props: Props) => JSX.Element;
@@ -1,6 +1,6 @@
1
- import type { LabwareDefinition2, PipetteName } from '@opentrons/shared-data';
1
+ import type { LabwareDefinition, PipetteName } from '@opentrons/shared-data';
2
2
  interface PipetteRenderProps {
3
- labwareDef: LabwareDefinition2;
3
+ labwareDef: LabwareDefinition;
4
4
  pipetteName: PipetteName;
5
5
  usingMetalProbe?: boolean;
6
6
  }
@@ -1,7 +1,9 @@
1
- import { Svg } from '../../primitives';
2
- import type { ComponentProps } from 'react';
3
- interface RobotCoordinateSpaceProps extends ComponentProps<typeof Svg> {
1
+ import type { ReactNode } from 'react';
2
+ interface RobotCoordinateSpaceProps {
4
3
  animated?: boolean;
4
+ children?: ReactNode;
5
+ height?: string;
6
+ viewBox?: string;
5
7
  }
6
8
  export declare function RobotCoordinateSpace(props: RobotCoordinateSpaceProps): JSX.Element;
7
9
  export {};
@@ -0,0 +1,26 @@
1
+ import type { ComponentProps, ComponentType } from 'react';
2
+ import type { StyleProps } from '../primitives';
3
+ /**
4
+ * A Higher-Order Component (HOC) that enhances a component by enabling it to
5
+ * accept `StyleProps`.
6
+ *
7
+ * This function wraps a component, processes any provided `StyleProps` into a
8
+ * React style object, and merges it with the component's existing `style` prop.
9
+ * Styles from the passed `style` prop will override any generated styles from `StyleProps`
10
+ * in case of conflict.
11
+ *
12
+ * @template T - The type of the React component being wrapped.
13
+ * @param Component The React component to enhance with `StyleProps`.
14
+ * @returns A new component that accepts the original component's props plus `StyleProps`.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <Icon
19
+ * name="wifi"
20
+ * size="1.25rem"
21
+ * color={COLORS.green50}
22
+ * style={{ marginLeft: SPACING.spacing8 }}
23
+ * />
24
+ * ```
25
+ */
26
+ export declare function withStyleProps<T extends ComponentType<any>>(Component: T): T & ComponentType<ComponentProps<T> & StyleProps>;
@@ -38,4 +38,8 @@ export interface UseConditionalConfirmResult<T extends any[]> {
38
38
  showConfirmation: boolean;
39
39
  cancel: () => unknown;
40
40
  }
41
+ /**
42
+ * Provides conditional confirmation logic, allowing certain actions to be blocked
43
+ * until explicitly confirmed.
44
+ */
41
45
  export declare const useConditionalConfirm: <T extends any[]>(handleContinue: (...args: T) => any, shouldBlock: boolean) => UseConditionalConfirmResult<T>;
@@ -1,14 +1,13 @@
1
1
  import { ICON_DATA_BY_NAME } from './icon-data';
2
- import type { ReactNode } from 'react';
3
- import type { SvgProps } from '../primitives';
2
+ import type { ReactNode, SVGProps } from 'react';
4
3
  export type IconName = keyof typeof ICON_DATA_BY_NAME;
5
- export interface IconProps extends SvgProps {
4
+ export interface IconProps extends SVGProps<SVGSVGElement> {
6
5
  /** name constant of the icon to display */
7
6
  name: IconName;
8
- /** classes to apply */
9
- className?: string;
10
7
  /** spin the icon with a CSS animation */
11
8
  spin?: boolean;
9
+ /** override default size */
10
+ size?: string | number;
12
11
  /** x attribute as a number or string (for nesting inside another SVG) */
13
12
  x?: number | string;
14
13
  /** y attribute as a number or string (for nesting inside another SVG) */
@@ -21,7 +20,6 @@ export interface IconProps extends SvgProps {
21
20
  style?: Record<string, string | number>;
22
21
  /** optional children */
23
22
  children?: ReactNode;
24
- id?: string;
25
23
  }
26
24
  /**
27
25
  * Inline SVG icon component
@@ -31,4 +29,6 @@ export interface IconProps extends SvgProps {
31
29
  * import type { IconName } from '@opentrons/components'
32
30
  * ```
33
31
  */
34
- export declare function Icon(props: IconProps): JSX.Element | null;
32
+ declare function IconComponent(props: IconProps): JSX.Element | null;
33
+ export declare const Icon: typeof IconComponent & import("react").ComponentType<IconProps & import("..").StyleProps>;
34
+ export {};
@@ -1,11 +1,12 @@
1
+ /// <reference types="react" />
1
2
  import type { ModuleType } from '@opentrons/shared-data';
2
- import type { StyleProps } from '../primitives/types';
3
3
  export type ModuleIconName = 'ot-magnet-v2' | 'ot-heater-shaker' | 'ot-temperature-v2' | 'ot-magnet-v2' | 'ot-thermocycler' | 'ot-absorbance' | 'ot-flex-stacker';
4
4
  export declare const MODULE_ICON_NAME_BY_TYPE: {
5
5
  [type in ModuleType]: ModuleIconName;
6
6
  };
7
- interface ModuleIconProps extends StyleProps {
7
+ interface ModuleIconProps {
8
8
  moduleType: ModuleType;
9
9
  }
10
- export declare function ModuleIcon(props: ModuleIconProps): JSX.Element;
10
+ declare function ModuleIconComponent(props: ModuleIconProps): JSX.Element;
11
+ export declare const ModuleIcon: typeof ModuleIconComponent & import("react").ComponentType<ModuleIconProps & import("..").StyleProps>;
11
12
  export {};
@@ -1,3 +1 @@
1
1
  export * from './InstrumentDiagram';
2
- export * from './InstrumentGroup';
3
- export * from './InstrumentInfo';
@@ -1,2 +1 @@
1
1
  export * from './LabwareNameOverlay';
2
- export * from './ModuleItem';
@@ -1,2 +1 @@
1
1
  export * from './SidePanelGroup';
2
- export * from './TitledList';
@@ -0,0 +1,29 @@
1
+ import type { ChangeEvent, ChangeEventHandler, MemoExoticComponent } from 'react';
2
+ import type { LabwareDefinition2 } from '@opentrons/shared-data';
3
+ import type { StyleProps } from '../../primitives';
4
+ export interface StackingProps {
5
+ onInputFieldChange: (e: ChangeEvent<HTMLInputElement>) => void;
6
+ inputFieldValue: number;
7
+ inputTitle: string;
8
+ errorMessage: string;
9
+ inputCaption: string;
10
+ definition: LabwareDefinition2;
11
+ onCheckboxChange?: () => void;
12
+ checked?: boolean;
13
+ checkboxCaption?: string;
14
+ }
15
+ interface CustomizeExpandButtonProps extends StyleProps {
16
+ enableStackingFF: boolean;
17
+ allowInputField: boolean;
18
+ loadName: string;
19
+ buttonText: string;
20
+ buttonValue: string | number;
21
+ onChange: ChangeEventHandler<HTMLInputElement>;
22
+ stackingProps?: StackingProps;
23
+ disabled?: boolean;
24
+ isSelected?: boolean;
25
+ id?: string;
26
+ }
27
+ export declare function CustomizeExpandButtonComponent(props: CustomizeExpandButtonProps): JSX.Element;
28
+ export declare const CustomizeExpandButton: MemoExoticComponent<typeof CustomizeExpandButtonComponent>;
29
+ export {};
@@ -1,19 +1,11 @@
1
- import type { IconName, ModuleIconName } from '../../icons';
2
- import type { StyleProps } from '../../primitives';
3
- interface DeckLabelProps extends StyleProps {
4
- /** deck label to display */
5
- deckLabel: string;
6
- iconName?: IconName;
7
- }
8
- interface HardwareIconProps extends StyleProps {
9
- /** hardware icon name */
10
- iconName: ModuleIconName | 'stacked';
1
+ export interface DeckInfoLabelProps {
11
2
  deckLabel?: string;
12
- }
13
- export type DeckInfoLabelProps = (DeckLabelProps | HardwareIconProps) & {
3
+ iconName?: string;
14
4
  highlight?: boolean;
5
+ size?: 'large' | 'default';
6
+ height?: string | number;
7
+ width?: string | number;
15
8
  svgSize?: string | number;
16
- };
17
- export declare const DeckInfoLabel: import("styled-components").StyledComponent<typeof DeckInfoLabelComponent, any, {}, never>;
18
- declare function DeckInfoLabelComponent({ deckLabel, iconName, highlight, ...styleProps }: DeckInfoLabelProps): JSX.Element;
19
- export {};
9
+ transform?: string;
10
+ }
11
+ export declare function DeckInfoLabel({ deckLabel, iconName, highlight, size, height, width, transform, svgSize, }: DeckInfoLabelProps): JSX.Element;
@@ -1,11 +1,12 @@
1
1
  export * from './Banner';
2
+ export * from './CustomizeExpandButton';
2
3
  export * from './DeckInfoLabel';
3
4
  export * from './DeckLabel';
4
5
  export * from './DropdownMenu';
5
6
  export * from './InfoScreen';
6
7
  export * from './LiquidIcon';
8
+ export * from './ListAccordion';
7
9
  export * from './ParametersTable';
8
10
  export * from './ReleaseNotes';
9
11
  export * from './Tabs';
10
12
  export * from './TextListTableContent';
11
- export * from './ListAccordion';
@@ -1,6 +1,6 @@
1
1
  import { LegacyStyledText, StyledText } from '../../atoms';
2
2
  import type { ComponentProps } from 'react';
3
- import type { LabwareDefinition2, RobotType, RunTimeCommand } from '@opentrons/shared-data';
3
+ import type { LabwareDefinition, RobotType, RunTimeCommand } from '@opentrons/shared-data';
4
4
  import type { StyleProps } from '../../primitives';
5
5
  import type { CommandTextData } from '../ProtocolTimelineScrubber/types';
6
6
  export * from './useCommandTextString';
@@ -16,7 +16,7 @@ interface ModernSTProps {
16
16
  type STProps = LegacySTProps | ModernSTProps;
17
17
  interface BaseProps extends StyleProps {
18
18
  command: RunTimeCommand;
19
- allRunDefs: LabwareDefinition2[];
19
+ allRunDefs: LabwareDefinition[];
20
20
  commandTextData: CommandTextData;
21
21
  robotType: RobotType;
22
22
  isOnDevice?: boolean;
@@ -1,11 +1,11 @@
1
1
  import type { TFunction } from 'i18next';
2
- import type { LabwareDefinition2, RobotType, RunTimeCommand } from '@opentrons/shared-data';
2
+ import type { LabwareDefinition, RobotType, RunTimeCommand } from '@opentrons/shared-data';
3
3
  import type { CommandTextData } from '../../ProtocolTimelineScrubber/types';
4
4
  import type { TCProfileCycleText, TCProfileStepText } from './utils';
5
5
  export * from './utils';
6
6
  export interface UseCommandTextStringParams {
7
7
  command: RunTimeCommand | null;
8
- allRunDefs: LabwareDefinition2[];
8
+ allRunDefs: LabwareDefinition[];
9
9
  commandTextData: CommandTextData | null;
10
10
  robotType: RobotType;
11
11
  }
@@ -1,2 +1,2 @@
1
- import type { LabwareDefinition2, RunTimeCommand } from '@opentrons/shared-data';
2
- export declare function getLabwareDefinitionsFromCommands(commands: RunTimeCommand[]): LabwareDefinition2[];
1
+ import type { LabwareDefinition, RunTimeCommand } from '@opentrons/shared-data';
2
+ export declare function getLabwareDefinitionsFromCommands(commands: RunTimeCommand[]): LabwareDefinition[];
@@ -1,4 +1,4 @@
1
- import type { LabwareDefinition2, LabwareLocation, LabwareLocationSequence, ModuleModel, RobotType } from '@opentrons/shared-data';
1
+ import type { LabwareDefinition, LabwareLocation, LabwareLocationSequence, ModuleModel, RobotType } from '@opentrons/shared-data';
2
2
  import type { LoadedLabwares, LoadedModules } from './types';
3
3
  export interface LocationResult {
4
4
  slotName: string;
@@ -23,11 +23,11 @@ export interface SequenceSlotOnlyParams extends SequenceBaseParams {
23
23
  detailLevel: 'slot-only';
24
24
  }
25
25
  export interface LocationFullParams extends BaseParams {
26
- allRunDefs: LabwareDefinition2[];
26
+ allRunDefs: LabwareDefinition[];
27
27
  detailLevel?: 'full';
28
28
  }
29
29
  export interface SequenceFullParams extends SequenceBaseParams {
30
- allRunDefs: LabwareDefinition2[];
30
+ allRunDefs: LabwareDefinition[];
31
31
  detailLevel?: 'full';
32
32
  }
33
33
  export type GetLabwareLocationParams = LocationSlotOnlyParams | LocationFullParams;
@@ -1,7 +1,7 @@
1
- import type { LabwareDefinition2 } from '@opentrons/shared-data';
1
+ import type { LabwareDefinition } from '@opentrons/shared-data';
2
2
  import type { LoadedLabwares } from './types';
3
3
  export interface GetLabwareNameParams {
4
- allRunDefs: LabwareDefinition2[];
4
+ allRunDefs: LabwareDefinition[];
5
5
  loadedLabwares: LoadedLabwares;
6
6
  labwareId: string;
7
7
  }
@@ -1,10 +1,10 @@
1
1
  import type { MouseEventHandler } from 'react';
2
2
  interface FixtureOptionProps {
3
3
  onClickHandler: MouseEventHandler;
4
+ secondaryOnClickHandler?: MouseEventHandler;
4
5
  optionName: string;
6
+ secondaryButtonText?: string;
5
7
  buttonText: string;
6
- isOnDevice: boolean;
7
8
  }
8
9
  export declare function FixtureOption(props: FixtureOptionProps): JSX.Element;
9
- export declare const FixtureButtonODD: import("styled-components").StyledComponent<"button", any, import("../../primitives").StyleProps, any>;
10
10
  export {};
@@ -0,0 +1,10 @@
1
+ import { BaseDeck } from '../../hardware-sim/BaseDeck';
2
+ import type { ComponentProps } from 'react';
3
+ import type { CompletedProtocolAnalysis, ProtocolAnalysisOutput } from '@opentrons/shared-data';
4
+ interface ProtocolDeckProps {
5
+ protocolAnalysis: CompletedProtocolAnalysis | ProtocolAnalysisOutput | null;
6
+ /** extra props to pass through to BaseDeck component */
7
+ baseDeckProps?: Partial<ComponentProps<typeof BaseDeck>>;
8
+ }
9
+ export declare function ProtocolDeck(props: ProtocolDeckProps): JSX.Element | null;
10
+ export {};
@@ -1,4 +1,4 @@
1
- import type { CompletedProtocolAnalysis, LabwareDefinition2, ProtocolAnalysisOutput, RobotType, RunTimeCommand } from '@opentrons/shared-data';
1
+ import type { CompletedProtocolAnalysis, LabwareDefinition, ProtocolAnalysisOutput, RobotType, RunTimeCommand } from '@opentrons/shared-data';
2
2
  interface CommandItemProps {
3
3
  command: RunTimeCommand;
4
4
  index: number;
@@ -6,7 +6,7 @@ interface CommandItemProps {
6
6
  setCurrentCommandIndex: (index: number) => void;
7
7
  analysis: CompletedProtocolAnalysis | ProtocolAnalysisOutput;
8
8
  robotType: RobotType;
9
- allRunDefs: LabwareDefinition2[];
9
+ allRunDefs: LabwareDefinition[];
10
10
  }
11
11
  export declare function CommandItem({ index, command, currentCommandIndex, setCurrentCommandIndex, analysis, robotType, allRunDefs, }: CommandItemProps): JSX.Element;
12
12
  export {};
@@ -1,4 +1,4 @@
1
- import type { CompletedProtocolAnalysis, LabwareDefinition2, ProtocolAnalysisOutput, RunTimeCommand } from '@opentrons/shared-data';
1
+ import type { CompletedProtocolAnalysis, LabwareDefinition, ProtocolAnalysisOutput, RunTimeCommand } from '@opentrons/shared-data';
2
2
  import type { LabwareEntities, LocationLiquidState, SingleLabwareLiquidState, TimelineFrame } from '@opentrons/step-generation';
3
3
  import type { WellFill } from '../../hardware-sim';
4
4
  import type { CommandTextData } from './types';
@@ -16,7 +16,7 @@ interface WellContentsByLabware {
16
16
  export type ContentsByWell = {
17
17
  [wellName: string]: WellContents;
18
18
  } | null;
19
- export declare function _wellContentsForLabware(labwareLiquids: SingleLabwareLiquidState, labwareDef: LabwareDefinition2): ContentsByWell;
19
+ export declare function _wellContentsForLabware(labwareLiquids: SingleLabwareLiquidState, labwareDef: LabwareDefinition): ContentsByWell;
20
20
  export declare const wellFillFromWellContents: (wellContents: ContentsByWell, displayColors: string[]) => WellFill;
21
21
  export declare function getAllWellContentsForActiveItem(labwareEntities: LabwareEntities, robotState: TimelineFrame): WellContentsByLabware | null;
22
22
  export declare function getCommandTextData(protocolData: CompletedProtocolAnalysis | ProtocolAnalysisOutput, protocolCommands?: RunTimeCommand[]): CommandTextData;
@@ -3,3 +3,4 @@ export * from './Toolbox';
3
3
  export * from './ProtocolTimelineScrubber';
4
4
  export * from './CommandText';
5
5
  export * from './FixtureOption';
6
+ export * from './ProtocolDeck';
@@ -1,23 +1,13 @@
1
- import type { PrimitiveComponent, StyleProps } from './types';
2
- export interface ForeignObjectProps extends StyleProps {
3
- /** attach a width attribute to the <svg> element */
4
- svgWidth?: string | number;
5
- /** attach a height attribute to the <svg> element */
6
- svgHeight?: string | number;
7
- /**
8
- * internal helper prop to remap width style-prop to CSS
9
- * @internal
10
- */
11
- _cssWidth?: string | number;
12
- /**
13
- * internal helper prop to remap height style-prop to CSS
14
- * @internal
15
- */
16
- _cssHeight?: string | number;
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ export interface ForeignObjectProps {
3
+ width: string | number;
4
+ height: string | number;
5
+ x: string | number;
6
+ y: string | number;
7
+ children?: ReactNode;
17
8
  }
18
9
  /**
19
10
  * Foreign Object styled atomic component
20
- *
21
11
  * @component
22
12
  */
23
- export declare const ForeignObject: PrimitiveComponent<'foreignObject', ForeignObjectProps>;
13
+ export declare const ForeignObject: ({ width, height, x, y, children, }: ForeignObjectProps) => ReactElement;
@@ -1,7 +1,7 @@
1
1
  import type { CSSObject } from 'styled-components';
2
2
  import type * as Types from './types';
3
3
  type Text = string | number;
4
- export declare const STYLE_PROPS: ("overflow" | "overflowX" | "overflowY" | "cursor" | "transformOrigin" | "bottom" | "left" | "right" | "top" | "color" | "backgroundColor" | "opacity" | "fontSize" | "fontWeight" | "fontStyle" | "lineHeight" | "textAlign" | "textTransform" | "textDecoration" | "margin" | "marginX" | "marginY" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "padding" | "paddingX" | "paddingY" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderRadius" | "borderWidth" | "borderColor" | "boxShadow" | "flex" | "alignItems" | "alignSelf" | "justifyContent" | "flexDirection" | "flexWrap" | "whiteSpace" | "columnGap" | "gridGap" | "gridTemplateAreas" | "gridTemplateRows" | "gridTemplateColumns" | "gridArea" | "gridRow" | "gridColumn" | "display" | "size" | "width" | "minWidth" | "maxWidth" | "height" | "minHeight" | "maxHeight" | "wordSpacing" | "overflowWrap" | "position" | "zIndex" | "transform" | "filter" | "textOverflow" | "flexGrow" | "gap" | "transition")[];
4
+ export declare const STYLE_PROPS: ("filter" | "height" | "width" | "color" | "top" | "bottom" | "left" | "right" | "overflow" | "overflowX" | "overflowY" | "cursor" | "transformOrigin" | "backgroundColor" | "opacity" | "fontSize" | "fontWeight" | "fontStyle" | "lineHeight" | "textAlign" | "textTransform" | "textDecoration" | "margin" | "marginX" | "marginY" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "padding" | "paddingX" | "paddingY" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderRadius" | "borderWidth" | "borderColor" | "boxShadow" | "flex" | "alignItems" | "alignSelf" | "justifyContent" | "flexDirection" | "flexWrap" | "whiteSpace" | "columnGap" | "gridGap" | "gridTemplateAreas" | "gridTemplateRows" | "gridTemplateColumns" | "gridArea" | "gridRow" | "gridColumn" | "display" | "size" | "minWidth" | "maxWidth" | "minHeight" | "maxHeight" | "wordSpacing" | "overflowWrap" | "position" | "zIndex" | "transform" | "textOverflow" | "flexGrow" | "gap" | "rowGap" | "transition")[];
5
5
  export declare const styleProps: (props: Types.StyleProps) => CSSObject;
6
6
  export declare const isntStyleProp: (prop: string | Text) => boolean;
7
7
  export {};
@@ -1,5 +1,4 @@
1
- export * from './TitleBar';
2
- export * from './Card';
3
- export * from './Splash';
4
1
  export * from './LabeledValue';
5
2
  export * from './Pill';
3
+ export * from './Splash';
4
+ export * from './TitleBar';