UNPKG

@atlaskit/renderer

Version:
180 lines (179 loc) • 8.22 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["backgroundColor", "hasIcon"]; /** * @jsxRuntime classic * @jsx jsx */ /** * Emotion branch of the `platform_editor_static_css` experiment. * Used via `componentWithCondition` in `panel.tsx`. * * Cleanup: delete this file once the experiment has shipped. */ import React from 'react'; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports -- intentional: emotion fallback for compiled migration; `jsx` is used as the JSX pragma (see @jsx jsx above) so must be a value import import { css, jsx } from '@emotion/react'; import { PanelType } from '@atlaskit/adf-schema'; import { akEditorCustomIconSize } from '@atlaskit/editor-shared-styles/consts'; import { hexToEditorBackgroundPaletteColor } from '@atlaskit/editor-palette'; import { fg } from '@atlaskit/platform-feature-flags'; // New custom icons are a little smaller than predefined icons. // To fix alignment issues with custom icons, vertical alignment is updated. var panelEmojiSpriteVerticalAlignment = -(8 * 3 - akEditorCustomIconSize) / 2; var panelEmojiImageVerticalAlignment = panelEmojiSpriteVerticalAlignment - 1; var blockNodesVerticalMargin = '0.75rem'; var akEditorTableCellMinWidth = 48; var panelBaseStyles = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&.ak-editor-panel': { borderRadius: "var(--ds-radius-small, 3px)", margin: "".concat(blockNodesVerticalMargin, " 0 0"), paddingTop: "var(--ds-space-100, 8px)", paddingRight: "var(--ds-space-200, 16px)", paddingBottom: "var(--ds-space-100, 8px)", paddingLeft: "var(--ds-space-100, 8px)", minWidth: "".concat(akEditorTableCellMinWidth, "px"), display: 'flex', position: 'relative', alignItems: 'normal', wordBreak: 'break-word', backgroundColor: "var(--ds-background-accent-blue-subtlest, #E9F2FE)", color: 'inherit', // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__icon': { flexShrink: 0, height: "var(--ds-space-300, 24px)", width: "var(--ds-space-300, 24px)", boxSizing: 'content-box', paddingRight: "var(--ds-space-100, 8px)", textAlign: 'center', userSelect: 'none', MozUserSelect: 'none', WebkitUserSelect: 'none', MsUserSelect: 'none', // eslint-disable-next-line @atlaskit/design-system/use-tokens-space marginTop: '0.1em', color: "var(--ds-icon-information, #357DE8)", // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '> span': { verticalAlign: 'middle', display: 'inline-flex' }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.emoji-common-emoji-sprite': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values verticalAlign: "".concat(panelEmojiSpriteVerticalAlignment, "px") }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.emoji-common-emoji-image': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values verticalAlign: "".concat(panelEmojiImageVerticalAlignment, "px"), // Vertical align only works for inline-block elements in Firefox // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors '@-moz-document url-prefix()': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors img: { display: 'inline-block' } } } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__content': { margin: "var(--ds-space-025, 2px)".concat(" 0 ", "var(--ds-space-025, 2px)"), flex: '1 0 0', minWidth: 0 }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&[data-panel-type="note"]': { backgroundColor: "var(--ds-background-accent-purple-subtlest, #F8EEFE)", // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__icon': { color: "var(--ds-icon-discovery, #AF59E1)" } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values '&[data-panel-type="tip"]': { backgroundColor: "var(--ds-background-accent-green-subtlest, #DCFFF1)", // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__icon': { color: "var(--ds-icon-success, #6A9A23)" } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&[data-panel-type="warning"]': { backgroundColor: "var(--ds-background-accent-yellow-subtlest, #FEF7C8)", // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__icon': { color: "var(--ds-icon-warning, #E06C00)" } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&[data-panel-type="error"]': { backgroundColor: "var(--ds-background-accent-red-subtlest, #FFECEB)", // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__icon': { color: "var(--ds-icon-danger, #C9372C)" } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&[data-panel-type="success"]': { backgroundColor: "var(--ds-background-accent-green-subtlest, #DCFFF1)", // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__icon': { color: "var(--ds-icon-success, #6A9A23)" } } } }); var panelHasNoIconStyles = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&.ak-editor-panel': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&[data-panel-type="custom"]': { paddingLeft: "var(--ds-space-150, 12px)", paddingRight: "var(--ds-space-150, 12px)" } } }); var panelNestedIconStyles = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&.ak-editor-panel__no-icon': { paddingLeft: "var(--ds-space-150, 12px)", paddingRight: "var(--ds-space-150, 12px)" } }); var nestedPanelStyles = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.ak-editor-panel__content .ak-editor-panel': { border: "var(--ds-border-width, 1px)".concat(" solid ", "var(--ds-border, #0B120E24)") } }); var panelCustomBackground = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&.ak-editor-panel': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '&[data-panel-type="custom"]': { backgroundColor: 'var(--ak-renderer-panel-custom-bg-color)' } } }); var PanelStyledEmotion = function PanelStyledEmotion(_ref) { var backgroundColor = _ref.backgroundColor, hasIcon = _ref.hasIcon, props = _objectWithoutProperties(_ref, _excluded); var customBackgroundColor = backgroundColor ? hexToEditorBackgroundPaletteColor(backgroundColor) || backgroundColor : undefined; return jsx("div", _extends({ style: // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop { '--ak-renderer-panel-custom-bg-color': customBackgroundColor }, css: [panelBaseStyles, !hasIcon && panelHasNoIconStyles, props['data-panel-type'] === PanelType.CUSTOM && backgroundColor && panelCustomBackground, fg('platform_editor_nested_dnd_styles_changes') && panelNestedIconStyles, nestedPanelStyles] // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading }, props), props.children); }; export { PanelStyledEmotion }; PanelStyledEmotion.displayName = 'PanelStyledEmotion';