Indexes for the different drawer tabs in the application.
Represents different rotation speeds for animations
Type guard for whether a string is a valid ShippingRange.
Regular expression for validating CAS (Chemical Abstracts Service) numbers. Matches the standard format of three segments: 2-7 digits, 2 digits, and 1 checksum digit.
Action types for settings panel form state management. Used by the SettingsPanel component.
Discriminators for chrome.runtime messages exchanged between extension
contexts (pages) and the background service worker.
Action types dispatched to the App component's useActionState reducer. Each action corresponds to a specific state transition in the application.
Keys used for storing and retrieving data in chrome.storage.session.
Deep link to the extension's Chrome Web Store reviews tab — where the review
prompt sends users to leave a rating. The store item id is read from
config.json (extension.chromeWebstoreId).
IndexedDB object-store names for the ChemPal database. Centralized here so the
store names aren't hardcoded across idbCache.ts. Values are snake_case to
match the CACHE storage-key convention.
Represents the availability of a product Keep values as lower case strings.
Contains full names of units of measurement
Contains abbreviated forms of units of measurement
A constant mapping of units of measurement to their various string representations. This object implements the UOMAliases interface and provides standardized ways to recognize different text forms of the same unit of measurement.
Maps availability group codes (used as filter chip values and i18n keys) to the
AVAILABILITY enum values each group represents. A group may collapse
several enum values (e.g. out_of_stock covers OUT_OF_STOCK and BACKORDER).
User-facing availability filter options for the drawer search panel. Derived from the keys of AVAILABILITY_LABEL_MAP.
Shipping range options available for filtering in the drawer search panel. Values correspond to the ShippingRange type.
Indexes for the different panels in the application.