A React Styled Manifest
const manifest = {
types: {
envBinding: {
kind: 'extensionBinding',
type: 'TEXT',
extensionName: 'Config',
field: 'env',
defaultOnly: true
}
},
props: {
env: {
kind: 'typeReferenceWithDisplayInfo',
type: 'envBinding',
editingDisplay: {
hidden: true
}
},
sectionTitle: {
kind: 'typeReferenceWithDisplayInfo',
type: {
type: 'TEXT',
arguments: {
maxCount: 60
}
},
editingDisplay: {
titleId: {
kind: 'translatedValue',
value: 'titleForSubscribeSectionTitleProp'
}
}
}
},
defaultState: {
sectionTitle: {
kind: 'translatedValue',
value: 'defaultValueForSectionTitle'
}
}
};
class Widget extends Component {
static propTypes = {
env: SDK.PropTypes.string,
sectionTitle: SDK.PropTypes.string.maxCount(60)
};
static defaultProps = {
env: SDK.Selectors.getEnv,
sectionTitle: SDK.translation('defaultValueForSectionTitle')
};
}
class Mutators extends createMutators(Widget) {
static mutatorTypes = {
sectionTitle: 'TEXT'
};
static mutatorDefaultProps = {
sectionTitle: {
title: SDK.translation('titleForSubscribeSectionTitleProp')
}
};
}