@atlaskit/editor-common 105.7.0 → 105.8.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 (176) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/afm-jira/tsconfig.json +3 -0
  3. package/dist/cjs/ai-messages/ai.js +5 -0
  4. package/dist/cjs/collab/index.js +4 -2
  5. package/dist/cjs/extensions/combine-extension-providers.js +57 -0
  6. package/dist/cjs/extensions/default-extension-provider.js +94 -33
  7. package/dist/cjs/extensions/extension-handlers.js +63 -29
  8. package/dist/cjs/i18n/cs.js +2 -0
  9. package/dist/cjs/i18n/da.js +2 -0
  10. package/dist/cjs/i18n/de.js +2 -0
  11. package/dist/cjs/i18n/en.js +2 -0
  12. package/dist/cjs/i18n/en_GB.js +2 -0
  13. package/dist/cjs/i18n/en_ZZ.js +2 -0
  14. package/dist/cjs/i18n/es.js +2 -0
  15. package/dist/cjs/i18n/fi.js +2 -0
  16. package/dist/cjs/i18n/fr.js +2 -0
  17. package/dist/cjs/i18n/hr.js +1 -1
  18. package/dist/cjs/i18n/hu.js +3 -0
  19. package/dist/cjs/i18n/it.js +2 -0
  20. package/dist/cjs/i18n/ja.js +6 -0
  21. package/dist/cjs/i18n/ko.js +6 -0
  22. package/dist/cjs/i18n/nb.js +6 -0
  23. package/dist/cjs/i18n/nl.js +2 -0
  24. package/dist/cjs/i18n/pl.js +2 -0
  25. package/dist/cjs/i18n/pt_BR.js +2 -0
  26. package/dist/cjs/i18n/ru.js +2 -0
  27. package/dist/cjs/i18n/sv.js +2 -0
  28. package/dist/cjs/i18n/th.js +2 -0
  29. package/dist/cjs/i18n/tr.js +2 -0
  30. package/dist/cjs/i18n/uk.js +2 -0
  31. package/dist/cjs/i18n/vi.js +2 -0
  32. package/dist/cjs/i18n/zh.js +2 -0
  33. package/dist/cjs/i18n/zh_TW.js +2 -0
  34. package/dist/cjs/monitoring/error.js +1 -1
  35. package/dist/cjs/styles/index.js +6 -0
  36. package/dist/cjs/styles/shared/resizer.js +56 -2
  37. package/dist/cjs/ui/DropList/index.js +1 -1
  38. package/dist/es2019/ai-messages/ai.js +5 -0
  39. package/dist/es2019/collab/index.js +45 -2
  40. package/dist/es2019/extensions/combine-extension-providers.js +23 -0
  41. package/dist/es2019/extensions/default-extension-provider.js +27 -1
  42. package/dist/es2019/extensions/extension-handlers.js +38 -4
  43. package/dist/es2019/i18n/cs.js +2 -0
  44. package/dist/es2019/i18n/da.js +2 -0
  45. package/dist/es2019/i18n/de.js +2 -0
  46. package/dist/es2019/i18n/en.js +2 -0
  47. package/dist/es2019/i18n/en_GB.js +2 -0
  48. package/dist/es2019/i18n/en_ZZ.js +2 -0
  49. package/dist/es2019/i18n/es.js +2 -0
  50. package/dist/es2019/i18n/fi.js +2 -0
  51. package/dist/es2019/i18n/fr.js +2 -0
  52. package/dist/es2019/i18n/hr.js +1 -1
  53. package/dist/es2019/i18n/hu.js +3 -0
  54. package/dist/es2019/i18n/it.js +2 -0
  55. package/dist/es2019/i18n/ja.js +6 -0
  56. package/dist/es2019/i18n/ko.js +6 -0
  57. package/dist/es2019/i18n/nb.js +6 -0
  58. package/dist/es2019/i18n/nl.js +2 -0
  59. package/dist/es2019/i18n/pl.js +2 -0
  60. package/dist/es2019/i18n/pt_BR.js +2 -0
  61. package/dist/es2019/i18n/ru.js +2 -0
  62. package/dist/es2019/i18n/sv.js +2 -0
  63. package/dist/es2019/i18n/th.js +2 -0
  64. package/dist/es2019/i18n/tr.js +2 -0
  65. package/dist/es2019/i18n/uk.js +2 -0
  66. package/dist/es2019/i18n/vi.js +2 -0
  67. package/dist/es2019/i18n/zh.js +2 -0
  68. package/dist/es2019/i18n/zh_TW.js +2 -0
  69. package/dist/es2019/monitoring/error.js +1 -1
  70. package/dist/es2019/styles/index.js +1 -1
  71. package/dist/es2019/styles/shared/resizer.js +55 -1
  72. package/dist/es2019/ui/DropList/index.js +1 -1
  73. package/dist/esm/ai-messages/ai.js +5 -0
  74. package/dist/esm/collab/index.js +3 -1
  75. package/dist/esm/extensions/combine-extension-providers.js +56 -0
  76. package/dist/esm/extensions/default-extension-provider.js +94 -33
  77. package/dist/esm/extensions/extension-handlers.js +62 -30
  78. package/dist/esm/i18n/cs.js +2 -0
  79. package/dist/esm/i18n/da.js +2 -0
  80. package/dist/esm/i18n/de.js +2 -0
  81. package/dist/esm/i18n/en.js +2 -0
  82. package/dist/esm/i18n/en_GB.js +2 -0
  83. package/dist/esm/i18n/en_ZZ.js +2 -0
  84. package/dist/esm/i18n/es.js +2 -0
  85. package/dist/esm/i18n/fi.js +2 -0
  86. package/dist/esm/i18n/fr.js +2 -0
  87. package/dist/esm/i18n/hr.js +1 -1
  88. package/dist/esm/i18n/hu.js +3 -0
  89. package/dist/esm/i18n/it.js +2 -0
  90. package/dist/esm/i18n/ja.js +6 -0
  91. package/dist/esm/i18n/ko.js +6 -0
  92. package/dist/esm/i18n/nb.js +6 -0
  93. package/dist/esm/i18n/nl.js +2 -0
  94. package/dist/esm/i18n/pl.js +2 -0
  95. package/dist/esm/i18n/pt_BR.js +2 -0
  96. package/dist/esm/i18n/ru.js +2 -0
  97. package/dist/esm/i18n/sv.js +2 -0
  98. package/dist/esm/i18n/th.js +2 -0
  99. package/dist/esm/i18n/tr.js +2 -0
  100. package/dist/esm/i18n/uk.js +2 -0
  101. package/dist/esm/i18n/vi.js +2 -0
  102. package/dist/esm/i18n/zh.js +2 -0
  103. package/dist/esm/i18n/zh_TW.js +2 -0
  104. package/dist/esm/monitoring/error.js +1 -1
  105. package/dist/esm/styles/index.js +1 -1
  106. package/dist/esm/styles/shared/resizer.js +55 -1
  107. package/dist/esm/ui/DropList/index.js +1 -1
  108. package/dist/types/ai-messages/ai.d.ts +5 -0
  109. package/dist/types/collab/index.d.ts +2 -0
  110. package/dist/types/extensions/default-extension-provider.d.ts +4 -0
  111. package/dist/types/extensions/extension-handlers.d.ts +3 -2
  112. package/dist/types/extensions/types/extension-manifest.d.ts +4 -0
  113. package/dist/types/extensions/types/extension-provider.d.ts +2 -0
  114. package/dist/types/extensions.d.ts +2 -1
  115. package/dist/types/i18n/cs.d.ts +2 -0
  116. package/dist/types/i18n/da.d.ts +2 -0
  117. package/dist/types/i18n/de.d.ts +2 -0
  118. package/dist/types/i18n/en.d.ts +2 -0
  119. package/dist/types/i18n/en_GB.d.ts +2 -0
  120. package/dist/types/i18n/en_ZZ.d.ts +2 -0
  121. package/dist/types/i18n/es.d.ts +2 -0
  122. package/dist/types/i18n/fi.d.ts +2 -0
  123. package/dist/types/i18n/fr.d.ts +2 -0
  124. package/dist/types/i18n/hu.d.ts +3 -0
  125. package/dist/types/i18n/it.d.ts +2 -0
  126. package/dist/types/i18n/ja.d.ts +6 -0
  127. package/dist/types/i18n/ko.d.ts +6 -0
  128. package/dist/types/i18n/nb.d.ts +6 -0
  129. package/dist/types/i18n/nl.d.ts +2 -0
  130. package/dist/types/i18n/pl.d.ts +2 -0
  131. package/dist/types/i18n/pt_BR.d.ts +2 -0
  132. package/dist/types/i18n/ru.d.ts +2 -0
  133. package/dist/types/i18n/sv.d.ts +2 -0
  134. package/dist/types/i18n/th.d.ts +2 -0
  135. package/dist/types/i18n/tr.d.ts +2 -0
  136. package/dist/types/i18n/uk.d.ts +2 -0
  137. package/dist/types/i18n/vi.d.ts +2 -0
  138. package/dist/types/i18n/zh.d.ts +2 -0
  139. package/dist/types/i18n/zh_TW.d.ts +2 -0
  140. package/dist/types/styles/index.d.ts +1 -1
  141. package/dist/types/styles/shared/resizer.d.ts +1 -0
  142. package/dist/types-ts4.5/ai-messages/ai.d.ts +5 -0
  143. package/dist/types-ts4.5/collab/index.d.ts +2 -0
  144. package/dist/types-ts4.5/extensions/default-extension-provider.d.ts +4 -0
  145. package/dist/types-ts4.5/extensions/extension-handlers.d.ts +3 -2
  146. package/dist/types-ts4.5/extensions/types/extension-manifest.d.ts +4 -0
  147. package/dist/types-ts4.5/extensions/types/extension-provider.d.ts +2 -0
  148. package/dist/types-ts4.5/extensions.d.ts +2 -1
  149. package/dist/types-ts4.5/i18n/cs.d.ts +2 -0
  150. package/dist/types-ts4.5/i18n/da.d.ts +2 -0
  151. package/dist/types-ts4.5/i18n/de.d.ts +2 -0
  152. package/dist/types-ts4.5/i18n/en.d.ts +2 -0
  153. package/dist/types-ts4.5/i18n/en_GB.d.ts +2 -0
  154. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +2 -0
  155. package/dist/types-ts4.5/i18n/es.d.ts +2 -0
  156. package/dist/types-ts4.5/i18n/fi.d.ts +2 -0
  157. package/dist/types-ts4.5/i18n/fr.d.ts +2 -0
  158. package/dist/types-ts4.5/i18n/hu.d.ts +3 -0
  159. package/dist/types-ts4.5/i18n/it.d.ts +2 -0
  160. package/dist/types-ts4.5/i18n/ja.d.ts +6 -0
  161. package/dist/types-ts4.5/i18n/ko.d.ts +6 -0
  162. package/dist/types-ts4.5/i18n/nb.d.ts +6 -0
  163. package/dist/types-ts4.5/i18n/nl.d.ts +2 -0
  164. package/dist/types-ts4.5/i18n/pl.d.ts +2 -0
  165. package/dist/types-ts4.5/i18n/pt_BR.d.ts +2 -0
  166. package/dist/types-ts4.5/i18n/ru.d.ts +2 -0
  167. package/dist/types-ts4.5/i18n/sv.d.ts +2 -0
  168. package/dist/types-ts4.5/i18n/th.d.ts +2 -0
  169. package/dist/types-ts4.5/i18n/tr.d.ts +2 -0
  170. package/dist/types-ts4.5/i18n/uk.d.ts +2 -0
  171. package/dist/types-ts4.5/i18n/vi.d.ts +2 -0
  172. package/dist/types-ts4.5/i18n/zh.d.ts +2 -0
  173. package/dist/types-ts4.5/i18n/zh_TW.d.ts +2 -0
  174. package/dist/types-ts4.5/styles/index.d.ts +1 -1
  175. package/dist/types-ts4.5/styles/shared/resizer.d.ts +1 -0
  176. package/package.json +7 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 105.8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#159107](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/159107)
8
+ [`d1effcf832537`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d1effcf832537) -
9
+ [EDITOR-786] Fixed placeholder text + added experimental tooltip + selection based opening the
10
+ - [#158624](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/158624)
11
+ [`8c86d5ce564ac`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8c86d5ce564ac) -
12
+ Allow extension provider and manifest node to be preloaded and called synchronously
13
+ - Updated dependencies
14
+
15
+ ## 105.8.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#157183](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/157183)
20
+ [`0e8b7956c0e3d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0e8b7956c0e3d) -
21
+ [ux] The telepointer pulse animation and a plugin action to access it have been added. This will
22
+ help users locate telepointers more easily on screen.
23
+
24
+ ### Patch Changes
25
+
26
+ - [#156743](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/156743)
27
+ [`170609348890d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/170609348890d) -
28
+ Add new breakout resizing experience under experiment platform_editor_breakout_resizing
29
+ - Updated dependencies
30
+
3
31
  ## 105.7.0
4
32
 
5
33
  ### Minor Changes
@@ -74,6 +74,9 @@
74
74
  {
75
75
  "path": "../../../design-system/icon-object/afm-jira/tsconfig.json"
76
76
  },
77
+ {
78
+ "path": "../../../design-system/link/afm-jira/tsconfig.json"
79
+ },
77
80
  {
78
81
  "path": "../../../linking-platform/link-datasource/afm-jira/tsconfig.json"
79
82
  },
@@ -43,6 +43,11 @@ var aiMessages = exports.aiMessages = (0, _reactIntlNext.defineMessages)({
43
43
  defaultMessage: 'Open Atlassian Intelligence',
44
44
  description: 'Tooltip text for an option to use Atlassian Intellgience'
45
45
  },
46
+ askAIToolbarIconTooltipQuickCommand: {
47
+ id: 'fabric.editor.ai.toolbar.tryAI.tooltip.quickCommand',
48
+ defaultMessage: "Ask AI {key}+'",
49
+ description: 'Tooltip text for an option to use Atlassian Intellgience with quick command'
50
+ },
46
51
  tryAIToolbarIconTitle: {
47
52
  id: 'fabric.editor.ai.toolbar.tryAI.title',
48
53
  defaultMessage: 'Try AI',
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.tintDirtyTransaction = exports.telepointerStyleWithInitialOnly = exports.telepointerStyle = exports.isDirtyTransaction = exports.TELEPOINTER_DIM_CLASS = exports.PROVIDER_ERROR_CODE = exports.DisconnectReason = void 0;
7
+ exports.tintDirtyTransaction = exports.telepointerStyleWithInitialOnly = exports.telepointerStyle = exports.isDirtyTransaction = exports.TELEPOINTER_PULSE_CLASS = exports.TELEPOINTER_DIM_CLASS = exports.TELEPOINTER_DATA_SESSION_ID_ATTR = exports.PROVIDER_ERROR_CODE = exports.DisconnectReason = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
@@ -133,6 +133,8 @@ var telepointerColorStyle = function telepointerColorStyle(backgroundColor, text
133
133
  return "\n &.color-".concat(index, " {\n background: ").concat(backgroundStyle, ";\n &::after {\n background-color: ").concat(backgroundColor, ";\n color: ").concat(textColor, ";\n border-color: ").concat(backgroundColor, ";\n }\n }\n ");
134
134
  };
135
135
  var TELEPOINTER_DIM_CLASS = exports.TELEPOINTER_DIM_CLASS = 'telepointer-dim';
136
+ var TELEPOINTER_PULSE_CLASS = exports.TELEPOINTER_PULSE_CLASS = 'telepointer-pulse-animate';
137
+ var TELEPOINTER_DATA_SESSION_ID_ATTR = exports.TELEPOINTER_DATA_SESSION_ID_ATTR = 'data-telepointer-sessionid';
136
138
 
137
139
  // ED-22557: Safely convert to object styling
138
140
  // Disable top: -14px since it is necessary to align to cursor
@@ -144,7 +146,7 @@ var telepointerStyleWithInitialOnly = exports.telepointerStyleWithInitialOnly =
144
146
  // ED-22557: Safely convert to object styling
145
147
  // Disable top: -14px since it is necessary to align to cursor
146
148
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
147
- var telepointerStyle = exports.telepointerStyle = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\t.ProseMirror .telepointer {\n\t\tposition: relative;\n\t\ttransition: opacity 200ms;\n\n\t\t&.telepointer-selection:not(.inlineNodeView) {\n\t\t\tline-height: 1.2;\n\t\t\tpointer-events: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&.telepointer-selection-badge {\n\t\t\t.telepointer-initial,\n\t\t\t.telepointer-fullname {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tuser-select: none;\n\t\t\t\twhite-space: pre;\n\t\t\t\ttop: -14px;\n\t\t\t\tleft: 0px;\n\t\t\t\tfont: ", ";\n\t\t\t\tpadding-left: ", ";\n\t\t\t\tpadding-right: ", ";\n\t\t\t\tcolor: ", ";\n\t\t\t\tborder-radius: 0 2px 2px 0;\n\t\t\t}\n\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 0.15s ease-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scaleX(0);\n\t\t\t\ttransform-origin: left;\n\t\t\t\ttransition:\n\t\t\t\t\ttransform 0.15s ease-out,\n\t\t\t\t\topacity 0.15s ease-out;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition-delay: 150ms;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\ttransform: scaleX(100%);\n\t\t\t\topacity: 1;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\topacity: 0.2;\n\t\t}\n\n\t\t", ";\n\t}\n"])), "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)", "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)", "var(--ds-text-inverse, #FFFFFF)", TELEPOINTER_DIM_CLASS, _editorSharedStyles.participantColors.map(function (participantColor, index) {
149
+ var telepointerStyle = exports.telepointerStyle = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n\t@keyframes pulseIn {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t\t13% {\n\t\t\ttransform: scaleX(1.4) scaleY(1.4);\n\t\t\topacity: 1;\n\t\t}\n\t\t20%,\n\t\t85% {\n\t\t\ttransform: scaleX(1) scaleY(1);\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t@keyframes pulseOut {\n\t\t0%,\n\t\t90%,\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t10%,\n\t\t80% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ProseMirror .telepointer {\n\t\tposition: relative;\n\t\ttransition: opacity 200ms;\n\n\t\t&.telepointer-selection:not(.inlineNodeView) {\n\t\t\tline-height: 1.2;\n\t\t\tpointer-events: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&.telepointer-selection-badge {\n\t\t\t.telepointer-initial,\n\t\t\t.telepointer-fullname {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tuser-select: none;\n\t\t\t\twhite-space: pre;\n\t\t\t\ttop: -14px;\n\t\t\t\tleft: 0px;\n\t\t\t\tfont: ", ";\n\t\t\t\tpadding-left: ", ";\n\t\t\t\tpadding-right: ", ";\n\t\t\t\tcolor: ", ";\n\t\t\t\tborder-radius: 0 2px 2px 0;\n\t\t\t}\n\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 0.15s ease-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scaleX(0);\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransition:\n\t\t\t\t\ttransform 0.15s ease-out,\n\t\t\t\t\topacity 0.15s ease-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOut 2s ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseIn 2s ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition-delay: 150ms;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\ttransform: scaleX(1);\n\t\t\t\topacity: 1;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\topacity: 0.2;\n\t\t}\n\n\t\t", ";\n\t}\n"])), "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)", "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)", "var(--ds-text-inverse, #FFFFFF)", TELEPOINTER_PULSE_CLASS, TELEPOINTER_DIM_CLASS, _editorSharedStyles.participantColors.map(function (participantColor, index) {
148
150
  return telepointerColorStyle(participantColor.backgroundColor, participantColor.textColor, index);
149
151
  }));
150
152
  var tintKey = 'collab:isDirtyTransaction';
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
10
  var _providerHelpers = require("../provider-helpers");
11
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
12
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
13
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
14
  /**
9
15
  * Allow to run methods from the `ExtensionProvider` interface across all providers seamlessly.
10
16
  * This handles promise racing and discards rejected promises safely.
11
17
  */
12
18
  var _default = exports.default = function _default(extensionProviders) {
19
+ var providersCache = [];
13
20
  var _combineProviders = (0, _providerHelpers.combineProviders)(extensionProviders),
14
21
  invokeSingle = _combineProviders.invokeSingle,
15
22
  invokeList = _combineProviders.invokeList;
@@ -17,6 +24,56 @@ var _default = exports.default = function _default(extensionProviders) {
17
24
  getExtensions: function getExtensions() {
18
25
  return invokeList('getExtensions');
19
26
  },
27
+ preload: function preload() {
28
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
29
+ return _regenerator.default.wrap(function _callee$(_context) {
30
+ while (1) switch (_context.prev = _context.next) {
31
+ case 0:
32
+ if (!(providersCache.length === 0)) {
33
+ _context.next = 4;
34
+ break;
35
+ }
36
+ _context.next = 3;
37
+ return Promise.all(extensionProviders.map(function (provider) {
38
+ return Promise.resolve(provider);
39
+ }));
40
+ case 3:
41
+ providersCache = _context.sent;
42
+ case 4:
43
+ _context.next = 6;
44
+ return Promise.all(providersCache.map(function (provider) {
45
+ var _provider$preload;
46
+ return provider === null || provider === void 0 || (_provider$preload = provider.preload) === null || _provider$preload === void 0 ? void 0 : _provider$preload.call(provider);
47
+ }));
48
+ case 6:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }, _callee);
53
+ }))();
54
+ },
55
+ getPreloadedExtension: function getPreloadedExtension(type, key) {
56
+ if (providersCache.length === 0) {
57
+ // preload() has not been called yet
58
+ return;
59
+ }
60
+ var _iterator = _createForOfIteratorHelper(providersCache),
61
+ _step;
62
+ try {
63
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
64
+ var _provider$getPreloade;
65
+ var provider = _step.value;
66
+ var result = provider === null || provider === void 0 || (_provider$getPreloade = provider.getPreloadedExtension) === null || _provider$getPreloade === void 0 ? void 0 : _provider$getPreloade.call(provider, type, key);
67
+ if (result) {
68
+ return result;
69
+ }
70
+ }
71
+ } catch (err) {
72
+ _iterator.e(err);
73
+ } finally {
74
+ _iterator.f();
75
+ }
76
+ },
20
77
  getExtension: function getExtension(type, key) {
21
78
  return invokeSingle('getExtension', [type, key]);
22
79
  },
@@ -9,7 +9,11 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
13
  var _moduleHelpers = require("./module-helpers");
14
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
15
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
17
  var DefaultExtensionProvider = exports.default = /*#__PURE__*/function () {
14
18
  function DefaultExtensionProvider(manifests,
15
19
  /**
@@ -20,6 +24,7 @@ var DefaultExtensionProvider = exports.default = /*#__PURE__*/function () {
20
24
  */
21
25
  autoConvertHandlers) {
22
26
  (0, _classCallCheck2.default)(this, DefaultExtensionProvider);
27
+ (0, _defineProperty2.default)(this, "manifestsCache", []);
23
28
  this.manifestsPromise = Promise.resolve(manifests);
24
29
  this.autoConvertHandlers = autoConvertHandlers;
25
30
  }
@@ -29,57 +34,113 @@ var DefaultExtensionProvider = exports.default = /*#__PURE__*/function () {
29
34
  return this.manifestsPromise;
30
35
  }
31
36
  }, {
32
- key: "getExtension",
37
+ key: "preload",
33
38
  value: function () {
34
- var _getExtension = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(type, key) {
35
- var extension;
39
+ var _preload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
40
+ var preloadCalls, _iterator, _step, _manifest$modules, manifest, nodes;
36
41
  return _regenerator.default.wrap(function _callee$(_context) {
37
42
  while (1) switch (_context.prev = _context.next) {
38
43
  case 0:
39
44
  _context.next = 2;
40
45
  return this.manifestsPromise;
41
46
  case 2:
42
- extension = _context.sent.find(function (manifest) {
43
- return manifest.type === type && manifest.key === key;
44
- });
45
- if (extension) {
46
- _context.next = 5;
47
- break;
47
+ this.manifestsCache = _context.sent;
48
+ preloadCalls = [];
49
+ _iterator = _createForOfIteratorHelper(this.manifestsCache);
50
+ try {
51
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
52
+ manifest = _step.value;
53
+ nodes = manifest === null || manifest === void 0 || (_manifest$modules = manifest.modules) === null || _manifest$modules === void 0 ? void 0 : _manifest$modules.nodes;
54
+ if (nodes) {
55
+ Object.values(nodes).forEach(function (node) {
56
+ var _preloadRender, _ref;
57
+ preloadCalls.push(node === null || node === void 0 || (_preloadRender = (_ref = node).preloadRender) === null || _preloadRender === void 0 ? void 0 : _preloadRender.call(_ref));
58
+ });
59
+ }
60
+ }
61
+ } catch (err) {
62
+ _iterator.e(err);
63
+ } finally {
64
+ _iterator.f();
48
65
  }
49
- throw new Error("Extension with type \"".concat(type, "\" and key \"").concat(key, "\" not found!"));
50
- case 5:
51
- return _context.abrupt("return", extension);
52
- case 6:
66
+ _context.next = 8;
67
+ return Promise.allSettled(preloadCalls);
68
+ case 8:
53
69
  case "end":
54
70
  return _context.stop();
55
71
  }
56
72
  }, _callee, this);
57
73
  }));
74
+ function preload() {
75
+ return _preload.apply(this, arguments);
76
+ }
77
+ return preload;
78
+ }()
79
+ }, {
80
+ key: "getPreloadedExtension",
81
+ value: function getPreloadedExtension(type, key) {
82
+ if (!this.manifestsCache) {
83
+ return;
84
+ }
85
+ return this.getExtensionFromManifest(this.manifestsCache, type, key);
86
+ }
87
+ }, {
88
+ key: "getExtension",
89
+ value: function () {
90
+ var _getExtension = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(type, key) {
91
+ return _regenerator.default.wrap(function _callee2$(_context2) {
92
+ while (1) switch (_context2.prev = _context2.next) {
93
+ case 0:
94
+ _context2.t0 = this;
95
+ _context2.next = 3;
96
+ return this.manifestsPromise;
97
+ case 3:
98
+ _context2.t1 = _context2.sent;
99
+ _context2.t2 = type;
100
+ _context2.t3 = key;
101
+ return _context2.abrupt("return", _context2.t0.getExtensionFromManifest.call(_context2.t0, _context2.t1, _context2.t2, _context2.t3));
102
+ case 7:
103
+ case "end":
104
+ return _context2.stop();
105
+ }
106
+ }, _callee2, this);
107
+ }));
58
108
  function getExtension(_x, _x2) {
59
109
  return _getExtension.apply(this, arguments);
60
110
  }
61
111
  return getExtension;
62
112
  }()
113
+ }, {
114
+ key: "getExtensionFromManifest",
115
+ value: function getExtensionFromManifest(manifests, type, key) {
116
+ var extension = manifests.find(function (manifest) {
117
+ return manifest.type === type && manifest.key === key;
118
+ });
119
+ if (!extension) {
120
+ throw new Error("Extension with type \"".concat(type, "\" and key \"").concat(key, "\" not found!"));
121
+ }
122
+ return extension;
123
+ }
63
124
  }, {
64
125
  key: "search",
65
126
  value: function () {
66
- var _search = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(keyword) {
127
+ var _search = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(keyword) {
67
128
  var extensions;
68
- return _regenerator.default.wrap(function _callee2$(_context2) {
69
- while (1) switch (_context2.prev = _context2.next) {
129
+ return _regenerator.default.wrap(function _callee3$(_context3) {
130
+ while (1) switch (_context3.prev = _context3.next) {
70
131
  case 0:
71
- _context2.next = 2;
132
+ _context3.next = 2;
72
133
  return this.manifestsPromise;
73
134
  case 2:
74
- extensions = _context2.sent.filter(function (manifest) {
135
+ extensions = _context3.sent.filter(function (manifest) {
75
136
  return manifest.title.toLowerCase().includes(keyword.toLowerCase());
76
137
  });
77
- return _context2.abrupt("return", extensions);
138
+ return _context3.abrupt("return", extensions);
78
139
  case 4:
79
140
  case "end":
80
- return _context2.stop();
141
+ return _context3.stop();
81
142
  }
82
- }, _callee2, this);
143
+ }, _callee3, this);
83
144
  }));
84
145
  function search(_x3) {
85
146
  return _search.apply(this, arguments);
@@ -89,29 +150,29 @@ var DefaultExtensionProvider = exports.default = /*#__PURE__*/function () {
89
150
  }, {
90
151
  key: "getAutoConverter",
91
152
  value: function () {
92
- var _getAutoConverter = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
153
+ var _getAutoConverter = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
93
154
  var autoConverters;
94
- return _regenerator.default.wrap(function _callee3$(_context3) {
95
- while (1) switch (_context3.prev = _context3.next) {
155
+ return _regenerator.default.wrap(function _callee4$(_context4) {
156
+ while (1) switch (_context4.prev = _context4.next) {
96
157
  case 0:
97
158
  if (!this.autoConvertHandlers) {
98
- _context3.next = 2;
159
+ _context4.next = 2;
99
160
  break;
100
161
  }
101
- return _context3.abrupt("return", this.autoConvertHandlers);
162
+ return _context4.abrupt("return", this.autoConvertHandlers);
102
163
  case 2:
103
- _context3.t0 = _moduleHelpers.getAutoConvertPatternsFromModule;
104
- _context3.next = 5;
164
+ _context4.t0 = _moduleHelpers.getAutoConvertPatternsFromModule;
165
+ _context4.next = 5;
105
166
  return this.manifestsPromise;
106
167
  case 5:
107
- _context3.t1 = _context3.sent;
108
- autoConverters = (0, _context3.t0)(_context3.t1);
109
- return _context3.abrupt("return", autoConverters);
168
+ _context4.t1 = _context4.sent;
169
+ autoConverters = (0, _context4.t0)(_context4.t1);
170
+ return _context4.abrupt("return", autoConverters);
110
171
  case 8:
111
172
  case "end":
112
- return _context3.stop();
173
+ return _context4.stop();
113
174
  }
114
- }, _callee3, this);
175
+ }, _callee4, this);
115
176
  }));
116
177
  function getAutoConverter() {
117
178
  return _getAutoConverter.apply(this, arguments);
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getExtensionModuleNode = getExtensionModuleNode;
8
+ exports.getExtensionModuleNodeMaybePreloaded = getExtensionModuleNodeMaybePreloaded;
8
9
  exports.getExtensionModuleNodePrivateProps = getExtensionModuleNodePrivateProps;
9
10
  exports.getNodeRenderer = getNodeRenderer;
10
11
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
@@ -12,45 +13,39 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
12
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14
  var _react = _interopRequireDefault(require("react"));
14
15
  var _reactLoadable = _interopRequireDefault(require("react-loadable"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
17
  var _manifestHelpers = require("./manifest-helpers");
18
+ function getNodeFromManifest(
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ manifest, extKey, nodeKey, extensionType, extensionKey) {
21
+ if (!manifest) {
22
+ throw new Error("Extension with key \"".concat(extKey, "\" and type \"").concat(extensionType, "\" not found!"));
23
+ }
24
+ if (!manifest.modules.nodes) {
25
+ throw new Error("Couldn't find any node for extension type \"".concat(extensionType, "\" and key \"").concat(extensionKey, "\"!"));
26
+ }
27
+ var node = manifest.modules.nodes[nodeKey];
28
+ if (!node) {
29
+ throw new Error("Node with key \"".concat(extensionKey, "\" not found on manifest for extension type \"").concat(extensionType, "\" and key \"").concat(extensionKey, "\"!"));
30
+ }
31
+ return node;
32
+ }
16
33
  function getExtensionModuleNode(_x, _x2, _x3) {
17
34
  return _getExtensionModuleNode.apply(this, arguments);
18
35
  }
19
- /**
20
- * Gets `__` prefixed properties from an extension node module definition
21
- */
22
36
  function _getExtensionModuleNode() {
23
37
  _getExtensionModuleNode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(extensionProvider, extensionType, extensionKey) {
24
- var _getExtensionKeyAndNo, _getExtensionKeyAndNo2, extKey, nodeKey, manifest, node;
38
+ var _getExtensionKeyAndNo3, _getExtensionKeyAndNo4, extKey, nodeKey, manifest;
25
39
  return _regenerator.default.wrap(function _callee$(_context) {
26
40
  while (1) switch (_context.prev = _context.next) {
27
41
  case 0:
28
- _getExtensionKeyAndNo = (0, _manifestHelpers.getExtensionKeyAndNodeKey)(extensionKey, extensionType), _getExtensionKeyAndNo2 = (0, _slicedToArray2.default)(_getExtensionKeyAndNo, 2), extKey = _getExtensionKeyAndNo2[0], nodeKey = _getExtensionKeyAndNo2[1];
42
+ _getExtensionKeyAndNo3 = (0, _manifestHelpers.getExtensionKeyAndNodeKey)(extensionKey, extensionType), _getExtensionKeyAndNo4 = (0, _slicedToArray2.default)(_getExtensionKeyAndNo3, 2), extKey = _getExtensionKeyAndNo4[0], nodeKey = _getExtensionKeyAndNo4[1];
29
43
  _context.next = 3;
30
44
  return extensionProvider.getExtension(extensionType, extKey);
31
45
  case 3:
32
46
  manifest = _context.sent;
33
- if (manifest) {
34
- _context.next = 6;
35
- break;
36
- }
37
- throw new Error("Extension with key \"".concat(extKey, "\" and type \"").concat(extensionType, "\" not found!"));
38
- case 6:
39
- if (manifest.modules.nodes) {
40
- _context.next = 8;
41
- break;
42
- }
43
- throw new Error("Couldn't find any node for extension type \"".concat(extensionType, "\" and key \"").concat(extensionKey, "\"!"));
44
- case 8:
45
- node = manifest.modules.nodes[nodeKey];
46
- if (node) {
47
- _context.next = 11;
48
- break;
49
- }
50
- throw new Error("Node with key \"".concat(extensionKey, "\" not found on manifest for extension type \"").concat(extensionType, "\" and key \"").concat(extensionKey, "\"!"));
51
- case 11:
52
- return _context.abrupt("return", node);
53
- case 12:
47
+ return _context.abrupt("return", getNodeFromManifest(manifest, extKey, nodeKey, extensionType, extensionKey));
48
+ case 5:
54
49
  case "end":
55
50
  return _context.stop();
56
51
  }
@@ -58,6 +53,27 @@ function _getExtensionModuleNode() {
58
53
  }));
59
54
  return _getExtensionModuleNode.apply(this, arguments);
60
55
  }
56
+ function getExtensionModuleNodeMaybePreloaded(extensionProvider, extensionType, extensionKey
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ ) {
59
+ var _extensionProvider$ge;
60
+ var _getExtensionKeyAndNo = (0, _manifestHelpers.getExtensionKeyAndNodeKey)(extensionKey, extensionType),
61
+ _getExtensionKeyAndNo2 = (0, _slicedToArray2.default)(_getExtensionKeyAndNo, 2),
62
+ extKey = _getExtensionKeyAndNo2[0],
63
+ nodeKey = _getExtensionKeyAndNo2[1];
64
+ var manifest = extensionProvider === null || extensionProvider === void 0 || (_extensionProvider$ge = extensionProvider.getPreloadedExtension) === null || _extensionProvider$ge === void 0 ? void 0 : _extensionProvider$ge.call(extensionProvider, extensionType, extKey);
65
+ if (manifest) {
66
+ return getNodeFromManifest(manifest, extKey, nodeKey, extensionType, extensionKey);
67
+ } else {
68
+ return extensionProvider.getExtension(extensionType, extKey).then(function (manifest) {
69
+ return getNodeFromManifest(manifest, extKey, nodeKey, extensionType, extensionKey);
70
+ });
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Gets `__` prefixed properties from an extension node module definition
76
+ */
61
77
  function getExtensionModuleNodePrivateProps(_x4, _x5, _x6) {
62
78
  return _getExtensionModuleNodePrivateProps.apply(this, arguments);
63
79
  }
@@ -99,9 +115,27 @@ function ExtensionLoading(props) {
99
115
  function getNodeRenderer(extensionProvider, extensionType, extensionKey) {
100
116
  return (0, _reactLoadable.default)({
101
117
  loader: function loader() {
102
- return getExtensionModuleNode(extensionProvider, extensionType, extensionKey).then(function (node) {
103
- return (0, _manifestHelpers.resolveImport)(node.render());
104
- });
118
+ if ((0, _platformFeatureFlags.fg)('confluence_preload_extension_providers')) {
119
+ // Logic here is specific to Confluence because it doesn't use the original react-loadable.
120
+ // The library is replaced with a custom one that supports synchronous return value from loader.
121
+ var maybePromise = getExtensionModuleNodeMaybePreloaded(extensionProvider, extensionType, extensionKey);
122
+ if (maybePromise instanceof Promise) {
123
+ return maybePromise.then(function (node) {
124
+ return (0, _manifestHelpers.resolveImport)(node.render());
125
+ });
126
+ } else {
127
+ var _renderSync, _ref;
128
+ // maybePromise is sync here
129
+ var preloaded = maybePromise === null || maybePromise === void 0 || (_renderSync = (_ref = maybePromise).renderSync) === null || _renderSync === void 0 ? void 0 : _renderSync.call(_ref);
130
+ // Note resolveImport is still async but we are not waiting on a already-fulfilled value.
131
+ // It is fast enough to not flip back to loading.
132
+ return (0, _manifestHelpers.resolveImport)(preloaded ? preloaded : maybePromise.render());
133
+ }
134
+ } else {
135
+ return getExtensionModuleNode(extensionProvider, extensionType, extensionKey).then(function (node) {
136
+ return (0, _manifestHelpers.resolveImport)(node.render());
137
+ });
138
+ }
105
139
  },
106
140
  loading: ExtensionLoading
107
141
  });
@@ -190,6 +190,7 @@ var _default = exports.default = {
190
190
  'fabric.editor.ai.experience.elevateDisabledGenetateError': 'Samočinné generování je v Elevate momentálně zakázáno.',
191
191
  'fabric.editor.ai.experience.engagementBannerLinksText': '🚀 Nyní můžete do výzev vkládat odkazy 🔗 na obsah Jira a Confluence.',
192
192
  'fabric.editor.ai.experience.footerRightText.agents': 'Využívá technologii Rovo',
193
+ 'fabric.editor.ai.experience.generatingAiResponse': 'Generuje se',
193
194
  'fabric.editor.ai.experience.hipaaContentError': 'Atlassian Intelligence nedokázala zpracovat vaši žádost, protože váš obsah obsahuje odkazy na obsah omezený HIPAA. Odeberte tyto odkazy a zkuste to znovu.',
194
195
  'fabric.editor.ai.experience.inputTooShortError': 'Obsah je pro souhrn příliš krátký. Přidejte další a zkuste to znovu.',
195
196
  'fabric.editor.ai.experience.internalServerError': 'Atlassian Intelligence (AI) neodpovídá. Zkuste to znovu později nebo <link>zkontrolujte stav AI</link>.',
@@ -596,6 +597,7 @@ var _default = exports.default = {
596
597
  'fabric.editor.offlineErrorFallbackDescription': 'Zkuste stránku načíst znovu.',
597
598
  'fabric.editor.offlineErrorFallbackHeading': 'Něco se pokazilo',
598
599
  'fabric.editor.on': '{formattingType} zapnuto',
600
+ 'fabric.editor.openButtonTitle': 'Otevřený',
599
601
  'fabric.editor.openCellOptions': 'Otevřít možnosti buňky',
600
602
  'fabric.editor.openLink': 'Otevřít odkaz na nové kartě',
601
603
  'fabric.editor.orderedList': 'Číslovaný seznam',
@@ -189,6 +189,7 @@ var _default = exports.default = {
189
189
  'fabric.editor.ai.experience.elevateDisabledGenetateError': 'Fri generering er deaktiveret i Elevate i øjeblikket.',
190
190
  'fabric.editor.ai.experience.engagementBannerLinksText': '🚀 Nu kan du indsætte links 🔗 til Jira- og Confluence-indhold i dine prompter.',
191
191
  'fabric.editor.ai.experience.footerRightText.agents': 'Drevet af Rovo',
192
+ 'fabric.editor.ai.experience.generatingAiResponse': 'Genererer',
192
193
  'fabric.editor.ai.experience.hipaaContentError': 'Atlassian Intelligence kunne ikke behandle din anmodning, da dit indhold indeholder links til HIPAA-begrænset indhold. Fjern disse links, og prøv igen.',
193
194
  'fabric.editor.ai.experience.inputTooShortError': 'Indholdet er for kort til at opsummere. Tilføj mere, og prøv igen.',
194
195
  'fabric.editor.ai.experience.internalServerError': 'Atlassian Intelligence (AI) svarer ikke. Prøv igen senere, eller <link>kontrollér status for AI</link>.',
@@ -595,6 +596,7 @@ var _default = exports.default = {
595
596
  'fabric.editor.offlineErrorFallbackDescription': 'Prøv at genindlæse siden.',
596
597
  'fabric.editor.offlineErrorFallbackHeading': 'Noget gik galt!',
597
598
  'fabric.editor.on': '{formattingType} til',
599
+ 'fabric.editor.openButtonTitle': 'Åbn',
598
600
  'fabric.editor.openCellOptions': 'Åbn celleegenskaber',
599
601
  'fabric.editor.openLink': 'Åbn link i en nye fane',
600
602
  'fabric.editor.orderedList': 'Nummereret liste',
@@ -189,6 +189,7 @@ var _default = exports.default = {
189
189
  'fabric.editor.ai.experience.elevateDisabledGenetateError': 'Aktuell ist die freie Erstellung von Aufforderungen in Elevate deaktiviert.',
190
190
  'fabric.editor.ai.experience.engagementBannerLinksText': '🚀 Sie können in Ihren Prompts jetzt Links 🔗 in Jira- oder Confluence-Inhalte einfügen.',
191
191
  'fabric.editor.ai.experience.footerRightText.agents': 'Bereitgestellt von Rovo',
192
+ 'fabric.editor.ai.experience.generatingAiResponse': 'Wird erstellt',
192
193
  'fabric.editor.ai.experience.hipaaContentError': 'Atlassian Intelligence konnte Ihre Anfrage nicht bearbeiten, da sie Links zu HIPAA-beschränkten Inhalten enthält. Bitte entfernen Sie diese Links und versuchen Sie es erneut.',
193
194
  'fabric.editor.ai.experience.inputTooShortError': 'Der Inhalt ist zu kurz, um ihn zusammenzufassen. Bitte fügen Sie mehr Inhalt hinzu und versuchen Sie es erneut.',
194
195
  'fabric.editor.ai.experience.internalServerError': 'Atlassian Intelligence (AI) reagiert nicht. Versuchen Sie es später erneut oder <link>überprüfen Sie den Status von AI</link>.',
@@ -595,6 +596,7 @@ var _default = exports.default = {
595
596
  'fabric.editor.offlineErrorFallbackDescription': 'Versuchen Sie, die Seite neu zu laden.',
596
597
  'fabric.editor.offlineErrorFallbackHeading': 'Etwas ist schiefgelaufen!',
597
598
  'fabric.editor.on': '{formattingType} ein',
599
+ 'fabric.editor.openButtonTitle': 'Öffnen',
598
600
  'fabric.editor.openCellOptions': 'Zellenoptionen öffnen',
599
601
  'fabric.editor.openLink': 'Link in neuer Registerkarte öffnen',
600
602
  'fabric.editor.orderedList': 'Nummerierte Liste',
@@ -198,6 +198,7 @@ var _default = exports.default = {
198
198
  'fabric.editor.ai.experience.elevateDisabledGenetateError': 'Free generate is disabled in Elevate at this time.',
199
199
  'fabric.editor.ai.experience.engagementBannerLinksText': '🚀 You can now paste links 🔗 to Jira and Confluence content in your prompts.',
200
200
  'fabric.editor.ai.experience.footerRightText.agents': 'Powered by Rovo',
201
+ 'fabric.editor.ai.experience.generatingAiResponse': 'Generating',
201
202
  'fabric.editor.ai.experience.hipaaContentError': 'Atlassian Intelligence was unable to process your request as your content contains links to HIPAA restricted content. Please remove these links and try again.',
202
203
  'fabric.editor.ai.experience.inputTooShortError': 'The content is too short to summarize. Please add more and try again.',
203
204
  'fabric.editor.ai.experience.internalServerError': 'Atlassian Intelligence (AI) isn’t responding. Try again later or <link>check the status of AI</link>.',
@@ -677,6 +678,7 @@ var _default = exports.default = {
677
678
  'fabric.editor.offlineErrorFallbackDescription': 'Try reloading the page.',
678
679
  'fabric.editor.offlineErrorFallbackHeading': 'Something went wrong!',
679
680
  'fabric.editor.on': '{formattingType} On',
681
+ 'fabric.editor.openButtonTitle': 'Open',
680
682
  'fabric.editor.openCellOptions': 'Open cell options',
681
683
  'fabric.editor.openLink': 'Open link in a new tab',
682
684
  'fabric.editor.orderedList': 'Numbered list',
@@ -198,6 +198,7 @@ var _default = exports.default = {
198
198
  'fabric.editor.ai.experience.elevateDisabledGenetateError': 'Free generate is disabled in Elevate at this time.',
199
199
  'fabric.editor.ai.experience.engagementBannerLinksText': '🚀 You can now paste links 🔗 to Jira and Confluence content in your prompts.',
200
200
  'fabric.editor.ai.experience.footerRightText.agents': 'Powered by Rovo',
201
+ 'fabric.editor.ai.experience.generatingAiResponse': 'Generating',
201
202
  'fabric.editor.ai.experience.hipaaContentError': 'Atlassian Intelligence was unable to process your request as your content contains links to HIPAA restricted content. Please remove these links and try again.',
202
203
  'fabric.editor.ai.experience.inputTooShortError': 'The content is too short to summarise. Please add more and try again.',
203
204
  'fabric.editor.ai.experience.internalServerError': 'Atlassian Intelligence (AI) isn’t responding. Try again later or <link>check the status of AI</link>.',
@@ -677,6 +678,7 @@ var _default = exports.default = {
677
678
  'fabric.editor.offlineErrorFallbackDescription': 'Try reloading the page.',
678
679
  'fabric.editor.offlineErrorFallbackHeading': 'Something went wrong!',
679
680
  'fabric.editor.on': '{formattingType} On',
681
+ 'fabric.editor.openButtonTitle': 'Open',
680
682
  'fabric.editor.openCellOptions': 'Open cell options',
681
683
  'fabric.editor.openLink': 'Open link in a new tab',
682
684
  'fabric.editor.orderedList': 'Numbered list',
@@ -198,6 +198,7 @@ var _default = exports.default = {
198
198
  'fabric.editor.ai.experience.elevateDisabledGenetateError': '⁣⁢Free generate is disabled in Elevate at this time.⁠؜‍‍‍‍⁡⁣⁤',
199
199
  'fabric.editor.ai.experience.engagementBannerLinksText': '⁣⁢🚀 You can now paste links 🔗 to Jira and Confluence content in your prompts.؜‌⁡‍⁠؜؜⁠؜⁡؜⁡؜⁣⁤',
200
200
  'fabric.editor.ai.experience.footerRightText.agents': '⁣⁢Powered by Rovo‍‌‍⁠‌⁡؜؜⁣⁤',
201
+ 'fabric.editor.ai.experience.generatingAiResponse': '⁣⁢Generating‌⁡‌⁡‍؜؜‍⁡؜⁠؜⁡⁣⁤',
201
202
  'fabric.editor.ai.experience.hipaaContentError': '⁣⁢Atlassian Intelligence was unable to process your request as your content contains links to HIPAA restricted content. Please remove these links and try again.‌؜⁠‍⁡⁣⁤',
202
203
  'fabric.editor.ai.experience.inputTooShortError': '⁣⁢The content is too short to summarize. Please add more and try again.⁡‌⁡؜⁡‌⁡‌‌؜⁣⁤',
203
204
  'fabric.editor.ai.experience.internalServerError': '⁣⁢Atlassian Intelligence (AI) isn’t responding. Try again later or <link>check the status of AI</link>.؜‍‌⁡⁠⁠‍‍‌⁡⁣⁤',
@@ -677,6 +678,7 @@ var _default = exports.default = {
677
678
  'fabric.editor.offlineErrorFallbackDescription': '⁣⁢Try reloading the page.⁡⁡‍‌‍‌؜‌⁡‌؜⁠⁡؜⁣⁤',
678
679
  'fabric.editor.offlineErrorFallbackHeading': '⁣⁢Something went wrong!‍⁠‌‌؜‌⁡⁣⁤',
679
680
  'fabric.editor.on': '⁣⁢{formattingType} On⁠‌‌⁡‍‍⁡؜⁠⁣⁤',
681
+ 'fabric.editor.openButtonTitle': '⁣⁢Open⁡‌⁠‌‌‍‌؜‌⁣⁤',
680
682
  'fabric.editor.openCellOptions': '⁣⁢Open cell options؜‌‍‌⁡⁠‍⁠⁣⁤',
681
683
  'fabric.editor.openLink': '⁣⁢Open link in a new tab⁠⁡⁡‌‍‌⁠‌‌⁡⁡⁣⁤',
682
684
  'fabric.editor.orderedList': '⁣⁢Numbered list‍⁡؜؜⁡؜⁡‍؜⁣⁤',
@@ -190,6 +190,7 @@ var _default = exports.default = {
190
190
  'fabric.editor.ai.experience.elevateDisabledGenetateError': 'La generación libre está desactivada en Elevate en este momento.',
191
191
  'fabric.editor.ai.experience.engagementBannerLinksText': '🚀 Ahora puedes pegar los enlaces 🔗 al contenido de Jira y Confluence en tus indicaciones.',
192
192
  'fabric.editor.ai.experience.footerRightText.agents': 'Con tecnología de Rovo',
193
+ 'fabric.editor.ai.experience.generatingAiResponse': 'Generando',
193
194
  'fabric.editor.ai.experience.hipaaContentError': 'Atlassian Intelligence no ha podido procesar tu solicitud porque tu contenido contiene enlaces a contenido restringido por la HIPAA. Elimina estos enlaces e inténtalo de nuevo.',
194
195
  'fabric.editor.ai.experience.inputTooShortError': 'El contenido es demasiado corto para resumirlo. Añade más y vuelve a intentarlo.',
195
196
  'fabric.editor.ai.experience.internalServerError': 'Atlassian Intelligence (AI) no responde. Inténtalo de nuevo más tarde o <link>consulta el estado de AI</link>.',
@@ -596,6 +597,7 @@ var _default = exports.default = {
596
597
  'fabric.editor.offlineErrorFallbackDescription': 'Prueba volviendo a cargar la página.',
597
598
  'fabric.editor.offlineErrorFallbackHeading': 'Algo ha ido mal.',
598
599
  'fabric.editor.on': '{formattingType} activado',
600
+ 'fabric.editor.openButtonTitle': 'Abrir',
599
601
  'fabric.editor.openCellOptions': 'Abrir opciones de celda',
600
602
  'fabric.editor.openLink': 'Abrir el enlace en otra pestaña',
601
603
  'fabric.editor.orderedList': 'Lista numerada',