@prismatic-io/spectral
Version:
Utility library for building Prismatic connectors and code-native integrations
65 lines (64 loc) • 1.2 kB
TypeScript
/**
* Common base interface for any UI schema element.
*/
export interface UISchemaElement {
/**
* The type of this UI schema element.
*/
type: string;
/**
* An optional rule.
*/
rule?: Rule;
/**
* Any additional options.
*/
options?: {
[key: string]: any;
};
}
/**
* A rule that may be attached to any UI schema element.
*/
interface Rule {
/**
* The effect of the rule
*/
effect: RuleEffect;
/**
* The condition of the rule that must evaluate to true in order
* to trigger the effect.
*/
condition: Condition;
}
/**
* The different rule effects.
*/
declare enum RuleEffect {
/**
* Effect that hides the associated element.
*/
HIDE = "HIDE",
/**
* Effect that shows the associated element.
*/
SHOW = "SHOW",
/**
* Effect that enables the associated element.
*/
ENABLE = "ENABLE",
/**
* Effect that disables the associated element.
*/
DISABLE = "DISABLE"
}
/**
* Represents a condition to be evaluated.
*/
interface Condition {
/**
* The type of condition.
*/
readonly type?: string;
}
export {};