UNPKG

survey-creator-react

Version:

A white-label drag-and-drop form builder for React that lets you design complex, interactive forms and surveys without writing code. It generates JSON schemas used by the SurveyJS Form Library to render dynamic forms in your React app.

83 lines (77 loc) 3.76 kB
/*! * SurveyJS Creator v2.5.27 * (c) 2015-2026 Devsoft Baltic OÜ - http://surveyjs.io/ * Github: https://github.com/surveyjs/survey-creator * License: https://surveyjs.io/Licenses#SurveyCreator */ import * as React from 'react'; import { ReactElementFactory, SurveyElementBase, Scroll, SurveyActionBar, Survey, SvgIcon } from 'survey-react-ui'; import { getLocString } from 'survey-creator-core'; class TabPresetsComponent extends SurveyElementBase { get navigationBar() { return this.props.data.navigationBar; } get model() { return this.props.data.model; } get creator() { return this.props.creator; } getStateElement() { return this.model; } renderElement() { const presetsTabClassName = "svc-tab-designer svc-tab-designer--presets"; return (React.createElement(React.Fragment, null, React.createElement("div", { className: "svc-flex-column" }, this.creator.showToolbox ? ReactElementFactory.Instance.createElement("svc-toolbox", { model: this.creator }) : null), React.createElement("div", { className: presetsTabClassName }, React.createElement(Scroll, null, React.createElement(SurveyActionBar, { model: this.navigationBar }), React.createElement(Survey, { model: this.model }))))); } } ReactElementFactory.Instance.registerElement("svc-tab-presets", (props) => { return React.createElement(TabPresetsComponent, props); }); class PresetsPropertyGridWrapper extends React.Component { constructor(props) { super(props); } render() { const model = this.props.model; if (!model) return null; return (React.createElement(React.Fragment, null, React.createElement("div", { className: "sps-launch" }, React.createElement("button", { className: "sps-launch__card", onClick: model["showPresets"] }, React.createElement("div", { className: "sps-launch__container" }, React.createElement("div", { className: "sps-launch__text" }, getLocString("presets.plugin.buttonTitle")), React.createElement("div", { className: "sps-launch__text2" }, getLocString("presets.plugin.buttonDescription"))), React.createElement("div", { className: "sps-launch__icon" }, React.createElement("div", { className: "sps-launch__chevron-right-16-x-16" }, React.createElement("div", { className: "sps-launch__icon2" }, React.createElement(SvgIcon, { size: "auto", iconName: "chevrondown-24x24" })))))), ReactElementFactory.Instance.createElement("svc-property-grid", { model: model }))); } } ReactElementFactory.Instance.registerElement("svc-presets-property-grid", (props) => { return React.createElement(PresetsPropertyGridWrapper, props); }); class PresetsIconItem extends React.Component { constructor(props) { super(props); } render() { const item = this.props.item; if (!item) return null; return (React.createElement("div", { className: "sps-icon-item", style: { display: "flex" } }, React.createElement(SvgIcon, { className: "sps-icon-item__icon", size: "auto", iconName: item.value }), React.createElement("span", { className: "sps-icon-item__text" }, item.title))); } } ReactElementFactory.Instance.registerElement("svc-presets-icon-item", (props) => { return React.createElement(PresetsIconItem, props); }); export { PresetsIconItem, PresetsPropertyGridWrapper, TabPresetsComponent }; //# sourceMappingURL=ui-preset-editor.mjs.map