@opentrons/components 0.1.6-alpha.8 → 0.1.7-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.
- package/README.md +1 -1
- package/lib/alerts/AlertItem.d.ts +3 -3
- package/lib/assets/localization/en/index.d.ts +104 -0
- package/lib/assets/localization/index.d.ts +188 -0
- package/lib/assets/localization/zh/index.d.ts +82 -0
- package/lib/atoms/Checkbox/index.d.ts +3 -2
- package/lib/atoms/CheckboxField/index.d.ts +4 -4
- package/lib/atoms/Divider/index.d.ts +2 -2
- package/lib/atoms/InputField/index.d.ts +10 -10
- package/lib/atoms/ListButton/ListButtonChildren/ListButtonAccordion.d.ts +2 -2
- package/lib/atoms/ListButton/ListButtonChildren/ListButtonAccordionContainer.d.ts +2 -2
- package/lib/atoms/ListButton/index.d.ts +4 -3
- package/lib/atoms/ListItem/ListItemChildren/ListItemCustomize.d.ts +2 -2
- package/lib/atoms/ListItem/ListItemChildren/ListItemDescriptor.d.ts +1 -0
- package/lib/atoms/ListItem/index.d.ts +3 -3
- package/lib/atoms/ListTable/index.d.ts +6 -0
- package/lib/atoms/MenuList/OverflowBtn.d.ts +3 -3
- package/lib/atoms/MenuList/index.d.ts +3 -3
- package/lib/atoms/StyledText/LegacyStyledText.d.ts +3 -3
- package/lib/atoms/StyledText/StyledText.d.ts +7 -3
- package/lib/atoms/SubListTable/index.d.ts +6 -0
- package/lib/atoms/Tag/index.d.ts +2 -1
- package/lib/atoms/Tooltip/index.d.ts +2 -2
- package/lib/atoms/buttons/LargeButton.d.ts +2 -2
- package/lib/atoms/buttons/RadioButton.d.ts +9 -4
- package/lib/atoms/buttons/SecondaryButton.d.ts +1 -0
- package/lib/atoms/buttons/TertiaryButton.d.ts +3 -0
- package/lib/atoms/buttons/index.d.ts +1 -0
- package/lib/atoms/index.d.ts +2 -0
- package/lib/buttons/Button.d.ts +4 -4
- package/lib/controls/ControlInfo.d.ts +2 -2
- package/lib/controls/LabeledButton.d.ts +2 -2
- package/lib/controls/LabeledCheckbox.d.ts +3 -3
- package/lib/controls/LabeledControl.d.ts +3 -3
- package/lib/controls/LabeledRadioGroup.d.ts +2 -2
- package/lib/controls/LabeledToggle.d.ts +2 -2
- package/lib/controls/StackedLabeledControl.d.ts +3 -3
- package/lib/controls/index.d.ts +0 -1
- package/lib/forms/DeprecatedCheckboxField.d.ts +3 -3
- package/lib/forms/FormGroup.d.ts +2 -2
- package/lib/forms/LegacyInputField.d.ts +6 -6
- package/lib/forms/RadioGroup.d.ts +4 -4
- package/lib/forms/SelectField.d.ts +3 -3
- package/lib/forms/ToggleField.d.ts +2 -2
- package/lib/forms/index.d.ts +0 -1
- package/lib/hardware-sim/BaseDeck/BaseDeck.d.ts +6 -6
- package/lib/hardware-sim/BaseDeck/SingleSlotFixture.d.ts +4 -4
- package/lib/hardware-sim/BaseDeck/SlotBase.d.ts +2 -2
- package/lib/hardware-sim/BaseDeck/SlotClip.d.ts +2 -2
- package/lib/hardware-sim/BaseDeck/StagingAreaFixture.d.ts +4 -4
- package/lib/hardware-sim/BaseDeck/WasteChuteFixture.d.ts +12 -3
- package/lib/hardware-sim/BaseDeck/WasteChuteStagingAreaFixture.d.ts +7 -4
- package/lib/hardware-sim/Deck/DeckFromLayers.d.ts +1 -0
- package/lib/hardware-sim/Deck/FlexTrash.d.ts +6 -1
- package/lib/hardware-sim/Deck/MoveLabwareOnDeck.d.ts +2 -2
- package/lib/hardware-sim/Deck/OT2Layers.d.ts +5 -1
- package/lib/hardware-sim/Deck/RobotCoordsForeignDiv.d.ts +5 -3
- package/lib/hardware-sim/Deck/RobotCoordsForeignObject.d.ts +4 -4
- package/lib/hardware-sim/Deck/RobotCoordsText.d.ts +4 -3
- package/lib/hardware-sim/Deck/RobotWorkSpace.d.ts +2 -2
- package/lib/hardware-sim/Deck/__mocks__/getDeckDefinitions.d.ts +1 -1
- package/lib/hardware-sim/DeckConfigurator/FlexStackerFixture.d.ts +11 -0
- package/lib/hardware-sim/DeckConfigurator/index.d.ts +3 -3
- package/lib/hardware-sim/DeckSlotLocation/index.d.ts +4 -4
- package/lib/hardware-sim/Labware/Labware.d.ts +2 -2
- package/lib/hardware-sim/Labware/LabwareRender.d.ts +2 -2
- package/lib/hardware-sim/Labware/LabwareStackRender.d.ts +2 -2
- package/lib/hardware-sim/Labware/labwareInternals/FilledWells.d.ts +3 -3
- package/lib/hardware-sim/Labware/labwareInternals/LabwareWellLabels.d.ts +2 -2
- package/lib/hardware-sim/Labware/labwareInternals/StaticLabware.d.ts +2 -2
- package/lib/hardware-sim/Labware/labwareInternals/StrokedWells.d.ts +3 -3
- package/lib/hardware-sim/Labware/labwareInternals/StyledWells.d.ts +5 -5
- package/lib/hardware-sim/Labware/labwareInternals/Well.d.ts +5 -5
- package/lib/hardware-sim/Labware/labwareInternals/WellLabels.d.ts +2 -2
- package/lib/hardware-sim/Labware/labwareInternals/types.d.ts +2 -2
- package/lib/hardware-sim/Module/ModuleTag.d.ts +2 -2
- package/lib/hardware-sim/Module/index.d.ts +4 -4
- package/lib/hardware-sim/ProtocolDeck/LabwareInfo.d.ts +2 -2
- package/lib/hardware-sim/ProtocolDeck/index.d.ts +4 -7
- package/lib/hardware-sim/ProtocolDeck/utils/index.d.ts +1 -0
- package/lib/hardware-sim/RobotCoordinateSpace/RobotCoordinateSpace.d.ts +2 -2
- package/lib/hardware-sim/RobotCoordinateSpace/RobotCoordinateSpaceWithRef.d.ts +2 -2
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/useMenuHandleClickOutside.d.ts +3 -3
- package/lib/i18n.d.ts +14 -0
- package/lib/icons/Icon.d.ts +2 -2
- package/lib/icons/ModuleIcon.d.ts +1 -1
- package/lib/instrument/InstrumentInfo.d.ts +2 -2
- package/lib/interaction-enhancers/ClickOutside.d.ts +4 -3
- package/lib/interaction-enhancers/HandleKeypress.d.ts +4 -3
- package/lib/lists/SidePanelGroup.d.ts +2 -2
- package/lib/lists/TitledList.d.ts +8 -8
- package/lib/modals/AlertModal.d.ts +3 -3
- package/lib/modals/LegacyModal.d.ts +4 -4
- package/lib/modals/Modal.d.ts +7 -5
- package/lib/modals/ModalHeader.d.ts +5 -4
- package/lib/modals/ModalShell.d.ts +5 -5
- package/lib/modals/Overlay.d.ts +3 -3
- package/lib/modals/SpinnerModalPage.d.ts +2 -2
- package/lib/molecules/Banner/index.d.ts +4 -4
- package/lib/molecules/DeckInfoLabel/index.d.ts +3 -3
- package/lib/molecules/DeckLabel/index.d.ts +2 -1
- package/lib/molecules/DropdownMenu/index.d.ts +22 -6
- package/lib/molecules/InfoScreen/index.d.ts +3 -1
- package/lib/molecules/ListAccordion/index.d.ts +11 -0
- package/lib/molecules/ReleaseNotes/index.d.ts +5 -0
- package/lib/molecules/Tabs/index.d.ts +1 -0
- package/lib/molecules/TextListTableContent/__tests__/TextListTableContent.test.d.ts +1 -0
- package/lib/molecules/TextListTableContent/index.d.ts +8 -0
- package/lib/molecules/index.d.ts +3 -0
- package/lib/nav/SidePanel.d.ts +2 -2
- package/lib/organisms/CommandText/__tests__/CommandText.test.d.ts +1 -0
- package/lib/organisms/CommandText/fixtures/index.d.ts +2 -0
- package/lib/organisms/CommandText/index.d.ts +26 -0
- package/lib/organisms/CommandText/useCommandTextString/index.d.ts +30 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/__tests__/formatDuration.test.d.ts +1 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/__tests__/getFinalLabwareLocation.test.d.ts +1 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/__tests__/getLabwareDisplayLocation.test.d.ts +1 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/__tests__/getPipettingCommandText.test.d.ts +1 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getAbsorbanceReaderCommandText.d.ts +12 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getCommentCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getConfigureForVolumeCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getConfigureNozzleLayoutCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getCustomCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getDelayCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getDirectTranslationCommandText.d.ts +11 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getFlexStackerCommandText.d.ts +9 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getHSShakeSpeedCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getLiquidProbeCommandText.d.ts +5 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getLoadCommandText.d.ts +2 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveLabwareCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveRelativeCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToAddressableAreaCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToAddressableAreaForDropTipCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToCoordinatesCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToSlotCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToWellCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getPipettingCommandText.d.ts +2 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getPrepareToAspirateCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getRailLightsCommandText.d.ts +8 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getTCRunExtendedProfileCommandText.d.ts +13 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getTCRunProfileCommandText.d.ts +4 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getTemperatureCommandText.d.ts +12 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getUnknownCommandText.d.ts +2 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getWaitForDurationCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/getWaitForResumeCommandText.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/commandText/index.d.ts +26 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/formatDuration.d.ts +8 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getAddressableAreaDisplayName.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getFinalAddressableAreaCmd.d.ts +8 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getFinalLabwareLocation.d.ts +12 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareDefinitionsFromCommands.d.ts +2 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareDisplayLocation.d.ts +15 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareLocation.d.ts +37 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLabwareName.d.ts +8 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLiquidDisplayName.d.ts +2 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLoadedLabware.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getLoadedModule.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getModuleDisplayLocation.d.ts +2 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getModuleModel.d.ts +3 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getPipetteNameOnMount.d.ts +4 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/getWellRange.d.ts +8 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/helpers.d.ts +1 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/index.d.ts +10 -0
- package/lib/organisms/CommandText/useCommandTextString/utils/types.d.ts +8 -0
- package/lib/organisms/DeckLabelSet/index.d.ts +3 -2
- package/lib/organisms/ProtocolTimelineScrubber/CommandItem.d.ts +12 -0
- package/lib/organisms/ProtocolTimelineScrubber/PipetteVisuals.d.ts +25 -0
- package/lib/organisms/ProtocolTimelineScrubber/index.d.ts +10 -0
- package/lib/organisms/ProtocolTimelineScrubber/types.d.ts +2 -0
- package/lib/organisms/ProtocolTimelineScrubber/utils.d.ts +23 -0
- package/lib/organisms/Toolbox/index.d.ts +5 -8
- package/lib/organisms/index.d.ts +2 -1
- package/lib/primitives/style-props.d.ts +4 -1
- package/lib/primitives/types.d.ts +2 -1
- package/lib/structure/Card.d.ts +3 -3
- package/lib/structure/LabeledValue.d.ts +3 -3
- package/lib/structure/Pill.d.ts +2 -2
- package/lib/structure/TitleBar.d.ts +4 -4
- package/lib/testing/utils/renderWithProviders.d.ts +3 -3
- package/lib/tooltips/DeprecatedTooltip.d.ts +6 -6
- package/lib/tooltips/HoverTooltip.d.ts +4 -3
- package/lib/tooltips/LegacyTooltip.d.ts +5 -6
- package/lib/tooltips/types.d.ts +4 -4
- package/lib/ui-style-constants/animation.d.ts +1 -0
- package/lib/ui-style-constants/index.d.ts +1 -0
- package/package.json +8 -5
- package/src/__mocks__/file.js +10 -0
- package/src/__tests__/utils.test.ts +27 -0
- package/src/alerts/AlertItem.stories.tsx +49 -0
- package/src/alerts/AlertItem.tsx +85 -0
- package/src/alerts/alerts.module.css +103 -0
- package/src/alerts/index.ts +3 -0
- package/src/assets/localization/en/index.ts +8 -0
- package/src/assets/localization/en/protocol_command_text.json +102 -0
- package/src/assets/localization/index.ts +7 -0
- package/src/assets/localization/zh/index.ts +8 -0
- package/src/assets/localization/zh/protocol_command_text.json +80 -0
- package/src/atoms/Checkbox/Checkbox.stories.tsx +24 -0
- package/src/atoms/Checkbox/__tests__/Checkbox.test.tsx +56 -0
- package/src/atoms/Checkbox/index.tsx +133 -0
- package/src/atoms/CheckboxField/CheckboxField.stories.tsx +30 -0
- package/src/atoms/CheckboxField/__tests__/CheckboxField.test.tsx +142 -0
- package/src/atoms/CheckboxField/index.tsx +172 -0
- package/src/atoms/Chip/Chip.stories.tsx +66 -0
- package/src/atoms/Chip/__tests__/Chip.test.tsx +430 -0
- package/src/atoms/Chip/index.tsx +172 -0
- package/src/atoms/Divider/index.tsx +16 -0
- package/src/atoms/InputField/InputField.stories.tsx +77 -0
- package/src/atoms/InputField/__tests__/InputField.test.tsx +64 -0
- package/src/atoms/InputField/index.tsx +384 -0
- package/src/atoms/ListButton/ListButton.stories.tsx +140 -0
- package/src/atoms/ListButton/ListButtonChildren/ListButtonAccordion.tsx +66 -0
- package/src/atoms/ListButton/ListButtonChildren/ListButtonAccordionContainer.tsx +24 -0
- package/src/atoms/ListButton/ListButtonChildren/ListButtonRadioButton.tsx +108 -0
- package/src/atoms/ListButton/ListButtonChildren/index.ts +3 -0
- package/src/atoms/ListButton/__tests__/ListButton.test.tsx +53 -0
- package/src/atoms/ListButton/__tests__/ListButtonAccordion.test.tsx +36 -0
- package/src/atoms/ListButton/__tests__/ListButtonRadioButton.test.tsx +28 -0
- package/src/atoms/ListButton/index.tsx +131 -0
- package/src/atoms/ListItem/ListItem.stories.tsx +126 -0
- package/src/atoms/ListItem/ListItemChildren/ListItemCustomize.tsx +78 -0
- package/src/atoms/ListItem/ListItemChildren/ListItemDescriptor.tsx +42 -0
- package/src/atoms/ListItem/ListItemChildren/index.ts +2 -0
- package/src/atoms/ListItem/__tests__/ListItem.test.tsx +102 -0
- package/src/atoms/ListItem/index.tsx +106 -0
- package/src/atoms/ListTable/ListTable.stories.tsx +70 -0
- package/src/atoms/ListTable/__tests__/ListTable.test.tsx +81 -0
- package/src/atoms/ListTable/index.tsx +92 -0
- package/src/atoms/MenuList/MenuItem.stories.tsx +30 -0
- package/src/atoms/MenuList/MenuItem.tsx +55 -0
- package/src/atoms/MenuList/MenuList.stories.tsx +31 -0
- package/src/atoms/MenuList/OverflowBtn.stories.tsx +17 -0
- package/src/atoms/MenuList/OverflowBtn.tsx +78 -0
- package/src/atoms/MenuList/__tests__/MenuItem.test.tsx +51 -0
- package/src/atoms/MenuList/__tests__/MenuList.test.tsx +37 -0
- package/src/atoms/MenuList/__tests__/OverflowBtn.test.tsx +34 -0
- package/src/atoms/MenuList/index.tsx +50 -0
- package/src/atoms/Snackbar/Snackbar.stories.tsx +67 -0
- package/src/atoms/Snackbar/__tests__/Snackbar.test.tsx +74 -0
- package/src/atoms/Snackbar/index.tsx +91 -0
- package/src/atoms/StepMeter/index.tsx +53 -0
- package/src/atoms/StyledText/LegacyStyledText.stories.tsx +106 -0
- package/src/atoms/StyledText/LegacyStyledText.tsx +95 -0
- package/src/atoms/StyledText/StyledText.stories.tsx +46 -0
- package/src/atoms/StyledText/StyledText.tsx +332 -0
- package/src/atoms/StyledText/index.ts +2 -0
- package/src/atoms/SubListTable/SubListTable.stories.tsx +72 -0
- package/src/atoms/SubListTable/__tests__/SubListTable.test.tsx +81 -0
- package/src/atoms/SubListTable/index.tsx +71 -0
- package/src/atoms/Tag/Tag.stories.tsx +49 -0
- package/src/atoms/Tag/__tests__/Tag.test.tsx +56 -0
- package/src/atoms/Tag/index.tsx +115 -0
- package/src/atoms/Toast/ODDToast.stories.tsx +68 -0
- package/src/atoms/Toast/Toast.stories.tsx +64 -0
- package/src/atoms/Toast/__tests__/ODDToast.test.tsx +179 -0
- package/src/atoms/Toast/__tests__/Toast.test.tsx +175 -0
- package/src/atoms/Toast/index.tsx +439 -0
- package/src/atoms/ToggleGroup/ToggleGroup.stories.tsx +39 -0
- package/src/atoms/ToggleGroup/__tests__/ToggleGroup.test.tsx +29 -0
- package/src/atoms/ToggleGroup/index.tsx +90 -0
- package/src/atoms/Tooltip/Tooltip.stories.tsx +99 -0
- package/src/atoms/Tooltip/__tests__/Tooltip.test.tsx +79 -0
- package/src/atoms/Tooltip/index.tsx +37 -0
- package/src/atoms/buttons/AlertPrimaryButton.tsx +26 -0
- package/src/atoms/buttons/AltPrimaryButton.tsx +31 -0
- package/src/atoms/buttons/EmptySelectorButton.stories.tsx +36 -0
- package/src/atoms/buttons/EmptySelectorButton.tsx +82 -0
- package/src/atoms/buttons/LargeButton.stories.tsx +106 -0
- package/src/atoms/buttons/LargeButton.tsx +322 -0
- package/src/atoms/buttons/PrimaryButton.tsx +36 -0
- package/src/atoms/buttons/RadioButton.stories.tsx +108 -0
- package/src/atoms/buttons/RadioButton.tsx +268 -0
- package/src/atoms/buttons/SecondaryButton.tsx +88 -0
- package/src/atoms/buttons/TertiaryButton.tsx +88 -0
- package/src/atoms/buttons/__tests__/AlertPrimaryButton.test.tsx +48 -0
- package/src/atoms/buttons/__tests__/AltPrimaryButton.test.tsx +58 -0
- package/src/atoms/buttons/__tests__/EmptySelectorButton.test.tsx +43 -0
- package/src/atoms/buttons/__tests__/LargeButton.test.tsx +92 -0
- package/src/atoms/buttons/__tests__/PrimaryButton.test.tsx +65 -0
- package/src/atoms/buttons/__tests__/RadioButton.test.tsx +105 -0
- package/src/atoms/buttons/__tests__/SecondaryButton.test.tsx +55 -0
- package/src/atoms/buttons/buttons.stories.tsx +78 -0
- package/src/atoms/buttons/index.ts +7 -0
- package/src/atoms/index.ts +22 -0
- package/src/barrel.ts +10 -0
- package/src/buttons/Button.tsx +96 -0
- package/src/buttons/DeprecatedPrimaryButton.tsx +24 -0
- package/src/buttons/FlatButton.tsx +21 -0
- package/src/buttons/IconButton.tsx +37 -0
- package/src/buttons/OutlineButton.tsx +24 -0
- package/src/buttons/buttons.module.css +428 -0
- package/src/buttons/index.ts +7 -0
- package/src/controls/ControlInfo.tsx +13 -0
- package/src/controls/LabeledButton.tsx +28 -0
- package/src/controls/LabeledCheckbox.tsx +36 -0
- package/src/controls/LabeledControl.tsx +24 -0
- package/src/controls/LabeledRadioGroup.tsx +26 -0
- package/src/controls/LabeledToggle.tsx +35 -0
- package/src/controls/StackedLabeledControl.tsx +28 -0
- package/src/controls/ToggleButton.tsx +25 -0
- package/src/controls/index.ts +9 -0
- package/src/controls/styles.module.css +103 -0
- package/src/forms/DeprecatedCheckboxField.stories.tsx +31 -0
- package/src/forms/DeprecatedCheckboxField.tsx +95 -0
- package/src/forms/FormGroup.stories.tsx +31 -0
- package/src/forms/FormGroup.tsx +54 -0
- package/src/forms/InputField.stories.tsx +41 -0
- package/src/forms/LegacyInputField.tsx +129 -0
- package/src/forms/RadioGroup.stories.tsx +44 -0
- package/src/forms/RadioGroup.tsx +88 -0
- package/src/forms/Select.module.css +118 -0
- package/src/forms/Select.stories.tsx +117 -0
- package/src/forms/Select.tsx +132 -0
- package/src/forms/SelectField.module.css +16 -0
- package/src/forms/SelectField.tsx +94 -0
- package/src/forms/ToggleField.stories.tsx +31 -0
- package/src/forms/ToggleField.tsx +60 -0
- package/src/forms/__tests__/DeprecatedCheckboxField.test.tsx +5 -0
- package/src/forms/__tests__/InputField.test.tsx +5 -0
- package/src/forms/__tests__/Select.test.tsx +5 -0
- package/src/forms/__tests__/SelectField.test.tsx +5 -0
- package/src/forms/__tests__/ToggleField.test.tsx +5 -0
- package/src/forms/forms.module.css +239 -0
- package/src/forms/index.ts +7 -0
- package/src/hardware-sim/BaseDeck/BaseDeck.stories.tsx +94 -0
- package/src/hardware-sim/BaseDeck/BaseDeck.tsx +428 -0
- package/src/hardware-sim/BaseDeck/SingleSlotFixture.tsx +198 -0
- package/src/hardware-sim/BaseDeck/SlotBase.tsx +5 -0
- package/src/hardware-sim/BaseDeck/SlotClip.tsx +15 -0
- package/src/hardware-sim/BaseDeck/StagingAreaFixture.tsx +113 -0
- package/src/hardware-sim/BaseDeck/WasteChuteFixture.tsx +158 -0
- package/src/hardware-sim/BaseDeck/WasteChuteStagingAreaFixture.tsx +73 -0
- package/src/hardware-sim/BaseDeck/__fixtures__/index.ts +165 -0
- package/src/hardware-sim/BaseDeck/index.ts +5 -0
- package/src/hardware-sim/Deck/DeckFromLayers.tsx +60 -0
- package/src/hardware-sim/Deck/FlexTrash.tsx +147 -0
- package/src/hardware-sim/Deck/MoveLabwareOnDeck.stories.tsx +97 -0
- package/src/hardware-sim/Deck/MoveLabwareOnDeck.tsx +287 -0
- package/src/hardware-sim/Deck/OT2Layers.tsx +160 -0
- package/src/hardware-sim/Deck/RobotCoordsForeignDiv.tsx +51 -0
- package/src/hardware-sim/Deck/RobotCoordsForeignObject.tsx +43 -0
- package/src/hardware-sim/Deck/RobotCoordsText.tsx +33 -0
- package/src/hardware-sim/Deck/RobotWorkSpace.tsx +98 -0
- package/src/hardware-sim/Deck/SlotLabels.tsx +111 -0
- package/src/hardware-sim/Deck/__mocks__/getDeckDefinitions.ts +29 -0
- package/src/hardware-sim/Deck/constants.ts +12 -0
- package/src/hardware-sim/Deck/index.tsx +8 -0
- package/src/hardware-sim/DeckConfigurator/AbsorbanceReaderFixture.tsx +91 -0
- package/src/hardware-sim/DeckConfigurator/DeckConfigurator.stories.tsx +110 -0
- package/src/hardware-sim/DeckConfigurator/EmptyConfigFixture.tsx +131 -0
- package/src/hardware-sim/DeckConfigurator/FlexStackerFixture.tsx +99 -0
- package/src/hardware-sim/DeckConfigurator/HeaterShakerFixture.tsx +102 -0
- package/src/hardware-sim/DeckConfigurator/MagneticBlockFixture.tsx +130 -0
- package/src/hardware-sim/DeckConfigurator/StagingAreaConfigFixture.tsx +89 -0
- package/src/hardware-sim/DeckConfigurator/StaticFixture.tsx +54 -0
- package/src/hardware-sim/DeckConfigurator/TemperatureModuleFixture.tsx +103 -0
- package/src/hardware-sim/DeckConfigurator/ThermocyclerFixture.tsx +89 -0
- package/src/hardware-sim/DeckConfigurator/TrashBinConfigFixture.tsx +99 -0
- package/src/hardware-sim/DeckConfigurator/WasteChuteConfigFixture.tsx +96 -0
- package/src/hardware-sim/DeckConfigurator/constants.ts +81 -0
- package/src/hardware-sim/DeckConfigurator/index.tsx +305 -0
- package/src/hardware-sim/DeckSlotLocation/index.tsx +88 -0
- package/src/hardware-sim/Labware/Labware.tsx +175 -0
- package/src/hardware-sim/Labware/LabwareAdapter/Opentrons96DeepWellAdapter.tsx +23 -0
- package/src/hardware-sim/Labware/LabwareAdapter/Opentrons96FlatBottomAdapter.tsx +7 -0
- package/src/hardware-sim/Labware/LabwareAdapter/OpentronsAluminumFlatBottomPlate.tsx +13 -0
- package/src/hardware-sim/Labware/LabwareAdapter/OpentronsAutoclavableDeckRiser.tsx +100 -0
- package/src/hardware-sim/Labware/LabwareAdapter/OpentronsFlex96TiprackAdapter.tsx +13 -0
- package/src/hardware-sim/Labware/LabwareAdapter/OpentronsToughPCRAutoSealingLid.tsx +83 -0
- package/src/hardware-sim/Labware/LabwareAdapter/OpentronsUniversalFlatAdapter.tsx +13 -0
- package/src/hardware-sim/Labware/LabwareAdapter/index.tsx +73 -0
- package/src/hardware-sim/Labware/LabwareRender.stories.tsx +96 -0
- package/src/hardware-sim/Labware/LabwareRender.tsx +174 -0
- package/src/hardware-sim/Labware/LabwareStackRender.tsx +273 -0
- package/src/hardware-sim/Labware/__tests__/Labware.test.tsx +43 -0
- package/src/hardware-sim/Labware/__tests__/LabwareRender.test.tsx +54 -0
- package/src/hardware-sim/Labware/index.ts +6 -0
- package/src/hardware-sim/Labware/labwareInternals/FilledWells.tsx +41 -0
- package/src/hardware-sim/Labware/labwareInternals/LabwareOutline.tsx +133 -0
- package/src/hardware-sim/Labware/labwareInternals/LabwareWellLabels.tsx +119 -0
- package/src/hardware-sim/Labware/labwareInternals/StaticLabware.tsx +122 -0
- package/src/hardware-sim/Labware/labwareInternals/StrokedWells.tsx +40 -0
- package/src/hardware-sim/Labware/labwareInternals/StyledWells.tsx +79 -0
- package/src/hardware-sim/Labware/labwareInternals/Well.tsx +75 -0
- package/src/hardware-sim/Labware/labwareInternals/WellLabels.tsx +123 -0
- package/src/hardware-sim/Labware/labwareInternals/__tests__/LabwareWellLabels.test.tsx +66 -0
- package/src/hardware-sim/Labware/labwareInternals/__tests__/StrokedWells.test.tsx +31 -0
- package/src/hardware-sim/Labware/labwareInternals/__tests__/WellLabels.test.tsx +91 -0
- package/src/hardware-sim/Labware/labwareInternals/index.ts +8 -0
- package/src/hardware-sim/Labware/labwareInternals/types.ts +18 -0
- package/src/hardware-sim/Module/HeaterShaker.tsx +83 -0
- package/src/hardware-sim/Module/MagneticBlock.tsx +49 -0
- package/src/hardware-sim/Module/MagneticModule.tsx +51 -0
- package/src/hardware-sim/Module/Module.stories.tsx +90 -0
- package/src/hardware-sim/Module/ModuleTag.tsx +39 -0
- package/src/hardware-sim/Module/PlateReader.tsx +208 -0
- package/src/hardware-sim/Module/Temperature.tsx +54 -0
- package/src/hardware-sim/Module/Thermocycler/ThermocyclerGEN1.tsx +248 -0
- package/src/hardware-sim/Module/Thermocycler/ThermocyclerGEN2.tsx +286 -0
- package/src/hardware-sim/Module/Thermocycler/index.tsx +49 -0
- package/src/hardware-sim/Module/index.tsx +223 -0
- package/src/hardware-sim/Pipette/EightEmanatingNozzles.tsx +23 -0
- package/src/hardware-sim/Pipette/EmanatingNozzle.tsx +53 -0
- package/src/hardware-sim/Pipette/PipetteRender.stories.tsx +71 -0
- package/src/hardware-sim/Pipette/PipetteRender.tsx +86 -0
- package/src/hardware-sim/Pipette/__tests__/EightEmanatingNozzles.test.tsx +16 -0
- package/src/hardware-sim/Pipette/__tests__/EmanatingNozzle.test.tsx +68 -0
- package/src/hardware-sim/Pipette/__tests__/PipetteRender.test.tsx +99 -0
- package/src/hardware-sim/Pipette/constants.ts +10 -0
- package/src/hardware-sim/Pipette/index.ts +1 -0
- package/src/hardware-sim/ProtocolDeck/LabwareInfo.tsx +69 -0
- package/src/hardware-sim/ProtocolDeck/ProtocolDeck.stories.tsx +25 -0
- package/src/hardware-sim/ProtocolDeck/__fixtures__/analysis_QIAseqFX24xv4_8.json +47145 -0
- package/src/hardware-sim/ProtocolDeck/index.tsx +85 -0
- package/src/hardware-sim/ProtocolDeck/types.ts +6 -0
- package/src/hardware-sim/ProtocolDeck/utils/__tests__/getLabwareInforByLiquidId.test.ts +158 -0
- package/src/hardware-sim/ProtocolDeck/utils/getInitiallyLoadedLabwareByAdapter.ts +33 -0
- package/src/hardware-sim/ProtocolDeck/utils/getLabwareInSlots.ts +321 -0
- package/src/hardware-sim/ProtocolDeck/utils/getLabwareInfoByLiquidId.ts +43 -0
- package/src/hardware-sim/ProtocolDeck/utils/getModulesInSlots.ts +129 -0
- package/src/hardware-sim/ProtocolDeck/utils/getStandardDeckViewLayerBlockList.ts +29 -0
- package/src/hardware-sim/ProtocolDeck/utils/getWellFillFromLabwareId.ts +30 -0
- package/src/hardware-sim/ProtocolDeck/utils/index.ts +4 -0
- package/src/hardware-sim/RobotCoordinateSpace/RobotCoordinateSpace.tsx +29 -0
- package/src/hardware-sim/RobotCoordinateSpace/RobotCoordinateSpaceWithRef.tsx +51 -0
- package/src/hardware-sim/RobotCoordinateSpace/index.ts +2 -0
- package/src/hardware-sim/index.ts +11 -0
- package/src/hardware-sim/utils.ts +18 -0
- package/src/helix-design-system/borders.ts +32 -0
- package/src/helix-design-system/colors.ts +100 -0
- package/src/helix-design-system/index.ts +4 -0
- package/src/helix-design-system/product/index.ts +1 -0
- package/src/helix-design-system/product/typography.ts +151 -0
- package/src/helix-design-system/style.ts +2 -0
- package/src/hooks/__tests__/useConditionalConfirm.test.tsx +5 -0
- package/src/hooks/__tests__/useDrag.test.ts +46 -0
- package/src/hooks/__tests__/useInterval.test.tsx +5 -0
- package/src/hooks/__tests__/useLongPress.test.ts +25 -0
- package/src/hooks/__tests__/useMountEffect.test.tsx +5 -0
- package/src/hooks/__tests__/usePrevious.test.tsx +5 -0
- package/src/hooks/__tests__/useScrolling.test.tsx +46 -0
- package/src/hooks/__tests__/useSwipe.test.tsx +26 -0
- package/src/hooks/__tests__/useTimeout.test.tsx +5 -0
- package/src/hooks/__tests__/useToggle.test.tsx +5 -0
- package/src/hooks/index.ts +14 -0
- package/src/hooks/useConditionalConfirm.ts +70 -0
- package/src/hooks/useDrag.ts +90 -0
- package/src/hooks/useInterval.ts +37 -0
- package/src/hooks/useLongPress.ts +83 -0
- package/src/hooks/useMenuHandleClickOutside.tsx +46 -0
- package/src/hooks/useMountEffect.ts +12 -0
- package/src/hooks/usePrevious.ts +19 -0
- package/src/hooks/useScrolling.ts +33 -0
- package/src/hooks/useSelectDeckLocation/SelectDeckLocation.stories.tsx +55 -0
- package/src/hooks/useSelectDeckLocation/index.tsx +331 -0
- package/src/hooks/useSwipe.ts +86 -0
- package/src/hooks/useTimeout.ts +33 -0
- package/src/hooks/useToggle.ts +27 -0
- package/src/i18n.ts +61 -0
- package/src/icons/Icon.stories.tsx +44 -0
- package/src/icons/Icon.tsx +79 -0
- package/src/icons/IconList.stories.tsx +108 -0
- package/src/icons/ModuleIcon.tsx +51 -0
- package/src/icons/NotificationIcon.tsx +41 -0
- package/src/icons/icon-data.ts +821 -0
- package/src/icons/index.ts +6 -0
- package/src/images/index.ts +1 -0
- package/src/images/labware/index.ts +1 -0
- package/src/images/labware/measurement-guide/images/depth/depth-plate-flat@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/depth/depth-plate-round@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/depth/depth-plate-v@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/depth/depth-reservoir-and-tubes-flat@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/depth/depth-reservoir-and-tubes-round@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/depth/depth-reservoir-and-tubes-v@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/depth/length-tip-rack@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/footprint@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/height-alum-block-plate@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/height-alum-block-tubes@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/height-plate-and-reservoir@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/height-tip-rack@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/height-tube-rack-irregular@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/dimensions/height-tube-rack@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/offset/offset-reservoir@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/offset/offset-well-circular@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/offset/offset-well-rectangular@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/shape/shape-circular@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/shape/shape-rectangular@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/spacing/spacing-reservoir-multi-row@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/spacing/spacing-reservoir@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/spacing/spacing-well-circular@3x.png +0 -0
- package/src/images/labware/measurement-guide/images/spacing/spacing-well-rectangular@3x.png +0 -0
- package/src/images/labware/measurement-guide/index.ts +272 -0
- package/src/index.module.css +9 -0
- package/src/index.ts +41 -0
- package/src/instrument/InstrumentDiagram.stories.tsx +42 -0
- package/src/instrument/InstrumentDiagram.tsx +58 -0
- package/src/instrument/InstrumentGroup.stories.tsx +88 -0
- package/src/instrument/InstrumentGroup.tsx +35 -0
- package/src/instrument/InstrumentInfo.tsx +106 -0
- package/src/instrument/PipetteSelect.module.css +14 -0
- package/src/instrument/PipetteSelect.stories.tsx +40 -0
- package/src/instrument/PipetteSelect.tsx +170 -0
- package/src/instrument/__tests__/InstrumentInfo.test.tsx +56 -0
- package/src/instrument/__tests__/PipetteSelect.test.tsx +4 -0
- package/src/instrument/eight-channel-flex.png +0 -0
- package/src/instrument/index.ts +4 -0
- package/src/instrument/instrument.module.css +45 -0
- package/src/instrument/multi-channel_GEN1_800px.png +0 -0
- package/src/instrument/multi-channel_GEN2_800px.png +0 -0
- package/src/instrument/ninety-six-channel-gen1.png +0 -0
- package/src/instrument/pipetteGEN2Multi.png +0 -0
- package/src/instrument/pipetteGEN2Single.png +0 -0
- package/src/instrument/pipetteMulti.png +0 -0
- package/src/instrument/pipetteSingle.png +0 -0
- package/src/instrument/single-channel-flex.png +0 -0
- package/src/instrument/single-channel_GEN2_800px.png +0 -0
- package/src/instrument/single_channel_GEN1_800px.png +0 -0
- package/src/interaction-enhancers/ClickOutside.ts +58 -0
- package/src/interaction-enhancers/HandleKeypress.tsx +71 -0
- package/src/interaction-enhancers/__tests__/useHover.test.tsx +4 -0
- package/src/interaction-enhancers/index.ts +4 -0
- package/src/interaction-enhancers/useHover.ts +84 -0
- package/src/interaction-enhancers/useOnClickOutside.ts +42 -0
- package/src/legacy-hardware-sim/LabwareNameOverlay.module.css +20 -0
- package/src/legacy-hardware-sim/LabwareNameOverlay.tsx +22 -0
- package/src/legacy-hardware-sim/ModuleItem.module.css +98 -0
- package/src/legacy-hardware-sim/ModuleItem.tsx +145 -0
- package/src/legacy-hardware-sim/index.ts +2 -0
- package/src/lists/SidePanelGroup.tsx +48 -0
- package/src/lists/TitledList.tsx +155 -0
- package/src/lists/index.ts +3 -0
- package/src/lists/lists.module.css +171 -0
- package/src/modals/AlertModal.tsx +89 -0
- package/src/modals/ContinueModal.tsx +32 -0
- package/src/modals/LegacyModal.tsx +61 -0
- package/src/modals/Modal.stories.tsx +45 -0
- package/src/modals/Modal.tsx +101 -0
- package/src/modals/ModalHeader.tsx +110 -0
- package/src/modals/ModalShell.tsx +157 -0
- package/src/modals/Overlay.tsx +39 -0
- package/src/modals/SpinnerModal.tsx +35 -0
- package/src/modals/SpinnerModalPage.tsx +29 -0
- package/src/modals/__tests__/Modal.test.tsx +66 -0
- package/src/modals/__tests__/ModalHeader.test.tsx +69 -0
- package/src/modals/__tests__/ModalShell.test.tsx +46 -0
- package/src/modals/index.ts +10 -0
- package/src/modals/modals.module.css +275 -0
- package/src/molecules/Banner/Banner.stories.tsx +51 -0
- package/src/molecules/Banner/__tests__/Banner.test.tsx +95 -0
- package/src/molecules/Banner/index.tsx +148 -0
- package/src/molecules/DeckInfoLabel/DeckInfoLabel.stories.tsx +65 -0
- package/src/molecules/DeckInfoLabel/__tests__/DeckInfoLabel.test.tsx +50 -0
- package/src/molecules/DeckInfoLabel/index.tsx +95 -0
- package/src/molecules/DeckLabel/DeckLabel.stories.tsx +31 -0
- package/src/molecules/DeckLabel/__tests__/DeckLabel.test.tsx +71 -0
- package/src/molecules/DeckLabel/index.tsx +82 -0
- package/src/molecules/DropdownMenu/DropdownMenu.stories.tsx +30 -0
- package/src/molecules/DropdownMenu/__tests__/DropdownMenu.test.tsx +86 -0
- package/src/molecules/DropdownMenu/index.tsx +432 -0
- package/src/molecules/InfoScreen/InfoScreen.stories.tsx +50 -0
- package/src/molecules/InfoScreen/__tests__/InfoScreen.test.tsx +57 -0
- package/src/molecules/InfoScreen/index.tsx +54 -0
- package/src/molecules/LiquidIcon/LiquidIcon.stories.tsx +53 -0
- package/src/molecules/LiquidIcon/__tests__/LiquidIcon.test.tsx +51 -0
- package/src/molecules/LiquidIcon/index.tsx +68 -0
- package/src/molecules/ListAccordion/ListAccordion.stories.tsx +128 -0
- package/src/molecules/ListAccordion/__tests__/ListAccordion.test.tsx +123 -0
- package/src/molecules/ListAccordion/index.tsx +182 -0
- package/src/molecules/ParametersTable/ParametersTable.stories.tsx +172 -0
- package/src/molecules/ParametersTable/__tests__/ParametersTable.test.tsx +126 -0
- package/src/molecules/ParametersTable/index.tsx +198 -0
- package/src/molecules/ReleaseNotes/index.tsx +70 -0
- package/src/molecules/ReleaseNotes/styles.module.css +66 -0
- package/src/molecules/Tabs/Tabs.stories.tsx +74 -0
- package/src/molecules/Tabs/__tests__/Tabs.test.tsx +91 -0
- package/src/molecules/Tabs/index.tsx +115 -0
- package/src/molecules/TextListTableContent/TextListTableContent.stories.tsx +114 -0
- package/src/molecules/TextListTableContent/__tests__/TextListTableContent.test.tsx +44 -0
- package/src/molecules/TextListTableContent/index.tsx +45 -0
- package/src/molecules/index.ts +11 -0
- package/src/nav/SidePanel.module.css +34 -0
- package/src/nav/SidePanel.stories.tsx +29 -0
- package/src/nav/SidePanel.tsx +22 -0
- package/src/nav/index.ts +2 -0
- package/src/organisms/CommandText/CommandText.stories.tsx +78 -0
- package/src/organisms/CommandText/__tests__/CommandText.test.tsx +1670 -0
- package/src/organisms/CommandText/fixtures/index.ts +4 -0
- package/src/organisms/CommandText/fixtures/mockRobotSideAnalysis.json +6609 -0
- package/src/organisms/CommandText/index.tsx +278 -0
- package/src/organisms/CommandText/useCommandTextString/index.ts +315 -0
- package/src/organisms/CommandText/useCommandTextString/utils/__tests__/formatDuration.test.tsx +92 -0
- package/src/organisms/CommandText/useCommandTextString/utils/__tests__/getFinalLabwareLocation.test.ts +130 -0
- package/src/organisms/CommandText/useCommandTextString/utils/__tests__/getLabwareDisplayLocation.test.tsx +185 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/__tests__/getPipettingCommandText.test.tsx +187 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getAbsorbanceReaderCommandText.ts +53 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getCommentCommandText.ts +10 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getConfigureForVolumeCommandText.ts +21 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getConfigureNozzleLayoutCommandText.ts +29 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getCustomCommandText.ts +16 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getDelayCommandText.ts +20 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getDirectTranslationCommandText.ts +44 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getFlexStackerCommandText.ts +32 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getHSShakeSpeedCommandText.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getLiquidProbeCommandText.ts +60 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getLoadCommandText.ts +172 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveLabwareCommandText.ts +108 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveRelativeCommandText.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToAddressableAreaCommandText.ts +19 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToAddressableAreaForDropTipCommandText.ts +19 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToCoordinatesCommandText.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToSlotCommandText.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getMoveToWellCommandText.ts +46 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getPipettingCommandText.ts +196 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getPrepareToAspirateCommandText.ts +20 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getRailLightsCommandText.ts +15 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getTCRunExtendedProfileCommandText.ts +67 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getTCRunProfileCommandText.ts +29 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getTemperatureCommandText.ts +49 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getUnknownCommandText.ts +5 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getWaitForDurationCommandText.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/getWaitForResumeCommandText.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/commandText/index.ts +26 -0
- package/src/organisms/CommandText/useCommandTextString/utils/formatDuration.ts +44 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getAddressableAreaDisplayName.ts +62 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getFinalAddressableAreaCmd.ts +20 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getFinalLabwareLocation.ts +46 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLabwareDefinitionsFromCommands.ts +59 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLabwareDisplayLocation.tsx +140 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLabwareLocation.tsx +271 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLabwareName.ts +41 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLiquidDisplayName.ts +10 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLoadedLabware.tsx +12 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getLoadedModule.ts +12 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getModuleDisplayLocation.ts +10 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getModuleModel.ts +11 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getPipetteNameOnMount.ts +20 -0
- package/src/organisms/CommandText/useCommandTextString/utils/getWellRange.ts +64 -0
- package/src/organisms/CommandText/useCommandTextString/utils/helpers.ts +15 -0
- package/src/organisms/CommandText/useCommandTextString/utils/index.ts +10 -0
- package/src/organisms/CommandText/useCommandTextString/utils/types.ts +19 -0
- package/src/organisms/DeckLabelSet/DeckLabelSet.stories.tsx +49 -0
- package/src/organisms/DeckLabelSet/__tests__/DeckLabelSet.test.tsx +52 -0
- package/src/organisms/DeckLabelSet/index.tsx +93 -0
- package/src/organisms/ProtocolTimelineScrubber/CommandItem.tsx +113 -0
- package/src/organisms/ProtocolTimelineScrubber/PipetteVisuals.tsx +211 -0
- package/src/organisms/ProtocolTimelineScrubber/index.tsx +335 -0
- package/src/organisms/ProtocolTimelineScrubber/types.ts +6 -0
- package/src/organisms/ProtocolTimelineScrubber/utils.ts +157 -0
- package/src/organisms/Toolbox/Toolbox.stories.tsx +33 -0
- package/src/organisms/Toolbox/__tests__/Toolbox.test.tsx +36 -0
- package/src/organisms/Toolbox/index.tsx +148 -0
- package/src/organisms/index.ts +4 -0
- package/src/primitives/Box.stories.tsx +25 -0
- package/src/primitives/Box.tsx +17 -0
- package/src/primitives/Btn.stories.tsx +105 -0
- package/src/primitives/Btn.tsx +268 -0
- package/src/primitives/Flex.stories.tsx +50 -0
- package/src/primitives/Flex.tsx +17 -0
- package/src/primitives/ForeignObject.tsx +69 -0
- package/src/primitives/Link.stories.tsx +27 -0
- package/src/primitives/Link.tsx +33 -0
- package/src/primitives/README.md +188 -0
- package/src/primitives/Svg.stories.tsx +36 -0
- package/src/primitives/Svg.tsx +69 -0
- package/src/primitives/Text.stories.tsx +17 -0
- package/src/primitives/Text.tsx +18 -0
- package/src/primitives/__tests__/Box.test.tsx +4 -0
- package/src/primitives/__tests__/Btn.test.tsx +4 -0
- package/src/primitives/__tests__/Flex.test.tsx +4 -0
- package/src/primitives/__tests__/Link.test.tsx +4 -0
- package/src/primitives/__tests__/Svg.test.tsx +4 -0
- package/src/primitives/__tests__/Text.test.tsx +4 -0
- package/src/primitives/__tests__/primitives.test.tsx +4 -0
- package/src/primitives/__tests__/style-props.test.tsx +4 -0
- package/src/primitives/index.ts +10 -0
- package/src/primitives/style-props.ts +199 -0
- package/src/primitives/types.ts +120 -0
- package/src/robot-types.ts +4 -0
- package/src/slotmap/OT2SlotMap.tsx +73 -0
- package/src/slotmap/__tests__/OT2SlotMap.test.tsx +4 -0
- package/src/slotmap/index.ts +1 -0
- package/src/slotmap/styles.module.css +18 -0
- package/src/structure/Card.stories.tsx +28 -0
- package/src/structure/Card.tsx +63 -0
- package/src/structure/LabeledValue.stories.tsx +17 -0
- package/src/structure/LabeledValue.tsx +31 -0
- package/src/structure/Pill.module.css +16 -0
- package/src/structure/Pill.tsx +43 -0
- package/src/structure/Splash.module.css +16 -0
- package/src/structure/Splash.stories.tsx +24 -0
- package/src/structure/Splash.tsx +22 -0
- package/src/structure/TitleBar.stories.tsx +42 -0
- package/src/structure/TitleBar.tsx +80 -0
- package/src/structure/index.ts +7 -0
- package/src/structure/structure.module.css +114 -0
- package/src/styles/borders.module.css +20 -0
- package/src/styles/borders.ts +16 -0
- package/src/styles/colors.module.css +57 -0
- package/src/styles/colors.ts +58 -0
- package/src/styles/cursor.ts +12 -0
- package/src/styles/flexbox.ts +39 -0
- package/src/styles/index.module.css +8 -0
- package/src/styles/index.ts +8 -0
- package/src/styles/layout.ts +31 -0
- package/src/styles/position.ts +5 -0
- package/src/styles/spacing.ts +11 -0
- package/src/styles/typography.module.css +22 -0
- package/src/styles/typography.ts +90 -0
- package/src/testing/utils/index.ts +2 -0
- package/src/testing/utils/matchers.ts +31 -0
- package/src/testing/utils/renderWithProviders.tsx +59 -0
- package/src/tooltips/DeprecatedTooltip.tsx +111 -0
- package/src/tooltips/HoverTooltip.tsx +84 -0
- package/src/tooltips/LegacyTooltip.stories.tsx +98 -0
- package/src/tooltips/LegacyTooltip.tsx +151 -0
- package/src/tooltips/__tests__/Tooltip.test.tsx +4 -0
- package/src/tooltips/__tests__/useHoverTooltip.test.tsx +4 -0
- package/src/tooltips/__tests__/usePopper.test.tsx +4 -0
- package/src/tooltips/__tests__/useTooltip.test.tsx +4 -0
- package/src/tooltips/constants.ts +28 -0
- package/src/tooltips/index.ts +10 -0
- package/src/tooltips/styles.ts +20 -0
- package/src/tooltips/tooltips.module.css +72 -0
- package/src/tooltips/types.ts +73 -0
- package/src/tooltips/useHoverTooltip.ts +47 -0
- package/src/tooltips/usePopper.ts +87 -0
- package/src/tooltips/useTooltip.ts +100 -0
- package/src/ui-style-constants/animation.ts +1 -0
- package/src/ui-style-constants/index.ts +5 -0
- package/src/ui-style-constants/responsiveness.ts +15 -0
- package/src/ui-style-constants/spacing.ts +18 -0
- package/src/ui-style-constants/typography.ts +258 -0
- package/src/ui-style-constants/viewport.ts +18 -0
- package/src/utils.ts +56 -0
- package/tsconfig-data.json +13 -0
- package/tsconfig.json +8 -5
- package/vite.config.mts +9 -19
- package/lib/controls/LabeledSelect.d.ts +0 -9
- package/lib/forms/DropdownField.d.ts +0 -38
- package/lib/hooks/useIdle.d.ts +0 -11
- package/lib/index.js +0 -22440
- package/lib/organisms/EndUserAgreementFooter/index.d.ts +0 -1
- package/lib/style.css +0 -3786
- /package/lib/{forms/__tests__/DropdownField.test.d.ts → atoms/ListTable/__tests__/ListTable.test.d.ts} +0 -0
- /package/lib/{hooks/__tests__/useIdle.test.d.ts → atoms/SubListTable/__tests__/SubListTable.test.d.ts} +0 -0
- /package/lib/{organisms/EndUserAgreementFooter/__tests__/EndUserAgreementFooter.test.d.ts → molecules/ListAccordion/__tests__/ListAccordion.test.d.ts} +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { render, screen } from '@testing-library/react'
|
|
3
|
+
import '@testing-library/jest-dom/vitest'
|
|
4
|
+
import { fixture12Trough as _fixture12Trough } from '@opentrons/shared-data'
|
|
5
|
+
import { LabwareWellLabels } from '../LabwareWellLabels'
|
|
6
|
+
|
|
7
|
+
import type { LabwareDefinition2 } from '@opentrons/shared-data'
|
|
8
|
+
|
|
9
|
+
const troughFixture12 = _fixture12Trough as LabwareDefinition2
|
|
10
|
+
|
|
11
|
+
describe('LabwareWellLabels', () => {
|
|
12
|
+
it('should render well labels', () => {
|
|
13
|
+
const props = {
|
|
14
|
+
definition: troughFixture12,
|
|
15
|
+
}
|
|
16
|
+
render(
|
|
17
|
+
<svg>
|
|
18
|
+
<LabwareWellLabels {...props} />
|
|
19
|
+
</svg>
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
screen.getByText('A')
|
|
23
|
+
new Array(12)
|
|
24
|
+
.fill(null)
|
|
25
|
+
.forEach((_, index) => screen.getByText(`${index + 1}`))
|
|
26
|
+
})
|
|
27
|
+
it('should highlight the well labels with the given color', () => {
|
|
28
|
+
expect.assertions(13) // there should be 13 highlighted well labels
|
|
29
|
+
const props = {
|
|
30
|
+
definition: troughFixture12,
|
|
31
|
+
highlightedWellLabels: {
|
|
32
|
+
wells: Object.keys(troughFixture12.wells as Record<string, unknown>),
|
|
33
|
+
color: 'blue',
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
render(
|
|
37
|
+
<svg>
|
|
38
|
+
<LabwareWellLabels {...props} />
|
|
39
|
+
</svg>
|
|
40
|
+
)
|
|
41
|
+
const letterWellLabel = screen.getByText('A')
|
|
42
|
+
expect(letterWellLabel.getAttribute('fill')).toBe('blue')
|
|
43
|
+
new Array(12).fill(null).forEach((_, index) => {
|
|
44
|
+
const numberWellLabel = screen.getByText(`${index + 1}`)
|
|
45
|
+
expect(numberWellLabel.getAttribute('fill')).toBe('blue')
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
it('should color the well labels', () => {
|
|
49
|
+
expect.assertions(13) // there should be 13 well labels
|
|
50
|
+
const props = {
|
|
51
|
+
definition: troughFixture12,
|
|
52
|
+
wellLabelColor: 'red',
|
|
53
|
+
}
|
|
54
|
+
render(
|
|
55
|
+
<svg>
|
|
56
|
+
<LabwareWellLabels {...props} />
|
|
57
|
+
</svg>
|
|
58
|
+
)
|
|
59
|
+
const letterWellLabel = screen.getByText('A')
|
|
60
|
+
expect(letterWellLabel.getAttribute('fill')).toBe('red')
|
|
61
|
+
new Array(12).fill(null).forEach((_, index) => {
|
|
62
|
+
const numberWellLabel = screen.getByText(`${index + 1}`)
|
|
63
|
+
expect(numberWellLabel.getAttribute('fill')).toBe('red')
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
})
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { describe, it, vi } from 'vitest'
|
|
2
|
+
import { render, screen } from '@testing-library/react'
|
|
3
|
+
import '@testing-library/jest-dom/vitest'
|
|
4
|
+
import { fixture12Trough } from '@opentrons/shared-data'
|
|
5
|
+
import { StrokedWells } from '../StrokedWells'
|
|
6
|
+
import { WellComponent as Well } from '../Well'
|
|
7
|
+
import type { LabwareDefinition2 } from '@opentrons/shared-data'
|
|
8
|
+
|
|
9
|
+
vi.mock('../Well')
|
|
10
|
+
|
|
11
|
+
const troughFixture12 = fixture12Trough as LabwareDefinition2
|
|
12
|
+
|
|
13
|
+
describe('StrokedWells', () => {
|
|
14
|
+
it('should render a series of wells with the given stroke', () => {
|
|
15
|
+
vi.mocked(Well).mockImplementation(({ stroke, wellName }) =>
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
17
|
+
{
|
|
18
|
+
return <div>{`well ${wellName} with stroke ${stroke}`}</div>
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
render(
|
|
23
|
+
<StrokedWells
|
|
24
|
+
definition={troughFixture12}
|
|
25
|
+
strokeByWell={{ A1: 'blue', A2: 'blue' }}
|
|
26
|
+
/>
|
|
27
|
+
)
|
|
28
|
+
screen.getByText('well A1 with stroke blue')
|
|
29
|
+
screen.getByText('well A2 with stroke blue')
|
|
30
|
+
})
|
|
31
|
+
})
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
import { render, screen } from '@testing-library/react'
|
|
3
|
+
import '@testing-library/jest-dom/vitest'
|
|
4
|
+
import { fixture12Trough as _fixture12Trough } from '@opentrons/shared-data'
|
|
5
|
+
import { WellLabels } from '../WellLabels'
|
|
6
|
+
import { WELL_LABEL_OPTIONS } from '../../LabwareRender'
|
|
7
|
+
import type { LabwareDefinition2 } from '@opentrons/shared-data'
|
|
8
|
+
|
|
9
|
+
const troughFixture12 = _fixture12Trough as LabwareDefinition2
|
|
10
|
+
|
|
11
|
+
describe('WellLabels', () => {
|
|
12
|
+
it('should render well labels outside of the labware', () => {
|
|
13
|
+
expect.assertions(14)
|
|
14
|
+
const props = {
|
|
15
|
+
definition: troughFixture12,
|
|
16
|
+
wellLabelOption: WELL_LABEL_OPTIONS.SHOW_LABEL_INSIDE,
|
|
17
|
+
}
|
|
18
|
+
render(
|
|
19
|
+
<svg>
|
|
20
|
+
<WellLabels {...props} />
|
|
21
|
+
</svg>
|
|
22
|
+
)
|
|
23
|
+
const wellLabels = screen.getAllByTestId('WellsLabels_show_inside')
|
|
24
|
+
expect(wellLabels.length).toBe(13) // 1 label for the single "A" row + 12 labels for the trough columns
|
|
25
|
+
expect(wellLabels[0]).toHaveTextContent('A')
|
|
26
|
+
// assertions for each of the numbered columns, skipping the first well label which has the letter row
|
|
27
|
+
new Array(12)
|
|
28
|
+
.fill(null)
|
|
29
|
+
.forEach((_, index) =>
|
|
30
|
+
expect(wellLabels[index + 1]).toHaveTextContent(`${index + 1}`)
|
|
31
|
+
)
|
|
32
|
+
})
|
|
33
|
+
it('should render well labels inside of the labware', () => {
|
|
34
|
+
expect.assertions(14)
|
|
35
|
+
const props = {
|
|
36
|
+
definition: troughFixture12,
|
|
37
|
+
wellLabelOption: WELL_LABEL_OPTIONS.SHOW_LABEL_OUTSIDE,
|
|
38
|
+
}
|
|
39
|
+
render(
|
|
40
|
+
<svg>
|
|
41
|
+
<WellLabels {...props} />
|
|
42
|
+
</svg>
|
|
43
|
+
)
|
|
44
|
+
const wellLabels = screen.getAllByTestId('WellsLabels_show_outside')
|
|
45
|
+
expect(wellLabels.length).toBe(13) // 1 label for the single "A" row + 12 labels for the trough columns
|
|
46
|
+
expect(wellLabels[0]).toHaveTextContent('A')
|
|
47
|
+
// assertions for each of the numbered columns, skipping the first well label which has the letter row
|
|
48
|
+
new Array(12)
|
|
49
|
+
.fill(null)
|
|
50
|
+
.forEach((_, index) =>
|
|
51
|
+
expect(wellLabels[index + 1]).toHaveTextContent(`${index + 1}`)
|
|
52
|
+
)
|
|
53
|
+
})
|
|
54
|
+
it('should highlight the well labels with the given color', () => {
|
|
55
|
+
expect.assertions(13) // there should be 13 highlighted well labels
|
|
56
|
+
const props = {
|
|
57
|
+
definition: troughFixture12,
|
|
58
|
+
wellLabelOption: WELL_LABEL_OPTIONS.SHOW_LABEL_OUTSIDE,
|
|
59
|
+
highlightedWellLabels: {
|
|
60
|
+
wells: Object.keys(troughFixture12.wells),
|
|
61
|
+
color: 'blue',
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
render(
|
|
65
|
+
<svg>
|
|
66
|
+
<WellLabels {...props} />
|
|
67
|
+
</svg>
|
|
68
|
+
)
|
|
69
|
+
const wellLabels = screen.getAllByTestId('WellsLabels_show_outside')
|
|
70
|
+
wellLabels.forEach(wellLabel =>
|
|
71
|
+
expect(wellLabel.getAttribute('fill')).toBe('blue')
|
|
72
|
+
)
|
|
73
|
+
})
|
|
74
|
+
it('should color the well labels', () => {
|
|
75
|
+
expect.assertions(13) // there should be 13 highlighted well labels
|
|
76
|
+
const props = {
|
|
77
|
+
definition: troughFixture12,
|
|
78
|
+
wellLabelOption: WELL_LABEL_OPTIONS.SHOW_LABEL_OUTSIDE,
|
|
79
|
+
wellLabelColor: 'red',
|
|
80
|
+
}
|
|
81
|
+
render(
|
|
82
|
+
<svg>
|
|
83
|
+
<WellLabels {...props} />
|
|
84
|
+
</svg>
|
|
85
|
+
)
|
|
86
|
+
const wellLabels = screen.getAllByTestId('WellsLabels_show_outside')
|
|
87
|
+
wellLabels.forEach(wellLabel =>
|
|
88
|
+
expect(wellLabel.getAttribute('fill')).toBe('red')
|
|
89
|
+
)
|
|
90
|
+
})
|
|
91
|
+
})
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { MouseEvent } from 'react'
|
|
2
|
+
|
|
3
|
+
export interface WellMouseEvent {
|
|
4
|
+
wellName: string
|
|
5
|
+
event: MouseEvent
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// wellName to CSS color, eg {'A1': '#123456'}
|
|
9
|
+
export type WellFill = Record<string, string>
|
|
10
|
+
export type WellStroke = WellFill
|
|
11
|
+
|
|
12
|
+
// Use this like a Set!
|
|
13
|
+
export type WellGroup = Record<string, null>
|
|
14
|
+
|
|
15
|
+
export interface HighlightedWellLabels {
|
|
16
|
+
wells: string[]
|
|
17
|
+
color?: string
|
|
18
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { COLORS } from '../../helix-design-system'
|
|
2
|
+
|
|
3
|
+
export interface HeaterShakerVizProps {
|
|
4
|
+
targetTemp: number | null
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function HeaterShaker(props: HeaterShakerVizProps): JSX.Element {
|
|
8
|
+
const { targetTemp } = props
|
|
9
|
+
let ledLightColor: string = COLORS.white
|
|
10
|
+
if (targetTemp != null) ledLightColor = COLORS.red30
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<g id="heaterShaker">
|
|
14
|
+
<g id="moduleBaseFill">
|
|
15
|
+
<path
|
|
16
|
+
d="M 28.312 87.55 c 0.882 0 1.078 -0.7 1.078 -1.4 v -3.4 c 0 -0.2 -0.196 -0.5 -0.49 -0.5 h -5.096 c -0.196 0 -0.49 -0.2 -0.49 -0.5 v -4.5 c 0 -0.2 -0.196 -0.5 -0.49 -0.5 h -5.586 c -0.98 0 -1.862 -0.8 -1.862 -1.9 V 14.55 c 0 -1 0.784 -1.9 1.862 -1.9 h 5.586 c 0.196 0 0.49 -0.2 0.49 -0.5 V 7.75 c 0 -0.2 0.196 -0.5 0.49 -0.5 H 28.9 c 0.196 0 0.49 -0.2 0.49 -0.5 V 3.45 c 0 -0.8 -0.392 -1.4 -1.078 -1.4 s -23.422 0 -23.422 0 v 85.5 C 4.89 87.55 27.43 87.55 28.312 87.55 z"
|
|
17
|
+
style={{ fill: '#E6E6E6' }}
|
|
18
|
+
></path>
|
|
19
|
+
</g>
|
|
20
|
+
<g id="moduleOutline">
|
|
21
|
+
<path d="M 149.342 0.05 v 89.6 H 5.478 V 0.05 H 149.342 M 150.322 -1.05 H 4.4 v 91.7 h 145.922 V -1.05 L 150.322 -1.05 z"></path>
|
|
22
|
+
</g>
|
|
23
|
+
<g id="moduleBaseInnerWalls">
|
|
24
|
+
<path d="M 149.832 88.05 H 147.48 v -1.4 H 29.88 c -0.196 1.2 -1.176 1.4 -1.568 1.4 H 4.89 v -1 h 23.324 c 0.294 0 0.686 -0.1 0.686 -0.9 v -0.5 h 119.56 v 1.4 h 1.372 V 88.05 z"></path>
|
|
25
|
+
<path d="M 148.46 3.95 H 28.9 V 3.45 c 0 -0.8 -0.294 -0.9 -0.686 -0.9 H 4.89 v -1 h 23.324 c 0.392 0 1.372 0.1 1.568 1.4 h 117.6 V 1.55 h 2.352 v 1 H 148.46 V 3.95 z"></path>
|
|
26
|
+
</g>
|
|
27
|
+
<g id="statusFill">
|
|
28
|
+
<path
|
|
29
|
+
d="M 9.104 39.25 c 0 -1.1 0.882 -2 1.96 -2 s 1.96 0.9 1.96 2 v 11.2 c 0 1.1 -0.882 2 -1.96 2 s -1.96 -0.9 -1.96 -2 V 39.25 z"
|
|
30
|
+
style={{ fill: ledLightColor }}
|
|
31
|
+
></path>
|
|
32
|
+
</g>
|
|
33
|
+
<g id="statusOutline">
|
|
34
|
+
<path d="M 11.064 52.65 H 10.966 c -1.176 0 -2.156 -1 -2.156 -2.2 V 39.15 c 0 -1.2 0.98 -2.2 2.156 -2.2 h 0.098 C 12.24 36.95 13.22 37.95 13.22 39.15 v 11.3 C 13.22 51.65 12.24 52.65 11.064 52.65 z M 10.966 37.45 c -0.882 0 -1.666 0.8 -1.666 1.7 v 11.3 c 0 1 0.784 1.7 1.666 1.7 h 0.098 c 0.98 0 1.666 -0.8 1.666 -1.7 V 39.15 c 0 -1 -0.784 -1.7 -1.666 -1.7 H 10.966 z"></path>
|
|
35
|
+
</g>
|
|
36
|
+
<g id="moduleMidFill">
|
|
37
|
+
<path
|
|
38
|
+
d="M 16.258 90.15 L 12.828 84.95 c -0.098 -0.1 -0.098 -0.2 -0.098 -0.3 V 4.95 c 0 -0.1 0 -0.2 0.098 -0.3 l 3.43 -5.2 h 131.516 l 3.43 5.2 c 0.098 0.1 0.098 0.2 0.098 0.3 v 79.7 c 0 0.1 0 0.2 -0.098 0.3 l -3.43 5.2 H 16.258"
|
|
39
|
+
style={{ fill: '#E6E6E6' }}
|
|
40
|
+
></path>
|
|
41
|
+
</g>
|
|
42
|
+
<g id="moduleMidOutline">
|
|
43
|
+
<path d="M 147.48 0.05 l 3.234 5 v 79.7 l -3.234 5 H 16.454 l -3.234 -5 V 4.95 l 3.234 -4.9 L 147.48 0.05 M 147.97 -1.05 H 15.964 L 12.436 4.35 C 12.338 4.55 12.24 4.75 12.24 4.95 v 79.7 c 0 0.2 0.098 0.4 0.196 0.6 l 3.528 5.4 h 132.104 l 3.528 -5.4 c 0.098 -0.2 0.196 -0.4 0.196 -0.6 V 4.95 c 0 -0.2 -0.098 -0.4 -0.196 -0.6 L 147.97 -1.05 L 147.97 -1.05 z"></path>
|
|
44
|
+
</g>
|
|
45
|
+
<g id="plateBottomFill">
|
|
46
|
+
<path
|
|
47
|
+
d="M 52.518 5.45 c -0.882 0 -1.666 0.6 -1.862 1.6 c -0.392 1.7 -1.862 2.9 -3.626 2.9 s -3.234 -1.2 -3.626 -2.9 c -0.196 -1 -1.078 -1.6 -1.862 -1.6 H 28.312 c -1.568 0 -2.842 1.3 -2.842 2.9 v 72.9 c 0 1.6 1.274 2.9 2.842 2.9 h 13.132 c 0.784 0 1.568 -0.6 1.862 -1.6 c 0.392 -1.7 1.862 -2.9 3.626 -2.9 s 3.234 1.2 3.626 2.9 c 0.196 1 0.98 1.6 1.862 1.6 h 58.996 c 0.882 0 1.666 -0.6 1.862 -1.6 c 0.392 -1.7 1.862 -2.9 3.626 -2.9 c 1.764 0 3.234 1.2 3.626 2.9 c 0.196 1 1.078 1.6 1.862 1.6 H 135.72 c 1.568 0 2.842 -1.3 2.842 -2.9 V 8.35 c 0 -1.6 -1.274 -2.9 -2.842 -2.9 h -13.132 c -0.784 0 -1.568 0.6 -1.862 1.6 c -0.392 1.7 -1.862 2.9 -3.626 2.9 c -1.764 0 -3.234 -1.2 -3.626 -2.9 c -0.196 -1 -0.98 -1.6 -1.862 -1.6 L 52.518 5.45 L 52.518 5.45 z"
|
|
48
|
+
style={{ fill: COLORS.white }}
|
|
49
|
+
></path>
|
|
50
|
+
</g>
|
|
51
|
+
<g id="plateBottomOutline">
|
|
52
|
+
<path d="M 135.72 84.45 h -13.132 c -0.98 0 -1.764 -0.7 -2.058 -1.7 c -0.392 -1.6 -1.764 -2.7 -3.43 -2.7 s -3.038 1.1 -3.43 2.7 c -0.294 1.1 -1.078 1.7 -2.058 1.7 H 52.518 c -0.98 0 -1.862 -0.7 -2.058 -1.7 c -0.392 -1.6 -1.764 -2.7 -3.43 -2.7 s -3.038 1.1 -3.43 2.7 c -0.294 1 -1.078 1.7 -2.058 1.7 H 28.312 c -1.764 0 -3.136 -1.4 -3.136 -3.2 V 8.35 c 0 -1.8 1.372 -3.2 3.136 -3.2 h 13.132 c 0.98 0 1.764 0.7 2.058 1.7 c 0.392 1.6 1.764 2.7 3.43 2.7 s 3.038 -1.1 3.43 -2.7 c 0.294 -1 0.98 -1.6 1.862 -1.7 l 0 0 h 59.192 c 0.98 0 1.862 0.7 2.058 1.7 c 0.392 1.6 1.764 2.7 3.43 2.7 s 3.038 -1.1 3.43 -2.7 c 0.294 -1 1.078 -1.7 2.058 -1.7 H 135.72 c 1.764 0 3.136 1.4 3.136 3.2 v 72.9 C 138.758 83.05 137.386 84.45 135.72 84.45 z M 117.002 79.55 c 1.862 0 3.43 1.3 3.92 3.1 c 0.196 0.8 0.882 1.4 1.568 1.4 H 135.72 c 1.47 0 2.646 -1.2 2.646 -2.7 v -73 c 0 -1.5 -1.176 -2.7 -2.646 -2.7 h -13.132 c -0.686 0 -1.372 0.6 -1.568 1.4 c -0.49 1.8 -2.058 3.1 -3.92 3.1 s -3.43 -1.3 -3.92 -3.1 c -0.196 -0.8 -0.882 -1.4 -1.666 -1.4 h -58.8 h -0.196 c -0.784 0 -1.372 0.5 -1.666 1.4 c -0.49 1.8 -2.058 3.1 -3.92 3.1 s -3.43 -1.3 -3.92 -3.1 c -0.196 -0.8 -0.882 -1.4 -1.568 -1.4 H 28.312 c -1.47 0 -2.646 1.2 -2.646 2.7 v 72.9 c 0 1.5 1.176 2.7 2.646 2.7 h 13.132 c 0.686 0 1.372 -0.6 1.568 -1.4 c 0.49 -1.8 2.058 -3.1 3.92 -3.1 s 3.43 1.3 3.92 3.1 c 0.196 0.8 0.882 1.4 1.666 1.4 h 58.996 c 0.784 0 1.372 -0.5 1.666 -1.4 C 113.572 80.75 115.14 79.55 117.002 79.55 z"></path>
|
|
53
|
+
</g>
|
|
54
|
+
<g id="plateHolder">
|
|
55
|
+
<path d="M 117.002 1.95 c -2.254 0 -4.018 1.8 -4.018 4.1 s 1.764 4.1 4.018 4.1 s 4.018 -1.8 4.018 -4.1 S 119.256 1.95 117.002 1.95 z M 113.474 6.05 c 0 -0.4 0.098 -0.8 0.196 -1.1 h 6.664 c 0.098 0.4 0.196 0.7 0.196 1.1 c 0 0.2 0 0.4 -0.098 0.6 h -6.958 C 113.572 6.45 113.474 6.25 113.474 6.05 z M 117.002 2.45 c 1.372 0 2.548 0.8 3.136 2 h -6.272 C 114.454 3.25 115.63 2.45 117.002 2.45 z M 117.002 9.65 c -1.568 0 -2.842 -1.1 -3.332 -2.5 h 6.664 C 119.942 8.55 118.57 9.65 117.002 9.65 z M 46.932 1.95 c -2.254 0 -4.018 1.8 -4.018 4.1 s 1.764 4.1 4.018 4.1 s 4.018 -1.8 4.018 -4.1 S 49.186 1.95 46.932 1.95 z M 43.404 6.05 c 0 -0.4 0.098 -0.8 0.196 -1.1 h 6.664 C 50.46 5.25 50.46 5.65 50.46 6.05 c 0 0.2 0 0.4 -0.098 0.6 h -6.958 C 43.502 6.45 43.404 6.25 43.404 6.05 z M 46.932 2.45 c 1.372 0 2.548 0.8 3.136 2 h -6.272 C 44.482 3.25 45.56 2.45 46.932 2.45 z M 46.932 9.65 c -1.568 0 -2.842 -1.1 -3.332 -2.5 h 6.664 C 49.872 8.55 48.5 9.65 46.932 9.65 z M 46.932 79.45 c -2.254 0 -4.018 1.8 -4.018 4.1 s 1.764 4.1 4.018 4.1 s 4.018 -1.8 4.018 -4.1 S 49.186 79.45 46.932 79.45 z M 46.932 79.95 c 1.568 0 2.94 1.1 3.332 2.5 H 43.6 C 44.09 81.05 45.364 79.95 46.932 79.95 z M 50.46 83.55 c 0 0.4 -0.098 0.8 -0.196 1.2 H 43.6 c -0.098 -0.4 -0.196 -0.8 -0.196 -1.2 c 0 -0.2 0 -0.4 0.098 -0.6 H 50.46 C 50.46 83.15 50.46 83.35 50.46 83.55 z M 46.932 87.15 c -1.372 0 -2.548 -0.8 -3.136 -1.9 h 6.174 C 49.48 86.35 48.304 87.15 46.932 87.15 z M 117.002 79.45 c -2.254 0 -4.018 1.8 -4.018 4.1 s 1.764 4.1 4.018 4.1 s 4.018 -1.8 4.018 -4.1 S 119.256 79.45 117.002 79.45 z M 117.002 79.95 c 1.568 0 2.94 1.1 3.332 2.5 h -6.664 C 114.16 81.05 115.434 79.95 117.002 79.95 z M 120.53 83.55 c 0 0.4 -0.098 0.8 -0.196 1.2 h -6.664 c -0.098 -0.4 -0.196 -0.8 -0.196 -1.2 c 0 -0.2 0 -0.4 0.098 -0.6 h 6.958 C 120.53 83.15 120.53 83.35 120.53 83.55 z M 117.002 87.15 c -1.372 0 -2.548 -0.8 -3.136 -1.9 h 6.174 C 119.55 86.35 118.374 87.15 117.002 87.15 z"></path>
|
|
56
|
+
</g>
|
|
57
|
+
<g id="adapterScrew">
|
|
58
|
+
<path
|
|
59
|
+
d="M 82.016 49.45 c -2.548 0 -4.606 -2.1 -4.606 -4.7 s 2.058 -4.7 4.606 -4.7 s 4.606 2.1 4.606 4.7 S 84.466 49.45 82.016 49.45 z M 82.016 40.55 c -2.254 0 -4.116 1.9 -4.116 4.2 s 1.862 4.2 4.116 4.2 c 2.254 0 4.116 -1.9 4.116 -4.2 C 86.132 42.45 84.27 40.55 82.016 40.55 z M 82.016 47.95 c -1.764 0 -3.136 -1.4 -3.136 -3.2 s 1.372 -3.2 3.136 -3.2 s 3.136 1.4 3.136 3.2 C 85.054 46.55 83.682 47.95 82.016 47.95 z M 82.016 42.15 c -1.47 0 -2.646 1.2 -2.646 2.7 s 1.176 2.7 2.646 2.7 s 2.646 -1.2 2.646 -2.7 C 84.564 43.35 83.388 42.15 82.016 42.15 z"
|
|
60
|
+
style={{ fill: '#ADADAD' }}
|
|
61
|
+
></path>
|
|
62
|
+
</g>
|
|
63
|
+
<g id="leftLatchFill">
|
|
64
|
+
<path
|
|
65
|
+
d="M 18.218 5.55 c 0 -0.4 0.098 -0.8 0.392 -1.2 L 22.824 -1.05 h -6.86 L 12.436 4.35 C 12.338 4.55 12.24 4.75 12.24 4.95 v 79.7 c 0 0.2 0.098 0.4 0.196 0.6 l 3.528 5.4 h 6.86 l -4.214 -5.4 c -0.196 -0.4 -0.392 -0.7 -0.392 -1.2 L 18.218 5.55 L 18.218 5.55 z"
|
|
66
|
+
style={{ fill: '#E6E6E6' }}
|
|
67
|
+
></path>
|
|
68
|
+
</g>
|
|
69
|
+
<g id="leftLatchOutline">
|
|
70
|
+
<path d="M 20.668 0.05 l -2.842 3.7 c -0.392 0.5 -0.588 1.2 -0.588 1.8 v 78.5 c 0 0.7 0.196 1.3 0.588 1.8 l 2.842 3.7 h -4.214 l -3.234 -5 V 4.95 l 3.234 -4.9 L 20.668 0.05 M 22.824 -1.05 h -6.86 L 12.436 4.35 C 12.338 4.55 12.24 4.75 12.24 4.95 v 79.7 c 0 0.2 0.098 0.4 0.196 0.6 l 3.528 5.4 h 6.86 l -4.214 -5.4 c -0.196 -0.4 -0.392 -0.7 -0.392 -1.2 V 5.55 c 0 -0.4 0.098 -0.8 0.392 -1.2 L 22.824 -1.05 L 22.824 -1.05 z"></path>
|
|
71
|
+
</g>
|
|
72
|
+
<g id="rightLatchFill">
|
|
73
|
+
<path
|
|
74
|
+
d="M 146.794 5.55 c 0 -0.4 -0.098 -0.8 -0.392 -1.2 L 142.188 -1.05 h 6.86 l 3.528 5.4 c 0.098 0.2 0.196 0.4 0.196 0.6 v 79.7 c 0 0.2 -0.098 0.4 -0.196 0.6 l -3.528 5.4 h -6.86 l 4.214 -5.4 c 0.196 -0.4 0.392 -0.7 0.392 -1.2 V 5.55 z"
|
|
75
|
+
style={{ fill: '#E6E6E6' }}
|
|
76
|
+
></path>
|
|
77
|
+
</g>
|
|
78
|
+
<g id="rightLatchOutline">
|
|
79
|
+
<path d="M 148.558 0.05 l 3.234 5 v 79.7 l -3.234 5 h -4.214 l 2.842 -3.7 c 0.392 -0.5 0.588 -1.2 0.588 -1.8 V 5.55 c 0 -0.7 -0.196 -1.3 -0.588 -1.8 l -2.842 -3.7 L 148.558 0.05 M 149.048 -1.05 h -6.86 l 4.214 5.4 c 0.196 0.4 0.392 0.7 0.392 1.2 v 78.5 c 0 0.4 -0.098 0.8 -0.392 1.2 l -4.214 5.4 h 6.86 l 3.528 -5.4 c 0.098 -0.2 0.196 -0.4 0.196 -0.6 V 4.85 c 0 -0.2 -0.098 -0.4 -0.196 -0.6 L 149.048 -1.05 L 149.048 -1.05 z"></path>
|
|
80
|
+
</g>
|
|
81
|
+
</g>
|
|
82
|
+
)
|
|
83
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { COLORS } from '../../helix-design-system'
|
|
2
|
+
|
|
3
|
+
export function MagneticBlock(): JSX.Element {
|
|
4
|
+
return (
|
|
5
|
+
<g id="magneticBlock">
|
|
6
|
+
<g id="footprint">
|
|
7
|
+
<rect
|
|
8
|
+
style={{
|
|
9
|
+
fill: '#e6e6e6',
|
|
10
|
+
stroke: COLORS.black90,
|
|
11
|
+
strokeLinecap: 'round',
|
|
12
|
+
strokeLinejoin: 'round',
|
|
13
|
+
strokeWidth: '0.71px',
|
|
14
|
+
}}
|
|
15
|
+
x=".35"
|
|
16
|
+
y=".36"
|
|
17
|
+
width="136"
|
|
18
|
+
height="94"
|
|
19
|
+
rx="5"
|
|
20
|
+
ry="5"
|
|
21
|
+
></rect>
|
|
22
|
+
</g>
|
|
23
|
+
<g id="slotClips">
|
|
24
|
+
<path
|
|
25
|
+
style={{
|
|
26
|
+
fill: 'none',
|
|
27
|
+
stroke: COLORS.black90,
|
|
28
|
+
strokeLinecap: 'round',
|
|
29
|
+
strokeLinejoin: 'round',
|
|
30
|
+
strokeWidth: '0.71px',
|
|
31
|
+
}}
|
|
32
|
+
d="m17.37.36v2.6m-2-.93V.36m2,2.6c0-.52-.9-.93-2-.93m104,.93V.36m2,1.67c-1.1,0-2,.42-2,.93m2-2.6v1.67m-2,92.33v-2.6m2,.93v1.67m-2-2.6c0,.52.9.93,2,.93M5.37,2.03v1.99m.18.12c-.06-.05-.12-.08-.18-.12m.18.12c.18.14.4.22.63.22m11.19,0H6.18m11.19-1.4v1.4M5.37,2.03h10M6.18,90.35h11.19m-11.19,0c-.23,0-.45.08-.63.22m-.18.12c.06-.03.13-.07.18-.12m-.18,2.11v-1.99m10,1.99H5.37m10,0c1.1,0,2-.42,2-.93m0-1.4v1.4m-15.33-2.4h1.99m.12-.18c-.05.06-.08.12-.12.18m.12-.18c.14-.18.22-.4.22-.63m0-11.19v11.19m-1.4-11.19h1.4m-1.4,0c-.52,0-.93.9-.93,2m0,10v-10m130.33,9.19v-11.19m0,11.19c0,.23.08.45.22.63m.12.18c-.03-.06-.07-.13-.12-.18m2.11.18h-1.99m1.99-10v10m0-10c0-1.1-.42-2-.93-2m-1.4,0h1.4m-2.4,15.33v-1.99m-.18-.12c.06.05.12.08.18.12m-.18-.12c-.18-.14-.4-.22-.63-.22m-11.19,0h11.19m-11.19,1.4v-1.4m12,2.33h-10m9.19-88.33h-11.19m11.19,0c.23,0,.45-.08.63-.22m.18-.12c-.06.03-.13.07-.18.12m.18-2.11v1.99m-10-1.99h10m-12,2.33v-1.4m15.33,2.4h-1.99m-.12.18c.05-.06.08-.12.12-.18m-.12.18c-.14.18-.22.4-.22.63m0,11.19V6.18m1.4,11.19h-1.4m1.4,0c.52,0,.93-.9.93-2m0-10v10M4.37,6.18v11.19m0-11.19c0-.23-.08-.45-.22-.63m-.12-.18c.03.06.07.13.12.18m-2.11-.19h1.99m-1.99,10V5.36m0,10c0,1.1.42,2,.93,2m1.4,0h-1.4m133.4,0h-2.6m.93-2h1.67m-2.6,62h2.6m0,2h-1.67M2.97,17.37H.36m0-2h1.67m15.33,76.4v2.6m-2,0v-1.67M.36,77.35h2.6m-.93,2H.36M134.68,5.36c0-1.84-1.49-3.33-3.33-3.33m0,1.99c.81-.44,1.78.53,1.34,1.34M2.04,89.37c0,1.84,1.49,3.33,3.33,3.33M5.36,2.04c-1.84,0-3.33,1.49-3.33,3.33m129.33,87.33c1.84,0,3.33-1.49,3.33-3.33m-1.99,0c.44.81-.53,1.78-1.34,1.34m-126,0c-.81.44-1.78-.53-1.34-1.34M4.03,5.37c-.44-.81.53-1.78,1.34-1.34m112,90.34v-4m0,0h2M4.37,19.37H.36m4-2v2M.36,75.35h4m0,0v2M136.36,19.37h-4m0,0v-2m0,58h4m-4,2v-2M117.35,4.37V.36m2,4h-2M19.37.36v4m0,0h-2m2,86v4m-2-4h2"
|
|
33
|
+
></path>
|
|
34
|
+
</g>
|
|
35
|
+
<g id="wells">
|
|
36
|
+
<path
|
|
37
|
+
style={{
|
|
38
|
+
fill: 'none',
|
|
39
|
+
stroke: COLORS.black90,
|
|
40
|
+
strokeLinecap: 'round',
|
|
41
|
+
strokeLinejoin: 'round',
|
|
42
|
+
strokeWidth: '0.71px',
|
|
43
|
+
}}
|
|
44
|
+
d="M 41.61 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.51 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.61 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.51 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.61 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.51 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.61 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.51 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.61 42.85 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.51 42.85 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.61 42.85 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.51 42.85 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.61 42.85 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.51 42.85 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.61 42.85 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.51 42.85 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.61 33.85 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.51 33.85 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.61 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.51 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.61 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.51 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.61 33.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.51 33.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.61 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.51 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.61 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.51 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.61 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.51 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.61 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.51 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.61 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.51 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.6 24.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.5 24.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.6 15.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.5 15.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.6 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.5 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.6 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.5 42.87 c -0.08 -5.64 8.8 -5.614 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.6 42.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.5 42.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.6 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.5 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.6 60.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.5 60.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.6 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.5 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.6 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.5 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.6 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.5 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.6 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.5 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 104.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 104.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 113.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 113.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.59 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.49 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 59.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 59.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 50.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 50.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 32.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 32.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 68.59 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 68.49 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 77.59 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 77.49 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.59 51.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.49 51.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 41.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 41.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 14.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 14.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 95.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 95.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 86.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 86.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.59 69.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.49 69.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z M 23.59 78.87 c -0.08 -5.52 8.58 -5.52 8.5 0 c 0.08 5.51 -8.58 5.51 -8.5 0 Z M 23.49 78.87 c -0.08 -5.64 8.78 -5.64 8.7 0 c 0.08 5.64 -8.78 5.64 -8.7 0 Z"
|
|
45
|
+
></path>
|
|
46
|
+
</g>
|
|
47
|
+
</g>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export function MagneticModule(): JSX.Element {
|
|
2
|
+
return (
|
|
3
|
+
<g id="magneticModule">
|
|
4
|
+
<g id="moduleVisualization">
|
|
5
|
+
<g id="darkFill">
|
|
6
|
+
<path
|
|
7
|
+
d="M126.4,74.2c-0.8,0-1.4,0.6-1.4,1.4v6.2c0,1.4-1.2,2.6-2.6,2.6H83.6v4.9H0.7V0.7h82.9v4.4h38.8 c1.4,0,2.6,1.2,2.6,2.6v6.2c0,0.8,0.6,1.4,1.4,1.4h8.8v58.9H126.4z M24.4,13.5h-1.9v9.8h1.9V13.5z M24.4,31.1h-1.9V41h1.9V31.1z M24.4,49h-1.9v9.8h1.9V49z M24.4,66.8h-1.9v9.8h1.9V66.8z M42.2,13.5h-1.9v9.8h1.9V13.5z M42.2,31.1h-1.9V41h1.9V31.1z M42.2,49 h-1.9v9.8h1.9V49z M42.2,66.8h-1.9v9.8h1.9V66.8z M59.9,13.5h-1.9v9.8h1.9V13.5z M59.9,31.1h-1.9V41h1.9V31.1z M59.9,49h-1.9v9.8 h1.9V49z M59.9,66.8h-1.9v9.8h1.9V66.8z M77.7,13.5h-1.9v9.8h1.9V13.5z M77.7,31.1h-1.9V41h1.9V31.1z M77.7,49h-1.9v9.8h1.9V49z M77.7,66.8h-1.9v9.8h1.9V66.8z M95.5,13.5h-1.9v9.8h1.9V13.5z M95.5,31.1h-1.9V41h1.9V31.1z M95.5,49h-1.9v9.8h1.9V49z M95.5,66.8h-1.9v9.8h1.9V66.8z M113.3,13.5h-1.9v9.8h1.9V13.5z M113.3,31.1h-1.9V41h1.9V31.1z M113.3,49h-1.9v9.8h1.9V49z M113.3,66.8h-1.9v9.8h1.9V66.8z"
|
|
8
|
+
style={{ fill: '#E6E6E6' }}
|
|
9
|
+
></path>
|
|
10
|
+
</g>
|
|
11
|
+
<g id="magnetPlate">
|
|
12
|
+
<path d="M118,81.7c2.2,0,4-1.8,4-4V11.9c0-2.2-1.8-4-4-4H18.1c-2.2,0-4,1.8-4,4v65.8c0,2.2,1.8,4,4,4L118,81.7 M118,82.4H18.1 c-2.6,0-4.7-2.1-4.7-4.7V11.9c0-2.6,2.1-4.7,4.7-4.7H118c2.6,0,4.7,2.1,4.7,4.7v65.8C122.7,80.3,120.6,82.4,118,82.4L118,82.4z"></path>
|
|
13
|
+
<path d="M42.2,23.3v-9.8h-1.9v9.8H42.2 M42.9,24h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V24L42.9,24z"></path>
|
|
14
|
+
<path d="M42.2,41v-9.8h-1.9V41H42.2 M42.9,41.7h-0.7h-1.9h-0.7V41v-9.8v-0.7h0.7h1.9h0.7v0.7V41V41.7L42.9,41.7z"></path>
|
|
15
|
+
<path d="M42.2,58.8V49h-1.9v9.8H42.2 M42.9,59.5h-0.7h-1.9h-0.7v-0.7V49v-0.7h0.7h1.9h0.7V49v9.8V59.5L42.9,59.5z"></path>
|
|
16
|
+
<path d="M59.9,76.6v-9.8h-1.9v9.8H59.9 M60.7,77.4h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V77.4L60.7,77.4z"></path>
|
|
17
|
+
<path d="M59.9,23.3v-9.8h-1.9v9.8H59.9 M60.7,24h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V24L60.7,24z"></path>
|
|
18
|
+
<path d="M59.9,41v-9.8h-1.9V41H59.9 M60.7,41.7h-0.7h-1.9h-0.7V41v-9.8v-0.7h0.7h1.9h0.7v0.7V41V41.7L60.7,41.7z"></path>
|
|
19
|
+
<path d="M59.9,58.8V49h-1.9v9.8H59.9 M60.7,59.5h-0.7h-1.9h-0.7v-0.7V49v-0.7h0.7h1.9h0.7V49v9.8V59.5L60.7,59.5z"></path>
|
|
20
|
+
<path d="M77.7,76.6v-9.8h-1.9v9.8H77.7 M78.4,77.4h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V77.4L78.4,77.4z"></path>
|
|
21
|
+
<path d="M77.7,23.3v-9.8h-1.9v9.8H77.7 M78.4,24h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V24L78.4,24z"></path>
|
|
22
|
+
<path d="M77.7,41v-9.8h-1.9V41H77.7 M78.4,41.7h-0.7h-1.9h-0.7V41v-9.8v-0.7h0.7h1.9h0.7v0.7V41V41.7L78.4,41.7z"></path>
|
|
23
|
+
<path d="M77.7,58.8V49h-1.9v9.8H77.7 M78.4,59.5h-0.7h-1.9h-0.7v-0.7V49v-0.7h0.7h1.9h0.7V49v9.8V59.5L78.4,59.5z"></path>
|
|
24
|
+
<path d="M95.5,76.6v-9.8h-1.9v9.8H95.5 M96.2,77.4h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V77.4L96.2,77.4z"></path>
|
|
25
|
+
<path d="M95.5,23.3v-9.8h-1.9v9.8H95.5 M96.2,24h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V24L96.2,24z"></path>
|
|
26
|
+
<path d="M95.5,41v-9.8h-1.9V41H95.5 M96.2,41.7h-0.7h-1.9h-0.7V41v-9.8v-0.7h0.7h1.9h0.7v0.7V41V41.7L96.2,41.7z"></path>
|
|
27
|
+
<path d="M95.5,58.8V49h-1.9v9.8H95.5 M96.2,59.5h-0.7h-1.9h-0.7v-0.7V49v-0.7h0.7h1.9h0.7V49v9.8V59.5L96.2,59.5z"></path>
|
|
28
|
+
<path d="M113.3,76.6v-9.8h-1.9v9.8H113.3 M114,77.4h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V77.4L114,77.4z"></path>
|
|
29
|
+
<path d="M113.3,23.3v-9.8h-1.9v9.8H113.3 M114,24h-0.7h-1.9h-0.7v-0.7v-9.8v-0.7h0.7h1.9h0.7v0.7v9.8V24L114,24z"></path>
|
|
30
|
+
<path d="M113.3,41v-9.8h-1.9V41H113.3 M114,41.7h-0.7h-1.9h-0.7V41v-9.8v-0.7h0.7h1.9h0.7v0.7V41V41.7L114,41.7z"></path>
|
|
31
|
+
<path d="M113.3,58.8V49h-1.9v9.8H113.3 M114,59.5h-0.7h-1.9h-0.7v-0.7V49v-0.7h0.7h1.9h0.7V49v9.8V59.5L114,59.5z"></path>
|
|
32
|
+
</g>
|
|
33
|
+
<g id="innerWall">
|
|
34
|
+
<path d="M135.2,73.8h-8.8c-1,0-1.7,0.8-1.7,1.7v6.2c0,1.2-1,2.2-2.2,2.2H83.6v0.7h38.8c1.6,0,3-1.3,3-3v-6.2c0-0.6,0.5-1,1-1h8.8 V73.8z M122.4,4.7H83.6v0.7h38.8c1.2,0,2.2,1,2.2,2.2v6.2c0,1,0.8,1.7,1.7,1.7h8.8v-0.7h-8.8c-0.6,0-1-0.5-1-1V7.7 C125.4,6.1,124.1,4.7,122.4,4.7z"></path>
|
|
35
|
+
</g>
|
|
36
|
+
<g id="labwareBracket">
|
|
37
|
+
<path d="M84.3,0H0v90h84.4v-9H17.4c-3.4,0-6.1-2.7-6.1-6.1V14.7c0-3.4,2.7-6.1,6.1-6.1h66.9L84.3,0L84.3,0z M1.4,1.4h81.5v5.7 H17.4c-4.1,0-7.5,3.4-7.5,7.5v60.2c0,4.1,3.4,7.5,7.5,7.5h65.5v6.1H1.4V1.4z"></path>
|
|
38
|
+
</g>
|
|
39
|
+
<g id="magnetPlateOverlayFill">
|
|
40
|
+
<path
|
|
41
|
+
d="M118,81.7c2.2,0,4-1.8,4-4V11.9c0-2.2-1.8-4-4-4H18.1c-2.2,0-4,1.8-4,4v65.8c0,2.2,1.8,4,4,4L118,81.7z"
|
|
42
|
+
style={{ fill: '#FFFFFFF0' }}
|
|
43
|
+
></path>
|
|
44
|
+
</g>
|
|
45
|
+
<g id="outline">
|
|
46
|
+
<path d="M135.9,0H0l0,90h135.9V0z M1.4,1.4h133.1v87.1H1.4V1.4z"></path>
|
|
47
|
+
</g>
|
|
48
|
+
</g>
|
|
49
|
+
</g>
|
|
50
|
+
)
|
|
51
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fixture96Plate,
|
|
3
|
+
getModuleDef2,
|
|
4
|
+
MAGNETIC_MODULE_V1,
|
|
5
|
+
MAGNETIC_MODULE_V2,
|
|
6
|
+
TEMPERATURE_MODULE_V1,
|
|
7
|
+
TEMPERATURE_MODULE_V2,
|
|
8
|
+
THERMOCYCLER_MODULE_V1,
|
|
9
|
+
THERMOCYCLER_MODULE_V2,
|
|
10
|
+
HEATERSHAKER_MODULE_V1,
|
|
11
|
+
MAGNETIC_BLOCK_V1,
|
|
12
|
+
} from '@opentrons/shared-data'
|
|
13
|
+
import { LabwareRender } from '../Labware'
|
|
14
|
+
import { RobotCoordinateSpace } from '../RobotCoordinateSpace'
|
|
15
|
+
import { Module as ModuleComponent } from './'
|
|
16
|
+
|
|
17
|
+
import type { Story, Meta } from '@storybook/react'
|
|
18
|
+
import type { LabwareDefinition2, ModuleModel } from '@opentrons/shared-data'
|
|
19
|
+
|
|
20
|
+
const moduleModels: ModuleModel[] = [
|
|
21
|
+
TEMPERATURE_MODULE_V2,
|
|
22
|
+
TEMPERATURE_MODULE_V1,
|
|
23
|
+
THERMOCYCLER_MODULE_V1,
|
|
24
|
+
THERMOCYCLER_MODULE_V2,
|
|
25
|
+
MAGNETIC_MODULE_V1,
|
|
26
|
+
MAGNETIC_MODULE_V2,
|
|
27
|
+
HEATERSHAKER_MODULE_V1,
|
|
28
|
+
MAGNETIC_BLOCK_V1,
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
export default {
|
|
32
|
+
title: 'Library/Molecules/Simulation/Module',
|
|
33
|
+
} as Meta
|
|
34
|
+
|
|
35
|
+
const Template: Story<{
|
|
36
|
+
model: ModuleModel
|
|
37
|
+
orientation: 'left' | 'right'
|
|
38
|
+
hasLabware: boolean
|
|
39
|
+
innerProps: {}
|
|
40
|
+
}> = args => {
|
|
41
|
+
return (
|
|
42
|
+
<RobotCoordinateSpace height="100vh" width="100vw" viewBox="0 -50 200 320">
|
|
43
|
+
<ModuleComponent
|
|
44
|
+
def={getModuleDef2(args.model)}
|
|
45
|
+
x={0}
|
|
46
|
+
y={0}
|
|
47
|
+
innerProps={args.innerProps}
|
|
48
|
+
orientation={args.orientation}
|
|
49
|
+
>
|
|
50
|
+
{args.hasLabware ? (
|
|
51
|
+
<LabwareRender definition={fixture96Plate as LabwareDefinition2} />
|
|
52
|
+
) : null}
|
|
53
|
+
</ModuleComponent>
|
|
54
|
+
</RobotCoordinateSpace>
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
export const Module = Template.bind({})
|
|
58
|
+
Module.argTypes = {
|
|
59
|
+
model: {
|
|
60
|
+
control: {
|
|
61
|
+
type: 'select',
|
|
62
|
+
options: moduleModels,
|
|
63
|
+
},
|
|
64
|
+
defaultValue: moduleModels[0],
|
|
65
|
+
},
|
|
66
|
+
orientation: {
|
|
67
|
+
control: {
|
|
68
|
+
type: 'select',
|
|
69
|
+
options: ['left', 'right'],
|
|
70
|
+
},
|
|
71
|
+
defaultValue: 'left',
|
|
72
|
+
},
|
|
73
|
+
hasLabware: {
|
|
74
|
+
control: {
|
|
75
|
+
type: 'boolean',
|
|
76
|
+
},
|
|
77
|
+
defaultValue: false,
|
|
78
|
+
},
|
|
79
|
+
innerProps: {
|
|
80
|
+
control: {
|
|
81
|
+
type: 'object',
|
|
82
|
+
},
|
|
83
|
+
defaultValue: {
|
|
84
|
+
lidMotorState: 'open',
|
|
85
|
+
blockTargetTemp: 90,
|
|
86
|
+
targetTemperature: 4,
|
|
87
|
+
targetTemp: 40,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RobotCoordsForeignDiv,
|
|
3
|
+
C_MED_LIGHT_GRAY,
|
|
4
|
+
SPACING_1,
|
|
5
|
+
JUSTIFY_CENTER,
|
|
6
|
+
ALIGN_CENTER,
|
|
7
|
+
} from '../../'
|
|
8
|
+
|
|
9
|
+
import type { ReactNode } from 'react'
|
|
10
|
+
|
|
11
|
+
export interface ModuleTagProps {
|
|
12
|
+
x: number
|
|
13
|
+
y: number
|
|
14
|
+
height: number
|
|
15
|
+
width: number
|
|
16
|
+
children: ReactNode
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const ModuleTag = (props: ModuleTagProps): JSX.Element => {
|
|
20
|
+
const { x, y, height, width, children } = props
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<RobotCoordsForeignDiv
|
|
24
|
+
x={x}
|
|
25
|
+
y={y}
|
|
26
|
+
height={height}
|
|
27
|
+
width={width}
|
|
28
|
+
innerDivProps={{
|
|
29
|
+
display: 'flex',
|
|
30
|
+
justifyContent: JUSTIFY_CENTER,
|
|
31
|
+
alignItems: ALIGN_CENTER,
|
|
32
|
+
backgroundColor: C_MED_LIGHT_GRAY,
|
|
33
|
+
padding: SPACING_1,
|
|
34
|
+
}}
|
|
35
|
+
>
|
|
36
|
+
{children}
|
|
37
|
+
</RobotCoordsForeignDiv>
|
|
38
|
+
)
|
|
39
|
+
}
|