UNPKG

@prisma-cms/front-editor

Version:
146 lines 7.63 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TimelineItem = void 0; const react_1 = __importStar(require("react")); const vertical_timeline_component_for_react_1 = require("vertical-timeline-component-for-react"); const EditorComponent_1 = __importDefault(require("../../../EditorComponent")); const ListView_1 = require("../../Connectors/Connector/ListView"); const classnames_1 = __importDefault(require("classnames")); const react_visibility_sensor_1 = __importDefault(require("react-visibility-sensor")); const __1 = __importDefault(require("..")); class TimelineItem extends vertical_timeline_component_for_react_1.TimelineItem { render() { const { id, children, dateText, dateStyle, dateComponent: DateComponent, dateInnerStyle, bodyContainerStyle, style, className, visibilitySensorProps, } = this.props; const { visible } = this.state; const isSSR = typeof window === 'undefined'; return (react_1.default.createElement("div", { id: id, className: classnames_1.default(className, 'entry', { 'timeline-item--no-children': children === '', }), style: style }, react_1.default.createElement(react_visibility_sensor_1.default, Object.assign({}, visibilitySensorProps, { onChange: this.onVisibilitySensorChange }), react_1.default.createElement(react_1.Fragment, null, react_1.default.createElement("div", { className: "title" }, react_1.default.createElement("div", { className: `${visible || isSSR ? 'bounce-in' : 'is-hidden'}` }, DateComponent ? (typeof DateComponent === 'function' ? (react_1.default.createElement(DateComponent, null)) : (DateComponent)) : (react_1.default.createElement("span", { style: dateStyle, className: "timeline-item-date" }, react_1.default.createElement("time", { style: dateInnerStyle, className: "timeline-item-dateinner", title: dateText }, dateText))))), react_1.default.createElement("div", { className: "body" }, react_1.default.createElement("div", { className: `body-container ${visible || isSSR ? 'bounce-in' : 'is-hidden'}`, style: bodyContainerStyle }, children)))))); } } exports.TimelineItem = TimelineItem; class VerticalTimelineItem extends EditorComponent_1.default { constructor() { super(...arguments); this.onBeforeDrop = () => { return; }; this.renderRoot = (props) => { const { style, dateText, dateStyle, dateInnerStyle, dateComponent, bodyContainerStyle, visibilitySensorProps } = props, other = __rest(props, ["style", "dateText", "dateStyle", "dateInnerStyle", "dateComponent", "bodyContainerStyle", "visibilitySensorProps"]); return (react_1.default.createElement(TimelineItem, Object.assign({}, { style, dateText, dateStyle, dateInnerStyle, dateComponent, bodyContainerStyle, visibilitySensorProps, }), react_1.default.createElement("div", Object.assign({}, other)))); }; this.renderDateComponent = () => { const object = this.getObjectWithMutations(); const { components } = object || {}; const { backgroundColor } = this.getComponentProps(this); return (react_1.default.createElement("div", { className: "timeline-item-date", style: { position: 'relative', zIndex: 100, clipPath: 'unset', display: 'flex', flexDirection: 'row', background: 'transparent', whiteSpace: 'nowrap', } }, react_1.default.createElement("div", { className: "timeline-item-dateinner", style: { clipPath: 'unset', flex: 1, backgroundColor: backgroundColor ? backgroundColor : 'transparent', } }, components && components.length ? this.renderComponent(components[0]) : null), react_1.default.createElement("div", { style: backgroundColor ? { width: '0', height: '0', borderStyle: 'solid', borderWidth: '25px 0 25px 10px', borderColor: `transparent transparent transparent ${backgroundColor}`, } : undefined }))); }; } // canBeDropped = (dragItem) => { // return false; // } renderPanelView(content) { return super.renderPanelView(content || (react_1.default.createElement("div", { className: 'panelVerticalTimelineItem' }, "VerticalTimelineItem"))); } // getRootElement() { // return VerticalTimelineItemComponent // } getRootElement() { return this.renderRoot; } renderMainView() { return (react_1.default.createElement(ListView_1.ObjectContext.Consumer, null, (context) => { const { object } = context; return super.renderMainView({ object, dateComponent: this.renderDateComponent, }); })); } getComponents(itemComponents) { return itemComponents && itemComponents.length ? itemComponents.slice(1) : []; } canBeParent(parent) { return parent instanceof __1.default && super.canBeParent(parent); } } VerticalTimelineItem.defaultProps = Object.assign(Object.assign({}, EditorComponent_1.default.defaultProps), { label: undefined, helperText: undefined, readOnly: true, backgroundColor: '#76bb7f' }); VerticalTimelineItem.Name = 'VerticalTimelineItem'; VerticalTimelineItem.help_url = 'https://front-editor.prisma-cms.com/topics/verticaltimeline.html'; exports.default = VerticalTimelineItem; //# sourceMappingURL=index.js.map