UNPKG

@atlaskit/editor-plugin-text-color

Version:

Text color plugin for @atlaskit/editor-core

51 lines (50 loc) 2 kB
import React from 'react'; import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks'; import { ToolbarType } from '../types'; // Ignored via go/ees005 // eslint-disable-next-line import/no-named-as-default import ToolbarTextColor from './ToolbarTextColor'; const FloatingToolbarSettings = { disabled: false, isReducedSpacing: true }; const selector = states => { var _states$textColorStat, _states$textColorStat2, _states$textColorStat3, _states$textColorStat4; return { color: (_states$textColorStat = states.textColorState) === null || _states$textColorStat === void 0 ? void 0 : _states$textColorStat.color, defaultColor: (_states$textColorStat2 = states.textColorState) === null || _states$textColorStat2 === void 0 ? void 0 : _states$textColorStat2.defaultColor, palette: (_states$textColorStat3 = states.textColorState) === null || _states$textColorStat3 === void 0 ? void 0 : _states$textColorStat3.palette, disabled: (_states$textColorStat4 = states.textColorState) === null || _states$textColorStat4 === void 0 ? void 0 : _states$textColorStat4.disabled }; }; export const FloatingToolbarComponent = ({ api, editorView, dispatchAnalyticsEvent }) => { const { color, defaultColor, palette, disabled } = useSharedPluginStateWithSelector(api, ['textColor'], selector); if (color === undefined || defaultColor === undefined || palette === undefined) { return null; } return /*#__PURE__*/React.createElement(ToolbarTextColor // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , { pluginState: { color, defaultColor, palette, disabled }, isReducedSpacing: FloatingToolbarSettings.isReducedSpacing, editorView: editorView, dispatchAnalyticsEvent: dispatchAnalyticsEvent, disabled: FloatingToolbarSettings.disabled, pluginInjectionApi: api, toolbarType: ToolbarType.FLOATING }); };