@atlaskit/editor-common 60.1.0 → 61.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +80 -0
- package/card/package.json +7 -0
- package/dist/cjs/card/cardOptions.js +5 -0
- package/dist/cjs/emoji.js +23 -0
- package/dist/cjs/extensions/extension-fields-helpers.js +1 -1
- package/dist/cjs/extensions/index.js +46 -40
- package/dist/cjs/extensions/manifest-helpers.js +3 -1
- package/dist/cjs/extensions/module-helpers.js +3 -1
- package/dist/cjs/extensions/types/field-definitions.js +7 -1
- package/dist/cjs/extensions/types/index.js +14 -8
- package/dist/cjs/extensions.js +38 -32
- package/dist/cjs/i18n/cs.js +1 -0
- package/dist/cjs/i18n/da.js +1 -0
- package/dist/cjs/i18n/de.js +1 -0
- package/dist/cjs/i18n/es.js +1 -0
- package/dist/cjs/i18n/fi.js +1 -0
- package/dist/cjs/i18n/fr.js +1 -0
- package/dist/cjs/i18n/hu.js +1 -0
- package/dist/cjs/i18n/index.js +26 -26
- package/dist/cjs/i18n/it.js +1 -0
- package/dist/cjs/i18n/ja.js +1 -0
- package/dist/cjs/i18n/ko.js +1 -0
- package/dist/cjs/i18n/nb.js +1 -0
- package/dist/cjs/i18n/nl.js +1 -0
- package/dist/cjs/i18n/pl.js +1 -0
- package/dist/cjs/i18n/pt_BR.js +1 -0
- package/dist/cjs/i18n/ru.js +1 -0
- package/dist/cjs/i18n/sv.js +1 -0
- package/dist/cjs/i18n/th.js +1 -0
- package/dist/cjs/i18n/tr.js +1 -0
- package/dist/cjs/i18n/uk.js +1 -0
- package/dist/cjs/i18n/vi.js +1 -0
- package/dist/cjs/i18n/zh.js +1 -1
- package/dist/cjs/i18n/zh_TW.js +1 -0
- package/dist/cjs/in-product.js +14 -14
- package/dist/cjs/index.js +314 -302
- package/dist/cjs/mention.js +23 -0
- package/dist/cjs/messages/codeBidiWarning.js +21 -0
- package/dist/cjs/messages/index.js +8 -0
- package/dist/cjs/provider-factory/context.js +1 -1
- package/dist/cjs/provider-factory.js +6 -6
- package/dist/cjs/provider-helpers/promise-helpers.js +1 -1
- package/dist/cjs/styles/index.js +86 -80
- package/dist/cjs/styles/shared/annotation.js +1 -1
- package/dist/cjs/styles/shared/block-marks.js +1 -1
- package/dist/cjs/styles/shared/media-single.js +1 -1
- package/dist/cjs/styles/shared/panel.js +90 -37
- package/dist/cjs/styles/shared/table.js +3 -3
- package/dist/cjs/type-ahead/index.js +1 -1
- package/dist/cjs/types/annotation/emitter.js +1 -1
- package/dist/cjs/ufo/experience-store.js +160 -0
- package/dist/cjs/ufo/index.js +25 -0
- package/dist/cjs/ui/BaseTheme/index.js +2 -2
- package/dist/cjs/ui/Expand/index.js +1 -1
- package/dist/cjs/ui/MediaSingle/grid.js +2 -2
- package/dist/cjs/ui/MediaSingle/index.js +2 -1
- package/dist/cjs/ui/MediaSingle/styled.js +1 -1
- package/dist/cjs/ui/Messages/index.js +1 -1
- package/dist/cjs/ui/Popup/index.js +1 -1
- package/dist/cjs/ui/Popup/utils.js +5 -5
- package/dist/cjs/ui/WidthProvider/index.js +2 -2
- package/dist/cjs/ui/index.js +72 -72
- package/dist/cjs/utils/analytics.js +6 -5
- package/dist/cjs/utils/breakout.js +1 -1
- package/dist/cjs/utils/compareNodes.js +6 -0
- package/dist/cjs/utils/date.js +1 -1
- package/dist/cjs/utils/index.js +129 -107
- package/dist/cjs/utils/performance/measure-tti.js +2 -2
- package/dist/cjs/utils/performance/measure.js +1 -1
- package/dist/cjs/utils/profiler/render-count.js +135 -0
- package/dist/cjs/utils/table.js +1 -1
- package/dist/cjs/utils/validate-using-spec.js +1 -1
- package/dist/cjs/utils/validator.js +47 -27
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/card/cardOptions.js +1 -0
- package/dist/es2019/emoji.js +2 -0
- package/dist/es2019/extensions/index.js +1 -1
- package/dist/es2019/extensions/types/field-definitions.js +3 -0
- package/dist/es2019/extensions/types/index.js +1 -1
- package/dist/es2019/extensions.js +1 -1
- package/dist/es2019/i18n/cs.js +1 -0
- package/dist/es2019/i18n/da.js +1 -0
- package/dist/es2019/i18n/de.js +1 -0
- package/dist/es2019/i18n/es.js +1 -0
- package/dist/es2019/i18n/fi.js +1 -0
- package/dist/es2019/i18n/fr.js +1 -0
- package/dist/es2019/i18n/hu.js +1 -0
- package/dist/es2019/i18n/it.js +1 -0
- package/dist/es2019/i18n/ja.js +1 -0
- package/dist/es2019/i18n/ko.js +1 -0
- package/dist/es2019/i18n/nb.js +1 -0
- package/dist/es2019/i18n/nl.js +1 -0
- package/dist/es2019/i18n/pl.js +1 -0
- package/dist/es2019/i18n/pt_BR.js +1 -0
- package/dist/es2019/i18n/ru.js +1 -0
- package/dist/es2019/i18n/sv.js +1 -0
- package/dist/es2019/i18n/th.js +1 -0
- package/dist/es2019/i18n/tr.js +1 -0
- package/dist/es2019/i18n/uk.js +1 -0
- package/dist/es2019/i18n/vi.js +1 -0
- package/dist/es2019/i18n/zh.js +1 -1
- package/dist/es2019/i18n/zh_TW.js +1 -0
- package/dist/es2019/index.js +26 -8
- package/dist/es2019/mention.js +2 -0
- package/dist/es2019/messages/codeBidiWarning.js +12 -0
- package/dist/es2019/messages/index.js +1 -0
- package/dist/es2019/styles/index.js +4 -2
- package/dist/es2019/styles/shared/block-marks.js +1 -2
- package/dist/es2019/styles/shared/media-single.js +10 -0
- package/dist/es2019/styles/shared/panel.js +99 -45
- package/dist/es2019/styles/shared/table.js +2 -1
- package/dist/es2019/ufo/experience-store.js +116 -0
- package/dist/es2019/ufo/index.js +1 -0
- package/dist/es2019/ui/index.js +8 -3
- package/dist/es2019/utils/compareNodes.js +6 -0
- package/dist/es2019/utils/index.js +3 -1
- package/dist/es2019/utils/profiler/render-count.js +107 -0
- package/dist/es2019/utils/validator.js +36 -13
- package/dist/es2019/version.json +1 -1
- package/dist/esm/card/cardOptions.js +1 -0
- package/dist/esm/emoji.js +2 -0
- package/dist/esm/extensions/index.js +1 -1
- package/dist/esm/extensions/types/field-definitions.js +3 -0
- package/dist/esm/extensions/types/index.js +1 -1
- package/dist/esm/extensions.js +1 -1
- package/dist/esm/i18n/cs.js +1 -0
- package/dist/esm/i18n/da.js +1 -0
- package/dist/esm/i18n/de.js +1 -0
- package/dist/esm/i18n/es.js +1 -0
- package/dist/esm/i18n/fi.js +1 -0
- package/dist/esm/i18n/fr.js +1 -0
- package/dist/esm/i18n/hu.js +1 -0
- package/dist/esm/i18n/it.js +1 -0
- package/dist/esm/i18n/ja.js +1 -0
- package/dist/esm/i18n/ko.js +1 -0
- package/dist/esm/i18n/nb.js +1 -0
- package/dist/esm/i18n/nl.js +1 -0
- package/dist/esm/i18n/pl.js +1 -0
- package/dist/esm/i18n/pt_BR.js +1 -0
- package/dist/esm/i18n/ru.js +1 -0
- package/dist/esm/i18n/sv.js +1 -0
- package/dist/esm/i18n/th.js +1 -0
- package/dist/esm/i18n/tr.js +1 -0
- package/dist/esm/i18n/uk.js +1 -0
- package/dist/esm/i18n/vi.js +1 -0
- package/dist/esm/i18n/zh.js +1 -1
- package/dist/esm/i18n/zh_TW.js +1 -0
- package/dist/esm/index.js +26 -8
- package/dist/esm/mention.js +2 -0
- package/dist/esm/messages/codeBidiWarning.js +12 -0
- package/dist/esm/messages/index.js +1 -0
- package/dist/esm/styles/index.js +4 -2
- package/dist/esm/styles/shared/block-marks.js +1 -1
- package/dist/esm/styles/shared/media-single.js +1 -1
- package/dist/esm/styles/shared/panel.js +84 -37
- package/dist/esm/styles/shared/table.js +2 -2
- package/dist/esm/ufo/experience-store.js +144 -0
- package/dist/esm/ufo/index.js +1 -0
- package/dist/esm/ui/index.js +8 -3
- package/dist/esm/utils/compareNodes.js +6 -0
- package/dist/esm/utils/index.js +3 -1
- package/dist/esm/utils/profiler/render-count.js +123 -0
- package/dist/esm/utils/validator.js +46 -26
- package/dist/esm/version.json +1 -1
- package/dist/types/card/cardOptions.d.ts +9 -0
- package/dist/types/card/index.d.ts +1 -9
- package/dist/types/collab.d.ts +1 -1
- package/dist/types/emoji.d.ts +3 -0
- package/dist/types/extensions/index.d.ts +1 -1
- package/dist/types/extensions/types/extension-handler.d.ts +6 -2
- package/dist/types/extensions/types/extension-parameters.d.ts +1 -0
- package/dist/types/extensions/types/field-definitions.d.ts +2 -0
- package/dist/types/extensions/types/index.d.ts +1 -1
- package/dist/types/extensions.d.ts +1 -1
- package/dist/types/i18n/cs.d.ts +1 -0
- package/dist/types/i18n/da.d.ts +1 -0
- package/dist/types/i18n/de.d.ts +1 -0
- package/dist/types/i18n/es.d.ts +1 -0
- package/dist/types/i18n/fi.d.ts +1 -0
- package/dist/types/i18n/fr.d.ts +1 -0
- package/dist/types/i18n/hu.d.ts +1 -0
- package/dist/types/i18n/it.d.ts +1 -0
- package/dist/types/i18n/ja.d.ts +1 -0
- package/dist/types/i18n/ko.d.ts +1 -0
- package/dist/types/i18n/nb.d.ts +1 -0
- package/dist/types/i18n/nl.d.ts +1 -0
- package/dist/types/i18n/pl.d.ts +1 -0
- package/dist/types/i18n/pt_BR.d.ts +1 -0
- package/dist/types/i18n/ru.d.ts +1 -0
- package/dist/types/i18n/sv.d.ts +1 -0
- package/dist/types/i18n/th.d.ts +1 -0
- package/dist/types/i18n/tr.d.ts +1 -0
- package/dist/types/i18n/uk.d.ts +1 -0
- package/dist/types/i18n/vi.d.ts +1 -0
- package/dist/types/i18n/zh.d.ts +1 -0
- package/dist/types/i18n/zh_TW.d.ts +1 -0
- package/dist/types/index.d.ts +7 -3
- package/dist/types/mention.d.ts +2 -0
- package/dist/types/messages/codeBidiWarning.d.ts +11 -0
- package/dist/types/messages/index.d.ts +1 -0
- package/dist/types/provider-factory.d.ts +1 -0
- package/dist/types/styles/index.d.ts +1 -1
- package/dist/types/styles/shared/panel.d.ts +2 -0
- package/dist/types/ufo/experience-store.d.ts +33 -0
- package/dist/types/ufo/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/profiler/render-count.d.ts +50 -0
- package/emoji/package.json +7 -0
- package/mention/package.json +7 -0
- package/package.json +29 -17
- package/provider-helpers/package.json +7 -0
- package/types/package.json +7 -0
- package/ufo/package.json +7 -0
- package/ui/package.json +7 -0
- package/utils/package.json +7 -0
- package/dist/cjs/ui/Caption/index.test.js +0 -82
- package/dist/cjs/utils/performance/measure-tti.test.js +0 -183
- package/dist/es2019/ui/Caption/index.test.js +0 -73
- package/dist/es2019/utils/performance/measure-tti.test.js +0 -124
- package/dist/esm/ui/Caption/index.test.js +0 -73
- package/dist/esm/utils/performance/measure-tti.test.js +0 -174
|
@@ -4,7 +4,7 @@ export { columnLayoutSharedStyle } from './shared/column-layout';
|
|
|
4
4
|
export { mediaSingleSharedStyle, richMediaClassName, } from './shared/media-single';
|
|
5
5
|
export { blockquoteSharedStyles } from './shared/blockquote';
|
|
6
6
|
export { headingsSharedStyles } from './shared/headings';
|
|
7
|
-
export { getPanelTypeBackground, panelSharedStyles, PanelSharedCssClassName, PanelSharedSelectors, } from './shared/panel';
|
|
7
|
+
export { getPanelTypeBackground, panelSharedStyles, PanelSharedCssClassName, PanelSharedSelectors, getPanelBackgroundDarkModeColors, } from './shared/panel';
|
|
8
8
|
export { ruleSharedStyles } from './shared/rule';
|
|
9
9
|
export { whitespaceSharedStyles } from './shared/whitespace';
|
|
10
10
|
export { paragraphSharedStyles } from './shared/paragraph';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { PanelType } from '@atlaskit/adf-schema';
|
|
2
2
|
import { ThemeProps } from '@atlaskit/theme/types';
|
|
3
|
+
export declare const getPanelBackgroundDarkModeColors: string;
|
|
4
|
+
export declare function getPanelDarkModeCSS(colorName: string, colorValue: string): string;
|
|
3
5
|
export declare const PanelSharedCssClassName: {
|
|
4
6
|
prefix: string;
|
|
5
7
|
content: string;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EditorView } from 'prosemirror-view';
|
|
2
|
+
import { UFOExperience } from '@atlaskit/ufo';
|
|
3
|
+
import type { CustomData, ExperienceConfig } from '@atlaskit/ufo/types';
|
|
4
|
+
export declare const experienceConfig: ExperienceConfig;
|
|
5
|
+
export declare enum EditorExperience {
|
|
6
|
+
loadEditor = "load",
|
|
7
|
+
typing = "type",
|
|
8
|
+
interaction = "interact",
|
|
9
|
+
editSession = "editSession"
|
|
10
|
+
}
|
|
11
|
+
export declare const RELIABILITY_INTERVAL = 30000;
|
|
12
|
+
declare type TypeOfEditorExperience = typeof EditorExperience;
|
|
13
|
+
declare type ValueOfEditorExperience = TypeOfEditorExperience[keyof TypeOfEditorExperience];
|
|
14
|
+
export declare class ExperienceStore {
|
|
15
|
+
private static stores;
|
|
16
|
+
private experiences;
|
|
17
|
+
private constructor();
|
|
18
|
+
static getInstance(view: EditorView, options?: {
|
|
19
|
+
forceNewInstance?: boolean;
|
|
20
|
+
}): ExperienceStore;
|
|
21
|
+
get(experienceId: string): UFOExperience | undefined;
|
|
22
|
+
getActive(experienceId: string): UFOExperience | undefined;
|
|
23
|
+
getAll(): UFOExperience[];
|
|
24
|
+
start(experienceId: ValueOfEditorExperience, startTime?: number): void;
|
|
25
|
+
addMetadata(experienceId: string, metadata: CustomData): void;
|
|
26
|
+
mark(experienceId: string, mark: string, value: number): void;
|
|
27
|
+
success(experienceId: string, metadata?: CustomData): Promise<boolean | null> | undefined;
|
|
28
|
+
fail(experienceId: string, metadata?: CustomData): void;
|
|
29
|
+
abort(experienceId: string, metadata?: CustomData): void;
|
|
30
|
+
abortAll(metadata?: CustomData): void;
|
|
31
|
+
failAll(metadata?: CustomData): void;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ExperienceStore, EditorExperience, RELIABILITY_INTERVAL, } from './experience-store';
|
|
@@ -30,3 +30,5 @@ export { shouldForceTracking } from './should-force-tracking';
|
|
|
30
30
|
export { getModeFromTheme } from './getModeFromTheme';
|
|
31
31
|
export type { UserBrowserExtensionResults } from './browser-extensions';
|
|
32
32
|
export { sniffUserBrowserExtensions } from './browser-extensions';
|
|
33
|
+
export { RenderCountProfiler } from './profiler/render-count';
|
|
34
|
+
export { validateADFEntity, validationErrorHandler, } from './validate-using-spec';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const PROFILER_KEY = "__editorRenderCountProfiler";
|
|
2
|
+
interface ComponentInstanceRenderCounter {
|
|
3
|
+
instanceId: string;
|
|
4
|
+
count: number;
|
|
5
|
+
}
|
|
6
|
+
declare type ProfilerData = {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
components?: {
|
|
9
|
+
[componentId: string]: {
|
|
10
|
+
[instanceId: string]: {
|
|
11
|
+
count: number;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
declare type RenderCountProfilerInstanceParams = {
|
|
17
|
+
store: Object;
|
|
18
|
+
};
|
|
19
|
+
export declare class RenderCountProfiler {
|
|
20
|
+
/**
|
|
21
|
+
* The singleton/cached instance of RenderCountProfiler that will be shared
|
|
22
|
+
* betweenRenderCountProfiler.getInstance() calls
|
|
23
|
+
*/
|
|
24
|
+
private static instance;
|
|
25
|
+
private store;
|
|
26
|
+
private constructor();
|
|
27
|
+
/**
|
|
28
|
+
* Returns the singleton/cached instance of RenderCountProfiler that
|
|
29
|
+
* currently exists. If it hasn't been instantiated yet, the singleton
|
|
30
|
+
* instance will be created using the given params. Returns the latest
|
|
31
|
+
* singleton/instance.
|
|
32
|
+
*/
|
|
33
|
+
static getInstance(params: RenderCountProfilerInstanceParams): RenderCountProfiler;
|
|
34
|
+
getData(profilerKey: typeof PROFILER_KEY): ProfilerData | void;
|
|
35
|
+
enable(): void;
|
|
36
|
+
remove(): void;
|
|
37
|
+
isEnabled(): boolean;
|
|
38
|
+
setRenderCount({ componentId, renderCount, instanceId, }: {
|
|
39
|
+
componentId: string;
|
|
40
|
+
renderCount: number;
|
|
41
|
+
instanceId: string;
|
|
42
|
+
}): void;
|
|
43
|
+
getInstanceRenderCounters({ componentId, }: {
|
|
44
|
+
componentId: string;
|
|
45
|
+
}): ComponentInstanceRenderCounter[];
|
|
46
|
+
getRenderCount({ componentId }: {
|
|
47
|
+
componentId: string;
|
|
48
|
+
}): number;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-common",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "61.0.1",
|
|
4
4
|
"description": "A package that contains common classes and components for editor and renderer",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -30,29 +30,38 @@
|
|
|
30
30
|
"./validator": "./src/validator.ts",
|
|
31
31
|
"./in-product": "./src/in-product.ts",
|
|
32
32
|
"./cypress-config": "./src/cypress-config.ts",
|
|
33
|
-
"./type-ahead": "./src/type-ahead/index.ts"
|
|
33
|
+
"./type-ahead": "./src/type-ahead/index.ts",
|
|
34
|
+
"./ufo": "./src/ufo/index.ts",
|
|
35
|
+
"./types": "./src/types/index.ts",
|
|
36
|
+
"./ui": "./src/ui/index.tsx",
|
|
37
|
+
"./utils": "./src/utils/index.ts",
|
|
38
|
+
"./card": "./src/card/index.ts",
|
|
39
|
+
"./emoji": "./src/emoji.ts",
|
|
40
|
+
"./mention": "./src/mention.ts",
|
|
41
|
+
"./provider-helpers": "./src/provider-helpers/index.ts"
|
|
34
42
|
},
|
|
35
43
|
"dependencies": {
|
|
36
44
|
"@atlaskit/activity-provider": "^2.3.0",
|
|
37
|
-
"@atlaskit/adf-schema": "^
|
|
38
|
-
"@atlaskit/adf-utils": "^14.
|
|
45
|
+
"@atlaskit/adf-schema": "^20.0.0",
|
|
46
|
+
"@atlaskit/adf-utils": "^14.4.0",
|
|
39
47
|
"@atlaskit/analytics-namespaced-context": "^6.3.0",
|
|
40
48
|
"@atlaskit/analytics-next": "^8.2.0",
|
|
41
|
-
"@atlaskit/code": "^14.
|
|
42
|
-
"@atlaskit/editor-json-transformer": "^8.
|
|
49
|
+
"@atlaskit/code": "^14.3.0",
|
|
50
|
+
"@atlaskit/editor-json-transformer": "^8.7.0",
|
|
43
51
|
"@atlaskit/editor-shared-styles": "^1.6.0",
|
|
44
52
|
"@atlaskit/emoji": "^63.1.0",
|
|
45
53
|
"@atlaskit/icon": "^21.9.0",
|
|
46
54
|
"@atlaskit/in-product-testing": "^0.1.0",
|
|
47
|
-
"@atlaskit/media-card": "^
|
|
48
|
-
"@atlaskit/media-client": "^14.
|
|
55
|
+
"@atlaskit/media-card": "^72.1.0",
|
|
56
|
+
"@atlaskit/media-client": "^14.3.0",
|
|
49
57
|
"@atlaskit/media-picker": "^58.1.0",
|
|
50
58
|
"@atlaskit/mention": "^19.7.0",
|
|
51
|
-
"@atlaskit/profilecard": "^15.
|
|
52
|
-
"@atlaskit/smart-card": "^16.
|
|
59
|
+
"@atlaskit/profilecard": "^15.8.0",
|
|
60
|
+
"@atlaskit/smart-card": "^16.3.0",
|
|
53
61
|
"@atlaskit/task-decision": "^17.2.0",
|
|
54
62
|
"@atlaskit/theme": "^12.0.0",
|
|
55
63
|
"@atlaskit/tooltip": "^17.5.0",
|
|
64
|
+
"@atlaskit/ufo": "^0.0.6",
|
|
56
65
|
"@atlaskit/user-picker": "^7.3.0",
|
|
57
66
|
"@atlaskit/width-detector": "^3.0.0",
|
|
58
67
|
"@babel/runtime": "^7.0.0",
|
|
@@ -64,9 +73,10 @@
|
|
|
64
73
|
"cypress-file-upload": "^5.0.2",
|
|
65
74
|
"date-fns": "^2.17.0",
|
|
66
75
|
"lodash": "^4.17.15",
|
|
67
|
-
"prosemirror-model": "1.
|
|
68
|
-
"prosemirror-state": "1.3.
|
|
69
|
-
"prosemirror-transform": "1.2
|
|
76
|
+
"prosemirror-model": "1.14.3",
|
|
77
|
+
"prosemirror-state": "1.3.4",
|
|
78
|
+
"prosemirror-transform": "1.3.2",
|
|
79
|
+
"prosemirror-view": "1.23.1",
|
|
70
80
|
"raf-schd": "^2.1.0",
|
|
71
81
|
"react-loadable": "^5.1.0"
|
|
72
82
|
},
|
|
@@ -78,10 +88,10 @@
|
|
|
78
88
|
"styled-components": "^3.2.6"
|
|
79
89
|
},
|
|
80
90
|
"devDependencies": {
|
|
81
|
-
"@atlaskit/editor-json-transformer": "^8.
|
|
82
|
-
"@atlaskit/editor-test-helpers": "^15.
|
|
91
|
+
"@atlaskit/editor-json-transformer": "^8.7.0",
|
|
92
|
+
"@atlaskit/editor-test-helpers": "^15.6.0",
|
|
83
93
|
"@atlaskit/media-core": "^32.2.0",
|
|
84
|
-
"@atlaskit/util-data-test": "^
|
|
94
|
+
"@atlaskit/util-data-test": "^17.0.0",
|
|
85
95
|
"@atlaskit/visual-regression": "*",
|
|
86
96
|
"@atlaskit/webdriver-runner": "*",
|
|
87
97
|
"@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
|
|
@@ -89,7 +99,6 @@
|
|
|
89
99
|
"cypress-file-upload": "^5.0.2",
|
|
90
100
|
"enzyme": "^3.10.0",
|
|
91
101
|
"local-cypress": "^1.2.1",
|
|
92
|
-
"prosemirror-view": "1.15.4",
|
|
93
102
|
"raf-stub": "^2.0.1",
|
|
94
103
|
"react": "^16.8.0",
|
|
95
104
|
"react-test-renderer": "^16.8.0",
|
|
@@ -102,6 +111,9 @@
|
|
|
102
111
|
"file-level"
|
|
103
112
|
],
|
|
104
113
|
"import-structure": "atlassian-conventions"
|
|
114
|
+
},
|
|
115
|
+
"@repo/internal": {
|
|
116
|
+
"deprecation": "no-deprecated-imports"
|
|
105
117
|
}
|
|
106
118
|
},
|
|
107
119
|
"prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.1"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atlaskit/editor-common/provider-helpers",
|
|
3
|
+
"main": "../dist/cjs/provider-helpers/index.js",
|
|
4
|
+
"module": "../dist/esm/provider-helpers/index.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/provider-helpers/index.js",
|
|
6
|
+
"types": "../dist/types/provider-helpers/index.d.ts"
|
|
7
|
+
}
|
package/ufo/package.json
ADDED
package/ui/package.json
ADDED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
|
-
var _reactIntl = require("react-intl");
|
|
10
|
-
|
|
11
|
-
var _colors = require("@atlaskit/theme/colors");
|
|
12
|
-
|
|
13
|
-
var _messages = require("./messages");
|
|
14
|
-
|
|
15
|
-
var _index = _interopRequireDefault(require("./index"));
|
|
16
|
-
|
|
17
|
-
var renderWithIntl = function renderWithIntl(component) {
|
|
18
|
-
return (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_reactIntl.IntlProvider, {
|
|
19
|
-
locale: "en"
|
|
20
|
-
}, component));
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
describe('CaptionComponent', function () {
|
|
24
|
-
it('should show a placeholder by default', function () {
|
|
25
|
-
var _renderWithIntl = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, null)),
|
|
26
|
-
getByText = _renderWithIntl.getByText;
|
|
27
|
-
|
|
28
|
-
expect(getByText(_messages.messages.placeholder.defaultMessage)).not.toBeNull();
|
|
29
|
-
});
|
|
30
|
-
it('should have the placeholder colour as N200', function () {
|
|
31
|
-
var _renderWithIntl2 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, null)),
|
|
32
|
-
getByText = _renderWithIntl2.getByText;
|
|
33
|
-
|
|
34
|
-
expect(getByText(_messages.messages.placeholder.defaultMessage)).toHaveStyle("color: ".concat(_colors.N200));
|
|
35
|
-
});
|
|
36
|
-
it('should have the colour N400', function () {
|
|
37
|
-
var _renderWithIntl3 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, null)),
|
|
38
|
-
container = _renderWithIntl3.container;
|
|
39
|
-
|
|
40
|
-
expect(container.firstChild).toHaveStyle("color: ".concat(_colors.N400));
|
|
41
|
-
});
|
|
42
|
-
it('should have centered text', function () {
|
|
43
|
-
var _renderWithIntl4 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, null)),
|
|
44
|
-
container = _renderWithIntl4.container;
|
|
45
|
-
|
|
46
|
-
expect(container.firstChild).toHaveStyle("text-align: center");
|
|
47
|
-
});
|
|
48
|
-
it("shouldn't show the placeholder when selected", function () {
|
|
49
|
-
var _renderWithIntl5 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
50
|
-
selected: true
|
|
51
|
-
})),
|
|
52
|
-
queryByText = _renderWithIntl5.queryByText;
|
|
53
|
-
|
|
54
|
-
expect(queryByText(_messages.messages.placeholder.defaultMessage)).toBeNull();
|
|
55
|
-
});
|
|
56
|
-
it("shouldn't show the placeholder if caption has content", function () {
|
|
57
|
-
var _renderWithIntl6 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
58
|
-
hasContent: true
|
|
59
|
-
})),
|
|
60
|
-
queryByText = _renderWithIntl6.queryByText;
|
|
61
|
-
|
|
62
|
-
expect(queryByText(_messages.messages.placeholder.defaultMessage)).toBeNull();
|
|
63
|
-
});
|
|
64
|
-
it('should have data-renderer-start-pos if provided', function () {
|
|
65
|
-
var _renderWithIntl7 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
66
|
-
dataAttributes: {
|
|
67
|
-
'data-renderer-start-pos': 5
|
|
68
|
-
}
|
|
69
|
-
})),
|
|
70
|
-
getByTestId = _renderWithIntl7.getByTestId;
|
|
71
|
-
|
|
72
|
-
var caption = getByTestId('media-caption');
|
|
73
|
-
expect(caption.getAttribute('data-renderer-start-pos')).toEqual('5');
|
|
74
|
-
});
|
|
75
|
-
it('should have data-media-caption', function () {
|
|
76
|
-
var _renderWithIntl8 = renderWithIntl( /*#__PURE__*/_react.default.createElement(_index.default, null)),
|
|
77
|
-
getByTestId = _renderWithIntl8.getByTestId;
|
|
78
|
-
|
|
79
|
-
var caption = getByTestId('media-caption');
|
|
80
|
-
expect(caption.getAttribute('data-media-caption')).toEqual('true');
|
|
81
|
-
});
|
|
82
|
-
});
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
6
|
-
|
|
7
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
8
|
-
|
|
9
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
10
|
-
|
|
11
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
-
|
|
13
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
14
|
-
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
18
|
-
|
|
19
|
-
var _measureTti = require("./measure-tti");
|
|
20
|
-
|
|
21
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
22
|
-
|
|
23
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
24
|
-
|
|
25
|
-
jest.useFakeTimers();
|
|
26
|
-
jest.mock('./is-performance-api-available', function () {
|
|
27
|
-
return {
|
|
28
|
-
isPerformanceObserverLongTaskAvailable: function isPerformanceObserverLongTaskAvailable() {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
describe('Measure TTI utility', function () {
|
|
34
|
-
var time = 100;
|
|
35
|
-
var perfNow = global.performance.now;
|
|
36
|
-
beforeEach(function () {
|
|
37
|
-
time = 100;
|
|
38
|
-
|
|
39
|
-
global.performance.now = function () {
|
|
40
|
-
return time;
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
afterEach(function () {
|
|
44
|
-
global.performance.now = perfNow;
|
|
45
|
-
});
|
|
46
|
-
describe('No long tasks', function () {
|
|
47
|
-
it('should fire callback right away', function () {
|
|
48
|
-
var _createMockPerformanc = createMockPerformanceObserver(),
|
|
49
|
-
_createMockPerformanc2 = (0, _slicedToArray2.default)(_createMockPerformanc, 2),
|
|
50
|
-
MockPerformanceObserver = _createMockPerformanc2[1];
|
|
51
|
-
|
|
52
|
-
var cb = jest.fn();
|
|
53
|
-
(0, _measureTti.measureTTI)(cb, 100, 1, MockPerformanceObserver);
|
|
54
|
-
time += 100;
|
|
55
|
-
jest.advanceTimersByTime(100);
|
|
56
|
-
expect(cb).toBeCalledWith(100, 0, false);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('Only 1 long task', function () {
|
|
60
|
-
it('should return end time of the only long task', function () {
|
|
61
|
-
var _createMockPerformanc3 = createMockPerformanceObserver(),
|
|
62
|
-
_createMockPerformanc4 = (0, _slicedToArray2.default)(_createMockPerformanc3, 2),
|
|
63
|
-
trigger = _createMockPerformanc4[0],
|
|
64
|
-
MockPerformanceObserver = _createMockPerformanc4[1];
|
|
65
|
-
|
|
66
|
-
var cb = jest.fn();
|
|
67
|
-
var now = performance.now();
|
|
68
|
-
(0, _measureTti.measureTTI)(cb, 100, 1, MockPerformanceObserver);
|
|
69
|
-
trigger({
|
|
70
|
-
startTime: now,
|
|
71
|
-
duration: 100
|
|
72
|
-
});
|
|
73
|
-
time += 100;
|
|
74
|
-
jest.advanceTimersByTime(100);
|
|
75
|
-
time += 100;
|
|
76
|
-
jest.advanceTimersByTime(100);
|
|
77
|
-
expect(cb).toBeCalledWith(200, 100, false);
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
describe('Multiple long tasks', function () {
|
|
81
|
-
it('should return end time of the last long task no sufficient idle time', function () {
|
|
82
|
-
var _createMockPerformanc5 = createMockPerformanceObserver(),
|
|
83
|
-
_createMockPerformanc6 = (0, _slicedToArray2.default)(_createMockPerformanc5, 2),
|
|
84
|
-
trigger = _createMockPerformanc6[0],
|
|
85
|
-
MockPerformanceObserver = _createMockPerformanc6[1];
|
|
86
|
-
|
|
87
|
-
var cb = jest.fn();
|
|
88
|
-
var now = performance.now();
|
|
89
|
-
(0, _measureTti.measureTTI)(cb, 100, 1, MockPerformanceObserver);
|
|
90
|
-
trigger({
|
|
91
|
-
startTime: now,
|
|
92
|
-
duration: 50
|
|
93
|
-
});
|
|
94
|
-
trigger({
|
|
95
|
-
startTime: now + 50,
|
|
96
|
-
duration: 100
|
|
97
|
-
});
|
|
98
|
-
time += 150;
|
|
99
|
-
jest.advanceTimersByTime(100);
|
|
100
|
-
time += 100;
|
|
101
|
-
jest.advanceTimersByTime(100);
|
|
102
|
-
expect(cb).toBeCalledWith(250, 150, false);
|
|
103
|
-
});
|
|
104
|
-
it('should return end time of a long task with sufficient idle time', function () {
|
|
105
|
-
var _createMockPerformanc7 = createMockPerformanceObserver(),
|
|
106
|
-
_createMockPerformanc8 = (0, _slicedToArray2.default)(_createMockPerformanc7, 2),
|
|
107
|
-
trigger = _createMockPerformanc8[0],
|
|
108
|
-
MockPerformanceObserver = _createMockPerformanc8[1];
|
|
109
|
-
|
|
110
|
-
var cb = jest.fn();
|
|
111
|
-
var now = performance.now();
|
|
112
|
-
(0, _measureTti.measureTTI)(cb, 100, 1, MockPerformanceObserver);
|
|
113
|
-
trigger({
|
|
114
|
-
startTime: now,
|
|
115
|
-
duration: 50
|
|
116
|
-
});
|
|
117
|
-
trigger({
|
|
118
|
-
startTime: now + 150,
|
|
119
|
-
duration: 100
|
|
120
|
-
});
|
|
121
|
-
time += 50 + 100;
|
|
122
|
-
jest.advanceTimersByTime(100);
|
|
123
|
-
time += 100;
|
|
124
|
-
jest.advanceTimersByTime(100);
|
|
125
|
-
expect(cb).toBeCalledWith(now + 50, 50, false);
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
describe('Cancel', function () {
|
|
129
|
-
it('should cancel tti measurements after `cancelAfter` time', function () {
|
|
130
|
-
var _createMockPerformanc9 = createMockPerformanceObserver(),
|
|
131
|
-
_createMockPerformanc10 = (0, _slicedToArray2.default)(_createMockPerformanc9, 2),
|
|
132
|
-
trigger = _createMockPerformanc10[0],
|
|
133
|
-
MockPerformanceObserver = _createMockPerformanc10[1];
|
|
134
|
-
|
|
135
|
-
var cb = jest.fn();
|
|
136
|
-
var now = performance.now();
|
|
137
|
-
(0, _measureTti.measureTTI)(cb, 100, 1, MockPerformanceObserver);
|
|
138
|
-
trigger({
|
|
139
|
-
startTime: now,
|
|
140
|
-
duration: 2000
|
|
141
|
-
});
|
|
142
|
-
time += 2000;
|
|
143
|
-
jest.advanceTimersByTime(100);
|
|
144
|
-
trigger({
|
|
145
|
-
startTime: time,
|
|
146
|
-
duration: 50
|
|
147
|
-
});
|
|
148
|
-
time += 100;
|
|
149
|
-
jest.advanceTimersByTime(100);
|
|
150
|
-
expect(cb).toBeCalledWith(now + 2000 + 50, 2050, true);
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
function createMockPerformanceObserver() {
|
|
156
|
-
var callback;
|
|
157
|
-
|
|
158
|
-
var MockPerformanceObserver = /*#__PURE__*/function (_PerformanceObserver) {
|
|
159
|
-
(0, _inherits2.default)(MockPerformanceObserver, _PerformanceObserver);
|
|
160
|
-
|
|
161
|
-
var _super = _createSuper(MockPerformanceObserver);
|
|
162
|
-
|
|
163
|
-
function MockPerformanceObserver(cb) {
|
|
164
|
-
var _this;
|
|
165
|
-
|
|
166
|
-
(0, _classCallCheck2.default)(this, MockPerformanceObserver);
|
|
167
|
-
_this = _super.call(this, cb);
|
|
168
|
-
callback = cb;
|
|
169
|
-
return _this;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
return MockPerformanceObserver;
|
|
173
|
-
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(PerformanceObserver));
|
|
174
|
-
|
|
175
|
-
(0, _defineProperty2.default)(MockPerformanceObserver, "supportedEntryTypes", []);
|
|
176
|
-
return [function (event) {
|
|
177
|
-
return callback({
|
|
178
|
-
getEntries: function getEntries() {
|
|
179
|
-
return [event];
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}, MockPerformanceObserver];
|
|
183
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
3
|
-
import { IntlProvider } from 'react-intl';
|
|
4
|
-
import { N200, N400 } from '@atlaskit/theme/colors';
|
|
5
|
-
import { messages } from './messages';
|
|
6
|
-
import Caption from './index';
|
|
7
|
-
|
|
8
|
-
const renderWithIntl = component => {
|
|
9
|
-
return render( /*#__PURE__*/React.createElement(IntlProvider, {
|
|
10
|
-
locale: "en"
|
|
11
|
-
}, component));
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
describe('CaptionComponent', () => {
|
|
15
|
-
it('should show a placeholder by default', () => {
|
|
16
|
-
const {
|
|
17
|
-
getByText
|
|
18
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null));
|
|
19
|
-
expect(getByText(messages.placeholder.defaultMessage)).not.toBeNull();
|
|
20
|
-
});
|
|
21
|
-
it('should have the placeholder colour as N200', () => {
|
|
22
|
-
const {
|
|
23
|
-
getByText
|
|
24
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null));
|
|
25
|
-
expect(getByText(messages.placeholder.defaultMessage)).toHaveStyle(`color: ${N200}`);
|
|
26
|
-
});
|
|
27
|
-
it('should have the colour N400', () => {
|
|
28
|
-
const {
|
|
29
|
-
container
|
|
30
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null));
|
|
31
|
-
expect(container.firstChild).toHaveStyle(`color: ${N400}`);
|
|
32
|
-
});
|
|
33
|
-
it('should have centered text', () => {
|
|
34
|
-
const {
|
|
35
|
-
container
|
|
36
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null));
|
|
37
|
-
expect(container.firstChild).toHaveStyle(`text-align: center`);
|
|
38
|
-
});
|
|
39
|
-
it("shouldn't show the placeholder when selected", () => {
|
|
40
|
-
const {
|
|
41
|
-
queryByText
|
|
42
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, {
|
|
43
|
-
selected: true
|
|
44
|
-
}));
|
|
45
|
-
expect(queryByText(messages.placeholder.defaultMessage)).toBeNull();
|
|
46
|
-
});
|
|
47
|
-
it("shouldn't show the placeholder if caption has content", () => {
|
|
48
|
-
const {
|
|
49
|
-
queryByText
|
|
50
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, {
|
|
51
|
-
hasContent: true
|
|
52
|
-
}));
|
|
53
|
-
expect(queryByText(messages.placeholder.defaultMessage)).toBeNull();
|
|
54
|
-
});
|
|
55
|
-
it('should have data-renderer-start-pos if provided', () => {
|
|
56
|
-
const {
|
|
57
|
-
getByTestId
|
|
58
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, {
|
|
59
|
-
dataAttributes: {
|
|
60
|
-
'data-renderer-start-pos': 5
|
|
61
|
-
}
|
|
62
|
-
}));
|
|
63
|
-
const caption = getByTestId('media-caption');
|
|
64
|
-
expect(caption.getAttribute('data-renderer-start-pos')).toEqual('5');
|
|
65
|
-
});
|
|
66
|
-
it('should have data-media-caption', () => {
|
|
67
|
-
const {
|
|
68
|
-
getByTestId
|
|
69
|
-
} = renderWithIntl( /*#__PURE__*/React.createElement(Caption, null));
|
|
70
|
-
const caption = getByTestId('media-caption');
|
|
71
|
-
expect(caption.getAttribute('data-media-caption')).toEqual('true');
|
|
72
|
-
});
|
|
73
|
-
});
|