@atlaskit/editor-plugin-panel
Version:
Panel plugin for @atlaskit/editor-core.
102 lines (101 loc) • 4.72 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.panelTypeDropdown = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _adfSchema = require("@atlaskit/adf-schema");
var _messages = require("@atlaskit/editor-common/messages");
var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/core/cross-circle"));
var _customize = _interopRequireDefault(require("@atlaskit/icon/core/customize"));
var _statusDiscovery = _interopRequireDefault(require("@atlaskit/icon/core/status-discovery"));
var _statusInformation = _interopRequireDefault(require("@atlaskit/icon/core/status-information"));
var _statusSuccess = _interopRequireDefault(require("@atlaskit/icon/core/status-success"));
var _statusWarning = _interopRequireDefault(require("@atlaskit/icon/core/status-warning"));
var _actions = require("../editor-actions/actions");
var panelTitleAndIcon = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _adfSchema.PanelType.INFO, {
title: _messages.panelMessages.info,
icon: (0, _statusInformation.default)({
label: 'info-icon',
color: "var(--ds-icon-information, #357DE8)"
})
}), _adfSchema.PanelType.NOTE, {
title: _messages.panelMessages.note,
icon: (0, _statusDiscovery.default)({
label: 'note-icon',
color: "var(--ds-icon-discovery, #AF59E1)"
})
}), _adfSchema.PanelType.SUCCESS, {
title: _messages.panelMessages.success,
icon: (0, _statusSuccess.default)({
label: 'success-icon',
color: "var(--ds-icon-success, #6A9A23)"
})
}), _adfSchema.PanelType.WARNING, {
title: _messages.panelMessages.warning,
icon: (0, _statusWarning.default)({
label: 'warning-icon',
color: "var(--ds-icon-warning, #E06C00)"
})
}), _adfSchema.PanelType.ERROR, {
title: _messages.panelMessages.error,
icon: (0, _crossCircle.default)({
label: 'error-icon',
color: "var(--ds-icon-danger, #C9372C)"
})
}), _adfSchema.PanelType.CUSTOM, {
title: _messages.panelMessages.custom,
icon: (0, _customize.default)({
label: 'custom-icon'
})
});
var panelTypeDropdown = exports.panelTypeDropdown = function panelTypeDropdown(_ref) {
var activePanelType = _ref.activePanelType,
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
formatMessage = _ref.formatMessage;
var dropdownOptions = [{
id: 'editor.panel.info',
icon: panelTitleAndIcon[_adfSchema.PanelType.INFO].icon,
onClick: (0, _actions.changePanelType)(editorAnalyticsAPI)(_adfSchema.PanelType.INFO),
selected: activePanelType === _adfSchema.PanelType.INFO,
title: formatMessage(panelTitleAndIcon[_adfSchema.PanelType.INFO].title)
}, {
id: 'editor.panel.note',
icon: panelTitleAndIcon[_adfSchema.PanelType.NOTE].icon,
onClick: (0, _actions.changePanelType)(editorAnalyticsAPI)(_adfSchema.PanelType.NOTE),
selected: activePanelType === _adfSchema.PanelType.NOTE,
title: formatMessage(panelTitleAndIcon[_adfSchema.PanelType.NOTE].title)
}, {
id: 'editor.panel.success',
icon: panelTitleAndIcon[_adfSchema.PanelType.SUCCESS].icon,
onClick: (0, _actions.changePanelType)(editorAnalyticsAPI)(_adfSchema.PanelType.SUCCESS),
selected: activePanelType === _adfSchema.PanelType.SUCCESS,
title: formatMessage(panelTitleAndIcon[_adfSchema.PanelType.SUCCESS].title)
}, {
id: 'editor.panel.warning',
icon: panelTitleAndIcon[_adfSchema.PanelType.WARNING].icon,
onClick: (0, _actions.changePanelType)(editorAnalyticsAPI)(_adfSchema.PanelType.WARNING),
selected: activePanelType === _adfSchema.PanelType.WARNING,
title: formatMessage(panelTitleAndIcon[_adfSchema.PanelType.WARNING].title)
}, {
id: 'editor.panel.error',
icon: panelTitleAndIcon[_adfSchema.PanelType.ERROR].icon,
onClick: (0, _actions.changePanelType)(editorAnalyticsAPI)(_adfSchema.PanelType.ERROR),
selected: activePanelType === _adfSchema.PanelType.ERROR,
title: formatMessage(panelTitleAndIcon[_adfSchema.PanelType.ERROR].title)
}];
var selectedPanelType = activePanelType || _adfSchema.PanelType.INFO;
var selectedTitleAndIcon = panelTitleAndIcon[selectedPanelType] || panelTitleAndIcon[_adfSchema.PanelType.CUSTOM];
return {
id: 'panel-type-dropdown',
testId: 'panel-type-dropdown-trigger',
type: 'dropdown',
options: dropdownOptions,
showSelected: true,
iconBefore: function iconBefore() {
return selectedTitleAndIcon.icon;
},
title: formatMessage(selectedTitleAndIcon.title)
};
};