UNPKG

@atlaskit/renderer

Version:
86 lines (85 loc) 3.53 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _adfSchema = require("@atlaskit/adf-schema"); var _icons = require("@atlaskit/editor-common/icons"); var _panel = require("@atlaskit/editor-common/panel"); var _emoji = _interopRequireDefault(require("@atlaskit/icon/core/emoji")); var _lightbulb = _interopRequireDefault(require("@atlaskit/icon/core/lightbulb")); var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react"); var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals"); var _emoji2 = _interopRequireDefault(require("./emoji")); var _panelCompiled = require("./panel-compiled"); var _panelEmotion = require("./panel-emotion"); var panelIcons = { info: _icons.PanelInfoIcon, success: _icons.PanelSuccessIcon, note: _icons.PanelNoteIcon, tip: _lightbulb.default, warning: _icons.PanelWarningIcon, error: _icons.PanelErrorIcon, custom: _emoji.default }; var PanelStyledMigration = (0, _platformFeatureFlagsReact.componentWithCondition)(function () { return (0, _expValEquals.expValEquals)('platform_editor_renderer_static_css', 'isEnabled', true); }, _panelCompiled.PanelStyledCompiled, _panelEmotion.PanelStyledEmotion); var Panel = function Panel(props) { var allowCustomPanels = props.allowCustomPanels, type = props.panelType, panelColor = props.panelColor, panelIcon = props.panelIcon, panelIconId = props.panelIconId, panelIconText = props.panelIconText, providers = props.providers, children = props.children, localId = props.localId; // only allow custom panel type if flag is set // otherwise fall back to info if custom panel is given var panelType = allowCustomPanels ? type : type === _adfSchema.PanelType.CUSTOM ? _adfSchema.PanelType.INFO : type; var getIcon = function getIcon() { if (panelType === _adfSchema.PanelType.CUSTOM) { if (panelIcon && providers) { return /*#__PURE__*/_react.default.createElement(_emoji2.default, { id: panelIconId, text: panelIconText, shortName: panelIcon, providers: providers }); } return null; } var Icon = panelIcons[panelType]; return /*#__PURE__*/_react.default.createElement(Icon, { label: "".concat(panelType, " panel") }); }; var icon = getIcon(); var renderIcon = function renderIcon() { if (icon) { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 return /*#__PURE__*/_react.default.createElement("div", { className: _panel.PanelSharedCssClassName.icon }, icon); } }; return /*#__PURE__*/_react.default.createElement(PanelStyledMigration // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 , { className: _panel.PanelSharedCssClassName.prefix, "data-local-id": localId, "data-panel-type": panelType, "data-panel-color": panelColor, "data-panel-icon": panelIcon, "data-panel-icon-id": panelIconId, "data-panel-icon-text": panelIconText, backgroundColor: panelColor, hasIcon: Boolean(icon) }, renderIcon(), /*#__PURE__*/_react.default.createElement("div", { className: _panel.PanelSharedCssClassName.content }, children)); }; var _default = exports.default = Panel;