@sealpixel/plugin-crop 1.0.0-rc.12 → 1.0.0-rc.15

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/dist/index.d.ts CHANGED
@@ -113,4 +113,3 @@ export declare const CROP_DEFAULT_OPTIONS: CropOptions;
113
113
  export declare const ORIGINAL_ASPECT = -1;
114
114
  export declare const cropPlugin: import("@sealpixel/plugin-sdk").ConfigurablePlugin<"crop", CropDoc, CropOptions>;
115
115
  export type { Color };
116
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwCxB,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IACzC,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAEjG,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;AAElE,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAqB;IACzD,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,GAAG,IAAI;QACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC3C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACpD,CAAC;SACD,MAAM,EAAE;IACX,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACvC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;QAC9B,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;QAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;QAC3B,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;QAC1D,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM;KACtC,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAuB;IAC7D,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IACrE,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa;CAC5B,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,OAAO,CACL,GAAG,CAAC,QAAQ,KAAK,CAAC;QAClB,CAAC,GAAG,CAAC,KAAK;QACV,CAAC,GAAG,CAAC,KAAK;QACV,CAAC,CAAC,CAAC,KAAK,CAAC;QACT,CAAC,CAAC,CAAC,KAAK,CAAC;QACT,GAAG,CAAC,IAAI,KAAK,MAAM;QACnB,CAAC,CAAC,KAAK,KAAK,CAAC;QACb,CAAC,CAAC,MAAM,KAAK,CAAC,CACf,CAAC;AACJ,CAAC;AA0CD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;AAC7C,yEAAyE;AACzE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5F,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IACjB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SACnF,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,EAC7F,sCAAsC,CACvC,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;QAC1C,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;QAC5C,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE;QACzC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE;QAChC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;QAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;KAC/B;IACD,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC;AAElC,SAAS,SAAS,CAAC,CAAgB,EAAE,CAAgB;IACnD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;IACrC,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAChC,eAAe,EAAE,aAAa;IAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd,cAAc,CAAC,GAAG,CAAC;QACjB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,6EAA6E;YAC7E,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;IACP,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACxB,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE;YACR,OAAO,EAAE,yEAAyE;YAClF,aAAa,EAAE,kCAAkC;YACjD,OAAO,EAAE,iEAAiE;YAC1E,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,kCAAkC;YAChD,OAAO,EAAE,0CAA0C;YACnD,KAAK,EAAE,sFAAsF;YAC7F,KAAK,EAAE,wEAAwE;YAC/E,OAAO,EACL,oJAAoJ;SACvJ;KACF;IACD,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2B,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,OAAO,CAAC,aAAa,KAAK,IAAI;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,EAA2B,CAAC,CAAC;IACrF,CAAC;IACD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK;gBAAE,OAAO,gCAAgC,CAAC;YAC5D,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAC5B,OAAO,uDAAuD,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,CAAC,GAAG,EAAe,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI;YAC9E,OAAO,sBAAsB,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;YAAE,OAAO,sBAAsB,CAAC;QAC3F,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,sBAAsB,CAAC;YACrD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,yBAAyB,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CACvF,CAAC;YACF,IAAI,CAAC,EAAE;gBAAE,OAAO,4CAA4C,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;YAC9C,MAAM,EAAE,GACN,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7F,MAAM,EAAE,GACN,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7F,IACE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK;gBAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM;gBAEjD,OAAO,wBAAwB,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color, OperationBase, Rect } from '@sealpixel/core';\nimport { defineOperation, definePlugin } from '@sealpixel/plugin-sdk';\nimport { z } from 'zod';\n\nexport interface CropDoc {\n /** Radians, clockwise positive. */\n rotation: number;\n flipX: boolean;\n flipY: boolean;\n /** In rotated-bounding-box space, 0..1. */\n rect: Rect;\n /** Width / height the UI enforces, or null for free. Not used by the renderer. */\n aspect: number | null;\n /** Alpha mask on the output: `circle` keeps the inscribed ellipse, for round avatars. */\n mask: CropMask;\n}\n\nexport type CropMask = 'none' | 'circle';\n\n/** Merge-sets any subset of the crop state. */\nexport interface CropSetOp extends OperationBase<'crop.set'> {\n rotation?: number | undefined;\n flipX?: boolean | undefined;\n flipY?: boolean | undefined;\n rect?: Rect | undefined;\n aspect?: number | null | undefined;\n mask?: CropMask | undefined;\n}\n\n/** Restores the identity crop. */\nexport type CropResetOp = OperationBase<'crop.reset'>;\n\ndeclare module '@sealpixel/core' {\n interface OperationRegistry {\n 'crop.set': CropSetOp;\n 'crop.reset': CropResetOp;\n }\n interface DocumentRegistry {\n crop: CropDoc;\n }\n}\n\nexport const IDENTITY_CROP: CropDoc = {\n rotation: 0,\n flipX: false,\n flipY: false,\n rect: { x: 0, y: 0, width: 1, height: 1 },\n aspect: null,\n mask: 'none',\n};\n\nconst unit = z.number().min(0).max(1);\nexport const RectSchema = z\n .object({ x: unit, y: unit, width: z.number().gt(0).max(1), height: z.number().gt(0).max(1) })\n .strict()\n .refine((r) => r.x + r.width <= 1 + 1e-9 && r.y + r.height <= 1 + 1e-9, 'rect exceeds bounds');\n\nconst base = { id: z.string().min(1), at: z.number().optional() };\n\nexport const cropSet = defineOperation<CropDoc, CropSetOp>({\n type: 'crop.set',\n schema: z\n .object({\n type: z.literal('crop.set'),\n ...base,\n rotation: z.number().finite().optional(),\n mask: z.enum(['none', 'circle']).optional(),\n flipX: z.boolean().optional(),\n flipY: z.boolean().optional(),\n rect: RectSchema.optional(),\n aspect: z.number().positive().nullable().optional(),\n })\n .strict(),\n reduce: (slice, op) => ({\n rotation: op.rotation ?? slice.rotation,\n flipX: op.flipX ?? slice.flipX,\n flipY: op.flipY ?? slice.flipY,\n rect: op.rect ?? slice.rect,\n aspect: op.aspect === undefined ? slice.aspect : op.aspect,\n mask: op.mask ?? slice.mask ?? 'none',\n }),\n});\n\nexport const cropReset = defineOperation<CropDoc, CropResetOp>({\n type: 'crop.reset',\n schema: z.object({ type: z.literal('crop.reset'), ...base }).strict(),\n reduce: () => IDENTITY_CROP,\n});\n\nexport function isIdentityCrop(doc: CropDoc): boolean {\n const r = doc.rect;\n return (\n doc.rotation === 0 &&\n !doc.flipX &&\n !doc.flipY &&\n r.x === 0 &&\n r.y === 0 &&\n doc.mask === 'none' &&\n r.width === 1 &&\n r.height === 1\n );\n}\n\nexport interface CropAspectOption {\n /** Shown in the aspect menu; a plain ratio such as `16:9` needs no translation. */\n label: string;\n /** width / height, or null for a free rectangle. */\n value: number | null;\n}\n\nexport interface CropOptions {\n /** Aspect presets in menu order. */\n aspects: CropAspectOption[];\n /** Aspect applied on load, or null for free. Must be one of `aspects`. */\n defaultAspect: number | null;\n /** Enforce rotation, flip, aspect and minSize constraints in logs (client and server). Off, options only shape the UI. */\n enforce: boolean;\n /** Allow rotation (slider and 90° buttons). */\n rotation: boolean;\n /** Allow horizontal and vertical flips. */\n flip: boolean;\n /** Step of the rotation slider in degrees. */\n rotationStep: number;\n /** Smallest crop in source pixels; null for no minimum. */\n minSize: { width: number; height: number } | null;\n /**\n * `circle` turns the crop into a round avatar: the aspect is fixed to 1, the\n * gizmo shows a round mask and the export keeps only the inscribed circle\n * (transparent outside; JPEG flattens onto the background colour).\n */\n shape: 'rect' | 'circle';\n /** Offer the \"Reset crop\" button. Off (with `enforce`), `crop.reset` is rejected too. */\n reset: boolean;\n /**\n * What the crop tool lets the frame do at the edge of a rotated image. The\n * crop rect lives in the rotated bounding box, which is larger than the\n * image, so a frame may reach area the image does not cover; `fill` paints\n * it. `forbid` keeps the frame inside the turned image during drags and\n * rotations. `allow` lets it out. Shapes the UI only.\n */\n outside: 'forbid' | 'allow';\n}\n\nconst ratio = z.number().positive().finite();\n/** A positive ratio, null for free, or -1 for the source's own ratio. */\nconst aspectValue = z.union([ratio, z.literal(-1)]).nullable();\nexport const CropOptionsSchema = z\n .object({\n aspects: z.array(z.object({ label: z.string().min(1), value: aspectValue }).strict()).min(1),\n defaultAspect: ratio.nullable(),\n enforce: z.boolean(),\n rotation: z.boolean(),\n flip: z.boolean(),\n rotationStep: z.number().positive().max(90),\n minSize: z\n .object({ width: z.number().int().positive(), height: z.number().int().positive() })\n .strict()\n .nullable(),\n shape: z.enum(['rect', 'circle']),\n reset: z.boolean(),\n outside: z.enum(['forbid', 'allow']),\n })\n .strict()\n .refine(\n (o) => o.defaultAspect === null || o.aspects.some((a) => sameRatio(a.value, o.defaultAspect)),\n 'defaultAspect must be one of aspects',\n );\n\nexport const CROP_DEFAULT_OPTIONS: CropOptions = {\n aspects: [\n { label: 'crop.aspect.free', value: null },\n { label: 'crop.aspect.original', value: -1 },\n { label: 'crop.aspect.square', value: 1 },\n { label: '16:9', value: 16 / 9 },\n { label: '4:3', value: 4 / 3 },\n { label: '3:2', value: 3 / 2 },\n ],\n defaultAspect: null,\n enforce: false,\n rotation: true,\n flip: true,\n rotationStep: 0.5,\n minSize: null,\n shape: 'rect',\n reset: true,\n outside: 'forbid',\n};\n\n/** `value: -1` is the marker for \"the source's own ratio\"; the tool resolves it per image. */\nexport const ORIGINAL_ASPECT = -1;\n\nfunction sameRatio(a: number | null, b: number | null): boolean {\n if (a === null || b === null) return a === b;\n return Math.abs(a - b) < 1e-6;\n}\n\nexport const cropPlugin = definePlugin({\n id: 'crop',\n version: 1,\n operations: [cropSet, cropReset],\n initialDocument: IDENTITY_CROP,\n stage: { name: 'crop', order: 400 },\n toPlan: (doc) =>\n isIdentityCrop(doc)\n ? null\n : {\n rotation: doc.rotation,\n flipX: doc.flipX,\n flipY: doc.flipY,\n rect: doc.rect,\n // Omitted when none so existing plans and their goldens stay byte-identical.\n ...(doc.mask === 'circle' ? { mask: 'circle' } : {}),\n },\n kernel: { kind: 'core' },\n options: {\n schema: CropOptionsSchema,\n defaults: CROP_DEFAULT_OPTIONS,\n describe: {\n aspects: 'Aspect presets in menu order; value null = free, -1 = the source ratio.',\n defaultAspect: 'Aspect applied on load, or null.',\n enforce: 'Enforce rotation, flip, aspect and minSize constraints in logs.',\n rotation: 'Allow rotation.',\n flip: 'Allow flips.',\n rotationStep: 'Rotation slider step in degrees.',\n minSize: 'Smallest crop in source pixels, or null.',\n shape: 'rect, or circle for a round avatar (square aspect, round mask, transparent outside).',\n reset: 'Offer the Reset crop button; off with enforce, crop.reset is rejected.',\n outside:\n 'forbid keeps the crop frame inside the rotated image during drags and rotations; allow lets it reach the bounding box, where fill paints. UI only.',\n },\n },\n initialOps: ({ options }) => {\n if (options.shape === 'circle') {\n return [{ type: 'crop.set', aspect: 1, mask: 'circle' } as Omit<CropSetOp, 'id'>];\n }\n return options.defaultAspect === null\n ? []\n : [{ type: 'crop.set', aspect: options.defaultAspect } as Omit<CropSetOp, 'id'>];\n },\n validate: (op, { options, slice, source }) => {\n if (!options.enforce) return null;\n if (op.type === 'crop.reset') {\n if (!options.reset) return 'resetting the crop is disabled';\n if (options.shape === 'circle')\n return 'the crop is a circle; reset would drop the round mask';\n return null;\n }\n if (op.type !== 'crop.set') return null;\n const o = op as CropSetOp;\n if (!options.rotation && o.rotation !== undefined && Math.abs(o.rotation) > 1e-9)\n return 'rotation is disabled';\n if (!options.flip && (o.flipX === true || o.flipY === true)) return 'flipping is disabled';\n if (options.shape === 'circle') {\n if (o.mask === 'none') return 'the crop is a circle';\n if (o.aspect !== undefined && o.aspect !== 1) return 'a circle crop is square';\n }\n if (o.aspect !== undefined && o.aspect !== null) {\n const aspect = o.aspect;\n const original = source.width / source.height;\n const ok = options.aspects.some((a) =>\n a.value === ORIGINAL_ASPECT ? sameRatio(original, aspect) : sameRatio(a.value, aspect),\n );\n if (!ok) return 'aspect ratio is not offered by this editor';\n }\n if (options.minSize && o.rect) {\n const rotation = o.rotation ?? slice.rotation;\n const bw =\n source.width * Math.abs(Math.cos(rotation)) + source.height * Math.abs(Math.sin(rotation));\n const bh =\n source.width * Math.abs(Math.sin(rotation)) + source.height * Math.abs(Math.cos(rotation));\n if (\n o.rect.width * bw + 0.5 < options.minSize.width ||\n o.rect.height * bh + 0.5 < options.minSize.height\n )\n return `crop is smaller than ${options.minSize.width}×${options.minSize.height} px`;\n }\n return null;\n },\n});\n\nexport type { Color };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealpixel/plugin-crop",
3
- "version": "1.0.0-rc.12",
3
+ "version": "1.0.0-rc.15",
4
4
  "description": "Crop, rotate and flip operations for the Sealpixel image editor.",
5
5
  "license": "BUSL-1.1",
6
6
  "repository": {
@@ -27,15 +27,15 @@
27
27
  "./package.json": "./package.json"
28
28
  },
29
29
  "dependencies": {
30
- "@sealpixel/plugin-sdk": "1.0.0-rc.12"
30
+ "@sealpixel/plugin-sdk": "1.0.0-rc.15"
31
31
  },
32
32
  "peerDependencies": {
33
- "@sealpixel/core": "1.0.0-rc.12",
33
+ "@sealpixel/core": "1.0.0-rc.15",
34
34
  "zod": "^4.0.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@sealpixel/config": "0.0.0",
38
- "@sealpixel/core": "1.0.0-rc.12",
38
+ "@sealpixel/core": "1.0.0-rc.15",
39
39
  "@types/node": "^24.0.0",
40
40
  "typescript": "^6.0.0",
41
41
  "vitest": "^5.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,OAAO;IACtB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,IAAI,EAAE,IAAI,CAAC;IACX,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yFAAyF;IACzF,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzC,+CAA+C;AAC/C,MAAM,WAAW,SAAU,SAAQ,aAAa,CAAC,UAAU,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,kCAAkC;AAClC,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAEtD,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,iBAAiB;QACzB,UAAU,EAAE,SAAS,CAAC;QACtB,YAAY,EAAE,WAAW,CAAC;KAC3B;IACD,UAAU,gBAAgB;QACxB,IAAI,EAAE,OAAO,CAAC;KACf;CACF;AAED,eAAO,MAAM,aAAa,EAAE,OAO3B,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;kBAGyE,CAAC;AAIjG,eAAO,MAAM,OAAO,4DAsBlB,CAAC;AAEH,eAAO,MAAM,SAAS,8DAIpB,CAAC;AAEH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAYpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0HAA0H;IAC1H,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,yFAAyF;IACzF,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC7B;AAKD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;kBAoB3B,CAAC;AAEJ,eAAO,MAAM,oBAAoB,EAAE,WAkBlC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,eAAe,KAAK,CAAC;AAOlC,eAAO,MAAM,UAAU,kFAkFrB,CAAC;AAEH,YAAY,EAAE,KAAK,EAAE,CAAC"}