Sha256: 20df5b1c66a7115ea350f4b61bd947d978d90476ad73139aeaaeb6ba9eeb897c

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

import * as Images from "./Images";

export type Position = {
  x: number;
  y: number;
};

export type Ratio = number | null;

export type Size = {
  width: number;
  height: number;
};

export type Params = {
  crop_start_x: number;
  crop_start_y: number;
  crop_width: number;
  crop_height: number;
  crop_gravity_x: number;
  crop_gravity_y: number;
};

export type State = Params & {
  aspect: number | null;
  cropping: boolean;
  image: Images.Resource;
  focalPoint?: Position;
};

export type CropSize = Position &
  Size & {
    aspect?: number;
  };

export type Action =
  | { type: "completeCrop" | "startCrop" | "toggleFocal" }
  | { type: "setCrop"; payload: CropSize }
  | { type: "setAspect"; payload: Ratio }
  | { type: "setFocal"; payload: Position };

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pages_core-3.15.5 app/javascript/types/Crop.ts