@atlaskit/editor-core 189.6.26 → 190.1.0

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 (147) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/create-editor/feature-flags-from-props.js +2 -5
  3. package/dist/cjs/i18n/cs.js +1 -0
  4. package/dist/cjs/i18n/da.js +1 -0
  5. package/dist/cjs/i18n/de.js +1 -0
  6. package/dist/cjs/i18n/es.js +1 -0
  7. package/dist/cjs/i18n/fi.js +1 -0
  8. package/dist/cjs/i18n/fr.js +1 -0
  9. package/dist/cjs/i18n/hu.js +1 -0
  10. package/dist/cjs/i18n/it.js +1 -0
  11. package/dist/cjs/i18n/ko.js +1 -0
  12. package/dist/cjs/i18n/nb.js +1 -0
  13. package/dist/cjs/i18n/nl.js +1 -0
  14. package/dist/cjs/i18n/pl.js +1 -0
  15. package/dist/cjs/i18n/pt_BR.js +1 -0
  16. package/dist/cjs/i18n/ru.js +1 -0
  17. package/dist/cjs/i18n/sv.js +1 -0
  18. package/dist/cjs/i18n/th.js +1 -0
  19. package/dist/cjs/i18n/tr.js +1 -0
  20. package/dist/cjs/i18n/uk.js +1 -0
  21. package/dist/cjs/i18n/vi.js +1 -0
  22. package/dist/cjs/i18n/zh.js +1 -0
  23. package/dist/cjs/i18n/zh_TW.js +1 -0
  24. package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +0 -6
  25. package/dist/cjs/plugins/annotation/pm-plugins/inline-comment.js +7 -2
  26. package/dist/cjs/plugins/annotation/pm-plugins/plugin-factory.js +43 -2
  27. package/dist/cjs/plugins/annotation/pm-plugins/reducer.js +10 -2
  28. package/dist/cjs/plugins/annotation/ui/InlineCommentView.js +4 -2
  29. package/dist/cjs/plugins/annotation/utils.js +17 -1
  30. package/dist/cjs/plugins/paste/handlers.js +1 -1
  31. package/dist/cjs/plugins/paste/pm-plugins/main.js +1 -1
  32. package/dist/cjs/presets/universal.js +1 -3
  33. package/dist/cjs/ui/Alignment/index.js +1 -0
  34. package/dist/cjs/version-wrapper.js +1 -1
  35. package/dist/es2019/create-editor/feature-flags-from-props.js +2 -5
  36. package/dist/es2019/i18n/cs.js +1 -0
  37. package/dist/es2019/i18n/da.js +1 -0
  38. package/dist/es2019/i18n/de.js +1 -0
  39. package/dist/es2019/i18n/es.js +1 -0
  40. package/dist/es2019/i18n/fi.js +1 -0
  41. package/dist/es2019/i18n/fr.js +1 -0
  42. package/dist/es2019/i18n/hu.js +1 -0
  43. package/dist/es2019/i18n/it.js +1 -0
  44. package/dist/es2019/i18n/ko.js +1 -0
  45. package/dist/es2019/i18n/nb.js +1 -0
  46. package/dist/es2019/i18n/nl.js +1 -0
  47. package/dist/es2019/i18n/pl.js +1 -0
  48. package/dist/es2019/i18n/pt_BR.js +1 -0
  49. package/dist/es2019/i18n/ru.js +1 -0
  50. package/dist/es2019/i18n/sv.js +1 -0
  51. package/dist/es2019/i18n/th.js +1 -0
  52. package/dist/es2019/i18n/tr.js +1 -0
  53. package/dist/es2019/i18n/uk.js +1 -0
  54. package/dist/es2019/i18n/vi.js +1 -0
  55. package/dist/es2019/i18n/zh.js +1 -0
  56. package/dist/es2019/i18n/zh_TW.js +1 -0
  57. package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +0 -7
  58. package/dist/es2019/plugins/annotation/pm-plugins/inline-comment.js +5 -2
  59. package/dist/es2019/plugins/annotation/pm-plugins/plugin-factory.js +50 -3
  60. package/dist/es2019/plugins/annotation/pm-plugins/reducer.js +15 -4
  61. package/dist/es2019/plugins/annotation/ui/InlineCommentView.js +4 -2
  62. package/dist/es2019/plugins/annotation/utils.js +10 -0
  63. package/dist/es2019/plugins/paste/handlers.js +1 -1
  64. package/dist/es2019/plugins/paste/pm-plugins/main.js +1 -1
  65. package/dist/es2019/presets/universal.js +1 -3
  66. package/dist/es2019/ui/Alignment/index.js +1 -0
  67. package/dist/es2019/version-wrapper.js +1 -1
  68. package/dist/esm/create-editor/feature-flags-from-props.js +2 -5
  69. package/dist/esm/i18n/cs.js +1 -0
  70. package/dist/esm/i18n/da.js +1 -0
  71. package/dist/esm/i18n/de.js +1 -0
  72. package/dist/esm/i18n/es.js +1 -0
  73. package/dist/esm/i18n/fi.js +1 -0
  74. package/dist/esm/i18n/fr.js +1 -0
  75. package/dist/esm/i18n/hu.js +1 -0
  76. package/dist/esm/i18n/it.js +1 -0
  77. package/dist/esm/i18n/ko.js +1 -0
  78. package/dist/esm/i18n/nb.js +1 -0
  79. package/dist/esm/i18n/nl.js +1 -0
  80. package/dist/esm/i18n/pl.js +1 -0
  81. package/dist/esm/i18n/pt_BR.js +1 -0
  82. package/dist/esm/i18n/ru.js +1 -0
  83. package/dist/esm/i18n/sv.js +1 -0
  84. package/dist/esm/i18n/th.js +1 -0
  85. package/dist/esm/i18n/tr.js +1 -0
  86. package/dist/esm/i18n/uk.js +1 -0
  87. package/dist/esm/i18n/vi.js +1 -0
  88. package/dist/esm/i18n/zh.js +1 -0
  89. package/dist/esm/i18n/zh_TW.js +1 -0
  90. package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +0 -6
  91. package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +7 -2
  92. package/dist/esm/plugins/annotation/pm-plugins/plugin-factory.js +44 -3
  93. package/dist/esm/plugins/annotation/pm-plugins/reducer.js +10 -2
  94. package/dist/esm/plugins/annotation/ui/InlineCommentView.js +4 -2
  95. package/dist/esm/plugins/annotation/utils.js +14 -0
  96. package/dist/esm/plugins/paste/handlers.js +1 -1
  97. package/dist/esm/plugins/paste/pm-plugins/main.js +1 -1
  98. package/dist/esm/presets/universal.js +1 -3
  99. package/dist/esm/ui/Alignment/index.js +1 -0
  100. package/dist/esm/version-wrapper.js +1 -1
  101. package/dist/types/i18n/cs.d.ts +1 -0
  102. package/dist/types/i18n/da.d.ts +1 -0
  103. package/dist/types/i18n/de.d.ts +1 -0
  104. package/dist/types/i18n/es.d.ts +1 -0
  105. package/dist/types/i18n/fi.d.ts +1 -0
  106. package/dist/types/i18n/fr.d.ts +1 -0
  107. package/dist/types/i18n/hu.d.ts +1 -0
  108. package/dist/types/i18n/it.d.ts +1 -0
  109. package/dist/types/i18n/ko.d.ts +1 -0
  110. package/dist/types/i18n/nb.d.ts +1 -0
  111. package/dist/types/i18n/nl.d.ts +1 -0
  112. package/dist/types/i18n/pl.d.ts +1 -0
  113. package/dist/types/i18n/pt_BR.d.ts +1 -0
  114. package/dist/types/i18n/ru.d.ts +1 -0
  115. package/dist/types/i18n/sv.d.ts +1 -0
  116. package/dist/types/i18n/th.d.ts +1 -0
  117. package/dist/types/i18n/tr.d.ts +1 -0
  118. package/dist/types/i18n/uk.d.ts +1 -0
  119. package/dist/types/i18n/vi.d.ts +1 -0
  120. package/dist/types/i18n/zh.d.ts +1 -0
  121. package/dist/types/i18n/zh_TW.d.ts +1 -0
  122. package/dist/types/plugins/annotation/pm-plugins/types.d.ts +1 -0
  123. package/dist/types/plugins/annotation/utils.d.ts +5 -0
  124. package/dist/types-ts4.5/i18n/cs.d.ts +1 -0
  125. package/dist/types-ts4.5/i18n/da.d.ts +1 -0
  126. package/dist/types-ts4.5/i18n/de.d.ts +1 -0
  127. package/dist/types-ts4.5/i18n/es.d.ts +1 -0
  128. package/dist/types-ts4.5/i18n/fi.d.ts +1 -0
  129. package/dist/types-ts4.5/i18n/fr.d.ts +1 -0
  130. package/dist/types-ts4.5/i18n/hu.d.ts +1 -0
  131. package/dist/types-ts4.5/i18n/it.d.ts +1 -0
  132. package/dist/types-ts4.5/i18n/ko.d.ts +1 -0
  133. package/dist/types-ts4.5/i18n/nb.d.ts +1 -0
  134. package/dist/types-ts4.5/i18n/nl.d.ts +1 -0
  135. package/dist/types-ts4.5/i18n/pl.d.ts +1 -0
  136. package/dist/types-ts4.5/i18n/pt_BR.d.ts +1 -0
  137. package/dist/types-ts4.5/i18n/ru.d.ts +1 -0
  138. package/dist/types-ts4.5/i18n/sv.d.ts +1 -0
  139. package/dist/types-ts4.5/i18n/th.d.ts +1 -0
  140. package/dist/types-ts4.5/i18n/tr.d.ts +1 -0
  141. package/dist/types-ts4.5/i18n/uk.d.ts +1 -0
  142. package/dist/types-ts4.5/i18n/vi.d.ts +1 -0
  143. package/dist/types-ts4.5/i18n/zh.d.ts +1 -0
  144. package/dist/types-ts4.5/i18n/zh_TW.d.ts +1 -0
  145. package/dist/types-ts4.5/plugins/annotation/pm-plugins/types.d.ts +1 -0
  146. package/dist/types-ts4.5/plugins/annotation/utils.d.ts +5 -0
  147. package/package.json +6 -3
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'isMultiple과 스타일을 결합할 수 없음: 라디오',
28
28
  'fabric.editor.configPanel.formType.addField': '필드 추가',
29
29
  'fabric.editor.configPanel.formType.removeField': '필드 제거',
30
+ 'fabric.editor.configPanel.help': '도움이 필요하십니까?',
30
31
  'fabric.editor.configPanel.invalid': '유효하지 않은 필드',
31
32
  'fabric.editor.configPanel.required': '필수 필드',
32
33
  'fabric.editor.configPanel.submit': '제출',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kan ikke kombinere isMultiple med stil: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Legg til felt',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Fjern felt',
30
+ 'fabric.editor.configPanel.help': 'Trenger du hjelp?',
30
31
  'fabric.editor.configPanel.invalid': 'Ugyldig felt',
31
32
  'fabric.editor.configPanel.required': 'Obligatorisk felt',
32
33
  'fabric.editor.configPanel.submit': 'Send inn',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kan isMultiple niet combineren met stijl: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Veld toevoegen',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Veld verwijderen',
30
+ 'fabric.editor.configPanel.help': 'Hulp nodig?',
30
31
  'fabric.editor.configPanel.invalid': 'Ongeldig veld',
31
32
  'fabric.editor.configPanel.required': 'Verplicht veld',
32
33
  'fabric.editor.configPanel.submit': 'Verzenden',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Nie można połączyć isMultiple ze stylem: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Dodaj pole',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Usuń pole',
30
+ 'fabric.editor.configPanel.help': 'Potrzebujesz pomocy?',
30
31
  'fabric.editor.configPanel.invalid': 'Nieprawidłowe pole',
31
32
  'fabric.editor.configPanel.required': 'Pole wymagane',
32
33
  'fabric.editor.configPanel.submit': 'Wyślij',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Não é possível combinar isMultiple com estilo: rádio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Adicionar campo',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Remover campo',
30
+ 'fabric.editor.configPanel.help': 'Precisa de ajuda?',
30
31
  'fabric.editor.configPanel.invalid': 'Campo inválido',
31
32
  'fabric.editor.configPanel.required': 'Campo obrigatório',
32
33
  'fabric.editor.configPanel.submit': 'Enviar',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Невозможно использовать isMultiple с параметром style: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Добавить поле',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Удалить поле',
30
+ 'fabric.editor.configPanel.help': 'Нужна помощь?',
30
31
  'fabric.editor.configPanel.invalid': 'Недопустимое поле',
31
32
  'fabric.editor.configPanel.required': 'Обязательное поле',
32
33
  'fabric.editor.configPanel.submit': 'Отправить',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kan inte kombinera isMultiple med stilen radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Lägg till fält',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Ta bort fält',
30
+ 'fabric.editor.configPanel.help': 'Behöver du hjälp?',
30
31
  'fabric.editor.configPanel.invalid': 'Ogiltigt fält',
31
32
  'fabric.editor.configPanel.required': 'Obligatoriskt fält',
32
33
  'fabric.editor.configPanel.submit': 'Skicka in',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'ไม่สามารถรวม isMultiple กับรูปแบบได้: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'เพิ่มฟิลด์',
29
29
  'fabric.editor.configPanel.formType.removeField': 'ลบฟิลด์ออก',
30
+ 'fabric.editor.configPanel.help': 'ต้องการความช่วยเหลือใช่ไหม',
30
31
  'fabric.editor.configPanel.invalid': 'ฟิลด์ไม่ถูกต้อง',
31
32
  'fabric.editor.configPanel.required': 'ช่องที่ต้องกรอก',
32
33
  'fabric.editor.configPanel.submit': 'ส่ง',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Stil radio olduğunda isMultiple kullanılamaz',
28
28
  'fabric.editor.configPanel.formType.addField': 'Alan ekle',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Alanı kaldır',
30
+ 'fabric.editor.configPanel.help': 'Yardıma mı ihtiyacınız var?',
30
31
  'fabric.editor.configPanel.invalid': 'Geçersiz alan',
31
32
  'fabric.editor.configPanel.required': 'Gerekli alan',
32
33
  'fabric.editor.configPanel.submit': 'Gönder',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': "Не можна поєднати об'єкт isMultiple зі стилем radio",
28
28
  'fabric.editor.configPanel.formType.addField': 'Додати поле',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Видалити поле',
30
+ 'fabric.editor.configPanel.help': 'Потрібна допомога?',
30
31
  'fabric.editor.configPanel.invalid': 'Недопустиме значення поля',
31
32
  'fabric.editor.configPanel.required': 'Обов’язкове поле',
32
33
  'fabric.editor.configPanel.submit': 'Надіслати',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Không thể kết hợp isMultiple với kiểu: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Thêm trường',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Xóa trường',
30
+ 'fabric.editor.configPanel.help': 'Bạn cần được trợ giúp?',
30
31
  'fabric.editor.configPanel.invalid': 'Trường không hợp lệ',
31
32
  'fabric.editor.configPanel.required': 'Trường bắt buộc',
32
33
  'fabric.editor.configPanel.submit': 'Gửi',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': '无法组合 isMultiple 与样式:radio',
28
28
  'fabric.editor.configPanel.formType.addField': '添加字段',
29
29
  'fabric.editor.configPanel.formType.removeField': '删除字段',
30
+ 'fabric.editor.configPanel.help': '需要帮助?',
30
31
  'fabric.editor.configPanel.invalid': '无效字段',
31
32
  'fabric.editor.configPanel.required': '必填字段',
32
33
  'fabric.editor.configPanel.submit': '提交',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': '無法結合 isMultiple 與 radio 風格',
28
28
  'fabric.editor.configPanel.formType.addField': '新增欄位',
29
29
  'fabric.editor.configPanel.formType.removeField': '移除欄位',
30
+ 'fabric.editor.configPanel.help': '需要協助嗎?',
30
31
  'fabric.editor.configPanel.invalid': '無效欄位',
31
32
  'fabric.editor.configPanel.required': '必要欄位',
32
33
  'fabric.editor.configPanel.submit': '提交',
@@ -75,13 +75,6 @@ export class AlignmentToolbar extends React.Component {
75
75
  boundariesElement: popupsBoundariesElement,
76
76
  scrollableElement: popupsScrollableElement,
77
77
  isOpen: isOpen,
78
- onOpenChange: ({
79
- isOpen
80
- }) => {
81
- this.setState({
82
- isOpen
83
- });
84
- },
85
78
  handleClickOutside: event => {
86
79
  if (event instanceof MouseEvent) {
87
80
  this.hide({
@@ -3,6 +3,7 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
3
3
  import { Decoration, DecorationSet } from '@atlaskit/editor-prosemirror/view';
4
4
  import { AnnotationTypes } from '@atlaskit/adf-schema';
5
5
  import { AnnotationNodeView, getAnnotationViewClassname } from '../nodeviews';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { updateInlineCommentResolvedState, updateMouseState, clearDirtyMark, setInlineCommentsVisibility, setSelectedAnnotation, closeComponent } from '../commands';
7
8
  import { getAllAnnotations, inlineCommentPluginKey, getPluginState } from '../utils';
8
9
  import { createPluginState } from './plugin-factory';
@@ -36,6 +37,7 @@ const initialState = (disallowOnWhitespace = false) => {
36
37
  isSelecting: false
37
38
  },
38
39
  disallowOnWhitespace,
40
+ isInlineCommentViewClosed: false,
39
41
  isVisible: true,
40
42
  skipSelectionHandling: false
41
43
  };
@@ -151,13 +153,14 @@ export const inlineCommentPlugin = options => {
151
153
  draftDecorationSet,
152
154
  annotations,
153
155
  selectedAnnotations,
154
- isVisible
156
+ isVisible,
157
+ isInlineCommentViewClosed
155
158
  } = getPluginState(state) || {};
156
159
  let decorations = draftDecorationSet !== null && draftDecorationSet !== void 0 ? draftDecorationSet : DecorationSet.empty;
157
160
  const focusDecorations = [];
158
161
  state.doc.descendants((node, pos) => {
159
162
  node.marks.filter(mark => mark.type === state.schema.marks.annotation).forEach(mark => {
160
- const isSelected = !!(selectedAnnotations !== null && selectedAnnotations !== void 0 && selectedAnnotations.some(selectedAnnotation => selectedAnnotation.id === mark.attrs.id));
163
+ const isSelected = getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox') ? !isInlineCommentViewClosed && !!(selectedAnnotations !== null && selectedAnnotations !== void 0 && selectedAnnotations.some(selectedAnnotation => selectedAnnotation.id === mark.attrs.id)) : !!(selectedAnnotations !== null && selectedAnnotations !== void 0 && selectedAnnotations.some(selectedAnnotation => selectedAnnotation.id === mark.attrs.id));
161
164
  const isUnresolved = !!annotations && annotations[mark.attrs.id] === false;
162
165
  if (isVisible) {
163
166
  focusDecorations.push(Decoration.inline(pos, pos + node.nodeSize, {
@@ -1,9 +1,10 @@
1
1
  import { pluginFactory } from '../../../utils/plugin-state-factory';
2
- import { findAnnotationsInSelection, inlineCommentPluginKey } from '../utils';
2
+ import { findAnnotationsInSelection, inlineCommentPluginKey, isSelectedAnnotationsChanged } from '../utils';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import reducer from './reducer';
4
5
  const handleDocChanged = (tr, prevPluginState) => {
5
6
  if (!tr.getMeta('replaceDocument')) {
6
- return handleSelectionChanged(tr, prevPluginState);
7
+ return getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox') ? getSelectionChangedHandler(false)(tr, prevPluginState) : handleSelectionChanged(tr, prevPluginState);
7
8
  }
8
9
  return {
9
10
  ...prevPluginState,
@@ -29,11 +30,57 @@ const handleSelectionChanged = (tr, pluginState) => {
29
30
  }
30
31
  return pluginState;
31
32
  };
33
+ const getSelectionChangedHandler = reopenCommentView => (tr, pluginState) => {
34
+ /**
35
+ * If feature flag is **OFF** we want to keep the old behavior. Note that
36
+ * reopenCommentView is not relevant here when using old behaviour.
37
+ *
38
+ * Feature flag is evaluated here rather than directly in onSelectionChanged where it is assigned
39
+ * to prevent the plugin from setting up the handler before the feature flag is evaluated.
40
+ *
41
+ * This comment / logic can be cleaned up once the feature flag is removed.
42
+ */
43
+ if (!getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox')) {
44
+ return handleSelectionChanged(tr, pluginState);
45
+ }
46
+ if (pluginState.skipSelectionHandling) {
47
+ return {
48
+ ...pluginState,
49
+ skipSelectionHandling: false,
50
+ ...(reopenCommentView && {
51
+ isInlineCommentViewClosed: false
52
+ })
53
+ };
54
+ }
55
+ const selectedAnnotations = findAnnotationsInSelection(tr.selection, tr.doc);
56
+ if (selectedAnnotations.length === 0) {
57
+ return {
58
+ ...pluginState,
59
+ selectedAnnotations,
60
+ isInlineCommentViewClosed: true
61
+ };
62
+ }
63
+ if (isSelectedAnnotationsChanged(selectedAnnotations, pluginState.selectedAnnotations)) {
64
+ return {
65
+ ...pluginState,
66
+ selectedAnnotations,
67
+ ...(reopenCommentView && {
68
+ isInlineCommentViewClosed: false
69
+ })
70
+ };
71
+ }
72
+ return {
73
+ ...pluginState,
74
+ ...(reopenCommentView && {
75
+ isInlineCommentViewClosed: false
76
+ })
77
+ };
78
+ };
32
79
  export const {
33
80
  createPluginState,
34
81
  createCommand
35
82
  } = pluginFactory(inlineCommentPluginKey, reducer, {
36
- onSelectionChanged: handleSelectionChanged,
83
+ onSelectionChanged: getSelectionChangedHandler(true),
37
84
  onDocChanged: handleDocChanged,
38
85
  mapping: (tr, pluginState) => {
39
86
  let {
@@ -1,6 +1,7 @@
1
- import { ACTIONS } from './types';
2
1
  import { DecorationSet } from '@atlaskit/editor-prosemirror/view';
2
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
3
  import { addDraftDecoration } from '../utils';
4
+ import { ACTIONS } from './types';
4
5
  export default ((pluginState, action) => {
5
6
  switch (action.type) {
6
7
  case ACTIONS.UPDATE_INLINE_COMMENT_STATE:
@@ -26,7 +27,10 @@ export default ((pluginState, action) => {
26
27
  annotations: {}
27
28
  };
28
29
  case ACTIONS.CLOSE_COMPONENT:
29
- return {
30
+ return getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox') ? {
31
+ ...pluginState,
32
+ isInlineCommentViewClosed: true
33
+ } : {
30
34
  ...pluginState,
31
35
  selectedAnnotations: []
32
36
  };
@@ -38,7 +42,10 @@ export default ((pluginState, action) => {
38
42
  annotations: {
39
43
  ...pluginState.annotations,
40
44
  ...action.data.inlineComments
41
- }
45
+ },
46
+ ...(getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox') && {
47
+ isInlineCommentViewClosed: false
48
+ })
42
49
  };
43
50
  case ACTIONS.INLINE_COMMENT_SET_VISIBLE:
44
51
  const {
@@ -55,7 +62,11 @@ export default ((pluginState, action) => {
55
62
  return {
56
63
  ...pluginState,
57
64
  selectedAnnotations: [...action.data.selectedAnnotations],
58
- skipSelectionHandling: true
65
+ skipSelectionHandling: true,
66
+ ...(getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox') && {
67
+ // if selecting annotation explicitly, reopen the comment view
68
+ isInlineCommentViewClosed: false
69
+ })
59
70
  };
60
71
  default:
61
72
  return pluginState;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { findDomRefAtPos } from '@atlaskit/editor-prosemirror/utils';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import { AnnotationViewWrapper } from './AnnotationViewWrapper';
4
5
  import { AnnotationTestIds } from '../types';
5
6
  import { getAnnotationViewKey, getSelectionPositions, getPluginState, getAllAnnotations } from '../utils';
@@ -45,7 +46,8 @@ export function InlineCommentView({
45
46
  const {
46
47
  bookmark,
47
48
  selectedAnnotations,
48
- annotations
49
+ annotations,
50
+ isInlineCommentViewClosed
49
51
  } = inlineCommentState || {};
50
52
  const annotationsList = getAllAnnotations(editorView.state.doc);
51
53
  const selection = getSelectionPositions(state, inlineCommentState);
@@ -122,7 +124,7 @@ export function InlineCommentView({
122
124
  };
123
125
  dispatchAnalyticsEvent(payload);
124
126
  };
125
- if (!selectedAnnotations) {
127
+ if (getBooleanFF('platform.editor.annotation.decouple-inline-comment-closed_flmox') && isInlineCommentViewClosed || !selectedAnnotations) {
126
128
  return null;
127
129
  }
128
130
  return /*#__PURE__*/React.createElement(AnnotationViewWrapper, {
@@ -321,4 +321,14 @@ function stripNonExistingAnnotationsFromNode(node, state) {
321
321
  });
322
322
  }
323
323
  return node;
324
+ }
325
+
326
+ /**
327
+ * Compares two sets of annotationInfos to see if the annotations have changed
328
+ * This function assumes annotations will have unique id's for simplicity
329
+ */
330
+ export function isSelectedAnnotationsChanged(oldSelectedAnnotations, newSelectedAnnotations) {
331
+ return newSelectedAnnotations.length !== oldSelectedAnnotations.length ||
332
+ // assuming annotations have unique id's for simplicity
333
+ newSelectedAnnotations.some(annotation => !oldSelectedAnnotations.find(pluginStateAnnotation => annotation.id === pluginStateAnnotation.id && annotation.type === pluginStateAnnotation.type));
324
334
  }
@@ -162,7 +162,7 @@ export function handlePasteNonNestableBlockNodesIntoList(slice) {
162
162
  let sliceContainsBlockNodesOtherThanThoseAllowedInListItem = false;
163
163
  slice.content.forEach(child => {
164
164
  var _listItem$spec$conten;
165
- if (child.isBlock && !((_listItem$spec$conten = listItem.spec.content) !== null && _listItem$spec$conten !== void 0 && _listItem$spec$conten.includes(child.type.name))) {
165
+ if (!listItem || child.isBlock && !((_listItem$spec$conten = listItem.spec.content) !== null && _listItem$spec$conten !== void 0 && _listItem$spec$conten.includes(child.type.name))) {
166
166
  sliceContainsBlockNodesOtherThanThoseAllowedInListItem = true;
167
167
  }
168
168
  });
@@ -377,7 +377,7 @@ export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, featureFl
377
377
  if (handlePastePanelOrDecisionIntoListWithAnalytics(editorAnalyticsAPI)(view, event, slice, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$l = pluginInjectionApi.list) === null || _pluginInjectionApi$l === void 0 ? void 0 : _pluginInjectionApi$l.actions.findRootParentListNode)(state, dispatch)) {
378
378
  return true;
379
379
  }
380
- if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists && handlePasteNonNestableBlockNodesIntoListWithAnalytics(editorAnalyticsAPI)(view, event, slice)(state, dispatch)) {
380
+ if (handlePasteNonNestableBlockNodesIntoListWithAnalytics(editorAnalyticsAPI)(view, event, slice)(state, dispatch)) {
381
381
  return true;
382
382
  }
383
383
  return handleRichTextWithAnalytics(view, event, slice, pluginInjectionApi)(state, dispatch);
@@ -82,9 +82,7 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
82
82
  return builder.add([plugin, props.allowTextColor]);
83
83
  }
84
84
  return builder;
85
- }).add([listPlugin, {
86
- restartNumberedLists: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.restartNumberedLists
87
- }]).maybeAdd(rulePlugin, (plugin, builder) => {
85
+ }).add(listPlugin).maybeAdd(rulePlugin, (plugin, builder) => {
88
86
  if (props.allowRule) {
89
87
  return builder.add(plugin);
90
88
  }
@@ -27,6 +27,7 @@ class Alignment extends PureComponent {
27
27
  intl
28
28
  } = this.props;
29
29
  return jsx("div", {
30
+ "data-testid": "alignment-buttons",
30
31
  css: alignmentWrapper,
31
32
  className: className
32
33
  }, alignmentOptions.map(alignment => {
@@ -1,2 +1,2 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "189.6.26";
2
+ export const version = "190.1.0";
@@ -25,7 +25,7 @@ function getSpellCheck(featureFlags) {
25
25
  * which is used by both current and archv3 editors.
26
26
  */
27
27
  export function createFeatureFlagsFromProps(props) {
28
- var _props$allowLayouts, _props$performanceTra, _props$allowExtension, _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$featureFlags4, _props$featureFlags5, _props$featureFlags6, _props$featureFlags7, _props$featureFlags8, _props$featureFlags9, _props$featureFlags10, _props$featureFlags11, _props$featureFlags12, _props$featureFlags13, _props$featureFlags14, _props$collabEdit, _props$collabEdit2, _props$featureFlags15;
28
+ var _props$allowLayouts, _props$performanceTra, _props$allowExtension, _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$featureFlags4, _props$featureFlags5, _props$featureFlags6, _props$featureFlags7, _props$featureFlags8, _props$featureFlags9, _props$featureFlags10, _props$featureFlags11, _props$featureFlags12, _props$featureFlags13, _props$featureFlags14, _props$collabEdit, _props$collabEdit2;
29
29
  var normalizedFeatureFlags = normalizeFeatureFlags(props.featureFlags);
30
30
  return _objectSpread(_objectSpread({}, normalizedFeatureFlags), {}, {
31
31
  newInsertionBehaviour: props.allowNewInsertionBehaviour,
@@ -46,9 +46,6 @@ export function createFeatureFlagsFromProps(props) {
46
46
  ufo: Boolean(typeof ((_props$featureFlags11 = props.featureFlags) === null || _props$featureFlags11 === void 0 ? void 0 : _props$featureFlags11.ufo) === 'boolean' ? !!((_props$featureFlags12 = props.featureFlags) !== null && _props$featureFlags12 !== void 0 && _props$featureFlags12.ufo) : false),
47
47
  twoLineEditorToolbar: Boolean(typeof ((_props$featureFlags13 = props.featureFlags) === null || _props$featureFlags13 === void 0 ? void 0 : _props$featureFlags13.twoLineEditorToolbar) === 'boolean' ? !!((_props$featureFlags14 = props.featureFlags) !== null && _props$featureFlags14 !== void 0 && _props$featureFlags14.twoLineEditorToolbar) : false),
48
48
  useNativeCollabPlugin: Boolean(typeof ((_props$collabEdit = props.collabEdit) === null || _props$collabEdit === void 0 ? void 0 : _props$collabEdit.useNativePlugin) === 'boolean' ? !!((_props$collabEdit2 = props.collabEdit) !== null && _props$collabEdit2 !== void 0 && _props$collabEdit2.useNativePlugin) : false),
49
- disableSpellcheckByBrowser: getSpellCheck(props.featureFlags),
50
- // Including fallback to props.featureFlags so that mobile feature flags
51
- // are included (they are not kebab cased)
52
- restartNumberedLists: normalizedFeatureFlags.restartNumberedLists === true || ((_props$featureFlags15 = props.featureFlags) === null || _props$featureFlags15 === void 0 ? void 0 : _props$featureFlags15.restartNumberedLists) === true
49
+ disableSpellcheckByBrowser: getSpellCheck(props.featureFlags)
53
50
  });
54
51
  }
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': '„isMultiple“ a „style: radio“ nelze kombinovat',
28
28
  'fabric.editor.configPanel.formType.addField': 'Přidat pole',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Odebrat pole',
30
+ 'fabric.editor.configPanel.help': 'Potřebujete pomoc?',
30
31
  'fabric.editor.configPanel.invalid': 'Neplatné pole',
31
32
  'fabric.editor.configPanel.required': 'Povinné pole',
32
33
  'fabric.editor.configPanel.submit': 'Odeslat',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kunne ikke kombinere isMultiple med stilen: alternativknap',
28
28
  'fabric.editor.configPanel.formType.addField': 'Tilføj felt',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Fjern felt',
30
+ 'fabric.editor.configPanel.help': 'Har du brug for hjælp?',
30
31
  'fabric.editor.configPanel.invalid': 'Ugyldigt felt',
31
32
  'fabric.editor.configPanel.required': 'Påkrævet felt',
32
33
  'fabric.editor.configPanel.submit': 'Send',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'isMultiple kann nicht mit Stil: radio kombiniert werden.',
28
28
  'fabric.editor.configPanel.formType.addField': 'Feld hinzufügen',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Feld entfernen',
30
+ 'fabric.editor.configPanel.help': 'Benötigen Sie Hilfe?',
30
31
  'fabric.editor.configPanel.invalid': 'Ungültiges Feld',
31
32
  'fabric.editor.configPanel.required': 'Pflichtfeld',
32
33
  'fabric.editor.configPanel.submit': 'Senden',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'No se puede combinar isMultiple con style: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Añadir campo',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Eliminar campo',
30
+ 'fabric.editor.configPanel.help': '¿Necesitas ayuda?',
30
31
  'fabric.editor.configPanel.invalid': 'Campo no válido',
31
32
  'fabric.editor.configPanel.required': 'Campo obligatorio',
32
33
  'fabric.editor.configPanel.submit': 'Enviar',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Ei voi yhdistää kohdetta isMultiple tyyliin: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Lisää kenttä',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Poista kenttä',
30
+ 'fabric.editor.configPanel.help': 'Tarvitsetko apua?',
30
31
  'fabric.editor.configPanel.invalid': 'Virheellinen kenttä',
31
32
  'fabric.editor.configPanel.required': 'Pakollinen kenttä',
32
33
  'fabric.editor.configPanel.submit': 'Lähetä',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Impossible de combiner isMultiple avec style: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Ajouter un champ',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Supprimer le champ',
30
+ 'fabric.editor.configPanel.help': "Besoin d'aide ?",
30
31
  'fabric.editor.configPanel.invalid': 'Champ non valide',
31
32
  'fabric.editor.configPanel.required': 'Champ obligatoire',
32
33
  'fabric.editor.configPanel.submit': 'Soumettre',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Az isMultiple nem kombinálható a „radio” stílussal',
28
28
  'fabric.editor.configPanel.formType.addField': 'Mező hozzáadása',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Mező eltávolítása',
30
+ 'fabric.editor.configPanel.help': 'Segítségre van szükséged?',
30
31
  'fabric.editor.configPanel.invalid': 'Érvénytelen mező',
31
32
  'fabric.editor.configPanel.required': 'Kötelező mező',
32
33
  'fabric.editor.configPanel.submit': 'Küldés',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Impossibile combinare isMultiple con style: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Aggiungi campo',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Rimuovi campo',
30
+ 'fabric.editor.configPanel.help': 'Serve aiuto?',
30
31
  'fabric.editor.configPanel.invalid': 'Campo non valido',
31
32
  'fabric.editor.configPanel.required': 'Campo obbligatorio',
32
33
  'fabric.editor.configPanel.submit': 'Invia',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'isMultiple과 스타일을 결합할 수 없음: 라디오',
28
28
  'fabric.editor.configPanel.formType.addField': '필드 추가',
29
29
  'fabric.editor.configPanel.formType.removeField': '필드 제거',
30
+ 'fabric.editor.configPanel.help': '도움이 필요하십니까?',
30
31
  'fabric.editor.configPanel.invalid': '유효하지 않은 필드',
31
32
  'fabric.editor.configPanel.required': '필수 필드',
32
33
  'fabric.editor.configPanel.submit': '제출',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kan ikke kombinere isMultiple med stil: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Legg til felt',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Fjern felt',
30
+ 'fabric.editor.configPanel.help': 'Trenger du hjelp?',
30
31
  'fabric.editor.configPanel.invalid': 'Ugyldig felt',
31
32
  'fabric.editor.configPanel.required': 'Obligatorisk felt',
32
33
  'fabric.editor.configPanel.submit': 'Send inn',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kan isMultiple niet combineren met stijl: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Veld toevoegen',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Veld verwijderen',
30
+ 'fabric.editor.configPanel.help': 'Hulp nodig?',
30
31
  'fabric.editor.configPanel.invalid': 'Ongeldig veld',
31
32
  'fabric.editor.configPanel.required': 'Verplicht veld',
32
33
  'fabric.editor.configPanel.submit': 'Verzenden',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Nie można połączyć isMultiple ze stylem: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Dodaj pole',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Usuń pole',
30
+ 'fabric.editor.configPanel.help': 'Potrzebujesz pomocy?',
30
31
  'fabric.editor.configPanel.invalid': 'Nieprawidłowe pole',
31
32
  'fabric.editor.configPanel.required': 'Pole wymagane',
32
33
  'fabric.editor.configPanel.submit': 'Wyślij',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Não é possível combinar isMultiple com estilo: rádio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Adicionar campo',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Remover campo',
30
+ 'fabric.editor.configPanel.help': 'Precisa de ajuda?',
30
31
  'fabric.editor.configPanel.invalid': 'Campo inválido',
31
32
  'fabric.editor.configPanel.required': 'Campo obrigatório',
32
33
  'fabric.editor.configPanel.submit': 'Enviar',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Невозможно использовать isMultiple с параметром style: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Добавить поле',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Удалить поле',
30
+ 'fabric.editor.configPanel.help': 'Нужна помощь?',
30
31
  'fabric.editor.configPanel.invalid': 'Недопустимое поле',
31
32
  'fabric.editor.configPanel.required': 'Обязательное поле',
32
33
  'fabric.editor.configPanel.submit': 'Отправить',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Kan inte kombinera isMultiple med stilen radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Lägg till fält',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Ta bort fält',
30
+ 'fabric.editor.configPanel.help': 'Behöver du hjälp?',
30
31
  'fabric.editor.configPanel.invalid': 'Ogiltigt fält',
31
32
  'fabric.editor.configPanel.required': 'Obligatoriskt fält',
32
33
  'fabric.editor.configPanel.submit': 'Skicka in',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'ไม่สามารถรวม isMultiple กับรูปแบบได้: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'เพิ่มฟิลด์',
29
29
  'fabric.editor.configPanel.formType.removeField': 'ลบฟิลด์ออก',
30
+ 'fabric.editor.configPanel.help': 'ต้องการความช่วยเหลือใช่ไหม',
30
31
  'fabric.editor.configPanel.invalid': 'ฟิลด์ไม่ถูกต้อง',
31
32
  'fabric.editor.configPanel.required': 'ช่องที่ต้องกรอก',
32
33
  'fabric.editor.configPanel.submit': 'ส่ง',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Stil radio olduğunda isMultiple kullanılamaz',
28
28
  'fabric.editor.configPanel.formType.addField': 'Alan ekle',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Alanı kaldır',
30
+ 'fabric.editor.configPanel.help': 'Yardıma mı ihtiyacınız var?',
30
31
  'fabric.editor.configPanel.invalid': 'Geçersiz alan',
31
32
  'fabric.editor.configPanel.required': 'Gerekli alan',
32
33
  'fabric.editor.configPanel.submit': 'Gönder',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': "Не можна поєднати об'єкт isMultiple зі стилем radio",
28
28
  'fabric.editor.configPanel.formType.addField': 'Додати поле',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Видалити поле',
30
+ 'fabric.editor.configPanel.help': 'Потрібна допомога?',
30
31
  'fabric.editor.configPanel.invalid': 'Недопустиме значення поля',
31
32
  'fabric.editor.configPanel.required': 'Обов’язкове поле',
32
33
  'fabric.editor.configPanel.submit': 'Надіслати',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': 'Không thể kết hợp isMultiple với kiểu: radio',
28
28
  'fabric.editor.configPanel.formType.addField': 'Thêm trường',
29
29
  'fabric.editor.configPanel.formType.removeField': 'Xóa trường',
30
+ 'fabric.editor.configPanel.help': 'Bạn cần được trợ giúp?',
30
31
  'fabric.editor.configPanel.invalid': 'Trường không hợp lệ',
31
32
  'fabric.editor.configPanel.required': 'Trường bắt buộc',
32
33
  'fabric.editor.configPanel.submit': 'Gửi',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': '无法组合 isMultiple 与样式:radio',
28
28
  'fabric.editor.configPanel.formType.addField': '添加字段',
29
29
  'fabric.editor.configPanel.formType.removeField': '删除字段',
30
+ 'fabric.editor.configPanel.help': '需要帮助?',
30
31
  'fabric.editor.configPanel.invalid': '无效字段',
31
32
  'fabric.editor.configPanel.required': '必填字段',
32
33
  'fabric.editor.configPanel.submit': '提交',
@@ -27,6 +27,7 @@ export default {
27
27
  'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio': '無法結合 isMultiple 與 radio 風格',
28
28
  'fabric.editor.configPanel.formType.addField': '新增欄位',
29
29
  'fabric.editor.configPanel.formType.removeField': '移除欄位',
30
+ 'fabric.editor.configPanel.help': '需要協助嗎?',
30
31
  'fabric.editor.configPanel.invalid': '無效欄位',
31
32
  'fabric.editor.configPanel.required': '必要欄位',
32
33
  'fabric.editor.configPanel.submit': '提交',
@@ -91,12 +91,6 @@ export var AlignmentToolbar = /*#__PURE__*/function (_React$Component) {
91
91
  boundariesElement: popupsBoundariesElement,
92
92
  scrollableElement: popupsScrollableElement,
93
93
  isOpen: isOpen,
94
- onOpenChange: function onOpenChange(_ref) {
95
- var isOpen = _ref.isOpen;
96
- _this2.setState({
97
- isOpen: isOpen
98
- });
99
- },
100
94
  handleClickOutside: function handleClickOutside(event) {
101
95
  if (event instanceof MouseEvent) {
102
96
  _this2.hide({