UNPKG

eapp-amis-theme-editor

Version:

amis主题编辑器

145 lines (142 loc) 4.5 kB
/** * amis-theme-editor v2.0.11-beta.2 * Copyright 2018-2023 @fex */ import { __assign } from 'tslib'; import { render } from 'amis-core'; import React__default from 'react'; import cx from 'classnames'; import { getSchemaTpl } from '../tpl.js'; import { registerComponent } from './index.js'; import { i18n } from 'i18n-runtime'; var ThemeLinkBase = function (props) { var onEdit = props.onEdit, activeId = props.activeId; var content = [{ type: 'default', title: i18n("22b777e6fcb613b8ba83ced9594cd07e"), body: i18n("a4a6add4d9e91273e7e405e895011c64"), disabled: false }, { type: 'hover', title: i18n("062d0b688adb10f3af5ebc2fd2667f1c"), body: i18n("e8a0ca6c8deddec868ee3875e6609a4e"), disabled: false }, { type: 'click', title: i18n("4363c17ebb346b646af55bd8c8075915"), body: i18n("8d35e7e473227c7e314e6033ec127db4"), disabled: false }, { type: 'disabled', title: i18n("710ad08b11419332713360d2750cd707"), body: i18n("04deb1572a3d86a8a96022645ca243ea"), disabled: true }]; function handleEdit(type, title) { onEdit({ title: title + i18n("8f68a7f0132dfa55224f88a21dbb12fa"), path: "component.link.base.".concat(type, ".body"), body: getSchemaTpl('normal', [{ type: 'amis-theme-font-editor', label: false, textAlign: false, hideFontFamily: true, hideLineHeight: true, name: 'font' }, { type: 'amis-theme-wrapper', label: false, title: i18n("8e1b944f4389bdaab6f11d5bc83190c8"), body: [{ type: 'amis-theme-color-picker', label: i18n("6b36c6f7ec834692ec6c8e3816349fdd"), name: 'bg-color', labelMode: 'input', options: '${colorOptions}' }] }]) }); } return React__default.createElement("div", { className: "Theme-Link-base" }, content.map(function (item) { return React__default.createElement("div", { className: "Theme-Link-base-item" }, React__default.createElement("div", { className: "Theme-Link-base-item-title" }, item.title), React__default.createElement("div", { className: cx('Theme-Link-base-item-content', 'Theme-Link-base-item-content--' + item.type, activeId === "component.link.base.".concat(item.type, ".body") && 'Theme-Link-base-item-content--active'), onClick: function () { return handleEdit(item.type, item.title + i18n("faf1f0172b1960d369011c68794e5056")); } }, render({ type: 'link', body: item.body, disabled: item.disabled }))); })); }; var ThemeLinkIcon = function (props) { var activeId = props.activeId, onEdit = props.onEdit; function handleEdit() { onEdit({ title: i18n("774b2bcaca8a64f46c84b510cec89109"), path: 'component.link.icon.body', body: getSchemaTpl('normal', [{ type: 'amis-theme-select', name: 'size', label: i18n("ef79da787ad206e5d5f8cf62e195c836"), extraUnit: ['px'], options: '${sizesOptions}' }, { type: 'amis-theme-select', name: 'margin', label: i18n("a68e1efc4cfb1c098588ba307a83e5b7"), options: '${sizesOptions}' }]) }); } return React__default.createElement("div", { className: "Theme-Link-icon" }, React__default.createElement("div", { className: "Theme-Link-icon-item" }, React__default.createElement("div", { className: cx('Theme-Link-icon-item-content', activeId === "component.link.icon.body" && 'Theme-Link-icon-item-content--active'), onClick: handleEdit }, render({ type: 'link', body: i18n("b783fe0ed9ccac4709fa53e48626e7f7"), icon: 'iconfont icon-search', rightIcon: 'iconfont icon-copy' })))); }; var ThemeLink = function (props) { return { title: i18n("a570fb905a78a803b76ec27eee4bfbef"), body: [{ title: i18n("4af1215ffa45b8245f055eb676fd6970"), body: function (onEdit) { return React__default.createElement(ThemeLinkBase, __assign({}, props, { onEdit: onEdit })); } }, { title: i18n("5ef69f62dc668c1a3e68b51c50a2530a"), body: function (onEdit) { return React__default.createElement(ThemeLinkIcon, __assign({}, props, { onEdit: onEdit })); } }] }; }; registerComponent('link', { type: 'common', label: i18n("bfe68d5844f8e54602760e18f45954f7"), key: 'link', component: function () { return ThemeLink; } });