UNPKG

@atlaskit/editor-plugin-selection-extension

Version:

editor-plugin-selection-extension plugin for @atlaskit/editor-core

91 lines (90 loc) 4.91 kB
/* SelectionExtensionNestedDropdownMenu.tsx generated by @compiled/babel-plugin v2.0.0 */ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SelectionExtensionNestedDropdownMenu = void 0; require("./SelectionExtensionNestedDropdownMenu.compiled.css"); var _runtime = require("@compiled/react/runtime"); var _react = _interopRequireDefault(require("react")); var _analytics = require("@atlaskit/editor-common/analytics"); var _blockMenu = require("@atlaskit/editor-common/block-menu"); var _editorToolbar = require("@atlaskit/editor-toolbar"); var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right")); var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge")); var _platformFeatureFlags = require("@atlaskit/platform-feature-flags"); var _compiled = require("@atlaskit/primitives/compiled"); var _SelectionExtensionComponentContext = require("../SelectionExtensionComponentContext"); var _SelectionExtensionDropdownItem = require("./SelectionExtensionDropdownItem"); var BLOCK_MENU_TEMPLATES_SPOTLIGHT_PORTAL_SELECTOR = '[data-test-id="block-menu-templates-spotlight-portal-container"]'; var shouldIgnoreBlockMenuTemplatesSpotlightCloseEvent = function shouldIgnoreBlockMenuTemplatesSpotlightCloseEvent(event) { return event.target instanceof Element && event.target.closest(BLOCK_MENU_TEMPLATES_SPOTLIGHT_PORTAL_SELECTOR) !== null; }; var styles = { lozenge: "_18u012x7" }; var ChildItems = function ChildItems(_ref) { var nestedDropdownMenu = _ref.nestedDropdownMenu; var childItems = nestedDropdownMenu.getMenuItems(); return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, null, childItems.map(function (dropdownItem) { return /*#__PURE__*/_react.default.createElement(_SelectionExtensionDropdownItem.SelectionExtensionDropdownItem, { key: dropdownItem.key || dropdownItem.label, dropdownItem: dropdownItem }); })); }; var SelectionExtensionNestedDropdownMenu = exports.SelectionExtensionNestedDropdownMenu = function SelectionExtensionNestedDropdownMenu(_ref2) { var _nestedDropdownMenu$l; var nestedDropdownMenu = _ref2.nestedDropdownMenu; var IconComponent = nestedDropdownMenu.icon; var _useSelectionExtensio = (0, _SelectionExtensionComponentContext.useSelectionExtensionComponentContext)(), api = _useSelectionExtensio.api, extensionKey = _useSelectionExtensio.extensionKey, extensionSource = _useSelectionExtensio.extensionSource, extensionLocation = _useSelectionExtensio.extensionLocation; var handleClick = function handleClick() { var _api$analytics; (_api$analytics = api.analytics) === null || _api$analytics === void 0 || _api$analytics.actions.fireAnalyticsEvent({ action: _analytics.ACTION.CLICKED, actionSubject: _analytics.ACTION_SUBJECT.BUTTON, actionSubjectId: _analytics.ACTION_SUBJECT_ID.EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN, eventType: _analytics.EVENT_TYPE.TRACK, attributes: { extensionKey: extensionKey, extensionSource: extensionSource, extensionLocation: extensionLocation, extensionElement: 'nested-dropdown', extensionItemKey: nestedDropdownMenu.key } }); }; var lozengeLabel = (_nestedDropdownMenu$l = nestedDropdownMenu.lozenge) === null || _nestedDropdownMenu$l === void 0 ? void 0 : _nestedDropdownMenu$l.label; var elemAfterText = lozengeLabel && (0, _platformFeatureFlags.fg)('platform_editor_block_menu_v2_patch_2') ? /*#__PURE__*/_react.default.createElement(_compiled.Box, { as: "span", xcss: styles.lozenge }, /*#__PURE__*/_react.default.createElement(_lozenge.default, { appearance: (0, _platformFeatureFlags.fg)('confluence_fronend_labels_categorization_migration') ? 'discovery' : 'new' }, lozengeLabel)) : undefined; return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarNestedDropdownMenu, { testId: _blockMenu.EXTENSION_MENU_ITEM_TEST_ID, text: nestedDropdownMenu.label, elemAfterText: elemAfterText, elemBefore: IconComponent ? /*#__PURE__*/_react.default.createElement(IconComponent, { label: "", size: "small" }) : undefined, elemAfter: /*#__PURE__*/_react.default.createElement(_chevronRight.default, { label: "", size: "small" }), onClick: handleClick, dropdownTestId: "editor-selection-extension-menu", shouldTitleWrap: false, tooltipContent: nestedDropdownMenu.label, "data-extension-item-key": nestedDropdownMenu.key, shouldIgnoreCloseEvent: (0, _platformFeatureFlags.fg)('cc_blocks_changeboarding') ? shouldIgnoreBlockMenuTemplatesSpotlightCloseEvent : undefined }, /*#__PURE__*/_react.default.createElement(ChildItems, { nestedDropdownMenu: nestedDropdownMenu })); };