@sealpixel/plugin-frame 1.0.0-rc.13 → 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 +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/index.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color, OperationBase, SourcePx } from '@sealpixel/core';\nimport { defineOperation, definePlugin } from '@sealpixel/plugin-sdk';\nimport { z } from 'zod';\n\nexport type FrameStyle = 'solid' | 'inset' | 'polaroid';\n\nexport interface FrameDoc {\n frame: { style: FrameStyle; color: Color; thickness: SourcePx; radius: SourcePx } | null;\n}\n\nexport interface FrameSetOp extends OperationBase<'frame.set'> {\n style?: FrameStyle | undefined;\n color?: Color | undefined;\n thickness?: SourcePx | undefined;\n radius?: SourcePx | undefined;\n}\nexport type FrameClearOp = OperationBase<'frame.clear'>;\n\ndeclare module '@sealpixel/core' {\n interface OperationRegistry {\n 'frame.set': FrameSetOp;\n 'frame.clear': FrameClearOp;\n }\n interface DocumentRegistry {\n frame: FrameDoc;\n }\n}\n\nconst channel = z.number().min(0).max(1);\nconst px = z.number().finite().min(0).max(4096);\nconst base = { id: z.string().min(1), at: z.number().optional() };\n\nexport const DEFAULT_FRAME = {\n style: 'solid' as FrameStyle,\n color: [1, 1, 1, 1] as Color,\n thickness: 24,\n radius: 0,\n};\n\nexport const frameSet = defineOperation<FrameDoc, FrameSetOp>({\n type: 'frame.set',\n schema: z\n .object({\n type: z.literal('frame.set'),\n ...base,\n style: z.enum(['solid', 'inset', 'polaroid']).optional(),\n color: z.tuple([channel, channel, channel, channel]).optional(),\n thickness: px.optional(),\n radius: px.optional(),\n })\n .strict(),\n reduce: (slice, op) => {\n const prev = slice.frame ?? DEFAULT_FRAME;\n return {\n frame: {\n style: op.style ?? prev.style,\n color: op.color ?? prev.color,\n thickness: op.thickness ?? prev.thickness,\n radius: op.radius ?? prev.radius,\n },\n };\n },\n});\nexport const frameClear = defineOperation<FrameDoc, FrameClearOp>({\n type: 'frame.clear',\n schema: z.object({ type: z.literal('frame.clear'), ...base }).strict(),\n reduce: () => ({ frame: null }),\n});\n\nconst hex = z.string().regex(/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/, 'hex colour');\nconst range = z\n .object({ min: px, max: px, step: z.number().positive() })\n .strict()\n .refine((r) => r.min < r.max, 'min must be below max');\nconst StyleSchema = z.enum(['solid', 'inset', 'polaroid']);\nexport const FrameOptionsSchema = z\n .object({\n styles: z.array(StyleSchema).min(1),\n palette: z.array(hex),\n thicknessRange: range,\n radiusRange: range,\n defaults: z.object({ style: StyleSchema, color: hex, thickness: px, radius: px }).strict(),\n enforce: z.boolean(),\n })\n .strict()\n .refine((o) => o.styles.includes(o.defaults.style), 'defaults.style must be one of styles');\n\n/**\n * `styles`: frame styles offered. `palette`: hex swatches for the colour\n * (empty shows the free picker only). `radiusRange`: slider bounds in source px;\n * `thicknessRange`: accepted thicknesses (no slider, `defaults.thickness` applies).\n * `defaults`: values a new frame starts with.\n */\nexport type FrameOptions = z.infer<typeof FrameOptionsSchema>;\n\nexport const FRAME_DEFAULT_OPTIONS: FrameOptions = {\n styles: ['solid', 'inset', 'polaroid'],\n palette: [],\n thicknessRange: { min: 0, max: 512, step: 1 },\n radiusRange: { min: 0, max: 512, step: 1 },\n defaults: { style: 'solid', color: '#ffffff', thickness: 24, radius: 0 },\n enforce: false,\n};\n\nexport const framePlugin = definePlugin({\n id: 'frame',\n version: 1,\n operations: [frameSet, frameClear],\n initialDocument: { frame: null } as FrameDoc,\n stage: { name: 'frame', order: 600 },\n toPlan: (doc) => (doc.frame === null || doc.frame.thickness === 0 ? null : { ...doc.frame }),\n kernel: { kind: 'core' },\n options: {\n schema: FrameOptionsSchema,\n defaults: FRAME_DEFAULT_OPTIONS,\n describe: {\n styles: 'Frame styles offered (solid, inset, polaroid).',\n palette: 'Hex swatches for the frame colour; empty shows the free picker only.',\n thicknessRange:\n 'Thicknesses accepted with enforce, in source px; the UI has no slider, defaults.thickness applies.',\n radiusRange: 'Bounds and step of the corner radius slider, in source px.',\n defaults: 'Values a new frame starts with.',\n enforce: 'Reject styles, thickness or radius outside the options.',\n },\n },\n validate: (op, { options }) => {\n if (op.type !== 'frame.set' || !options.enforce) return null;\n const o = op as FrameSetOp;\n if (o.style !== undefined && !options.styles.includes(o.style))\n return `style \"${o.style}\" is not offered`;\n const t = options.thicknessRange;\n if (o.thickness !== undefined && (o.thickness < t.min - 1e-9 || o.thickness > t.max + 1e-9))\n return `thickness must stay within ${t.min}..${t.max}`;\n const r = options.radiusRange;\n if (o.radius !== undefined && (o.radius < r.min - 1e-9 || o.radius > r.max + 1e-9))\n return `radius must stay within ${r.min}..${r.max}`;\n return null;\n },\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sealpixel/plugin-frame",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.15",
|
|
4
4
|
"description": "Solid, inset and polaroid frames drawn inside the image bounds.",
|
|
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.
|
|
30
|
+
"@sealpixel/plugin-sdk": "1.0.0-rc.15"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@sealpixel/core": "1.0.0-rc.
|
|
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.
|
|
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",
|
package/dist/index.d.ts.map
DELETED
|
@@ -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,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1F;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa,CAAC,WAAW,CAAC;IAC5D,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AACD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAExD,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,iBAAiB;QACzB,WAAW,EAAE,UAAU,CAAC;QACxB,aAAa,EAAE,YAAY,CAAC;KAC7B;IACD,UAAU,gBAAgB;QACxB,KAAK,EAAE,QAAQ,CAAC;KACjB;CACF;AAMD,eAAO,MAAM,aAAa;WACN,UAAU;WACL,KAAK;;;CAG7B,CAAC;AAEF,eAAO,MAAM,QAAQ,8DAuBnB,CAAC;AACH,eAAO,MAAM,UAAU,gEAIrB,CAAC;AAQH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU8D,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB,EAAE,YAOnC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;EAkCtB,CAAC"}
|