UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

168 lines (162 loc) 9.49 kB
/* eslint-disable @atlaskit/ui-styling-standard/use-compiled */ import { css } from '@emotion/react'; import { MentionSharedCssClassName } from '@atlaskit/editor-common/mention'; import { akEditorDeleteBorder, akEditorSelectedBorderSize, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles'; import { backgroundSelectionStyles, boxShadowSelectionStyles, dangerBackgroundStyles, dangerBorderStyles, hideNativeBrowserTextSelectionStyles } from './selectionStyles'; /* need to specify dark text colour because personal mentions (in dark blue) have white text by default */ const mentionsSelectedColor = css({ color: "var(--ds-text-subtle, #505258)" }); // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles export const mentionsStyles = css({ // 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 [`.${MentionSharedCssClassName.MENTION_CONTAINER}`]: { // TODO: ED-28075 - refactor selection styles to unblock Compiled CSS migration // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values, @atlaskit/ui-styling-standard/no-imported-style-values [`&.${akEditorSelectedNodeClassName} [data-mention-id] > span`]: [ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values boxShadowSelectionStyles, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values backgroundSelectionStyles, mentionsSelectedColor] }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.danger': { // 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 [`.${MentionSharedCssClassName.MENTION_CONTAINER}.${akEditorSelectedNodeClassName}`]: { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '> span > span > span': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values boxShadow: `0 0 0 ${akEditorSelectedBorderSize}px ${akEditorDeleteBorder}`, backgroundColor: "var(--ds-background-danger, #FFECEB)" } }, // 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 [`.${MentionSharedCssClassName.MENTION_CONTAINER} > span > span > span`]: { backgroundColor: "var(--ds-background-neutral, #0515240F)", color: "var(--ds-text-subtle, #505258)" } } }); // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles export const mentionNodeStyles = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766 '.editor-mention-primitive': { display: 'inline', borderRadius: "var(--ds-radius-full, 9999px)", cursor: 'pointer', padding: '1px 0.3em 1px 0.23em', // To match `packages/elements/mention/src/components/Mention/PrimitiveMention.tsx` implementation // we match the line height exactly // eslint-disable-next-line @atlaskit/design-system/use-tokens-typography lineHeight: '1.714', fontWeight: "var(--ds-font-weight-regular, 400)", wordBreak: 'break-word', background: "var(--ds-background-neutral, #0515240F)", border: '1px solid transparent', color: "var(--ds-text-subtle, #505258)", '&:hover': { background: "var(--ds-background-neutral-hovered, #0B120E24)" }, '&:active': { background: "var(--ds-background-neutral-pressed, #080F214A)" } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766 '.editor-mention-primitive.mention-restricted': { background: 'transparent', border: `1px solid ${"var(--ds-border-bold, #7D818A)"}`, color: "var(--ds-text, #292A2E)", '&:hover': { background: 'transparent' }, '&:active': { background: 'transparent' } }, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766 '.editor-mention-primitive.mention-self': { background: "var(--ds-background-brand-bold, #1868DB)", border: '1px solid transparent', color: "var(--ds-text-inverse, #FFFFFF)", '&:hover': { background: "var(--ds-background-brand-bold-hovered, #1558BC)" }, '&:active': { background: "var(--ds-background-brand-bold-pressed, #144794)" } } }); // This is mentions styles for mentions selection styles based on the vanilla node view // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles export const mentionsSelectionStyles = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.danger': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.editor-mention-primitive': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values boxShadow: `0 0 0 ${akEditorSelectedBorderSize}px ${akEditorDeleteBorder}`, backgroundColor: "var(--ds-background-danger, #FFECEB)" } }, // 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 [`.${akEditorSelectedNodeClassName}`]: { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '> .editor-mention-primitive, > .editor-mention-primitive.mention-self, > .editor-mention-primitive.mention-restricted': // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values, [ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values boxShadowSelectionStyles, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values backgroundSelectionStyles, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values hideNativeBrowserTextSelectionStyles, mentionsSelectedColor] } }); // This is mentions styles for mentions selection styles based on the vanilla node view // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles export const mentionsSelectionStylesWithSearchMatch = css({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.danger': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '.editor-mention-primitive': { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values boxShadow: `0 0 0 ${akEditorSelectedBorderSize}px ${akEditorDeleteBorder}`, backgroundColor: "var(--ds-background-danger, #FFECEB)" } }, // 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 [`.${akEditorSelectedNodeClassName}`]: { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '> .editor-mention-primitive, > .editor-mention-primitive.mention-self, > .editor-mention-primitive.mention-restricted': // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values, [ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values backgroundSelectionStyles, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values hideNativeBrowserTextSelectionStyles, mentionsSelectedColor] }, // 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 [`.${akEditorSelectedNodeClassName}:not(.search-match-block)`]: { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '> .editor-mention-primitive, > .editor-mention-primitive.mention-self, > .editor-mention-primitive.mention-restricted': // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values, [ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values boxShadowSelectionStyles] } }); // eslint-disable-next-line @atlaskit/ui-styling-standard/no-exported-styles export const mentionDangerStyles = css({ // 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 [`.${akEditorSelectedNodeClassName}:not(.search-match-block).danger`]: { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors '> .editor-mention-primitive, > .editor-mention-primitive.mention-self, > .editor-mention-primitive.mention-restricted': // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values, [ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values dangerBorderStyles, // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values dangerBackgroundStyles] } });