ndla-ui
Version:
UI component library for NDLA.
77 lines (66 loc) • 2.48 kB
JavaScript
import PropTypes from 'prop-types';
import * as contentTypes from './model/ContentType';
export var LicenseRightShape = PropTypes.shape({
short: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
userFriendlyTitle: PropTypes.string.isRequired,
description: PropTypes.string.isRequired
});
export var LicenseShape = PropTypes.shape({
short: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
userFriendlyTitle: PropTypes.string.isRequired,
description: PropTypes.string.isRequired,
rights: PropTypes.arrayOf(PropTypes.string).isRequired
});
export var SubjectShape = PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
});
export var TopicShape = PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
subtopics: PropTypes.array
});
export var FootNoteShape = PropTypes.shape({
ref: PropTypes.number.isRequired,
title: PropTypes.string.isRequired,
year: PropTypes.string.isRequired,
authors: PropTypes.arrayOf(PropTypes.string).isRequired,
edition: PropTypes.string,
publisher: PropTypes.string,
url: PropTypes.string
});
export var ContributorShape = PropTypes.shape({
type: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
});
export var ArticleShape = PropTypes.shape({
title: PropTypes.string.isRequired,
content: PropTypes.string.isRequired,
copyright: PropTypes.shape({
authors: PropTypes.array,
creators: PropTypes.arrayOf(ContributorShape)
}).isRequired,
updated: PropTypes.string.isRequired
});
export var ResourceShape = PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
contentUri: PropTypes.string,
primary: PropTypes.bool
});
export var ShortcutShape = PropTypes.shape({
tooltip: PropTypes.string.isRequired,
contentType: PropTypes.string.isRequired,
url: PropTypes.string.isRequired,
count: PropTypes.number.isRequired
});
export var ContentTypeShape = PropTypes.oneOf([contentTypes.SUBJECT_MATERIAL, contentTypes.TASKS_AND_ACTIVITIES, contentTypes.ASSESSMENT_RESOURCES, contentTypes.SUBJECT, contentTypes.EXTERNAL_LEARNING_RESOURCES, contentTypes.SOURCE_MATERIAL, contentTypes.LEARNING_PATH, 'beta']);
export var ContentTypeResultShape = PropTypes.shape({
title: PropTypes.string.isRequired,
resources: PropTypes.arrayOf(PropTypes.shape({
path: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
}))
});