import {Component, Fragment} from 'react'; import {css} from '@emotion/react'; import styled from '@emotion/styled'; import type {ModalRenderProps} from 'sentry/actionCreators/modal'; import {openModal} from 'sentry/actionCreators/modal'; import type {Client} from 'sentry/api'; import {Alert} from 'sentry/components/core/alert'; import BooleanField from 'sentry/components/deprecatedforms/booleanField'; import DateTimeField from 'sentry/components/deprecatedforms/dateTimeField'; import Form from 'sentry/components/deprecatedforms/form'; import InputField from 'sentry/components/deprecatedforms/inputField'; import NumberField from 'sentry/components/deprecatedforms/numberField'; import SelectField from 'sentry/components/deprecatedforms/selectField'; import {space} from 'sentry/styles/space'; import withApi from 'sentry/utils/withApi'; import {prettyDate} from 'admin/utils'; import {CPE_MULTIPLIER_TO_CENTS, RESERVED_BUDGET_QUOTA} from 'getsentry/constants'; import type {ReservedBudgetMetricHistory, Subscription} from 'getsentry/types'; import { isAm3DsPlan, isAm3Plan, isAmEnterprisePlan, isAmPlan, } from 'getsentry/utils/billing'; const CPE_DECIMAL_PRECISION = 8; // TODO: replace with modern fields so we don't need these workarounds class DateField extends DateTimeField { getType() { return 'date'; } } type DollarsAndCentsFieldProps = { max?: number; min?: number; step?: any; } & NumberField['props']; class DollarsField extends NumberField { getField() { return (