Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions e2e/page-objects/fragments/PRComments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { expect, FrameLocator, Locator } from '@playwright/test';

const COMMENT_LIST_TES_ID = 'pullrequest.comment-list';
const FORM_TEST_ID = 'common.comment-form';
const RICH_EDITOR_TEST_ID = 'common.rich-markdown-editor';
const RICH_EDITOR_TEST_ID = 'common.atlaskit-editor';

export class PRComments {
readonly frame: FrameLocator;
Expand All @@ -12,8 +12,6 @@ export class PRComments {
readonly editor: Locator;
readonly editorContent: Locator;
readonly editorConfirmButton: Locator;
readonly editorCancelButton: Locator;
readonly richEditorCheckbox: Locator;
readonly commentList: Locator;
readonly testComment: Locator;

Expand All @@ -24,9 +22,7 @@ export class PRComments {
this.form = this.frame.getByTestId(FORM_TEST_ID);
this.editor = this.form.getByTestId(RICH_EDITOR_TEST_ID);
this.editorContent = this.editor.locator('div.ProseMirror[contenteditable="true"]');
this.editorConfirmButton = this.form.getByRole('button', { name: 'save' });
this.editorCancelButton = this.form.getByRole('button', { name: 'cancel' });
this.richEditorCheckbox = this.form.getByRole('checkbox');
this.editorConfirmButton = this.form.getByRole('button', { name: /save/i });
this.commentList = this.frame.getByTestId(COMMENT_LIST_TES_ID);
this.testComment = this.commentList.locator('div.MuiBox-root p').filter({ hasText: 'test comment' }).first();
}
Expand All @@ -40,7 +36,5 @@ export class PRComments {
await expect(this.editor).toBeVisible();
await expect(this.editorContent).toBeVisible();
await expect(this.editorConfirmButton).toBeVisible();
await expect(this.editorCancelButton).toBeVisible();
await expect(this.richEditorCheckbox).toBeVisible();
}
}
4 changes: 1 addition & 3 deletions jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@ export const baseConfigFor = (project: string, testExtension: string): Config =>
'^testsutil(/.+)?': '<rootDir>/testsutil$1',
'monaco-editor': '<rootDir>/__mocks__/monaco-editor.ts',
'package.json': '<rootDir>/__mocks__/packagejson.ts',
'^clipboard-polyfill': '<rootDir>/node_modules/@atlaskit/editor-common/dist/cjs/clipboard/index.js',
'prosemirror-model': '<rootDir>/node_modules/prosemirror-model', // alias to fix duplicate module issue
'prosemirror-view': '<rootDir>/node_modules/prosemirror-view', // alias to fix duplicate module issue
'^clipboard-polyfill': '<rootDir>/node_modules/@atlaskit/editor-common/dist/cjs/clipboard/index.js'
},

testMatch: [`**/*.test.${testExtension}`],
Expand Down
16,450 changes: 6,375 additions & 10,075 deletions package-lock.json

Large diffs are not rendered by default.

18 changes: 4 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -1481,18 +1481,21 @@
"@atlaskit/css-reset": "^7.3.5",
"@atlaskit/datetime-picker": "^17.0.13",
"@atlaskit/dropdown-menu": "^16.3.8",
"@atlaskit/editor-bitbucket-transformer": "^9.5.0",
"@atlaskit/editor-common": "^110.8.0",
"@atlaskit/editor-core": "^214.2.2",
"@atlaskit/editor-json-transformer": "^8.27.2",
"@atlaskit/editor-plugin-content-insertion": "^6.0.0",
"@atlaskit/editor-plugin-insert-block": "^7.0.1",
"@atlaskit/editor-plugin-list": "^8.0.0",
"@atlaskit/editor-plugin-mentions": "^8.0.0",
"@atlaskit/editor-plugin-table": "^15.0.9",
"@atlaskit/editor-plugin-text-color": "^6.0.1",
"@atlaskit/editor-plugin-toolbar-lists-indentation": "^7.0.1",
"@atlaskit/editor-wikimarkup-transformer": "^11.16.4",
"@atlaskit/feature-gate-js-client": "^5.5.5",
"@atlaskit/form": "^12.2.1",
"@atlaskit/icon": "^27.12.0",
"@atlaskit/icon": "^28.3.0",
"@atlaskit/icon-lab": "^5.7.0",
"@atlaskit/inline-dialog": "^17.2.6",
"@atlaskit/layering": "^3.0.0",
Expand Down Expand Up @@ -1572,19 +1575,6 @@
"p-queue": "^6.3.0",
"p-settle": "^3.1.0",
"p-timeout": "^3.2.0",
"prosemirror-commands": "^1.7.1",
"prosemirror-dropcursor": "^1.8.2",
"prosemirror-example-setup": "^1.2.3",
"prosemirror-gapcursor": "^1.3.2",
"prosemirror-history": "^1.4.1",
"prosemirror-inputrules": "^1.5.0",
"prosemirror-keymap": "^1.2.3",
"prosemirror-markdown": "^1.13.2",
"prosemirror-mentions": "^1.0.2",
"prosemirror-menu": "^1.2.5",
"prosemirror-model": "^1.25.1",
"prosemirror-state": "^1.4.3",
"prosemirror-view": "^1.39.3",
"react": "^18.3.1",
"react-async-hook": "^4.0.0",
"react-dom": "^18.3.1",
Expand Down
238 changes: 15 additions & 223 deletions src/react/atlascode/common/AtlGlobalStyles.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,230 +45,22 @@ const useStyles = makeStyles(
? lighten(theme.palette.background.default, 0.15)
: darken(theme.palette.background.default, 0.15),
},
'.ProseMirror': {
position: 'relative',
wordWrap: 'break-word',
whiteSpace: 'pre-wrap',
WebkitFontVariantLigatures: 'none',
fontVariantLigatures: 'none',
padding: '4px 8px 4px 14px',
lineHeight: '1.2',
outline: 'none',
// fix vertical alignment of headings in dropdown for formatting text (atlaskit editor)
'.akEditor span[role="menuitem"] :is(h1, h2, h3, h4, h5, h6)': {
'margin-block-end': 0,
'font-weight': 'var(--ds-font-weight-medium, 500)',
},
// hide assistive element in atlaskit editor toolbar
'.akEditor .assistive': {
border: '0 !important',
clip: 'rect(1px, 1px, 1px, 1px) !important',
height: '1px !important',
overflow: 'hidden !important',
padding: '0 !important',
position: 'absolute !important',
width: '1px !important',
'white-space': 'nowrap !important',
},
'.ProseMirror pre': { whiteSpace: 'pre-wrap' },
'.ProseMirror li': { position: 'relative' },
'.ProseMirror-hideselection *::selection': { background: 'transparent' },
'.ProseMirror-hideselection *::-moz-selection': { background: 'transparent' },
'.ProseMirror-hideselection': { caretColor: 'transparent' },
'.ProseMirror-selectednode': { outline: '2px solid #8cf' },
'li.ProseMirror-selectednode': { outline: 'none' },
'li.ProseMirror-selectednode:after': {
content: '""',
position: 'absolute',
left: '-32px',
right: '-2px',
top: '-2px',
bottom: '-2px',
border: '2px solid #8cf',
pointerEvents: 'none',
},
'.ProseMirror-textblock-dropdown': { minWidth: '3em' },
'.ProseMirror-menu': { margin: '0 -4px', lineHeight: '1' },
'.ProseMirror-tooltip .ProseMirror-menu': {
width: ['-webkit-fit-content', 'fit-content'],
whiteSpace: 'pre',
},
'.ProseMirror-menuitem': { marginRight: '3px', display: 'inline-block' },
'.ProseMirror-menuseparator': {
borderRight: '1px solid #ddd',
marginRight: '3px',
},
'.ProseMirror-menu-dropdown, .ProseMirror-menu-dropdown-menu': {
fontSize: '90%',
whiteSpace: 'nowrap',
},
'.ProseMirror-menu-dropdown': {
verticalAlign: '1px',
cursor: 'pointer',
position: 'relative',
paddingRight: '15px',
},
'.ProseMirror-menu-dropdown-wrap': {
padding: '1px 0 1px 4px',
display: 'inline-block',
position: 'relative',
},
'.ProseMirror-menu-dropdown:after': {
content: '""',
borderLeft: '4px solid transparent',
borderRight: '4px solid transparent',
borderTop: '4px solid currentColor',
opacity: '.6',
position: 'absolute',
right: '4px',
top: 'calc(50% - 2px)',
},
'.ProseMirror-menu-dropdown-menu, .ProseMirror-menu-submenu': {
position: 'absolute',
background: 'white',
color: '#666',
border: '1px solid #aaa',
padding: '2px',
},
'.ProseMirror-menu-dropdown-menu': { zIndex: '15', minWidth: '6em' },
'.ProseMirror-menu-dropdown-item': {
cursor: 'pointer',
padding: '2px 8px 2px 4px',
},
'.ProseMirror-menu-dropdown-item:hover': { background: '#f2f2f2' },
'.ProseMirror-menu-submenu-wrap': {
position: 'relative',
marginRight: '-4px',
},
'.ProseMirror-menu-submenu-label:after': {
content: '""',
borderTop: '4px solid transparent',
borderBottom: '4px solid transparent',
borderLeft: '4px solid currentColor',
opacity: '.6',
position: 'absolute',
right: '4px',
top: 'calc(50% - 4px)',
},
'.ProseMirror-menu-submenu': {
display: 'none',
minWidth: '4em',
left: '100%',
top: '-3px',
},
'.ProseMirror-menu-active': { background: '#eee', borderRadius: '4px' },
'.ProseMirror-menu-disabled': { opacity: '.3' },
'.ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu, .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu':
{
display: 'block',
},
'.ProseMirror-menubar': {
borderTopLeftRadius: 'inherit',
borderTopRightRadius: 'inherit',
position: 'relative',
minHeight: '1em',
//color: '#666',
padding: '1px 6px',
top: '0',
left: '0',
right: '0',
borderBottom: '1px solid silver',
//background: 'white',
zIndex: '10',
boxSizing: 'border-box',
overflow: 'visible',
},
'.ProseMirror-icon': {
display: 'inline-block',
lineHeight: '.8',
verticalAlign: '-2px',
padding: '2px 8px',
cursor: 'pointer',
},
'.ProseMirror-menu-disabled.ProseMirror-icon': { cursor: 'default' },
'.ProseMirror-icon svg': { fill: 'currentColor', height: '1em' },
'.ProseMirror-icon span': { verticalAlign: 'text-top' },
'.ProseMirror-gapcursor': {
display: 'none',
pointerEvents: 'none',
position: 'absolute',
},
'.ProseMirror-gapcursor:after': {
content: '""',
display: 'block',
position: 'absolute',
top: '-2px',
width: '20px',
borderTop: '1px solid black',
animation: 'ProseMirror-cursor-blink 1.1s steps(2, start) infinite',
},
'@keyframes ProseMirror-cursor-blink': { to: { visibility: 'hidden' } },
'.ProseMirror-focused .ProseMirror-gapcursor': { display: 'block' },
'.ProseMirror-example-setup-style hr': {
padding: '2px 10px',
border: 'none',
margin: '1em 0',
},
'.ProseMirror-example-setup-style hr:after': {
content: '""',
display: 'block',
height: '1px',
backgroundColor: 'silver',
lineHeight: '2px',
},
'.ProseMirror ul, .ProseMirror ol': { paddingLeft: '30px' },
'.ProseMirror blockquote': {
paddingLeft: '1em',
borderLeft: '3px solid #eee',
marginLeft: '0',
marginRight: '0',
},
'.ProseMirror-example-setup-style img': { cursor: 'default' },
'.ProseMirror-prompt': {
background: 'white',
padding: '5px 10px 5px 15px',
border: '1px solid silver',
position: 'fixed',
borderRadius: '3px',
zIndex: '11',
boxShadow: '-.5px 2px 5px rgba(0, 0, 0, .2)',
},
'.ProseMirror-prompt h5': {
margin: '0',
fontWeight: 'normal',
fontSize: '100%',
color: '#444',
},
'.ProseMirror-prompt input[type="text"],.ProseMirror-prompt textarea': {
background: '#eee',
border: 'none',
outline: 'none',
},
'.ProseMirror-prompt input[type="text"]': { padding: '0 4px' },
'.ProseMirror-prompt-close': {
position: 'absolute',
left: '2px',
top: '1px',
color: '#666',
border: 'none',
background: 'transparent',
padding: '0',
},
'.ProseMirror-prompt-close:after': { content: '"✕"', fontSize: '12px' },
'.ProseMirror-invalid': {
background: '#ffc',
border: '1px solid #cc7',
borderRadius: '4px',
padding: '5px 10px',
position: 'absolute',
minWidth: '10em',
},
'.ProseMirror-prompt-buttons': { marginTop: '5px', display: 'none' },
'.ProseMirror p:first-child,.ProseMirror h1:first-child,.ProseMirror h2:first-child,.ProseMirror h3:first-child,.ProseMirror h4:first-child,.ProseMirror h5:first-child,.ProseMirror h6:first-child':
{
marginTop: '10px',
},
'.ProseMirror p': { marginBottom: '1em' },
'.suggestion-item-active': { background: '#08c', color: '#fff' },
'.prosemirror-mention-node': {
'background-color':
theme.palette.mode === 'dark'
? lighten(theme.palette.background.default, 0.15)
: darken(theme.palette.background.default, 0.15),
},
'.prosemirror-tag-node': { color: '#08c' },
'.prosemirror-suggestion': {
background: 'rgba(0, 0, 0, 0.05)',
border: '1px solid #999',
},
'.suggestion-item-list': { background: '#fff', border: '1px solid #999' },
'.suggestion-item': { padding: '5px' },
'.suggestion-item:before': { borderTop: '1px solid' },
},
}) as const,
);
Expand Down
Loading
Loading