@atlaskit/editor-core 150.0.2 → 151.1.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.
Files changed (244) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/cjs/actions/index.js +5 -23
  3. package/dist/cjs/create-editor/ErrorBoundary.js +113 -79
  4. package/dist/cjs/create-editor/ReactEditorView.js +145 -31
  5. package/dist/cjs/create-editor/create-plugins-list.js +8 -2
  6. package/dist/cjs/editor.js +101 -40
  7. package/dist/cjs/labs/next/presets/cxhtml.js +2 -1
  8. package/dist/cjs/plugins/analytics/types/enums.js +3 -1
  9. package/dist/cjs/plugins/base/index.js +4 -3
  10. package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +66 -36
  11. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -1
  12. package/dist/cjs/plugins/card/index.js +13 -2
  13. package/dist/cjs/plugins/card/nodeviews/embedCard.js +1 -0
  14. package/dist/cjs/plugins/card/pm-plugins/main.js +7 -2
  15. package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +10 -3
  16. package/dist/cjs/plugins/code-bidi-warning/index.js +25 -0
  17. package/dist/cjs/plugins/code-bidi-warning/plugin-key.js +11 -0
  18. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/main.js +43 -0
  19. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +118 -0
  20. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/reducer.js +12 -0
  21. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/types.js +5 -0
  22. package/dist/cjs/plugins/code-block/index.js +10 -6
  23. package/dist/cjs/plugins/code-block/nodeviews/highlighting-code-block.js +16 -5
  24. package/dist/cjs/plugins/code-block/pm-plugins/main.js +12 -3
  25. package/dist/cjs/plugins/code-block/toolbar.js +1 -1
  26. package/dist/cjs/plugins/emoji/styles.js +1 -1
  27. package/dist/cjs/plugins/extension/pm-plugins/main.js +1 -4
  28. package/dist/cjs/plugins/extension/toolbar.js +28 -23
  29. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +9 -3
  30. package/dist/cjs/plugins/find-replace/ui/Find.js +27 -7
  31. package/dist/cjs/plugins/hyperlink/HyperlinkToolbarAppearance.js +2 -2
  32. package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +3 -3
  33. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
  34. package/dist/cjs/plugins/hyperlink/utils.js +6 -69
  35. package/dist/cjs/plugins/index.js +8 -0
  36. package/dist/cjs/plugins/media/index.js +14 -3
  37. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +24 -10
  38. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +179 -0
  39. package/dist/cjs/plugins/media/pm-plugins/main.js +18 -9
  40. package/dist/cjs/plugins/media/toolbar/index.js +49 -17
  41. package/dist/cjs/plugins/media/toolbar/utils.js +20 -2
  42. package/dist/cjs/plugins/media/utils/media-files.js +67 -1
  43. package/dist/cjs/plugins/mentions/type-ahead/index.js +39 -3
  44. package/dist/cjs/plugins/panel/index.js +2 -3
  45. package/dist/cjs/plugins/panel/message.js +47 -0
  46. package/dist/cjs/plugins/panel/toolbar.js +64 -84
  47. package/dist/cjs/plugins/panel/utils.js +2 -2
  48. package/dist/cjs/plugins/paste/linkify-md-plugin.js +3 -3
  49. package/dist/cjs/plugins/rank.js +1 -1
  50. package/dist/cjs/plugins/status/styles.js +1 -1
  51. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
  52. package/dist/cjs/profiler/render-count.js +82 -0
  53. package/dist/cjs/ui/Appearance/Comment/Comment.js +6 -5
  54. package/dist/cjs/utils/react-hooks/use-component-renderer-tracking/index.js +55 -19
  55. package/dist/cjs/version-wrapper.js +1 -1
  56. package/dist/cjs/version.json +1 -1
  57. package/dist/es2019/actions/index.js +6 -28
  58. package/dist/es2019/create-editor/ErrorBoundary.js +73 -60
  59. package/dist/es2019/create-editor/ReactEditorView.js +130 -23
  60. package/dist/es2019/create-editor/create-plugins-list.js +9 -3
  61. package/dist/es2019/editor.js +74 -35
  62. package/dist/es2019/labs/next/presets/cxhtml.js +2 -1
  63. package/dist/es2019/plugins/analytics/types/enums.js +3 -1
  64. package/dist/es2019/plugins/base/index.js +4 -3
  65. package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +63 -35
  66. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +2 -1
  67. package/dist/es2019/plugins/card/index.js +7 -2
  68. package/dist/es2019/plugins/card/nodeviews/embedCard.js +1 -0
  69. package/dist/es2019/plugins/card/pm-plugins/main.js +9 -2
  70. package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +12 -5
  71. package/dist/es2019/plugins/code-bidi-warning/index.js +15 -0
  72. package/dist/es2019/plugins/code-bidi-warning/plugin-key.js +2 -0
  73. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/main.js +31 -0
  74. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +88 -0
  75. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/reducer.js +3 -0
  76. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/types.js +1 -0
  77. package/dist/es2019/plugins/code-block/index.js +6 -1
  78. package/dist/es2019/plugins/code-block/nodeviews/highlighting-code-block.js +16 -4
  79. package/dist/es2019/plugins/code-block/pm-plugins/main.js +50 -39
  80. package/dist/es2019/plugins/code-block/toolbar.js +1 -1
  81. package/dist/es2019/plugins/emoji/styles.js +2 -0
  82. package/dist/es2019/plugins/extension/pm-plugins/main.js +1 -4
  83. package/dist/es2019/plugins/extension/toolbar.js +30 -25
  84. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +9 -4
  85. package/dist/es2019/plugins/find-replace/ui/Find.js +27 -6
  86. package/dist/es2019/plugins/hyperlink/HyperlinkToolbarAppearance.js +1 -1
  87. package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +1 -1
  88. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
  89. package/dist/es2019/plugins/hyperlink/utils.js +3 -59
  90. package/dist/es2019/plugins/index.js +2 -1
  91. package/dist/es2019/plugins/media/index.js +13 -4
  92. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +16 -7
  93. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +88 -0
  94. package/dist/es2019/plugins/media/pm-plugins/main.js +20 -11
  95. package/dist/es2019/plugins/media/toolbar/index.js +44 -15
  96. package/dist/es2019/plugins/media/toolbar/utils.js +16 -0
  97. package/dist/es2019/plugins/media/utils/media-files.js +68 -2
  98. package/dist/es2019/plugins/mentions/type-ahead/index.js +21 -2
  99. package/dist/es2019/plugins/panel/index.js +3 -4
  100. package/dist/es2019/plugins/panel/message.js +38 -0
  101. package/dist/es2019/plugins/panel/toolbar.js +52 -71
  102. package/dist/es2019/plugins/panel/utils.js +2 -2
  103. package/dist/es2019/plugins/paste/linkify-md-plugin.js +2 -2
  104. package/dist/es2019/plugins/rank.js +1 -1
  105. package/dist/es2019/plugins/status/styles.js +2 -0
  106. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
  107. package/dist/es2019/profiler/render-count.js +60 -0
  108. package/dist/es2019/ui/Appearance/Comment/Comment.js +4 -2
  109. package/dist/es2019/utils/react-hooks/use-component-renderer-tracking/index.js +51 -18
  110. package/dist/es2019/version-wrapper.js +1 -1
  111. package/dist/es2019/version.json +1 -1
  112. package/dist/esm/actions/index.js +6 -24
  113. package/dist/esm/create-editor/ErrorBoundary.js +113 -78
  114. package/dist/esm/create-editor/ReactEditorView.js +146 -31
  115. package/dist/esm/create-editor/create-plugins-list.js +9 -3
  116. package/dist/esm/editor.js +100 -40
  117. package/dist/esm/labs/next/presets/cxhtml.js +2 -1
  118. package/dist/esm/plugins/analytics/types/enums.js +3 -1
  119. package/dist/esm/plugins/base/index.js +4 -3
  120. package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +64 -36
  121. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -1
  122. package/dist/esm/plugins/card/index.js +13 -2
  123. package/dist/esm/plugins/card/nodeviews/embedCard.js +1 -0
  124. package/dist/esm/plugins/card/pm-plugins/main.js +7 -2
  125. package/dist/esm/plugins/card/pm-plugins/util/resolve.js +12 -5
  126. package/dist/esm/plugins/code-bidi-warning/index.js +17 -0
  127. package/dist/esm/plugins/code-bidi-warning/plugin-key.js +2 -0
  128. package/dist/esm/plugins/code-bidi-warning/pm-plugins/main.js +30 -0
  129. package/dist/esm/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +96 -0
  130. package/dist/esm/plugins/code-bidi-warning/pm-plugins/reducer.js +3 -0
  131. package/dist/esm/plugins/code-bidi-warning/pm-plugins/types.js +1 -0
  132. package/dist/esm/plugins/code-block/index.js +10 -6
  133. package/dist/esm/plugins/code-block/nodeviews/highlighting-code-block.js +16 -5
  134. package/dist/esm/plugins/code-block/pm-plugins/main.js +11 -3
  135. package/dist/esm/plugins/code-block/toolbar.js +1 -1
  136. package/dist/esm/plugins/emoji/styles.js +1 -1
  137. package/dist/esm/plugins/extension/pm-plugins/main.js +1 -4
  138. package/dist/esm/plugins/extension/toolbar.js +28 -23
  139. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +9 -4
  140. package/dist/esm/plugins/find-replace/ui/Find.js +27 -7
  141. package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +2 -2
  142. package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +1 -1
  143. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
  144. package/dist/esm/plugins/hyperlink/utils.js +3 -59
  145. package/dist/esm/plugins/index.js +2 -1
  146. package/dist/esm/plugins/media/index.js +14 -4
  147. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +24 -10
  148. package/dist/esm/plugins/media/nodeviews/mediaInline.js +147 -0
  149. package/dist/esm/plugins/media/pm-plugins/main.js +19 -11
  150. package/dist/esm/plugins/media/toolbar/index.js +47 -19
  151. package/dist/esm/plugins/media/toolbar/utils.js +15 -1
  152. package/dist/esm/plugins/media/utils/media-files.js +60 -2
  153. package/dist/esm/plugins/mentions/type-ahead/index.js +39 -3
  154. package/dist/esm/plugins/panel/index.js +3 -4
  155. package/dist/esm/plugins/panel/message.js +38 -0
  156. package/dist/esm/plugins/panel/toolbar.js +57 -77
  157. package/dist/esm/plugins/panel/utils.js +2 -2
  158. package/dist/esm/plugins/paste/linkify-md-plugin.js +2 -2
  159. package/dist/esm/plugins/rank.js +1 -1
  160. package/dist/esm/plugins/status/styles.js +1 -1
  161. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
  162. package/dist/esm/profiler/render-count.js +57 -0
  163. package/dist/esm/ui/Appearance/Comment/Comment.js +6 -5
  164. package/dist/esm/utils/react-hooks/use-component-renderer-tracking/index.js +53 -20
  165. package/dist/esm/version-wrapper.js +1 -1
  166. package/dist/esm/version.json +1 -1
  167. package/dist/types/create-editor/ErrorBoundary.d.ts +6 -6
  168. package/dist/types/create-editor/ReactEditorView.d.ts +15 -3
  169. package/dist/types/editor.d.ts +2 -0
  170. package/dist/types/plugins/analytics/index.d.ts +1 -1
  171. package/dist/types/plugins/analytics/types/enums.d.ts +4 -2
  172. package/dist/types/plugins/analytics/types/events.d.ts +7 -2
  173. package/dist/types/plugins/analytics/types/general-events.d.ts +4 -1
  174. package/dist/types/plugins/analytics/types/index.d.ts +1 -1
  175. package/dist/types/plugins/analytics/types/insert-events.d.ts +6 -1
  176. package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -0
  177. package/dist/types/plugins/base/index.d.ts +1 -0
  178. package/dist/types/plugins/base/pm-plugins/frozen-editor.d.ts +3 -2
  179. package/dist/types/plugins/card/pm-plugins/main.d.ts +2 -3
  180. package/dist/types/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
  181. package/dist/types/plugins/card/types.d.ts +6 -0
  182. package/dist/types/plugins/code-bidi-warning/index.d.ts +3 -0
  183. package/dist/types/plugins/code-bidi-warning/plugin-key.d.ts +2 -0
  184. package/dist/types/plugins/code-bidi-warning/pm-plugins/main.d.ts +3 -0
  185. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +7 -0
  186. package/dist/types/plugins/code-bidi-warning/pm-plugins/reducer.d.ts +3 -0
  187. package/dist/types/plugins/code-bidi-warning/pm-plugins/types.d.ts +5 -0
  188. package/dist/types/plugins/code-block/nodeviews/highlighting-code-block.d.ts +11 -2
  189. package/dist/types/plugins/code-block/pm-plugins/main.d.ts +5 -1
  190. package/dist/types/plugins/extension/types.d.ts +0 -2
  191. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  192. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -1
  193. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +1 -1
  194. package/dist/types/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +1 -1
  195. package/dist/types/plugins/hyperlink/utils.d.ts +0 -21
  196. package/dist/types/plugins/index.d.ts +1 -0
  197. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +27 -0
  198. package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -2
  199. package/dist/types/plugins/media/toolbar/utils.d.ts +2 -0
  200. package/dist/types/plugins/media/utils/media-files.d.ts +8 -0
  201. package/dist/types/plugins/panel/message.d.ts +37 -0
  202. package/dist/types/plugins/panel/toolbar.d.ts +4 -37
  203. package/dist/types/plugins/panel/types.d.ts +1 -0
  204. package/dist/types/profiler/render-count.d.ts +14 -0
  205. package/dist/types/types/feature-flags.d.ts +17 -0
  206. package/dist/types/ui/LinkSearch/types.d.ts +1 -0
  207. package/dist/types/utils/react-hooks/use-component-renderer-tracking/index.d.ts +17 -1
  208. package/package.json +21 -18
  209. package/dist/cjs/plugins/caption/nodeviews/index.test.js +0 -135
  210. package/dist/cjs/plugins/caption/pm-plugins/keymap.test.js +0 -203
  211. package/dist/cjs/plugins/caption/pm-plugins/main.test.js +0 -141
  212. package/dist/cjs/plugins/code-block/language-list.test.js +0 -74
  213. package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -101
  214. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -98
  215. package/dist/cjs/plugins/media/commands/captions.test.js +0 -149
  216. package/dist/cjs/plugins/media/commands/linking.test.js +0 -296
  217. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -50
  218. package/dist/cjs/plugins/panel/toolbar.test.js +0 -250
  219. package/dist/cjs/ui/ColorPickerButton/index.test.js +0 -123
  220. package/dist/cjs/ui/PortalProvider/index.test.js +0 -139
  221. package/dist/es2019/plugins/caption/nodeviews/index.test.js +0 -122
  222. package/dist/es2019/plugins/caption/pm-plugins/keymap.test.js +0 -193
  223. package/dist/es2019/plugins/caption/pm-plugins/main.test.js +0 -132
  224. package/dist/es2019/plugins/code-block/language-list.test.js +0 -69
  225. package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -83
  226. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -85
  227. package/dist/es2019/plugins/media/commands/captions.test.js +0 -126
  228. package/dist/es2019/plugins/media/commands/linking.test.js +0 -208
  229. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -41
  230. package/dist/es2019/plugins/panel/toolbar.test.js +0 -200
  231. package/dist/es2019/ui/ColorPickerButton/index.test.js +0 -88
  232. package/dist/es2019/ui/PortalProvider/index.test.js +0 -115
  233. package/dist/esm/plugins/caption/nodeviews/index.test.js +0 -125
  234. package/dist/esm/plugins/caption/pm-plugins/keymap.test.js +0 -195
  235. package/dist/esm/plugins/caption/pm-plugins/main.test.js +0 -124
  236. package/dist/esm/plugins/code-block/language-list.test.js +0 -71
  237. package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -92
  238. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -85
  239. package/dist/esm/plugins/media/commands/captions.test.js +0 -135
  240. package/dist/esm/plugins/media/commands/linking.test.js +0 -268
  241. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -41
  242. package/dist/esm/plugins/panel/toolbar.test.js +0 -230
  243. package/dist/esm/ui/ColorPickerButton/index.test.js +0 -107
  244. package/dist/esm/ui/PortalProvider/index.test.js +0 -129
@@ -41,6 +41,7 @@ export declare type LinkSearchListItemData = {
41
41
  icon?: React.ReactChild | never;
42
42
  lastViewedDate?: Date;
43
43
  lastUpdatedDate?: Date;
44
+ prefetch?: boolean;
44
45
  } & ({
45
46
  iconUrl: string;
46
47
  } | {
@@ -1,7 +1,23 @@
1
+ import { ShallowPropsDifference, PropsDifference } from '../../compare';
1
2
  import { ACTION_SUBJECT, ACTION, FireAnalyticsCallback } from '../../../plugins/analytics';
2
3
  declare type RenderActions = ACTION.RE_RENDERED;
3
4
  declare type RenderActionSubjects = ACTION_SUBJECT.EDITOR | ACTION_SUBJECT.REACT_EDITOR_VIEW;
4
- export declare function useComponentRenderTracking<Props>(props: Props, action: RenderActions, actionSubject: RenderActionSubjects, handleAnalyticsEvent: FireAnalyticsCallback, propsToIgnore?: Array<keyof Props>, useShallow?: boolean): void;
5
+ declare type PropsDiff<Props> = ShallowPropsDifference<Props> | PropsDifference<Props>;
6
+ declare type OnRenderCb<Props = undefined> = ({ renderCount, propsDifference, }: {
7
+ renderCount: number;
8
+ propsDifference: PropsDiff<Props> | undefined;
9
+ }) => void;
10
+ export declare type UseComponentRenderTrackingArgs<Props = undefined> = {
11
+ onRender: OnRenderCb<Props>;
12
+ propsDiffingOptions?: {
13
+ enabled: boolean;
14
+ props?: Props;
15
+ propsToIgnore?: Array<keyof Props>;
16
+ useShallow?: boolean;
17
+ };
18
+ zeroBasedCount?: boolean;
19
+ };
20
+ export declare function useComponentRenderTracking<Props = undefined>({ onRender, propsDiffingOptions, zeroBasedCount, }: UseComponentRenderTrackingArgs<Props>): void;
5
21
  export declare type RenderTrackingProps<ComponentProps> = {
6
22
  componentProps: ComponentProps;
7
23
  action: RenderActions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "150.0.2",
3
+ "version": "151.1.1",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@atlaskit/activity": "^1.0.1",
28
28
  "@atlaskit/activity-provider": "^2.3.0",
29
- "@atlaskit/adf-schema": "^19.2.0",
29
+ "@atlaskit/adf-schema": "^19.3.0",
30
30
  "@atlaskit/adf-utils": "^14.3.0",
31
31
  "@atlaskit/analytics-gas-types": "^5.0.0",
32
32
  "@atlaskit/analytics-listeners": "^8.0.0",
@@ -38,11 +38,11 @@
38
38
  "@atlaskit/button": "^16.1.0",
39
39
  "@atlaskit/calendar": "^12.1.0",
40
40
  "@atlaskit/checkbox": "^12.3.0",
41
- "@atlaskit/code": "^14.1.0",
41
+ "@atlaskit/code": "^14.2.0",
42
42
  "@atlaskit/date": "^0.8.0",
43
- "@atlaskit/datetime-picker": "^11.0.0",
43
+ "@atlaskit/datetime-picker": "^11.1.0",
44
44
  "@atlaskit/droplist": "^11.0.0",
45
- "@atlaskit/editor-common": "^60.1.0",
45
+ "@atlaskit/editor-common": "^60.3.0",
46
46
  "@atlaskit/editor-json-transformer": "^8.6.0",
47
47
  "@atlaskit/editor-markdown-transformer": "^4.1.0",
48
48
  "@atlaskit/editor-shared-styles": "^1.6.0",
@@ -55,16 +55,16 @@
55
55
  "@atlaskit/item": "^12.0.0",
56
56
  "@atlaskit/locale": "^2.3.0",
57
57
  "@atlaskit/logo": "^13.5.0",
58
- "@atlaskit/media-card": "^71.0.0",
59
- "@atlaskit/media-client": "^14.2.0",
58
+ "@atlaskit/media-card": "^72.0.0",
59
+ "@atlaskit/media-client": "^14.3.0",
60
60
  "@atlaskit/media-common": "^2.9.0",
61
61
  "@atlaskit/media-editor": "^38.2.0",
62
62
  "@atlaskit/media-filmstrip": "^42.1.0",
63
63
  "@atlaskit/media-picker": "^58.1.0",
64
- "@atlaskit/media-ui": "^17.0.0",
64
+ "@atlaskit/media-ui": "^17.1.0",
65
65
  "@atlaskit/media-viewer": "^45.8.1",
66
66
  "@atlaskit/mention": "^19.7.0",
67
- "@atlaskit/modal-dialog": "^12.0.0",
67
+ "@atlaskit/modal-dialog": "^12.1.0",
68
68
  "@atlaskit/prosemirror-input-rules": "^2.0.0",
69
69
  "@atlaskit/radio": "^5.3.0",
70
70
  "@atlaskit/section-message": "^6.1.0",
@@ -128,46 +128,48 @@
128
128
  },
129
129
  "peerDependencies": {
130
130
  "@atlaskit/media-core": "^32.2.0",
131
- "@atlaskit/smart-card": "^16.1.1",
131
+ "@atlaskit/smart-card": "^16.2.0",
132
132
  "react": "^16.8.0",
133
133
  "react-dom": "^16.8.0",
134
134
  "react-intl": "^2.6.0",
135
135
  "styled-components": "^3.2.6"
136
136
  },
137
137
  "devDependencies": {
138
- "@atlaskit/atlassian-navigation": "^1.1.0",
139
- "@atlaskit/breadcrumbs": "11.3.4",
140
- "@atlaskit/code": "^14.1.0",
138
+ "@atlaskit/atlassian-navigation": "^1.2.0",
139
+ "@atlaskit/breadcrumbs": "11.4.0",
140
+ "@atlaskit/code": "^14.2.0",
141
141
  "@atlaskit/collab-provider": "7.1.0",
142
142
  "@atlaskit/docs": "*",
143
143
  "@atlaskit/drawer": "^7.0.0",
144
144
  "@atlaskit/dropdown-menu": "^10.1.0",
145
145
  "@atlaskit/editor-bitbucket-transformer": "^7.1.0",
146
146
  "@atlaskit/editor-extension-dropbox": "^0.2.0",
147
- "@atlaskit/editor-test-helpers": "^15.4.0",
147
+ "@atlaskit/editor-test-helpers": "^15.5.0",
148
148
  "@atlaskit/flag": "^14.4.0",
149
149
  "@atlaskit/inline-dialog": "^13.0.0",
150
150
  "@atlaskit/lozenge": "^11.1.0",
151
151
  "@atlaskit/media-core": "^32.2.0",
152
152
  "@atlaskit/media-integration-test-helpers": "^2.5.0",
153
153
  "@atlaskit/media-test-helpers": "^28.8.0",
154
- "@atlaskit/menu": "^1.1.0",
154
+ "@atlaskit/menu": "^1.2.0",
155
155
  "@atlaskit/page-layout": "^1.0.1",
156
- "@atlaskit/profilecard": "^15.0.0",
156
+ "@atlaskit/profilecard": "^15.8.0",
157
157
  "@atlaskit/pubsub": "^6.0.0",
158
- "@atlaskit/renderer": "^81.1.0",
158
+ "@atlaskit/renderer": "^82.1.0",
159
159
  "@atlaskit/section-message": "^6.1.0",
160
160
  "@atlaskit/share": "*",
161
- "@atlaskit/smart-card": "^16.1.0",
161
+ "@atlaskit/smart-card": "^16.2.0",
162
162
  "@atlaskit/synchrony-test-helpers": "^2.3.0",
163
163
  "@atlaskit/textarea": "^4.2.0",
164
164
  "@atlaskit/toggle": "^12.3.0",
165
+ "@atlaskit/ufo": "^0.0.6",
165
166
  "@atlaskit/user-picker": "^7.3.0",
166
167
  "@atlaskit/util-data-test": "^16.0.0",
167
168
  "@atlaskit/visual-regression": "*",
168
169
  "@atlaskit/webdriver-runner": "*",
169
170
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
170
171
  "@atlassian/search-provider": "2.1.15",
172
+ "@atlassian/ufo": "^0.0.29",
171
173
  "@testing-library/react": "^8.0.1",
172
174
  "@testing-library/react-hooks": "^1.0.4",
173
175
  "@types/jscodeshift": "^0.11.0",
@@ -183,6 +185,7 @@
183
185
  "fetch-mock": "^8.0.0",
184
186
  "jscodeshift": "^0.13.0",
185
187
  "lz-string": "^1.4.4",
188
+ "mockdate": "^3.0.2",
186
189
  "node-fetch": "^2.6.1",
187
190
  "prettier": "^2.1.1",
188
191
  "prosemirror-dev-tools": "^3.0.0",
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _createEditor = require("@atlaskit/editor-test-helpers/create-editor");
6
-
7
- var _docBuilder = require("@atlaskit/editor-test-helpers/doc-builder");
8
-
9
- var _utils = require("../../../utils");
10
-
11
- var _react = require("@testing-library/react");
12
-
13
- var _adfSchema = require("@atlaskit/adf-schema");
14
-
15
- var _ = _interopRequireDefault(require("."));
16
-
17
- jest.mock('../../base/pm-plugins/react-nodeview', function () {
18
- return {
19
- stateKey: {
20
- getState: function getState() {
21
- return {
22
- subscribe: jest.fn(),
23
- unsubscribe: jest.fn()
24
- };
25
- }
26
- }
27
- };
28
- });
29
- var createEditorTestingLibrary = (0, _createEditor.createEditorFactory)(_react.render);
30
-
31
- var editor = function editor(doc) {
32
- return createEditorTestingLibrary({
33
- doc: doc,
34
- editorProps: {
35
- media: {
36
- allowMediaSingle: true,
37
- featureFlags: {
38
- captions: true
39
- }
40
- }
41
- }
42
- });
43
- };
44
-
45
- var mediaNodeAttrs = {
46
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
47
- type: 'file',
48
- collection: 'MediaServicesSample',
49
- width: 250,
50
- height: 250
51
- };
52
- describe('caption', function () {
53
- it('should render caption children', function () {
54
- var CAPTION_TEXT = 'this is a very cool caption';
55
-
56
- var _editor = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)(mediaNodeAttrs)(), (0, _docBuilder.caption)(CAPTION_TEXT)))),
57
- getByText = _editor.wrapper.getByText;
58
-
59
- expect(getByText(CAPTION_TEXT)).not.toBeNull();
60
- });
61
- it("should show a placeholder if there's no children", function () {
62
- var _editor2 = editor((0, _docBuilder.doc)('{<node>}', // node selection
63
- (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)(mediaNodeAttrs)()))),
64
- getByText = _editor2.wrapper.getByText;
65
-
66
- expect(getByText('Add a caption')).not.toBeNull();
67
- });
68
- it('should not show a placeholder when selecting away from media single', function () {
69
- var _editor3 = editor((0, _docBuilder.doc)('{<node>}', // node selection
70
- (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)(mediaNodeAttrs)()), (0, _docBuilder.p)('this is a random piece of text'))),
71
- _editor3$wrapper = _editor3.wrapper,
72
- queryByText = _editor3$wrapper.queryByText,
73
- getByText = _editor3$wrapper.getByText,
74
- editorView = _editor3.editorView;
75
-
76
- expect(getByText('Add a caption')).not.toBeNull();
77
- (0, _utils.setTextSelection)(editorView, 13, 14);
78
- expect(queryByText('Add a caption')).toBeNull();
79
- });
80
- it('should show a placeholder when selecting a media single', function () {
81
- var _editor4 = editor((0, _docBuilder.doc)('{node}', // node selection
82
- (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)(mediaNodeAttrs)()), (0, _docBuilder.p)('this is a random p{<>}iece of text'))),
83
- _editor4$wrapper = _editor4.wrapper,
84
- queryByText = _editor4$wrapper.queryByText,
85
- getByText = _editor4$wrapper.getByText,
86
- editorView = _editor4.editorView;
87
-
88
- expect(queryByText('Add a caption')).toBeNull();
89
- (0, _utils.setNodeSelection)(editorView, 0);
90
- expect(getByText('Add a caption')).not.toBeNull();
91
- });
92
- });
93
- describe('nodeview updating based on child count', function () {
94
- var portalProviderAPI = {
95
- render: function render(component) {
96
- component();
97
- },
98
- remove: function remove() {}
99
- };
100
- var eventDispatcher = {};
101
- var node = (0, _docBuilder.caption)('hi')((0, _adfSchema.getSchemaBasedOnStage)('stage0'));
102
- var view = {
103
- state: {
104
- selection: {
105
- from: 0,
106
- to: 0,
107
- $anchor: {
108
- pos: 0
109
- },
110
- $head: {
111
- pos: 20
112
- }
113
- }
114
- }
115
- };
116
- var getPos = jest.fn();
117
- it('does not update if the childCount has not changed', function () {
118
- var nodeView = (0, _.default)(portalProviderAPI, eventDispatcher)(node, view, getPos); // ensure that if it falls through to the default it returns false
119
-
120
- nodeView['_viewShouldUpdate'] = jest.fn(function (_node) {
121
- return false;
122
- });
123
- expect(nodeView.viewShouldUpdate(node)).toBeFalsy();
124
- });
125
- it('updates if the childCount has changed', function () {
126
- var nodeView = (0, _.default)(portalProviderAPI, eventDispatcher)(node, view, getPos); // when captions is in full schema, use defaultSchema
127
-
128
- var newNode = (0, _docBuilder.caption)()((0, _adfSchema.getSchemaBasedOnStage)('stage0')); // ensure that if it falls through to the default it returns false
129
-
130
- nodeView['_viewShouldUpdate'] = jest.fn(function (_node) {
131
- return false;
132
- });
133
- expect(nodeView.viewShouldUpdate(newNode)).toBeTruthy();
134
- });
135
- });
@@ -1,203 +0,0 @@
1
- "use strict";
2
-
3
- var _sendKeyToPm = require("@atlaskit/editor-test-helpers/send-key-to-pm");
4
-
5
- var _createEditor = require("@atlaskit/editor-test-helpers/create-editor");
6
-
7
- var _docBuilder = require("@atlaskit/editor-test-helpers/doc-builder");
8
-
9
- var _prosemirrorState = require("prosemirror-state");
10
-
11
- var _prosemirrorUtils = require("prosemirror-utils");
12
-
13
- var _selection = require("../../selection/gap-cursor/selection");
14
-
15
- var createEditorTestingLibrary = (0, _createEditor.createEditorFactory)();
16
-
17
- var editor = function editor(doc) {
18
- return createEditorTestingLibrary({
19
- doc: doc,
20
- editorProps: {
21
- allowPanel: true,
22
- media: {
23
- allowMediaSingle: true,
24
- featureFlags: {
25
- captions: true
26
- }
27
- }
28
- }
29
- });
30
- };
31
-
32
- describe('caption keymap', function () {
33
- it('should go to caption on tab', function () {
34
- var _editor = editor((0, _docBuilder.doc)('{<node>}', (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
35
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
36
- type: 'file',
37
- collection: 'MediaServicesSample'
38
- })(), (0, _docBuilder.caption)('Hello')))),
39
- editorView = _editor.editorView;
40
-
41
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'Tab');
42
- var captionParentNode = (0, _prosemirrorUtils.findParentNodeOfType)(editorView.state.schema.nodes.caption)(editorView.state.selection);
43
- expect(editorView.state.selection instanceof _prosemirrorState.TextSelection).toBe(true);
44
- expect(captionParentNode).toBeDefined();
45
- });
46
- it('should select caption on arrow down', function () {
47
- var _editor2 = editor((0, _docBuilder.doc)('{<node>}', (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
48
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
49
- type: 'file',
50
- collection: 'MediaServicesSample'
51
- })(), (0, _docBuilder.caption)('Hello')), (0, _docBuilder.p)(''))),
52
- editorView = _editor2.editorView;
53
-
54
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowDown');
55
- var captionParentNode = (0, _prosemirrorUtils.findParentNodeOfType)(editorView.state.schema.nodes.caption)(editorView.state.selection);
56
- expect(editorView.state.selection instanceof _prosemirrorState.TextSelection).toBe(true);
57
- expect(captionParentNode).toBeDefined();
58
- });
59
- it('should select media from paragraph below on arrow up', function () {
60
- var _editor3 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
61
- layout: 'center'
62
- })((0, _docBuilder.media)({
63
- id: 'abc',
64
- type: 'file',
65
- collection: 'xyz'
66
- })(), (0, _docBuilder.caption)('hello')), (0, _docBuilder.p)('{<>}something'))),
67
- editorView = _editor3.editorView;
68
-
69
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowUp');
70
- expect(editorView.state.selection instanceof _prosemirrorState.NodeSelection).toBe(true);
71
- expect(editorView.state.selection.from).toBe(0);
72
- });
73
- it('should select media from caption on arrow up', function () {
74
- var _editor4 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
75
- layout: 'center'
76
- })((0, _docBuilder.media)({
77
- id: 'abc',
78
- type: 'file',
79
- collection: 'xyz'
80
- })(), (0, _docBuilder.caption)('he{<>}llo')), (0, _docBuilder.p)('something'))),
81
- editorView = _editor4.editorView;
82
-
83
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowUp');
84
- expect(editorView.state.selection instanceof _prosemirrorState.NodeSelection).toBe(true);
85
- expect(editorView.state.selection.from).toBe(0);
86
- });
87
- it('should select media from caption on shift + tab', function () {
88
- var _editor5 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
89
- layout: 'center'
90
- })((0, _docBuilder.media)({
91
- id: 'abc',
92
- type: 'file',
93
- collection: 'xyz'
94
- })(), (0, _docBuilder.caption)('he{<>}llo')), (0, _docBuilder.p)('something'))),
95
- editorView = _editor5.editorView;
96
-
97
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'Shift-Tab');
98
- expect(editorView.state.selection instanceof _prosemirrorState.NodeSelection).toBe(true);
99
- expect(editorView.state.selection.from).toBe(0);
100
- });
101
- it('should create paragraph below caption on arrow down', function () {
102
- var _editor6 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
103
- layout: 'center'
104
- })((0, _docBuilder.media)({
105
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
106
- type: 'file',
107
- collection: 'MediaServicesSample'
108
- })(), (0, _docBuilder.caption)('hello{<>}')))),
109
- editorView = _editor6.editorView;
110
-
111
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowDown');
112
- expect(editorView.state.doc).toEqualDocument((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
113
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
114
- type: 'file',
115
- collection: 'MediaServicesSample'
116
- })(), (0, _docBuilder.caption)('hello')), (0, _docBuilder.p)()));
117
- });
118
- it('should create paragraph below caption on enter', function () {
119
- var _editor7 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
120
- layout: 'center'
121
- })((0, _docBuilder.media)({
122
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
123
- type: 'file',
124
- collection: 'MediaServicesSample'
125
- })(), (0, _docBuilder.caption)('hello{<>}')))),
126
- editorView = _editor7.editorView;
127
-
128
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'Enter');
129
- expect(editorView.state.doc).toEqualDocument((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
130
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
131
- type: 'file',
132
- collection: 'MediaServicesSample'
133
- })(), (0, _docBuilder.caption)('hello')), (0, _docBuilder.p)()));
134
- });
135
- it('should not create paragraph below panel on enter', function () {
136
- var _editor8 = editor((0, _docBuilder.doc)((0, _docBuilder.panel)()((0, _docBuilder.p)('text{<>}')))),
137
- editorView = _editor8.editorView;
138
-
139
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'Enter');
140
- expect(editorView.state.doc).toEqualDocument((0, _docBuilder.doc)((0, _docBuilder.panel)()((0, _docBuilder.p)('text'), (0, _docBuilder.p)())));
141
- });
142
- it('should move to paragraph below caption on arrow down', function () {
143
- var _editor9 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
144
- layout: 'center'
145
- })((0, _docBuilder.media)({
146
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
147
- type: 'file',
148
- collection: 'MediaServicesSample'
149
- })(), (0, _docBuilder.caption)('hel{<>}lo')), (0, _docBuilder.p)('something'))),
150
- editorView = _editor9.editorView;
151
-
152
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowDown');
153
- expect(editorView.state).toEqualDocumentAndSelection((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
154
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
155
- type: 'file',
156
- collection: 'MediaServicesSample'
157
- })(), (0, _docBuilder.caption)('hello')), (0, _docBuilder.p)('{<>}something')));
158
- });
159
- it('should move to paragraph below caption on enter', function () {
160
- var _editor10 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)({
161
- layout: 'center'
162
- })((0, _docBuilder.media)({
163
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
164
- type: 'file',
165
- collection: 'MediaServicesSample'
166
- })(), (0, _docBuilder.caption)('he{<>}llo')), (0, _docBuilder.p)('something'))),
167
- editorView = _editor10.editorView;
168
-
169
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'Enter');
170
- expect(editorView.state).toEqualDocumentAndSelection((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
171
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
172
- type: 'file',
173
- collection: 'MediaServicesSample'
174
- })(), (0, _docBuilder.caption)('hello')), (0, _docBuilder.p)('{<>}something')));
175
- });
176
- it('should gap cursor parent media single on left arrow', function () {
177
- var _editor11 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
178
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
179
- type: 'file',
180
- collection: 'MediaServicesSample'
181
- })(), (0, _docBuilder.caption)('{<>}Hello')), (0, _docBuilder.p)(''))),
182
- editorView = _editor11.editorView;
183
-
184
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowLeft');
185
- expect(editorView.state.selection).toBeInstanceOf(_selection.GapCursorSelection);
186
- expect(editorView.state).toEqualDocumentAndSelection((0, _docBuilder.doc)('{<gap|>}', (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
187
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
188
- type: 'file',
189
- collection: 'MediaServicesSample'
190
- })(), (0, _docBuilder.caption)('Hello')), (0, _docBuilder.p)('')));
191
- });
192
- it('should not gap cursor parent media single on left arrow when not at start', function () {
193
- var _editor12 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
194
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
195
- type: 'file',
196
- collection: 'MediaServicesSample'
197
- })(), (0, _docBuilder.caption)('H{<>}ello')), (0, _docBuilder.p)(''))),
198
- editorView = _editor12.editorView;
199
-
200
- (0, _sendKeyToPm.sendKeyToPm)(editorView, 'ArrowLeft');
201
- expect(editorView.state.selection).not.toBeInstanceOf(_selection.GapCursorSelection);
202
- });
203
- });
@@ -1,141 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- var _createProsemirrorEditor = require("@atlaskit/editor-test-helpers/create-prosemirror-editor");
8
-
9
- var _media = _interopRequireDefault(require("../../media"));
10
-
11
- var _ = _interopRequireDefault(require("../"));
12
-
13
- var _docBuilder = require("@atlaskit/editor-test-helpers/doc-builder");
14
-
15
- var _pluginKey = require("./plugin-key");
16
-
17
- var _selection = require("../../../utils/selection");
18
-
19
- var analyticsUtils = _interopRequireWildcard(require("../../analytics/utils"));
20
-
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
-
23
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
-
25
- describe('Caption plugin', function () {
26
- var createEditor = (0, _createProsemirrorEditor.createProsemirrorEditorFactory)();
27
-
28
- var editor = function editor(doc) {
29
- return createEditor({
30
- doc: doc,
31
- pluginKey: _pluginKey.pluginKey,
32
- preset: new _createProsemirrorEditor.Preset().add([_media.default, {
33
- allowMediaSingle: true,
34
- featureFlags: {
35
- captions: true
36
- }
37
- }]).add(_.default)
38
- });
39
- };
40
-
41
- it('should not remove caption when there is content', function () {
42
- var _editor = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
43
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
44
- type: 'file',
45
- collection: 'MediaServicesSample'
46
- })(), (0, _docBuilder.caption)('Test{<>}')), (0, _docBuilder.p)('Line {movePos}two'))),
47
- editorView = _editor.editorView,
48
- movePos = _editor.refs.movePos;
49
-
50
- (0, _selection.setTextSelection)(editorView, movePos);
51
- expect(editorView.state.doc).toEqualDocument((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
52
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
53
- type: 'file',
54
- collection: 'MediaServicesSample'
55
- })(), (0, _docBuilder.caption)('Test')), (0, _docBuilder.p)('Line two')));
56
- });
57
- it('should remove caption when there is no content', function () {
58
- var _editor2 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
59
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
60
- type: 'file',
61
- collection: 'MediaServicesSample'
62
- })(), (0, _docBuilder.caption)('{<>}')), (0, _docBuilder.p)('Line {movePos}two'))),
63
- editorView = _editor2.editorView,
64
- movePos = _editor2.refs.movePos;
65
-
66
- (0, _selection.setTextSelection)(editorView, movePos);
67
- expect(editorView.state.doc).toEqualDocument((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
68
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
69
- type: 'file',
70
- collection: 'MediaServicesSample'
71
- })()), (0, _docBuilder.p)('Line two')));
72
- });
73
- it('should remove caption when clicking onto another caption', function () {
74
- var _editor3 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
75
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
76
- type: 'file',
77
- collection: 'MediaServicesSample'
78
- })(), (0, _docBuilder.caption)('{<>}')), (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
79
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
80
- type: 'file',
81
- collection: 'MediaServicesSample'
82
- })(), (0, _docBuilder.caption)('second {movePos}caption')))),
83
- editorView = _editor3.editorView,
84
- movePos = _editor3.refs.movePos;
85
-
86
- (0, _selection.setTextSelection)(editorView, movePos);
87
- expect(editorView.state.doc).toEqualDocument((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
88
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
89
- type: 'file',
90
- collection: 'MediaServicesSample'
91
- })()), (0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
92
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
93
- type: 'file',
94
- collection: 'MediaServicesSample'
95
- })(), (0, _docBuilder.caption)('second caption'))));
96
- });
97
- describe('analytics', function () {
98
- var addAnalyticsSpy = jest.spyOn(analyticsUtils, 'addAnalytics');
99
- var FIRST_CALL = 0;
100
- var PAYLOAD_ARGUMENT = 2;
101
- beforeEach(function () {
102
- addAnalyticsSpy.mockReset();
103
- });
104
- it('should fire deleted analytic when removing caption', function () {
105
- var _editor4 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
106
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
107
- type: 'file',
108
- collection: 'MediaServicesSample'
109
- })(), (0, _docBuilder.caption)('{<>}')), (0, _docBuilder.p)('Line {movePos}two'))),
110
- editorView = _editor4.editorView,
111
- movePos = _editor4.refs.movePos;
112
-
113
- (0, _selection.setTextSelection)(editorView, movePos);
114
- expect(addAnalyticsSpy).toBeCalled();
115
- expect(addAnalyticsSpy.mock.calls[FIRST_CALL][PAYLOAD_ARGUMENT]).toEqual({
116
- action: 'deleted',
117
- actionSubject: 'mediaSingle',
118
- actionSubjectId: 'caption',
119
- eventType: 'track'
120
- });
121
- });
122
- it('should fire edited analytic when moving away from a non empty caption', function () {
123
- var _editor5 = editor((0, _docBuilder.doc)((0, _docBuilder.mediaSingle)()((0, _docBuilder.media)({
124
- id: 'a559980d-cd47-43e2-8377-27359fcb905f',
125
- type: 'file',
126
- collection: 'MediaServicesSample'
127
- })(), (0, _docBuilder.caption)('Test{<>}')), (0, _docBuilder.p)('Line {movePos}two'))),
128
- editorView = _editor5.editorView,
129
- movePos = _editor5.refs.movePos;
130
-
131
- (0, _selection.setTextSelection)(editorView, movePos);
132
- expect(addAnalyticsSpy).toBeCalled();
133
- expect(addAnalyticsSpy.mock.calls[FIRST_CALL][PAYLOAD_ARGUMENT]).toEqual({
134
- action: 'edited',
135
- actionSubject: 'mediaSingle',
136
- actionSubjectId: 'caption',
137
- eventType: 'track'
138
- });
139
- });
140
- });
141
- });