@apistudio/apim-cli
Version:
CLI for API Management Products
88 lines • 3.08 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.feedbackConfigSchema = exports.optionalEmailSettings = exports.reasonsSettings = void 0;
const reasonsBaseProperties = {
hide: {
type: 'boolean',
default: false,
},
component: {
type: 'string',
enum: ['radio', 'checkbox'],
default: 'checkbox',
},
label: { type: 'string' },
items: { type: 'array', items: { type: 'string' } },
};
exports.reasonsSettings = {
type: 'object',
properties: reasonsBaseProperties,
additionalProperties: false,
};
exports.optionalEmailSettings = {
type: 'object',
properties: {
hide: {
type: 'boolean',
default: false,
},
label: { type: 'string' },
placeholder: { type: 'string' },
},
additionalProperties: false,
};
exports.feedbackConfigSchema = {
type: 'object',
properties: {
hide: {
type: 'boolean',
default: false,
},
type: {
type: 'string',
enum: ['rating', 'sentiment', 'comment', 'reasons', 'mood', 'scale'],
default: 'sentiment',
},
settings: {
type: 'object',
properties: {
label: { type: 'string' },
submitText: { type: 'string' },
buttonText: { type: 'string' },
component: {
type: 'string',
enum: ['radio', 'checkbox'],
default: 'checkbox',
},
items: { type: 'array', items: { type: 'string' }, minItems: 1 },
leftScaleLabel: { type: 'string' },
rightScaleLabel: { type: 'string' },
reasons: {
type: 'object',
properties: Object.assign(Object.assign({}, reasonsBaseProperties), { like: exports.reasonsSettings, dislike: exports.reasonsSettings, satisfied: exports.reasonsSettings, neutral: exports.reasonsSettings, dissatisfied: exports.reasonsSettings }),
additionalProperties: false,
},
comment: {
type: 'object',
properties: {
hide: {
type: 'boolean',
default: false,
},
label: { type: 'string' },
likeLabel: { type: 'string' },
dislikeLabel: { type: 'string' },
satisfiedLabel: { type: 'string' },
neutralLabel: { type: 'string' },
dissatisfiedLabel: { type: 'string' },
},
additionalProperties: false,
},
optionalEmail: exports.optionalEmailSettings,
},
additionalProperties: false,
},
},
additionalProperties: false,
};
//# sourceMappingURL=feedback-config-schema.js.map