UNPKG

@datalayer/primer-rjsf

Version:

React JSON Schema Form (RJSF) for Primer

93 lines (92 loc) 2.62 kB
export default { schema: { definitions: { Color: { title: "Color", type: "string", anyOf: [ { type: "string", enum: ["#ff0000"], title: "Red", }, { type: "string", enum: ["#00ff00"], title: "Green", }, { type: "string", enum: ["#0000ff"], title: "Blue", }, ], }, Toggle: { title: "Toggle", type: "boolean", oneOf: [ { title: "Enable", const: true, }, { title: "Disable", const: false, }, ], }, }, title: "Image editor", type: "object", required: ["currentColor", "colorMask", "blendMode"], properties: { currentColor: { $ref: "#/definitions/Color", title: "Brush color", }, colorMask: { type: "array", uniqueItems: true, items: { $ref: "#/definitions/Color", }, title: "Color mask", }, toggleMask: { title: "Apply color mask", $ref: "#/definitions/Toggle", }, colorPalette: { type: "array", title: "Color palette", items: { $ref: "#/definitions/Color", }, }, blendMode: { title: "Blend mode", type: "string", oneOf: [ { const: "screen", title: "Screen" }, { const: "multiply", title: "Multiply" }, { const: "overlay", title: "Overlay" }, ], }, }, }, uiSchema: { blendMode: { "ui:enumDisabled": ["multiply"], }, toggleMask: { "ui:widget": "radio", }, }, formData: { currentColor: "#00ff00", colorMask: ["#0000ff"], colorPalette: ["#ff0000"], blendMode: "screen", }, };