UNPKG

@atlaskit/editor-plugin-text-formatting

Version:

Text-formatting plugin for @atlaskit/editor-core

60 lines (57 loc) 2.78 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useClearIcon = void 0; var _react = require("react"); var _react2 = require("@emotion/react"); var _keymaps = require("@atlaskit/editor-common/keymaps"); var _messages = require("@atlaskit/editor-common/messages"); var _shortcut = require("@atlaskit/editor-shared-styles/shortcut"); var _tableCellClear = _interopRequireDefault(require("@atlaskit/icon/core/table-cell-clear")); var _experiments = require("@atlaskit/tmp-editor-statsig/experiments"); var _clearFormatting = require("../../../editor-commands/clear-formatting"); var _inputMethodUtils = require("../input-method-utils"); /** * @jsxRuntime classic * @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766 var useClearIcon = exports.useClearIcon = function useClearIcon(_ref) { var intl = _ref.intl, formattingPluginInitialised = _ref.formattingPluginInitialised, formattingPresent = _ref.formattingIsPresent, editorAnalyticsAPI = _ref.editorAnalyticsAPI, toolbarType = _ref.toolbarType; var isPluginAvailable = Boolean(formattingPluginInitialised); var formattingIsPresent = Boolean(formattingPresent); var clearFormattingLabel = intl.formatMessage(_messages.toolbarMessages.clearFormatting); var clearFormattingToolbar = (0, _react.useCallback)(function (state, dispatch) { return (0, _clearFormatting.clearFormattingWithAnalytics)((0, _inputMethodUtils.getInputMethod)(toolbarType), editorAnalyticsAPI)(state, dispatch); }, [editorAnalyticsAPI, toolbarType]); return (0, _react.useMemo)(function () { if (!isPluginAvailable) { return null; } return { key: 'clearFormatting', command: clearFormattingToolbar, content: clearFormattingLabel, elemBefore: (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') ? (0, _react2.jsx)(_tableCellClear.default, { label: "" }) : undefined, elemAfter: // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 (0, _react2.jsx)("div", { css: _shortcut.shortcutStyle }, (0, _keymaps.tooltip)(_keymaps.clearFormatting)), value: { name: 'clearFormatting' }, isActive: false, isDisabled: !formattingIsPresent, 'aria-label': _keymaps.clearFormatting ? (0, _keymaps.tooltip)(_keymaps.clearFormatting, String(clearFormattingLabel)) : String(clearFormattingLabel) }; }, [isPluginAvailable, clearFormattingToolbar, clearFormattingLabel, formattingIsPresent]); };