import { makeObservable, observable } from 'mobx'; import * as React from 'react'; import { copyProps } from '../../Utils'; import './AntimodeMenu.scss'; export interface AntimodeMenuProps {} /** * This is an abstract class that serves as the base for a PDF-style or Marquee-style * menu. To use this class, look at PDFMenu.tsx or MarqueeOptionsMenu.tsx for an example. */ export abstract class ObservableReactComponent extends React.Component { @observable _props: React.PropsWithChildren; constructor(props: React.PropsWithChildren) { super(props); this._props = props; makeObservable(this); } componentDidUpdate(prevProps: Readonly): void { copyProps(this, prevProps); } }