@atlaskit/editor-common 77.0.6 → 77.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 (162) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/extensibility/MultiBodiedExtension/action-api.js +131 -0
  3. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +62 -150
  4. package/dist/cjs/extensibility/MultiBodiedExtension/styles.js +19 -0
  5. package/dist/cjs/extensibility/MultiBodiedExtension/utils.js +26 -0
  6. package/dist/cjs/i18n/cs.js +0 -3
  7. package/dist/cjs/i18n/da.js +24 -4
  8. package/dist/cjs/i18n/de.js +0 -3
  9. package/dist/cjs/i18n/en.js +23 -5
  10. package/dist/cjs/i18n/en_GB.js +24 -6
  11. package/dist/cjs/i18n/en_ZZ.js +24 -6
  12. package/dist/cjs/i18n/es.js +24 -4
  13. package/dist/cjs/i18n/fi.js +23 -4
  14. package/dist/cjs/i18n/fr.js +24 -4
  15. package/dist/cjs/i18n/hu.js +24 -4
  16. package/dist/cjs/i18n/it.js +24 -4
  17. package/dist/cjs/i18n/ja.js +25 -2
  18. package/dist/cjs/i18n/ko.js +24 -4
  19. package/dist/cjs/i18n/nb.js +24 -2
  20. package/dist/cjs/i18n/nl.js +24 -4
  21. package/dist/cjs/i18n/pl.js +23 -4
  22. package/dist/cjs/i18n/pt_BR.js +22 -4
  23. package/dist/cjs/i18n/ru.js +22 -4
  24. package/dist/cjs/i18n/sv.js +24 -4
  25. package/dist/cjs/i18n/th.js +24 -4
  26. package/dist/cjs/i18n/tr.js +22 -4
  27. package/dist/cjs/i18n/uk.js +25 -5
  28. package/dist/cjs/i18n/vi.js +24 -4
  29. package/dist/cjs/i18n/zh.js +23 -5
  30. package/dist/cjs/i18n/zh_TW.js +24 -4
  31. package/dist/cjs/keymaps/index.js +1 -1
  32. package/dist/cjs/monitoring/error.js +1 -1
  33. package/dist/cjs/ui/DropList/index.js +1 -1
  34. package/dist/es2019/extensibility/MultiBodiedExtension/action-api.js +134 -0
  35. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +55 -161
  36. package/dist/es2019/extensibility/MultiBodiedExtension/styles.js +81 -0
  37. package/dist/es2019/extensibility/MultiBodiedExtension/utils.js +20 -0
  38. package/dist/es2019/i18n/cs.js +0 -3
  39. package/dist/es2019/i18n/da.js +24 -4
  40. package/dist/es2019/i18n/de.js +0 -3
  41. package/dist/es2019/i18n/en.js +23 -5
  42. package/dist/es2019/i18n/en_GB.js +24 -6
  43. package/dist/es2019/i18n/en_ZZ.js +24 -6
  44. package/dist/es2019/i18n/es.js +24 -4
  45. package/dist/es2019/i18n/fi.js +23 -4
  46. package/dist/es2019/i18n/fr.js +24 -4
  47. package/dist/es2019/i18n/hu.js +24 -4
  48. package/dist/es2019/i18n/it.js +24 -4
  49. package/dist/es2019/i18n/ja.js +25 -2
  50. package/dist/es2019/i18n/ko.js +24 -4
  51. package/dist/es2019/i18n/nb.js +24 -2
  52. package/dist/es2019/i18n/nl.js +24 -4
  53. package/dist/es2019/i18n/pl.js +23 -4
  54. package/dist/es2019/i18n/pt_BR.js +22 -4
  55. package/dist/es2019/i18n/ru.js +22 -4
  56. package/dist/es2019/i18n/sv.js +24 -4
  57. package/dist/es2019/i18n/th.js +24 -4
  58. package/dist/es2019/i18n/tr.js +22 -4
  59. package/dist/es2019/i18n/uk.js +25 -5
  60. package/dist/es2019/i18n/vi.js +24 -4
  61. package/dist/es2019/i18n/zh.js +23 -5
  62. package/dist/es2019/i18n/zh_TW.js +24 -4
  63. package/dist/es2019/keymaps/index.js +1 -1
  64. package/dist/es2019/monitoring/error.js +1 -1
  65. package/dist/es2019/ui/DropList/index.js +1 -1
  66. package/dist/esm/extensibility/MultiBodiedExtension/action-api.js +124 -0
  67. package/dist/esm/extensibility/MultiBodiedExtension/index.js +61 -150
  68. package/dist/esm/extensibility/MultiBodiedExtension/styles.js +13 -0
  69. package/dist/esm/extensibility/MultiBodiedExtension/utils.js +20 -0
  70. package/dist/esm/i18n/cs.js +0 -3
  71. package/dist/esm/i18n/da.js +24 -4
  72. package/dist/esm/i18n/de.js +0 -3
  73. package/dist/esm/i18n/en.js +23 -5
  74. package/dist/esm/i18n/en_GB.js +24 -6
  75. package/dist/esm/i18n/en_ZZ.js +24 -6
  76. package/dist/esm/i18n/es.js +24 -4
  77. package/dist/esm/i18n/fi.js +23 -4
  78. package/dist/esm/i18n/fr.js +24 -4
  79. package/dist/esm/i18n/hu.js +24 -4
  80. package/dist/esm/i18n/it.js +24 -4
  81. package/dist/esm/i18n/ja.js +25 -2
  82. package/dist/esm/i18n/ko.js +24 -4
  83. package/dist/esm/i18n/nb.js +24 -2
  84. package/dist/esm/i18n/nl.js +24 -4
  85. package/dist/esm/i18n/pl.js +23 -4
  86. package/dist/esm/i18n/pt_BR.js +22 -4
  87. package/dist/esm/i18n/ru.js +22 -4
  88. package/dist/esm/i18n/sv.js +24 -4
  89. package/dist/esm/i18n/th.js +24 -4
  90. package/dist/esm/i18n/tr.js +22 -4
  91. package/dist/esm/i18n/uk.js +25 -5
  92. package/dist/esm/i18n/vi.js +24 -4
  93. package/dist/esm/i18n/zh.js +23 -5
  94. package/dist/esm/i18n/zh_TW.js +24 -4
  95. package/dist/esm/keymaps/index.js +1 -1
  96. package/dist/esm/monitoring/error.js +1 -1
  97. package/dist/esm/ui/DropList/index.js +1 -1
  98. package/dist/types/card/cardOptions.d.ts +7 -0
  99. package/dist/types/extensibility/MultiBodiedExtension/action-api.d.ts +13 -0
  100. package/dist/types/extensibility/MultiBodiedExtension/styles.d.ts +4 -0
  101. package/dist/types/extensibility/MultiBodiedExtension/utils.d.ts +6 -0
  102. package/dist/types/i18n/cs.d.ts +0 -3
  103. package/dist/types/i18n/da.d.ts +23 -3
  104. package/dist/types/i18n/de.d.ts +0 -3
  105. package/dist/types/i18n/en.d.ts +20 -2
  106. package/dist/types/i18n/en_GB.d.ts +20 -2
  107. package/dist/types/i18n/en_ZZ.d.ts +20 -2
  108. package/dist/types/i18n/es.d.ts +23 -3
  109. package/dist/types/i18n/fi.d.ts +22 -3
  110. package/dist/types/i18n/fr.d.ts +23 -3
  111. package/dist/types/i18n/hu.d.ts +23 -3
  112. package/dist/types/i18n/it.d.ts +23 -3
  113. package/dist/types/i18n/ja.d.ts +24 -1
  114. package/dist/types/i18n/ko.d.ts +23 -3
  115. package/dist/types/i18n/nb.d.ts +23 -1
  116. package/dist/types/i18n/nl.d.ts +23 -3
  117. package/dist/types/i18n/pl.d.ts +22 -3
  118. package/dist/types/i18n/pt_BR.d.ts +21 -3
  119. package/dist/types/i18n/ru.d.ts +21 -3
  120. package/dist/types/i18n/sv.d.ts +23 -3
  121. package/dist/types/i18n/th.d.ts +23 -3
  122. package/dist/types/i18n/tr.d.ts +21 -3
  123. package/dist/types/i18n/uk.d.ts +23 -3
  124. package/dist/types/i18n/vi.d.ts +23 -3
  125. package/dist/types/i18n/zh.d.ts +21 -3
  126. package/dist/types/i18n/zh_TW.d.ts +23 -3
  127. package/dist/types/types/feature-flags.d.ts +8 -0
  128. package/dist/types/types/floating-toolbar.d.ts +1 -0
  129. package/dist/types/types/next-editor-plugin.d.ts +1 -4
  130. package/dist/types-ts4.5/card/cardOptions.d.ts +7 -0
  131. package/dist/types-ts4.5/extensibility/MultiBodiedExtension/action-api.d.ts +13 -0
  132. package/dist/types-ts4.5/extensibility/MultiBodiedExtension/styles.d.ts +4 -0
  133. package/dist/types-ts4.5/extensibility/MultiBodiedExtension/utils.d.ts +6 -0
  134. package/dist/types-ts4.5/i18n/cs.d.ts +0 -3
  135. package/dist/types-ts4.5/i18n/da.d.ts +23 -3
  136. package/dist/types-ts4.5/i18n/de.d.ts +0 -3
  137. package/dist/types-ts4.5/i18n/en.d.ts +20 -2
  138. package/dist/types-ts4.5/i18n/en_GB.d.ts +20 -2
  139. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +20 -2
  140. package/dist/types-ts4.5/i18n/es.d.ts +23 -3
  141. package/dist/types-ts4.5/i18n/fi.d.ts +22 -3
  142. package/dist/types-ts4.5/i18n/fr.d.ts +23 -3
  143. package/dist/types-ts4.5/i18n/hu.d.ts +23 -3
  144. package/dist/types-ts4.5/i18n/it.d.ts +23 -3
  145. package/dist/types-ts4.5/i18n/ja.d.ts +24 -1
  146. package/dist/types-ts4.5/i18n/ko.d.ts +23 -3
  147. package/dist/types-ts4.5/i18n/nb.d.ts +23 -1
  148. package/dist/types-ts4.5/i18n/nl.d.ts +23 -3
  149. package/dist/types-ts4.5/i18n/pl.d.ts +22 -3
  150. package/dist/types-ts4.5/i18n/pt_BR.d.ts +21 -3
  151. package/dist/types-ts4.5/i18n/ru.d.ts +21 -3
  152. package/dist/types-ts4.5/i18n/sv.d.ts +23 -3
  153. package/dist/types-ts4.5/i18n/th.d.ts +23 -3
  154. package/dist/types-ts4.5/i18n/tr.d.ts +21 -3
  155. package/dist/types-ts4.5/i18n/uk.d.ts +23 -3
  156. package/dist/types-ts4.5/i18n/vi.d.ts +23 -3
  157. package/dist/types-ts4.5/i18n/zh.d.ts +21 -3
  158. package/dist/types-ts4.5/i18n/zh_TW.d.ts +23 -3
  159. package/dist/types-ts4.5/types/feature-flags.d.ts +8 -0
  160. package/dist/types-ts4.5/types/floating-toolbar.d.ts +1 -0
  161. package/dist/types-ts4.5/types/next-editor-plugin.d.ts +1 -4
  162. package/package.json +9 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 77.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#69226](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/69226) [`eb9cd91f1bdb`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/eb9cd91f1bdb) - ED-21807: Replace Dnd LD feature flag with Statsig experiment
8
+ - [#65334](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/65334) [`089979f0308f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/089979f0308f) - [ux] ECA11Y-111/ECA11Y-86 Help dialog - resize table and media information
9
+ - Updated dependencies
10
+
11
+ ## 77.1.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#68790](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/68790) [`c6d8affc52d1`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c6d8affc52d1) - Support maybeAdd plugins in usePreset. Add typing support for universal preset.
16
+
17
+ Now when using the editor API with the universal preset
18
+
19
+ ### Patch Changes
20
+
21
+ - [#68535](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/68535) [`9d9c89e4ff0c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9d9c89e4ff0c) - Implement smart-card actionOptions prop within editor and expose prop to editor and renderer
22
+ - [#69366](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/69366) [`7241925578c1`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7241925578c1) - [ED-21934] Upgrade markdown-it dependency for prosemirror bump
23
+ - [#68264](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/68264) [`daa71f6aa162`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/daa71f6aa162) - [ux] ED-21883: Updated MultiBodied Extension related CSS and selections
24
+ - Updated dependencies
25
+
3
26
  ## 77.0.6
4
27
 
5
28
  ### Patch Changes
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useMultiBodiedExtensionActions = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _state = require("@atlaskit/editor-prosemirror/state");
11
+ var _analytics = require("../../analytics");
12
+ var _utils = require("./utils");
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ var useMultiBodiedExtensionActions = exports.useMultiBodiedExtensionActions = function useMultiBodiedExtensionActions(_ref) {
16
+ var updateActiveChild = _ref.updateActiveChild,
17
+ editorView = _ref.editorView,
18
+ getPos = _ref.getPos,
19
+ node = _ref.node,
20
+ eventDispatcher = _ref.eventDispatcher;
21
+ var actions = _react.default.useMemo(function () {
22
+ return {
23
+ changeActive: function changeActive(index) {
24
+ var state = editorView.state,
25
+ dispatch = editorView.dispatch;
26
+ var updateActiveChildResult = updateActiveChild(index);
27
+ if (eventDispatcher) {
28
+ (0, _utils.sendMBEAnalyticsEvent)(_analytics.ACTION.CHANGE_ACTIVE, node, eventDispatcher);
29
+ }
30
+ // On selection of a childFrame, we need to change the focus/selection to the end of the target child Frame
31
+ var mbeNode = state.doc.nodeAt(state.tr.selection.from);
32
+ var desiredPos = state.tr.selection.from || 0;
33
+ if (mbeNode && mbeNode !== null && mbeNode !== void 0 && mbeNode.content) {
34
+ for (var i = 0; i <= index && i < (mbeNode === null || mbeNode === void 0 || (_mbeNode$content = mbeNode.content) === null || _mbeNode$content === void 0 ? void 0 : _mbeNode$content.childCount); i++) {
35
+ var _mbeNode$content, _mbeNode$content2;
36
+ desiredPos += (mbeNode === null || mbeNode === void 0 || (_mbeNode$content2 = mbeNode.content) === null || _mbeNode$content2 === void 0 || (_mbeNode$content2 = _mbeNode$content2.child(i)) === null || _mbeNode$content2 === void 0 ? void 0 : _mbeNode$content2.nodeSize) || 0;
37
+ }
38
+ dispatch(state.tr.setSelection(new _state.TextSelection(state.doc.resolve(desiredPos))));
39
+ }
40
+ return updateActiveChildResult;
41
+ },
42
+ addChild: function addChild() {
43
+ var state = editorView.state,
44
+ dispatch = editorView.dispatch;
45
+ if (node.content.childCount >= node.attrs.maxFrames) {
46
+ throw new Error("Cannot add more than ".concat(node.attrs.maxFrames, " frames"));
47
+ }
48
+ var p = state.schema.nodes.paragraph.createAndFill({});
49
+ if (!p) {
50
+ throw new Error('Could not create paragraph');
51
+ }
52
+ var frame = state.schema.nodes.extensionFrame.createAndFill({}, [p]);
53
+ var pos = getPos();
54
+ if (typeof pos !== 'number' || !frame) {
55
+ throw new Error('Could not create frame or position not valid');
56
+ }
57
+ var insertAt = Math.min((pos || 1) + node.content.size, state.doc.content.size);
58
+ dispatch(state.tr.insert(insertAt, frame));
59
+ if (eventDispatcher) {
60
+ (0, _utils.sendMBEAnalyticsEvent)(_analytics.ACTION.ADD_CHILD, node, eventDispatcher);
61
+ }
62
+ return true;
63
+ },
64
+ getChildrenCount: function getChildrenCount() {
65
+ return node.content.childCount;
66
+ },
67
+ removeChild: function removeChild(index) {
68
+ var pos = getPos();
69
+ // TODO: Add child index validation here, don't trust this data
70
+ if (typeof pos !== 'number' || typeof index !== 'number') {
71
+ throw new Error('Position or index not valid');
72
+ }
73
+ var state = editorView.state,
74
+ dispatch = editorView.dispatch;
75
+ if (node.content.childCount === 1) {
76
+ var _tr = state.tr;
77
+ _tr.deleteRange(pos, pos + node.content.size);
78
+ dispatch(_tr);
79
+ return true;
80
+ }
81
+ var $pos = state.doc.resolve(pos);
82
+ var $startNodePos = state.doc.resolve($pos.start($pos.depth + 1));
83
+ var startFramePosition = $startNodePos.posAtIndex(index);
84
+ var maybeFrameNode = state.doc.nodeAt(startFramePosition);
85
+ if (!maybeFrameNode) {
86
+ throw new Error('Could not find frame node');
87
+ }
88
+ var endFramePosition = maybeFrameNode.content.size + startFramePosition;
89
+ var tr = state.tr;
90
+ tr.deleteRange(startFramePosition, endFramePosition);
91
+ dispatch(tr);
92
+ if (eventDispatcher) {
93
+ (0, _utils.sendMBEAnalyticsEvent)(_analytics.ACTION.REMOVE_CHILD, node, eventDispatcher);
94
+ }
95
+ return true;
96
+ },
97
+ updateParameters: function updateParameters(parameters) {
98
+ var state = editorView.state,
99
+ dispatch = editorView.dispatch;
100
+ var pos = getPos();
101
+ if (typeof pos !== 'number') {
102
+ throw new Error('Position not valid');
103
+ }
104
+ var tr = state.tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
105
+ parameters: _objectSpread(_objectSpread({}, node.attrs.parameters), {}, {
106
+ macroParams: parameters
107
+ })
108
+ }));
109
+ dispatch(tr);
110
+ if (eventDispatcher) {
111
+ (0, _utils.sendMBEAnalyticsEvent)(_analytics.ACTION.UPDATE_PARAMETERS, node, eventDispatcher);
112
+ }
113
+ return true;
114
+ },
115
+ getChildren: function getChildren() {
116
+ var _state$doc$nodeAt;
117
+ var state = editorView.state;
118
+ var pos = getPos();
119
+ if (typeof pos !== 'number') {
120
+ return [];
121
+ }
122
+ var children = (_state$doc$nodeAt = state.doc.nodeAt(pos)) === null || _state$doc$nodeAt === void 0 ? void 0 : _state$doc$nodeAt.content;
123
+ if (eventDispatcher) {
124
+ (0, _utils.sendMBEAnalyticsEvent)(_analytics.ACTION.GET_CHILDERN, node, eventDispatcher);
125
+ }
126
+ return children ? children.toJSON() : [];
127
+ }
128
+ };
129
+ }, [node, editorView, getPos, updateActiveChild, eventDispatcher]);
130
+ return actions;
131
+ };
@@ -7,138 +7,62 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _react2 = require("@emotion/react");
16
- var _colors = require("@atlaskit/theme/colors");
17
- var _analytics = require("../../analytics");
18
- var _eventDispatcher = require("../../event-dispatcher");
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+ var _file = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/file"));
19
18
  var _hooks = require("../../hooks");
20
19
  var _utils = require("../../utils");
21
20
  var _withPluginState = require("../../with-plugin-state");
21
+ var _actionApi = require("./action-api");
22
+ var _styles = require("./styles");
22
23
  var _templateObject, _templateObject2;
24
+ var _excluded = ["url"];
25
+ /* eslint-disable @atlaskit/design-system/prefer-primitives */
26
+ /** @jsx jsx */
23
27
  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); }
24
28
  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; }
25
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** @jsx jsx */
27
- var useMultiBodiedExtensionActions = function useMultiBodiedExtensionActions(_ref) {
28
- var updateActiveChild = _ref.updateActiveChild,
29
- editorView = _ref.editorView,
30
- getPos = _ref.getPos,
31
- node = _ref.node,
32
- eventDispatcher = _ref.eventDispatcher;
33
- var actions = _react.default.useMemo(function () {
34
- return {
35
- changeActive: function changeActive(index) {
36
- var updateActiveChildResult = updateActiveChild(index);
37
- if (eventDispatcher) {
38
- sendMBEAnalyticsEvent(_analytics.ACTION.CHANGE_ACTIVE, node, eventDispatcher);
39
- }
40
- return updateActiveChildResult;
41
- },
42
- addChild: function addChild() {
43
- var state = editorView.state,
44
- dispatch = editorView.dispatch;
45
- if (node.content.childCount >= node.attrs.maxFrames) {
46
- throw new Error("Cannot add more than ".concat(node.attrs.maxFrames, " frames"));
47
- }
48
- var p = state.schema.nodes.paragraph.createAndFill({});
49
- if (!p) {
50
- throw new Error('Could not create paragraph');
51
- }
52
- var frame = state.schema.nodes.extensionFrame.createAndFill({}, [p]);
53
- var pos = getPos();
54
- if (typeof pos !== 'number' || !frame) {
55
- throw new Error('Could not create frame or position not valid');
56
- }
57
- var insertAt = Math.min((pos || 1) + node.content.size, state.doc.content.size);
58
- dispatch(state.tr.insert(insertAt, frame));
59
- if (eventDispatcher) {
60
- sendMBEAnalyticsEvent(_analytics.ACTION.ADD_CHILD, node, eventDispatcher);
61
- }
62
- return true;
63
- },
64
- getChildrenCount: function getChildrenCount() {
65
- return node.content.childCount;
66
- },
67
- removeChild: function removeChild(index) {
68
- var pos = getPos();
69
- // TODO: Add child index validation here, don't trust this data
70
- if (typeof pos !== 'number' || typeof index !== 'number') {
71
- throw new Error('Position or index not valid');
72
- }
73
- var state = editorView.state,
74
- dispatch = editorView.dispatch;
75
- if (node.content.childCount === 1) {
76
- var _tr = state.tr;
77
- _tr.deleteRange(pos, pos + node.content.size);
78
- dispatch(_tr);
79
- return true;
80
- }
81
- var $pos = state.doc.resolve(pos);
82
- var $startNodePos = state.doc.resolve($pos.start($pos.depth + 1));
83
- var startFramePosition = $startNodePos.posAtIndex(index);
84
- var maybeFrameNode = state.doc.nodeAt(startFramePosition);
85
- if (!maybeFrameNode) {
86
- throw new Error('Could not find frame node');
87
- }
88
- var endFramePosition = maybeFrameNode.content.size + startFramePosition;
89
- var tr = state.tr;
90
- tr.deleteRange(startFramePosition, endFramePosition);
91
- dispatch(tr);
92
- if (eventDispatcher) {
93
- sendMBEAnalyticsEvent(_analytics.ACTION.REMOVE_CHILD, node, eventDispatcher);
94
- }
95
- return true;
96
- },
97
- updateParameters: function updateParameters(parameters) {
98
- var state = editorView.state,
99
- dispatch = editorView.dispatch;
100
- var pos = getPos();
101
- if (typeof pos !== 'number') {
102
- throw new Error('Position not valid');
103
- }
104
- var tr = state.tr.setNodeMarkup(pos, undefined, _objectSpread(_objectSpread({}, node.attrs), {}, {
105
- parameters: _objectSpread(_objectSpread({}, node.attrs.parameters), {}, {
106
- macroParams: parameters
107
- })
108
- }));
109
- dispatch(tr);
110
- if (eventDispatcher) {
111
- sendMBEAnalyticsEvent(_analytics.ACTION.UPDATE_PARAMETERS, node, eventDispatcher);
112
- }
113
- return true;
114
- },
115
- getChildren: function getChildren() {
116
- var _state$doc$nodeAt;
117
- var state = editorView.state;
118
- var pos = getPos();
119
- if (typeof pos !== 'number') {
120
- return [];
121
- }
122
- var children = (_state$doc$nodeAt = state.doc.nodeAt(pos)) === null || _state$doc$nodeAt === void 0 ? void 0 : _state$doc$nodeAt.content;
123
- if (eventDispatcher) {
124
- sendMBEAnalyticsEvent(_analytics.ACTION.GET_CHILDERN, node, eventDispatcher);
125
- }
126
- return children ? children.toJSON() : [];
127
- }
128
- };
129
- }, [node, editorView, getPos, updateActiveChild, eventDispatcher]);
130
- return actions;
29
+ // Similar to the one in platform/packages/editor/editor-common/src/extensibility/Extension/Lozenge.tsx
30
+ var getWrapperTitleContent = function getWrapperTitleContent(imageData, title) {
31
+ if (imageData) {
32
+ var url = imageData.url,
33
+ rest = (0, _objectWithoutProperties2.default)(imageData, _excluded);
34
+ return (0, _react2.jsx)("div", {
35
+ className: "extension-title"
36
+ }, (0, _react2.jsx)("img", (0, _extends2.default)({
37
+ css: (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n max-height: 24px;\n max-width: 24px;\n "]))),
38
+ src: url
39
+ }, rest, {
40
+ alt: title
41
+ })), title);
42
+ }
43
+ return (0, _react2.jsx)("div", {
44
+ className: "extension-title"
45
+ }, (0, _react2.jsx)(_file.default, {
46
+ label: title
47
+ }), title);
131
48
  };
132
- var navigationCSS = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n // make sure the user can't see a range selection inside the navigation\n // This is really important to keep the navigation working properly\n user-select: none;\n -webkit-user-modify: read-only;\n border: 1px solid ", ";\n"])), "var(--ds-border, ".concat(_colors.N40, ")"));
133
- var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2) {
134
- var node = _ref2.node,
135
- handleContentDOMRef = _ref2.handleContentDOMRef,
136
- getPos = _ref2.getPos,
137
- tryExtensionHandler = _ref2.tryExtensionHandler,
138
- editorView = _ref2.editorView,
139
- eventDispatcher = _ref2.eventDispatcher,
140
- widthState = _ref2.widthState,
141
- editorAppearance = _ref2.editorAppearance;
49
+ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref) {
50
+ var node = _ref.node,
51
+ handleContentDOMRef = _ref.handleContentDOMRef,
52
+ getPos = _ref.getPos,
53
+ tryExtensionHandler = _ref.tryExtensionHandler,
54
+ editorView = _ref.editorView,
55
+ eventDispatcher = _ref.eventDispatcher,
56
+ widthState = _ref.widthState,
57
+ editorAppearance = _ref.editorAppearance;
58
+ var _node$attrs = node.attrs,
59
+ parameters = _node$attrs.parameters,
60
+ extensionKey = _node$attrs.extensionKey;
61
+ var title = parameters && parameters.extensionTitle || parameters && parameters.macroMetadata && parameters.macroMetadata.title || extensionKey || node.type.name;
62
+ var imageData = (0, _utils.getExtensionLozengeData)({
63
+ node: node,
64
+ type: 'image'
65
+ });
142
66
  var _useState = (0, _react.useState)(0),
143
67
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
144
68
  activeChildIndex = _useState2[0],
@@ -152,7 +76,7 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
152
76
  setActiveChildIndex(index);
153
77
  return true;
154
78
  }, [setActiveChildIndex]);
155
- var actions = useMultiBodiedExtensionActions({
79
+ var actions = (0, _actionApi.useMultiBodiedExtensionActions)({
156
80
  updateActiveChild: updateActiveChild,
157
81
  editorView: editorView,
158
82
  getPos: getPos,
@@ -165,13 +89,13 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
165
89
  var articleRef = _react.default.useCallback(function (node) {
166
90
  return handleContentDOMRef(node);
167
91
  }, [handleContentDOMRef]);
168
- var containerCSS = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n border: 1px solid ", ";\n min-height: 100px;\n .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'] {\n display: none;\n }\n\n .multiBodiedExtension-content-dom-wrapper\n > [data-extension-frame='true']:nth-of-type(", ") {\n border: 1px solid ", ";\n display: block;\n min-height: 100px;\n }\n "])), "var(--ds-border, ".concat(_colors.N30, ")"), activeChildIndex + 1, "var(--ds-border, ".concat(_colors.N50, ")"));
92
+ var containerCssExtended = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n .multiBodiedExtension-content-dom-wrapper\n > [data-extension-frame='true']:nth-of-type(", ") {\n ", "\n }\n "])), _styles.mbeExtensionContainerCSS, activeChildIndex + 1, _styles.extensionFrameContentCSS);
169
93
  var shouldBreakout =
170
94
  // Extension should breakout when the layout is set to 'full-width' or 'wide'.
171
95
  ['full-width', 'wide'].includes(node.attrs.layout) &&
172
96
  // Extension breakout state should not be respected when the editor appearance is full-width mode
173
97
  editorAppearance !== 'full-width';
174
- var mbeContainerStyles = {};
98
+ var mbeWrapperStyles = {};
175
99
  if (shouldBreakout) {
176
100
  var _calculateBreakoutSty = (0, _utils.calculateBreakoutStyles)({
177
101
  mode: node.attrs.layout,
@@ -179,40 +103,28 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
179
103
  widthStateWidth: widthState === null || widthState === void 0 ? void 0 : widthState.width
180
104
  }),
181
105
  breakoutStyles = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_calculateBreakoutSty), _calculateBreakoutSty));
182
- mbeContainerStyles = breakoutStyles;
106
+ mbeWrapperStyles = breakoutStyles;
183
107
  }
184
- return (0, _react2.jsx)("section", {
108
+ var wrapperClassNames = (0, _classnames.default)('multiBodiedExtension--wrapper', 'extension-container', 'block');
109
+ return (0, _react2.jsx)("div", {
110
+ className: wrapperClassNames,
111
+ css: _styles.mbeExtensionWrapperCSS,
112
+ "data-testid": "multiBodiedExtension--wrapper",
113
+ style: mbeWrapperStyles
114
+ }, getWrapperTitleContent(imageData, title), (0, _react2.jsx)("div", {
185
115
  className: "multiBodiedExtension--container",
186
- css: containerCSS,
116
+ css: containerCssExtended,
187
117
  "data-testid": "multiBodiedExtension--container",
188
- "data-active-child-index": activeChildIndex,
189
- style: mbeContainerStyles
118
+ "data-active-child-index": activeChildIndex
190
119
  }, (0, _react2.jsx)("nav", {
191
120
  className: "multiBodiedExtension-navigation",
192
- css: navigationCSS,
121
+ css: _styles.mbeNavigationCSS,
193
122
  "data-testid": "multiBodiedExtension-navigation"
194
123
  }, extensionHandlerResult), (0, _react2.jsx)("article", {
195
124
  className: "multiBodiedExtension--frames",
196
125
  "data-testid": "multiBodiedExtension--frames",
197
126
  ref: articleRef
198
- }));
199
- };
200
- var sendMBEAnalyticsEvent = function sendMBEAnalyticsEvent(action, node, eventDispatcher) {
201
- var analyticsDispatch = (0, _eventDispatcher.createDispatch)(eventDispatcher);
202
- analyticsDispatch(_utils.analyticsEventKey, {
203
- payload: {
204
- action: action,
205
- actionSubject: _analytics.ACTION_SUBJECT.MULTI_BODIED_EXTENSION,
206
- eventType: _analytics.EVENT_TYPE.TRACK,
207
- attributes: {
208
- extensionType: node.attrs.extensionType,
209
- extensionKey: node.attrs.extensionKey,
210
- localId: node.attrs.localId,
211
- maxFramesCount: node.attrs.maxFrames,
212
- currentFramesCount: node.content.childCount
213
- }
214
- }
215
- });
127
+ })));
216
128
  };
217
129
  var MultiBodiedExtensionWithSharedState = function MultiBodiedExtensionWithSharedState(props) {
218
130
  var pluginInjectionApi = props.pluginInjectionApi;
@@ -250,8 +162,8 @@ var MultiBodiedExtensionDeprecated = function MultiBodiedExtensionDeprecated(pro
250
162
  plugins: {
251
163
  widthState: widthPluginKey
252
164
  },
253
- render: function render(_ref3) {
254
- var widthState = _ref3.widthState;
165
+ render: function render(_ref2) {
166
+ var widthState = _ref2.widthState;
255
167
  return (0, _react2.jsx)(MultiBodiedExtensionWithWidth, (0, _extends2.default)({
256
168
  widthState: widthState
257
169
  }, props));
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mbeNavigationCSS = exports.mbeExtensionWrapperCSS = exports.mbeExtensionContainerCSS = exports.extensionFrameContentCSS = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ var _styles = require("../Extension/styles");
12
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
+ // Wrapper the extension title and extensionContainer
14
+ var mbeExtensionWrapperCSS = exports.mbeExtensionWrapperCSS = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n cursor: pointer;\n .extension-title {\n display: flex;\n align-items: center;\n line-height: 16px !important;\n margin-bottom: ", ";\n margin-left: ", " !important;\n margin-right: ", ";\n padding-top: ", " !important;\n }\n"])), _styles.wrapperDefault, "var(--ds-space-100, 8px)", "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
15
+
16
+ // Wraps the navigation bar and extensionFrames
17
+ var mbeExtensionContainerCSS = exports.mbeExtensionContainerCSS = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: transpaent !important;\n padding: {\n bottom: ", " !important;\n left: ", " !important;\n right: ", " !important;\n }\n padding-bottom: ", ";\n position: relative;\n vertical-align: middle;\n cursor: pointer;\n\n .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'] {\n display: none;\n background: ", ";\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-surface, white)");
18
+ var mbeNavigationCSS = exports.mbeNavigationCSS = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n // make sure the user can't see a range selection inside the navigation\n // This is really important to keep the navigation working properly\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n user-select: none;\n -webkit-user-modify: read-only;\n border: 1px solid ", ";\n border-bottom: none;\n background: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-border, ".concat(_colors.N40, ")"), "var(--ds-surface, white)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
19
+ var extensionFrameContentCSS = exports.extensionFrameContentCSS = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", " !important;\n border: 1px solid ", ";\n display: block;\n min-height: 100px;\n background: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n margin-left: ", ";\n margin-right: ", ";\n cursor: initial;\n\n .pm-table-container {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .pm-table-with-controls {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .bodiedExtensionView-content-wrap {\n margin-top: ", " !important;\n }\n // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing\n // compared to the bodiedExtensionView-content-wrap\n .extensionView-content-wrap {\n margin-top: ", " !important;\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-border, ".concat(_colors.N30, ")"), "var(--ds-surface, white)", "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-200, 16px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)");
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sendMBEAnalyticsEvent = void 0;
7
+ var _analytics = require("../../analytics");
8
+ var _eventDispatcher = require("../../event-dispatcher");
9
+ var _utils = require("../../utils");
10
+ var sendMBEAnalyticsEvent = exports.sendMBEAnalyticsEvent = function sendMBEAnalyticsEvent(action, node, eventDispatcher) {
11
+ var analyticsDispatch = (0, _eventDispatcher.createDispatch)(eventDispatcher);
12
+ analyticsDispatch(_utils.analyticsEventKey, {
13
+ payload: {
14
+ action: action,
15
+ actionSubject: _analytics.ACTION_SUBJECT.MULTI_BODIED_EXTENSION,
16
+ eventType: _analytics.EVENT_TYPE.TRACK,
17
+ attributes: {
18
+ extensionType: node.attrs.extensionType,
19
+ extensionKey: node.attrs.extensionKey,
20
+ localId: node.attrs.localId,
21
+ maxFramesCount: node.attrs.maxFrames,
22
+ currentFramesCount: node.content.childCount
23
+ }
24
+ }
25
+ });
26
+ };
@@ -15,9 +15,7 @@ exports.default = void 0;
15
15
  var _default = exports.default = {
16
16
  'fabric.editor.action': 'Aktuální úkol',
17
17
  'fabric.editor.action.description': 'Vytvořit a přiřadit aktuální úkol',
18
- 'fabric.editor.addColumn': 'Přidat sloupec vpravo',
19
18
  'fabric.editor.addMediaFiles': 'Přidat obrázek, video nebo soubor',
20
- 'fabric.editor.addRow': 'Přidat řádek pod',
21
19
  'fabric.editor.alignCenter': 'Zarovnat na střed',
22
20
  'fabric.editor.alignImageCenter': 'Zarovnat na střed',
23
21
  'fabric.editor.alignImageLeft': 'Zarovnat vlevo',
@@ -167,7 +165,6 @@ var _default = exports.default = {
167
165
  'fabric.editor.mediaAddLink': 'Přidat odkaz',
168
166
  'fabric.editor.mediaFiles': 'Obrázek, video nebo soubor',
169
167
  'fabric.editor.mediaFiles.description': 'Přidejte na svou stránku obrázky a další soubory',
170
- 'fabric.editor.media_change_mediainline': 'Vložený',
171
168
  'fabric.editor.media_change_mediasingle': 'Původní velikost',
172
169
  'fabric.editor.mention': 'Zmínka',
173
170
  'fabric.editor.mention.description': 'Zmiňte někoho, abyste jim zaslali oznámení',
@@ -15,9 +15,11 @@ exports.default = void 0;
15
15
  var _default = exports.default = {
16
16
  'fabric.editor.action': 'Handlingsgenstand',
17
17
  'fabric.editor.action.description': 'Opret og tildel handlingsgenstande',
18
- 'fabric.editor.addColumn': 'Tilføj kolonne til højre',
18
+ 'fabric.editor.addColumnLeft': 'Tilføj kolonne til venstre',
19
+ 'fabric.editor.addColumnRight': 'Tilføj kolonne til højre',
19
20
  'fabric.editor.addMediaFiles': 'Tilføj billede, video eller fil',
20
- 'fabric.editor.addRow': 'Tilføj række nedenfor',
21
+ 'fabric.editor.addRowAbove': 'Tilføj række ovenfor',
22
+ 'fabric.editor.addRowBelow': 'Tilføj række nedenfor',
21
23
  'fabric.editor.alignCenter': 'Centrér',
22
24
  'fabric.editor.alignImageCenter': 'Centrér',
23
25
  'fabric.editor.alignImageLeft': 'Venstrejustér',
@@ -55,6 +57,7 @@ var _default = exports.default = {
55
57
  'fabric.editor.codeblock.description': 'Vis kode med syntaksfremhævning',
56
58
  'fabric.editor.collapseNode': 'skjul indhold',
57
59
  'fabric.editor.collapseTable': 'Luk tabel',
60
+ 'fabric.editor.columnDragHandle': 'Kolonneindstillinger',
58
61
  'fabric.editor.columns': 'Layout',
59
62
  'fabric.editor.columns.description': 'Opdel din side i afsnit',
60
63
  'fabric.editor.copiedToClipboard': 'Kopieret!',
@@ -92,6 +95,11 @@ var _default = exports.default = {
92
95
  'fabric.editor.elementbrowser.search.empty-state.heading': 'Ingen resultater matcher din søgning',
93
96
  'fabric.editor.elementbrowser.search.empty-state.sub-heading': 'Prøv et andet søgeord, eller find nye apps til Atlassian-produkter.',
94
97
  'fabric.editor.elementbrowser.search.empty-state.sub-heading.link': 'Gå på opdagelse på Atlassian Marketplace',
98
+ 'fabric.editor.elementbrowser.searchbar.assistive.text.nothing': 'Ingen resultater matcher din søgning',
99
+ 'fabric.editor.elementbrowser.searchbar.assistive.text.suggestion': 'muligt forslag til indtastet tekst.',
100
+ 'fabric.editor.elementbrowser.searchbar.assistive.text.suggestions': 'mulige forslag til indtastet tekst.',
101
+ 'fabric.editor.elementbrowser.searchbar.elementAfterInput': 'Indtast',
102
+ 'fabric.editor.elementbrowser.searchbar.placeholder': 'Søg',
95
103
  'fabric.editor.elementbrowser.sidebar.heading': 'Gennemse',
96
104
  'fabric.editor.embedTitle': 'Indlejr',
97
105
  'fabric.editor.emoji': 'Emoji',
@@ -147,6 +155,7 @@ var _default = exports.default = {
147
155
  'fabric.editor.infoPanel': 'Informationspanel',
148
156
  'fabric.editor.infoPanel.description': 'Fremhæv information i et farvet panel',
149
157
  'fabric.editor.inlineDescription': 'Vis link som indbygget tekst',
158
+ 'fabric.editor.inlineOverlay': 'Konfigurer',
150
159
  'fabric.editor.inlineTitle': 'Indbyg',
151
160
  'fabric.editor.insertColumn': 'Indsæt kolonne til højre',
152
161
  'fabric.editor.insertColumnDrag': 'Indsæt kolonne',
@@ -167,12 +176,15 @@ var _default = exports.default = {
167
176
  'fabric.editor.mediaAddLink': 'Tilføj link',
168
177
  'fabric.editor.mediaFiles': 'Billede, video eller fil',
169
178
  'fabric.editor.mediaFiles.description': 'Tilføj billeder eller andre filer til din side',
170
- 'fabric.editor.media_change_mediainline': 'Indbyg',
171
179
  'fabric.editor.media_change_mediasingle': 'Original størrelse',
172
180
  'fabric.editor.mention': 'Benævnelse',
173
181
  'fabric.editor.mention.description': 'Omtal nogen for at sende dem en notifikation',
174
182
  'fabric.editor.mergeCells': 'Flet celler',
175
183
  'fabric.editor.moreFormatting': 'Mere formatering',
184
+ 'fabric.editor.moveColumnLeft': '{0, plural, one {Flyt kolonne til venstre} other {Flyt kolonner til venstre}}',
185
+ 'fabric.editor.moveColumnRight': '{0, plural, one {Flyt kolonne til højre} other {Flyt kolonner til højre}}',
186
+ 'fabric.editor.moveDownDown': '{0, plural, one {Flyt række ned} other {Flyt rækker ned}}',
187
+ 'fabric.editor.moveRowUp': '{0, plural, one {Flyt række op} other {Flyt rækker op}}',
176
188
  'fabric.editor.navigate.toolbar.editor': 'Naviger til værktøjslinje til redigeringsprogram',
177
189
  'fabric.editor.navigate.toolbar.floating': 'Naviger til flydende værktøjslinje',
178
190
  'fabric.editor.normal': 'Normal tekst',
@@ -198,11 +210,14 @@ var _default = exports.default = {
198
210
  'fabric.editor.removeRows': '{0, plural, one {Slet række} other {Slet rækker}}',
199
211
  'fabric.editor.rightSidebar': 'Højre sidebjælke',
200
212
  'fabric.editor.rowControl': 'Fremhæv række',
213
+ 'fabric.editor.rowDragHandle': 'Rækkeindstillinger',
201
214
  'fabric.editor.saveButton': 'Gem',
202
215
  'fabric.editor.settingsLinks': 'Gå til Indstillinger for links',
203
216
  'fabric.editor.single': 'Enkelt kolonne',
204
217
  'fabric.editor.sortColumnASC': 'Sorter kolonnen fra A → Å',
205
218
  'fabric.editor.sortColumnDESC': 'Sorter kolonnen fra Å → A',
219
+ 'fabric.editor.sortColumnDecreasing': 'Sortér faldende',
220
+ 'fabric.editor.sortColumnIncreasing': 'Sortér stigende',
206
221
  'fabric.editor.splitCell': 'Opdel celle',
207
222
  'fabric.editor.status': 'Status',
208
223
  'fabric.editor.status.description': 'Tilføj en brugerdefineret statusetiket',
@@ -221,6 +236,10 @@ var _default = exports.default = {
221
236
  'fabric.editor.tableOptions': 'Egenskaber for tabel',
222
237
  'fabric.editor.tableResizeDecreaseScreenReaderInformation': '{newWidth, plural, one {Tabelbredde reduceret til {newWidth,number} pixel.} other {Tabelbredde reduceret til {newWidth,number} pixel.}}',
223
238
  'fabric.editor.tableResizeIncreaseScreenReaderInformation': '{newWidth, plural, one {Tabelbredde øget til {newWidth,number} pixel.} other {Tabelbredde øget til {newWidth,number} pixels.}}',
239
+ 'fabric.editor.tableSelector': 'Tabelstørrelse',
240
+ 'fabric.editor.tableSelector.description': 'Tilføj en tabel ved hjælp af popup for at vælge en brugerdefineret størrelse',
241
+ 'fabric.editor.tableSizeSelectorButton': 'Opret tabel med størrelsen',
242
+ 'fabric.editor.tableSizeSelectorPopup': 'Vælger til tabelstørrelse',
224
243
  'fabric.editor.tables.adjustColumn': 'Tilpas kolonne',
225
244
  'fabric.editor.tables.confirmDeleteLinkedModalMessage': 'Hvis du sletter {nodeName}, brydes forbindelsen til alt, der er forbundet til den.',
226
245
  'fabric.editor.tables.confirmDeleteLinkedModalOKButton': 'Slet',
@@ -311,5 +330,6 @@ var _default = exports.default = {
311
330
  'fabric.theme.subtle-yellow': 'Svag gul',
312
331
  'fabric.theme.teal': 'Teal',
313
332
  'fabric.theme.white': 'Hvid',
314
- 'fabric.theme.yellow': 'Gul'
333
+ 'fabric.theme.yellow': 'Gul',
334
+ 'fabrid.editor.rowNumbers': 'Rækkenumre'
315
335
  };
@@ -15,9 +15,7 @@ exports.default = void 0;
15
15
  var _default = exports.default = {
16
16
  'fabric.editor.action': 'Aufgabe',
17
17
  'fabric.editor.action.description': 'Aufgaben erstellen und zuweisen',
18
- 'fabric.editor.addColumn': 'Spalte rechts hinzufügen',
19
18
  'fabric.editor.addMediaFiles': 'Bild, Video oder Datei hinzufügen',
20
- 'fabric.editor.addRow': 'Zeile unterhalb hinzufügen',
21
19
  'fabric.editor.alignCenter': 'Mittig ausrichten',
22
20
  'fabric.editor.alignImageCenter': 'Mittig ausrichten',
23
21
  'fabric.editor.alignImageLeft': 'Links ausrichten',
@@ -167,7 +165,6 @@ var _default = exports.default = {
167
165
  'fabric.editor.mediaAddLink': 'Link hinzufügen',
168
166
  'fabric.editor.mediaFiles': 'Bild, Video oder Datei',
169
167
  'fabric.editor.mediaFiles.description': 'Bilder oder andere Dateien zu Ihrer Seite hinzufügen',
170
- 'fabric.editor.media_change_mediainline': 'Inline',
171
168
  'fabric.editor.media_change_mediasingle': 'Originalgröße',
172
169
  'fabric.editor.mention': 'Erwähnen',
173
170
  'fabric.editor.mention.description': 'Erwähnen Sie einen Benutzer, um ihm eine Benachrichtigung zu senden.',