@atlaskit/editor-common 106.6.1 → 106.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/element-browser/components/ElementList/ElementList.js +3 -0
  3. package/dist/cjs/i18n/en_ZZ.js +4 -0
  4. package/dist/cjs/i18n/hr.js +2 -0
  5. package/dist/cjs/i18n/sl.js +878 -1
  6. package/dist/cjs/i18n/sr_RS.js +894 -0
  7. package/dist/cjs/monitoring/error.js +1 -1
  8. package/dist/cjs/provider-factory/with-providers.js +2 -1
  9. package/dist/cjs/ui/DropList/index.js +1 -1
  10. package/dist/cjs/user-preferences/hooks.js +6 -5
  11. package/dist/cjs/user-preferences/user-preferences-provider.js +26 -29
  12. package/dist/cjs/user-preferences/user-preferences.js +6 -1
  13. package/dist/cjs/user-preferences/utils.js +42 -0
  14. package/dist/cjs/utils/processRawValue.js +9 -14
  15. package/dist/es2019/element-browser/components/ElementList/ElementList.js +3 -0
  16. package/dist/es2019/i18n/en_ZZ.js +4 -0
  17. package/dist/es2019/i18n/hr.js +2 -0
  18. package/dist/es2019/i18n/sl.js +878 -1
  19. package/dist/es2019/i18n/sr_RS.js +888 -0
  20. package/dist/es2019/monitoring/error.js +1 -1
  21. package/dist/es2019/provider-factory/with-providers.js +2 -1
  22. package/dist/es2019/ui/DropList/index.js +1 -1
  23. package/dist/es2019/user-preferences/hooks.js +6 -5
  24. package/dist/es2019/user-preferences/user-preferences-provider.js +26 -21
  25. package/dist/es2019/user-preferences/user-preferences.js +6 -1
  26. package/dist/es2019/user-preferences/utils.js +27 -0
  27. package/dist/es2019/utils/processRawValue.js +11 -16
  28. package/dist/esm/element-browser/components/ElementList/ElementList.js +3 -0
  29. package/dist/esm/i18n/en_ZZ.js +4 -0
  30. package/dist/esm/i18n/hr.js +2 -0
  31. package/dist/esm/i18n/sl.js +878 -1
  32. package/dist/esm/i18n/sr_RS.js +888 -0
  33. package/dist/esm/monitoring/error.js +1 -1
  34. package/dist/esm/provider-factory/with-providers.js +2 -1
  35. package/dist/esm/ui/DropList/index.js +1 -1
  36. package/dist/esm/user-preferences/hooks.js +6 -5
  37. package/dist/esm/user-preferences/user-preferences-provider.js +26 -29
  38. package/dist/esm/user-preferences/user-preferences.js +6 -1
  39. package/dist/esm/user-preferences/utils.js +35 -0
  40. package/dist/esm/utils/processRawValue.js +9 -14
  41. package/dist/types/i18n/en_ZZ.d.ts +4 -0
  42. package/dist/types/i18n/hr.d.ts +2 -0
  43. package/dist/types/i18n/sl.d.ts +877 -0
  44. package/dist/types/i18n/sr_RS.d.ts +887 -0
  45. package/dist/types/provider-factory/with-providers.d.ts +1 -1
  46. package/dist/types/user-preferences/hooks.d.ts +8 -6
  47. package/dist/types/user-preferences/persistence-api.d.ts +1 -1
  48. package/dist/types/user-preferences/user-preferences-provider.d.ts +19 -11
  49. package/dist/types/user-preferences/user-preferences.d.ts +6 -4
  50. package/dist/types/user-preferences/utils.d.ts +17 -0
  51. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +4 -0
  52. package/dist/types-ts4.5/i18n/hr.d.ts +2 -0
  53. package/dist/types-ts4.5/i18n/sl.d.ts +877 -0
  54. package/dist/types-ts4.5/i18n/sr_RS.d.ts +887 -0
  55. package/dist/types-ts4.5/provider-factory/with-providers.d.ts +1 -1
  56. package/dist/types-ts4.5/user-preferences/hooks.d.ts +8 -6
  57. package/dist/types-ts4.5/user-preferences/persistence-api.d.ts +1 -1
  58. package/dist/types-ts4.5/user-preferences/user-preferences-provider.d.ts +19 -11
  59. package/dist/types-ts4.5/user-preferences/user-preferences.d.ts +6 -4
  60. package/dist/types-ts4.5/user-preferences/utils.d.ts +17 -0
  61. package/package.json +6 -6
@@ -16,7 +16,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "106.6.1";
19
+ var packageVersion = "106.7.0";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // Ignored via go/ees007
@@ -12,6 +12,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
12
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
  var _react = require("react");
15
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
16
  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; }
16
17
  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; }
17
18
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
@@ -70,7 +71,7 @@ var WithProviders = exports.WithProviders = /*#__PURE__*/function (_PureComponen
70
71
  providers = _this$props.providers,
71
72
  providerFactory = _this$props.providerFactory;
72
73
  providers.forEach(function (name) {
73
- providerFactory.unsubscribe(name, _this2.handleProvider);
74
+ providerFactory.unsubscribe(name, (0, _platformFeatureFlags.fg)('platform_editor_fix_unsubscribe_of_provider') ? _this2.handleProviderIfMounted : _this2.handleProvider);
74
75
  });
75
76
  }
76
77
  }, {
@@ -23,7 +23,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
23
23
  * @jsx jsx
24
24
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
25
25
  var packageName = "@atlaskit/editor-common";
26
- var packageVersion = "106.6.1";
26
+ var packageVersion = "106.7.0";
27
27
  var halfFocusRing = 1;
28
28
  var dropOffset = '0, 8';
29
29
  // Ignored via go/ees005
@@ -8,17 +8,18 @@ exports.useResolvedUserPreferences = useResolvedUserPreferences;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
10
  /**
11
- *
12
- * @param userPreferencesProvider
13
- * @example
11
+ * This hook returns the latest user preference
12
+ * @param {UserPreferencesProvider} userPreferencesProvider an instance of UserPreferencesProvider
13
+ * @example const { resolvedUserPreferences } = edUserPreferences(userPreferencesProvider)
14
+ * @returns {ResolvedUserPreferences | null} the latest user preference
14
15
  */
15
16
  function useResolvedUserPreferences(userPreferencesProvider) {
16
- var _useState = (0, _react.useState)(userPreferencesProvider.getPreferences()),
17
+ var _useState = (0, _react.useState)((userPreferencesProvider === null || userPreferencesProvider === void 0 ? void 0 : userPreferencesProvider.getPreferences()) || null),
17
18
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
19
  resolvedUserPreferences = _useState2[0],
19
20
  setResolvedUserPreferences = _useState2[1];
20
21
  (0, _react.useEffect)(function () {
21
- return userPreferencesProvider.onUpdate(function () {
22
+ return userPreferencesProvider === null || userPreferencesProvider === void 0 ? void 0 : userPreferencesProvider.onUpdate(function () {
22
23
  setResolvedUserPreferences(userPreferencesProvider.getPreferences());
23
24
  });
24
25
  }, [userPreferencesProvider]);
@@ -6,27 +6,29 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.UserPreferencesProvider = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- 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; }
15
- 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; }
13
+ var _utils = require("./utils");
16
14
  /**
17
- *
15
+ * This class is used to manage user preferences in the editor.
16
+ * It provides methods to load, update, and get user preferences,
17
+ * as well as a way to subscribe to updates.
18
+ * @example const userPreferencesProvider = new UserPreferencesProvider(persistenceAPI, defaultPreferences);
18
19
  */
19
20
  var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/function () {
20
21
  /**
22
+ * This is the constructor for the UserPreferencesProvider class.
21
23
  * @param persistenceAPI - The persistence API to use for loading and updating user preferences
22
24
  * @param defaultPreferences - The default user preferences to use
23
25
  * @param initialUserPreferences - The initial user preferences to use (optional)
24
- * @example
26
+ * @example const userPreferencesProvider = new UserPreferencesProvider(persistenceAPI, defaultPreferences);
25
27
  */
26
28
  function UserPreferencesProvider(persistenceAPI, defaultPreferences) {
27
29
  var _this$persistenceAPI$, _this$persistenceAPI;
28
30
  (0, _classCallCheck2.default)(this, UserPreferencesProvider);
29
- (0, _defineProperty2.default)(this, "callbacks", []);
31
+ (0, _defineProperty2.default)(this, "updateCallbacks", []);
30
32
  (0, _defineProperty2.default)(this, "userPreferences", {});
31
33
  (0, _defineProperty2.default)(this, "initialized", false);
32
34
  this.persistenceAPI = persistenceAPI;
@@ -41,7 +43,9 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
41
43
  }
42
44
 
43
45
  /**
44
- *
46
+ * This method returns the initialized state of the user preferences provider
47
+ * @returns true if the user preferences provider is initialized, false otherwise
48
+ * @example userPreferencesProvider.isInitialized
45
49
  */
46
50
  return (0, _createClass2.default)(UserPreferencesProvider, [{
47
51
  key: "isInitialized",
@@ -53,7 +57,7 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
53
57
  * This method fetches the latest user preferences
54
58
  * @returns a promise that resolves with the user preferences, or rejects if error occurs
55
59
  * @throws Error if there is an error loading user preferences
56
- * @example
60
+ * @example userPreferencesProvider.loadPreferences()
57
61
  */
58
62
  }, {
59
63
  key: "loadPreferences",
@@ -85,7 +89,7 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
85
89
  * @param value
86
90
  * @returns a promise that resolves when the user preference is updated
87
91
  * @throws Error if there is an error updating user preferences
88
- * @example
92
+ * @example userPreferencesProvider.updatePreference('toolbarDockingPosition', 'top')
89
93
  */
90
94
  )
91
95
  }, {
@@ -116,7 +120,8 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
116
120
  * get a user preference, Note that this function is a not async function,
117
121
  * meaning that consumers should prefetch the user preference and make it available initially
118
122
  * @param key
119
- * @example
123
+ * @returns the user preference
124
+ * @example userPreferencesProvider.getPreference('toolbarDockingPosition')
120
125
  */
121
126
  )
122
127
  }, {
@@ -127,7 +132,8 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
127
132
 
128
133
  /**
129
134
  * get all user preferences
130
- * @example
135
+ * @returns the user preferences
136
+ * @example userPreferencesProvider.getPreferences()
131
137
  */
132
138
  }, {
133
139
  key: "getPreferences",
@@ -145,11 +151,11 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
145
151
  key: "onUpdate",
146
152
  value: function onUpdate(_onUpdate) {
147
153
  var _this = this;
148
- this.callbacks.push(_onUpdate);
154
+ this.updateCallbacks.push(_onUpdate);
149
155
 
150
156
  // Return the cleanup function to unsubscribe from the updates
151
157
  return function () {
152
- _this.callbacks = _this.callbacks.filter(function (callback) {
158
+ _this.updateCallbacks = _this.updateCallbacks.filter(function (callback) {
153
159
  return callback !== _onUpdate;
154
160
  });
155
161
  };
@@ -185,14 +191,14 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
185
191
  }
186
192
 
187
193
  /**
188
- *
189
- * @example
194
+ * This method is used to notify the user preferences updated
195
+ * @example userPreferencesProvider.notifyUserPreferencesUpdated()
190
196
  */
191
197
  }, {
192
198
  key: "notifyUserPreferencesUpdated",
193
199
  value: function notifyUserPreferencesUpdated() {
194
200
  var _this2 = this;
195
- this.callbacks.forEach(function (callback) {
201
+ this.updateCallbacks.forEach(function (callback) {
196
202
  callback(_this2.resolvedUserPreferences);
197
203
  });
198
204
  }
@@ -202,31 +208,22 @@ var UserPreferencesProvider = exports.UserPreferencesProvider = /*#__PURE__*/fun
202
208
  * with the user preferences and filtering out any undefined or null values
203
209
  * to avoid overwriting default preferences with null values
204
210
  * @returns true if the user preferences were updated, false otherwise
205
- * @example
211
+ * @example userPreferencesProvider.resolveUserPreferences()
206
212
  */
207
213
  }, {
208
214
  key: "resolveUserPreferences",
209
215
  value: function resolveUserPreferences() {
210
- var _this3 = this;
211
216
  // Merge default preferences with user preferences
212
217
  // and filter out any undefined or null values
213
218
  // to avoid overwriting default preferences with null values
214
- var newResolvedUserPreferences = _objectSpread(_objectSpread({}, this.defaultPreferences), Object.fromEntries(Object.entries(this.userPreferences).filter(function (_ref) {
215
- var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
216
- v = _ref2[1];
217
- return v !== undefined && v !== null;
218
- })));
219
+ var newResolvedUserPreferences = (0, _utils.mergeUserPreferences)(this.userPreferences, this.defaultPreferences);
219
220
 
220
221
  // if the user preferences is NOT initialized, we need to update and notify
221
222
  // the user preferences
222
223
  // if the user preferences is initialized, we need to check if the new user preferences
223
224
  // is different from the old user preferences
224
- var needUpdate = Object.entries(newResolvedUserPreferences).some(function (_ref3) {
225
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
226
- key = _ref4[0],
227
- value = _ref4[1];
228
- return value !== _this3.resolvedUserPreferences[key];
229
- });
225
+ var isSame = (0, _utils.areUserPreferencesEqual)(newResolvedUserPreferences, this.resolvedUserPreferences);
226
+ var needUpdate = !isSame;
230
227
  if (needUpdate) {
231
228
  this.resolvedUserPreferences = newResolvedUserPreferences;
232
229
  }
@@ -4,4 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.TOOLBAR_DOCKING_POSITIONS = void 0;
7
- var TOOLBAR_DOCKING_POSITIONS = exports.TOOLBAR_DOCKING_POSITIONS = ['top', 'none'];
7
+ var TOOLBAR_DOCKING_POSITIONS = exports.TOOLBAR_DOCKING_POSITIONS = ['top', 'none'];
8
+
9
+ /**
10
+ * This type should contain all the user preferences
11
+ * And we do expect all the attributes to be defined
12
+ */
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mergeUserPreferences = exports.areUserPreferencesEqual = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ 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; }
11
+ 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; }
12
+ var mergeUserPreferences = exports.mergeUserPreferences = function mergeUserPreferences(userPreferences, defaultPreferences) {
13
+ var newResolvedUserPreferences = _objectSpread(_objectSpread({}, defaultPreferences), Object.fromEntries(Object.entries(userPreferences).filter(function (_ref) {
14
+ var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
15
+ v = _ref2[1];
16
+ return v !== undefined && v !== null;
17
+ })));
18
+ return newResolvedUserPreferences;
19
+ };
20
+
21
+ /**
22
+ * Compare two user preferences objects
23
+ * @param {ResolvedUserPreferences} left a ResolvedUserPreferences
24
+ * @param {ResolvedUserPreferences} right a ResolvedUserPreferences
25
+ * @returns true if the user preferences are the same, false otherwise
26
+ * @example
27
+ * const userPreferences1 = {
28
+ * toolbarDockingPosition: 'top',
29
+ * };
30
+ * const userPreferences2 = {
31
+ * toolbarDockingPosition: 'top',
32
+ * };
33
+ * compareUserPreferences(userPreferences1, userPreferences2); // true
34
+ */
35
+ var areUserPreferencesEqual = exports.areUserPreferencesEqual = function areUserPreferencesEqual(left, right) {
36
+ return Object.entries(left).every(function (_ref3) {
37
+ var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
38
+ key = _ref4[0],
39
+ value = _ref4[1];
40
+ return value === right[key];
41
+ });
42
+ };
@@ -8,7 +8,6 @@ exports.processRawValue = processRawValue;
8
8
  exports.processRawValueWithoutValidation = processRawValueWithoutValidation;
9
9
  var _transforms = require("@atlaskit/adf-utils/transforms");
10
10
  var _model = require("@atlaskit/editor-prosemirror/model");
11
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
11
  var _analytics = require("../analytics");
13
12
  var _privacyFilter = require("./filter/privacy-filter");
14
13
  var _trackUnsupportedContent = require("./track-unsupported-content");
@@ -64,14 +63,11 @@ function processRawValueWithoutValidation(schema, value, dispatchAnalyticsEvent)
64
63
  } else {
65
64
  node = value;
66
65
  }
67
- if ((0, _platformFeatureFlags.fg)('platform_editor_use_nested_table_pm_nodes')) {
68
- // Convert nested-table extensions into nested tables
69
- var _transformNestedTable2 = transformNestedTablesWithAnalytics(node, dispatchAnalyticsEvent),
70
- transformedAdf = _transformNestedTable2.transformedAdf;
71
- return _model.Node.fromJSON(schema, transformedAdf);
72
- } else {
73
- return _model.Node.fromJSON(schema, node);
74
- }
66
+
67
+ // Convert nested-table extensions into nested tables
68
+ var _transformNestedTable2 = transformNestedTablesWithAnalytics(node, dispatchAnalyticsEvent),
69
+ transformedAdf = _transformNestedTable2.transformedAdf;
70
+ return _model.Node.fromJSON(schema, transformedAdf);
75
71
  }
76
72
  function processRawValue(schema, value, providerFactory, sanitizePrivateContent, contentTransformer, dispatchAnalyticsEvent) {
77
73
  if (!value) {
@@ -199,11 +195,10 @@ function processRawValue(schema, value, providerFactory, sanitizePrivateContent,
199
195
  eventType: _analytics.EVENT_TYPE.OPERATIONAL
200
196
  });
201
197
  }
202
- if ((0, _platformFeatureFlags.fg)('platform_editor_use_nested_table_pm_nodes')) {
203
- // Convert nested-table extensions into nested tables
204
- var _transformNestedTable3 = transformNestedTablesWithAnalytics(transformedAdf, dispatchAnalyticsEvent);
205
- transformedAdf = _transformNestedTable3.transformedAdf;
206
- }
198
+
199
+ // Convert nested-table extensions into nested tables
200
+ var _transformNestedTable3 = transformNestedTablesWithAnalytics(transformedAdf, dispatchAnalyticsEvent);
201
+ transformedAdf = _transformNestedTable3.transformedAdf;
207
202
  if (dispatchAnalyticsEvent) {
208
203
  var _transformedAdf$conte;
209
204
  var hasSingleColumnLayout = (_transformedAdf$conte = transformedAdf.content) === null || _transformedAdf$conte === void 0 ? void 0 : _transformedAdf$conte.some(function (node) {
@@ -280,6 +280,8 @@ const ElementListMultipleColumns = props => {
280
280
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 -- Ignored via go/DSP-18766
281
281
  ,
282
282
  className: "element-item-wrapper",
283
+ role: "gridcell",
284
+ tabIndex: 0,
283
285
  css: elementItemWrapper,
284
286
  onKeyDown: e => {
285
287
  if (e.key === 'Tab') {
@@ -315,6 +317,7 @@ const ElementListMultipleColumns = props => {
315
317
  // eslint-disable-next-line react-hooks/exhaustive-deps
316
318
  [cache, items, fullMode, selectedItemIndex, columnCount, focusedItemIndex, selectedCategoryIndex, setFocusedCategoryIndex, setFocusedItemIndex, props]);
317
319
  return jsx(Grid, _extends({
320
+ containerRole: "row",
318
321
  cellRenderer: cellRenderer,
319
322
  height: height,
320
323
  width: containerWidth - ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
@@ -335,6 +335,10 @@ export default {
335
335
  'fabric.editor.blockquote.description': '⁣⁢Insert a quote or citation⁠؜⁡⁣⁤',
336
336
  'fabric.editor.blockquote2': '⁣⁢Quote‍؜؜⁡⁡⁠؜⁠‌‍⁣⁤',
337
337
  'fabric.editor.bold': '⁣⁢Bold‌⁠‍؜‌؜؜⁠؜‍⁣⁤',
338
+ 'fabric.editor.breakout.resizeCodeBlock': '⁣⁢Resize code snippet⁠‍؜⁠‌⁠‍⁡؜‍⁠؜؜؜⁣⁤',
339
+ 'fabric.editor.breakout.resizeElement': '⁣⁢Resize element‍‍‌⁡‌⁡⁠‌⁡‌؜⁡‍⁠⁣⁤',
340
+ 'fabric.editor.breakout.resizeExpand': '⁣⁢Resize expand‍‌⁡⁡؜⁡؜‌‍⁠⁣⁤',
341
+ 'fabric.editor.breakout.resizeLayout': '⁣⁢Resize layout⁡‍‌‍⁠⁠⁠⁣⁤',
338
342
  'fabric.editor.breakoutFullWidthLabel': '⁣⁢Full-width‍⁡؜⁡‌؜⁠؜⁡‍⁣⁤',
339
343
  'fabric.editor.breakoutWideWidthLabel': '⁣⁢Wide؜⁡؜؜؜‌⁡‍⁠‌⁣⁤',
340
344
  'fabric.editor.bug': '⁣⁢Bug؜⁡‌⁡‍⁠⁡‍⁡؜⁡⁣⁤',
@@ -782,6 +782,8 @@ export default {
782
782
  'fabric.editor.toolbarMediaTitle': 'Dodaj sliku, videozapis ili datoteku',
783
783
  'fabric.editor.toolbarPositionFixedAtTop': 'Fiksirano na vrhu',
784
784
  'fabric.editor.toolbarPositionInline': 'U liniji s tekstom',
785
+ 'fabric.editor.toolbarPositionPinedAtTop': 'Otkvači alatnu traku',
786
+ 'fabric.editor.toolbarPositionUnpined': 'Prikvači alatnu traku na vrhu',
785
787
  'fabric.editor.tooltip.blockPanel': 'ploča',
786
788
  'fabric.editor.tooltip.bulletList': 'popis',
787
789
  'fabric.editor.tooltip.decisionList': 'popis odluka',