/*
* This file is part of ORY Editor.
*
* ORY Editor is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ORY Editor 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 ORY Editor. If not, see .
*
* @license LGPL-3.0
* @copyright 2016-2018 Aeneas Rekkas
* @author Aeneas Rekkas
*
*/
import * as React from 'react';
import { v4 } from 'uuid';
import { LayoutPluginConfig } from '@react-page/core/lib/service/plugin/classes';
import { ParallaxBackgroundSettings } from './types/settings';
import { ParallaxBackgroundState } from './types/state';
import { ContentPluginProps } from '@react-page/core/lib/service/plugin/classes';
import Component from './Component';
import { lazyLoad } from '@react-page/core';
const Icon = lazyLoad(() => import('@material-ui/icons/CropLandscape'));
if (process.env.NODE_ENV !== 'production') {
console.warn(
// tslint:disable-next-line:max-line-length
'WARNING! Obsolete plugin loaded. \'ory/editor/core/layout/parallax-background\' has been deprecated, please use the new \'ory/editor/core/layout/background\' plugin instead! Make sure to migrate your state manually by changing the plugin name before you switch.'
);
}
const createPlugin: (
settings: ParallaxBackgroundSettings
) => LayoutPluginConfig = settings => ({
Component: (props: ContentPluginProps) => (
),
name: 'ory/editor/core/layout/parallax-background',
version: '0.0.1',
text: 'Parallax Background (deprecated)',
IconComponent: ,
createInitialChildren:
settings.getInitialChildren ||
(() => ({
id: v4(),
rows: [
{
id: v4(),
cells: [
{
content: {
plugin: settings.defaultPlugin,
state: settings.defaultPlugin.createInitialState(),
},
id: v4(),
},
],
},
],
})),
handleFocusNextHotKey: () => Promise.reject(),
handleFocusPreviousHotKey: () => Promise.reject(),
});
export default createPlugin;