@atlaskit/renderer
Version:
Renderer component
86 lines (85 loc) • 3.53 kB
JavaScript
"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;