@craftercms/studio-ui
Version:
Services, components, models & utils to build CrafterCMS authoring extensions.
45 lines (43 loc) • 1.39 kB
TypeScript
/*
* Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
export type Primitive =
| string
| number
| boolean
| null
| undefined
| Primitive[]
| {
[key: string]: Primitive;
};
export interface ContentInstanceSystemProps {
id: string;
path: string | null;
label: string;
dateCreated: string;
dateModified: string;
contentTypeId: string;
sourceMap?: Record<string, string>;
disabled: boolean;
orderInNav?: number;
placeInNav?: boolean;
}
export interface ContentInstanceBase {
craftercms: ContentInstanceSystemProps;
}
export type ContentInstance<T extends Record<string, any> = Record<string, any>> = T & ContentInstanceBase;
export type InstanceRecord = Record<string, Primitive>;
export default ContentInstance;