@atlaskit/editor-common 75.5.1 → 75.6.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 (52) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/analytics/fire-analytics-event.js +2 -1
  3. package/dist/cjs/analytics/index.js +6 -0
  4. package/dist/cjs/monitoring/error.js +1 -1
  5. package/dist/cjs/styles/shared/shadow.js +2 -1
  6. package/dist/cjs/ui/DropList/index.js +1 -1
  7. package/dist/cjs/ui-menu/ColorPickerButton/index.js +204 -0
  8. package/dist/cjs/ui-menu/DropdownContainer/index.js +33 -0
  9. package/dist/cjs/ui-menu/index.js +14 -0
  10. package/dist/cjs/utils/index.js +29 -2
  11. package/dist/cjs/utils/nodes.js +13 -2
  12. package/dist/es2019/analytics/fire-analytics-event.js +1 -1
  13. package/dist/es2019/analytics/index.js +1 -1
  14. package/dist/es2019/monitoring/error.js +1 -1
  15. package/dist/es2019/styles/shared/shadow.js +5 -2
  16. package/dist/es2019/ui/DropList/index.js +1 -1
  17. package/dist/es2019/ui-menu/ColorPickerButton/index.js +212 -0
  18. package/dist/es2019/ui-menu/DropdownContainer/index.js +21 -0
  19. package/dist/es2019/ui-menu/index.js +3 -1
  20. package/dist/es2019/utils/index.js +21 -2
  21. package/dist/es2019/utils/nodes.js +9 -1
  22. package/dist/esm/analytics/fire-analytics-event.js +1 -1
  23. package/dist/esm/analytics/index.js +1 -1
  24. package/dist/esm/monitoring/error.js +1 -1
  25. package/dist/esm/styles/shared/shadow.js +2 -1
  26. package/dist/esm/ui/DropList/index.js +1 -1
  27. package/dist/esm/ui-menu/ColorPickerButton/index.js +197 -0
  28. package/dist/esm/ui-menu/DropdownContainer/index.js +23 -0
  29. package/dist/esm/ui-menu/index.js +3 -1
  30. package/dist/esm/utils/index.js +18 -2
  31. package/dist/esm/utils/nodes.js +9 -1
  32. package/dist/types/analytics/fire-analytics-event.d.ts +2 -0
  33. package/dist/types/analytics/index.d.ts +1 -1
  34. package/dist/types/ui/DropList/index.d.ts +1 -1
  35. package/dist/types/ui/index.d.ts +1 -0
  36. package/dist/types/ui-menu/ColorPickerButton/index.d.ts +28 -0
  37. package/dist/types/ui-menu/DropdownContainer/index.d.ts +3 -0
  38. package/dist/types/ui-menu/ToolbarButton/index.d.ts +1 -1
  39. package/dist/types/ui-menu/index.d.ts +2 -0
  40. package/dist/types/utils/index.d.ts +2 -0
  41. package/dist/types/utils/nodes.d.ts +3 -0
  42. package/dist/types-ts4.5/analytics/fire-analytics-event.d.ts +2 -0
  43. package/dist/types-ts4.5/analytics/index.d.ts +1 -1
  44. package/dist/types-ts4.5/ui/DropList/index.d.ts +1 -1
  45. package/dist/types-ts4.5/ui/index.d.ts +1 -0
  46. package/dist/types-ts4.5/ui-menu/ColorPickerButton/index.d.ts +28 -0
  47. package/dist/types-ts4.5/ui-menu/DropdownContainer/index.d.ts +3 -0
  48. package/dist/types-ts4.5/ui-menu/ToolbarButton/index.d.ts +1 -1
  49. package/dist/types-ts4.5/ui-menu/index.d.ts +2 -0
  50. package/dist/types-ts4.5/utils/index.d.ts +2 -0
  51. package/dist/types-ts4.5/utils/nodes.d.ts +3 -0
  52. package/package.json +8 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 75.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`16a0e1fef2b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/16a0e1fef2b) - ED-20017 Decouple editor core from floating toolbar plugin
8
+
9
+ ## 75.5.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [`d5088ec1cdf`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d5088ec1cdf) - [ED-16733] Prepare Media plugin for extraction
14
+ - [`05b9c2db1dc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/05b9c2db1dc) - [ux] Increase visibility of table scroll shadows
15
+
3
16
  ## 75.5.1
4
17
 
5
18
  ### Patch Changes
@@ -3,10 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.fireAnalyticsEvent = void 0;
6
+ exports.fireAnalyticsEvent = exports.editorAnalyticsChannel = void 0;
7
7
  var _analyticsListeners = require("@atlaskit/analytics-listeners");
8
8
  var _analyticsQueue = require("./analytics-queue");
9
9
  var editorAnalyticsChannel = _analyticsListeners.FabricChannel.editor;
10
+ exports.editorAnalyticsChannel = editorAnalyticsChannel;
10
11
  var fireAnalyticsEvent = function fireAnalyticsEvent(createAnalyticsEvent) {
11
12
  return function (_ref) {
12
13
  var payload = _ref.payload,
@@ -255,6 +255,12 @@ Object.defineProperty(exports, "buildVisitedLinkPayload", {
255
255
  return _linkingUtils.buildVisitedLinkPayload;
256
256
  }
257
257
  });
258
+ Object.defineProperty(exports, "editorAnalyticsChannel", {
259
+ enumerable: true,
260
+ get: function get() {
261
+ return _fireAnalyticsEvent.editorAnalyticsChannel;
262
+ }
263
+ });
258
264
  Object.defineProperty(exports, "fireAnalyticsEvent", {
259
265
  enumerable: true,
260
266
  get: function get() {
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  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; }
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 = "75.5.1";
19
+ var packageVersion = "75.6.0";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -8,6 +8,7 @@ exports.shadowSharedStyle = 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");
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _colors = require("@atlaskit/theme/colors");
12
13
  var _OverflowShadow = require("../../ui/OverflowShadow");
13
14
  var _shadowObserver = require("../../ui/OverflowShadow/shadowObserver");
@@ -29,5 +30,5 @@ var shadowWidth = 8;
29
30
  * background-attachment: local, local, scroll, scroll;
30
31
  */
31
32
 
32
- var shadowSharedStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n &\n .", "::before,\n .", "::after,\n .", "::before,\n .", "::after {\n display: none;\n position: absolute;\n pointer-events: none;\n z-index: ", ";\n width: ", "px;\n content: '';\n /* Scrollbar is outside the content in IE, inset in other browsers. */\n height: calc(100%);\n }\n\n & .", ", .", " {\n position: relative;\n }\n\n & .", "::before {\n background: linear-gradient(\n to left,\n transparent 0,\n ", " 100%\n ),\n linear-gradient(\n to right,\n ", " 0px,\n transparent 1px\n );\n top: 0px;\n left: 0;\n display: block;\n }\n\n & .", "::after {\n background: linear-gradient(\n to right,\n transparent 0,\n ", " 100%\n ),\n linear-gradient(\n to left,\n ", " 0px,\n transparent 1px\n );\n left: calc(100% - ", "px);\n top: 0px;\n display: block;\n }\n\n & .", " {\n height: 100%;\n width: 0px;\n min-width: 0px;\n }\n\n & .", " {\n height: 100%;\n width: 0px;\n min-width: 0px;\n }\n"])), _OverflowShadow.shadowClassNames.RIGHT_SHADOW, _OverflowShadow.shadowClassNames.RIGHT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, _editorSharedStyles.akEditorShadowZIndex, shadowWidth, _OverflowShadow.shadowClassNames.RIGHT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, "var(--ds-shadow-overflow-spread, ".concat(_colors.N40A, ")"), "var(--ds-shadow-overflow-perimeter, transparent)", _OverflowShadow.shadowClassNames.RIGHT_SHADOW, "var(--ds-shadow-overflow-spread, ".concat(_colors.N40A, ")"), "var(--ds-shadow-overflow-perimeter, transparent)", shadowWidth, _shadowObserver.shadowObserverClassNames.SENTINEL_LEFT, _shadowObserver.shadowObserverClassNames.SENTINEL_RIGHT);
33
+ var shadowSharedStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n &\n .", "::before,\n .", "::after,\n .", "::before,\n .", "::after {\n display: none;\n position: absolute;\n pointer-events: none;\n z-index: ", ";\n width: ", "px;\n content: '';\n /* Scrollbar is outside the content in IE, inset in other browsers. */\n height: calc(100%);\n }\n\n & .", ", .", " {\n position: relative;\n }\n\n & .", "::before {\n background: linear-gradient(\n to left,\n transparent 0,\n ", "\n ", "%\n ),\n linear-gradient(\n to right,\n ", " 0px,\n transparent 1px\n );\n top: 0px;\n left: 0;\n display: block;\n }\n\n & .", "::after {\n background: linear-gradient(\n to right,\n transparent 0,\n ", "\n ", "%\n ),\n linear-gradient(\n to left,\n ", " 0px,\n transparent 1px\n );\n left: calc(100% - ", "px);\n top: 0px;\n display: block;\n }\n\n & .", " {\n height: 100%;\n width: 0px;\n min-width: 0px;\n }\n\n & .", " {\n height: 100%;\n width: 0px;\n min-width: 0px;\n }\n"])), _OverflowShadow.shadowClassNames.RIGHT_SHADOW, _OverflowShadow.shadowClassNames.RIGHT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, _editorSharedStyles.akEditorShadowZIndex, shadowWidth, _OverflowShadow.shadowClassNames.RIGHT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, _OverflowShadow.shadowClassNames.LEFT_SHADOW, "var(--ds-shadow-overflow-spread, ".concat(_colors.N40A, ")"), (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.increase-shadow-visibility_lh89r') ? 140 : 100, "var(--ds-shadow-overflow-perimeter, transparent)", _OverflowShadow.shadowClassNames.RIGHT_SHADOW, "var(--ds-shadow-overflow-spread, ".concat(_colors.N40A, ")"), (0, _platformFeatureFlags.getBooleanFF)('platform.editor.table.increase-shadow-visibility_lh89r') ? 140 : 100, "var(--ds-shadow-overflow-perimeter, transparent)", shadowWidth, _shadowObserver.shadowObserverClassNames.SENTINEL_LEFT, _shadowObserver.shadowObserverClassNames.SENTINEL_RIGHT);
33
34
  exports.shadowSharedStyle = shadowSharedStyle;
@@ -24,7 +24,7 @@ var _templateObject, _templateObject2, _templateObject3;
24
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
25
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "75.5.1";
27
+ var packageVersion = "75.6.0";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _react2 = require("@emotion/react");
12
+ var _analyticsNext = require("@atlaskit/analytics-next");
13
+ var _button = _interopRequireDefault(require("@atlaskit/button"));
14
+ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
15
+ var _colors = require("@atlaskit/theme/colors");
16
+ var _components = require("@atlaskit/theme/components");
17
+ var _constants = require("@atlaskit/theme/constants");
18
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
19
+ var _analytics = require("../../analytics");
20
+ var _uiColor = require("../../ui-color");
21
+ var _Popup = _interopRequireDefault(require("../../ui/Popup"));
22
+ var _withOuterListeners = _interopRequireDefault(require("../../ui/with-outer-listeners"));
23
+ var _ArrowKeyNavigationProvider = require("../ArrowKeyNavigationProvider");
24
+ var _types = require("../ArrowKeyNavigationProvider/types");
25
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
26
+ /** @jsx jsx */
27
+ // helps adjusts position of popup
28
+ var colorPickerButtonWrapper = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
29
+ var colorPickerExpandContainer = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0px ", ";\n"])), "var(--ds-space-negative-050, -4px)");
30
+
31
+ // Control the size of color picker buttons and preview
32
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4134
33
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
34
+ var colorPickerWrapper = function colorPickerWrapper(theme) {
35
+ return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n border-radius: ", "px;\n background-color: ", ";\n box-shadow: 0 4px 8px -2px ", ", 0 0 1px ", ";\n padding: ", " 0px;\n"])), (0, _constants.borderRadius)(), (0, _components.themed)({
36
+ light: "var(--ds-surface-overlay, ".concat(_colors.N0, ")"),
37
+ dark: "var(--ds-surface-overlay, ".concat(_colors.DN50, ")")
38
+ })(theme), _colors.N60A, _colors.N60A, "var(--ds-space-100, 8px)");
39
+ };
40
+ /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
41
+
42
+ var ColorPaletteWithListeners = (0, _withOuterListeners.default)(_uiColor.ColorPalette);
43
+ var ColorPickerButton = function ColorPickerButton(props) {
44
+ var buttonRef = _react.default.useRef(null);
45
+ var _React$useState = _react.default.useState(false),
46
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
47
+ isPopupOpen = _React$useState2[0],
48
+ setIsPopupOpen = _React$useState2[1];
49
+ var _React$useState3 = _react.default.useState(false),
50
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
51
+ isPopupPositioned = _React$useState4[0],
52
+ setIsPopupPositioned = _React$useState4[1];
53
+ var _React$useState5 = _react.default.useState(false),
54
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
55
+ isOpenedByKeyboard = _React$useState6[0],
56
+ setIsOpenedByKeyboard = _React$useState6[1];
57
+ var togglePopup = function togglePopup() {
58
+ setIsPopupOpen(!isPopupOpen);
59
+ if (!isPopupOpen) {
60
+ setIsOpenedByKeyboard(false);
61
+ setIsPopupPositioned(false);
62
+ }
63
+ };
64
+ _react.default.useEffect(function () {
65
+ if (props.setDisableParentScroll) {
66
+ props.setDisableParentScroll(isPopupOpen);
67
+ }
68
+ // eslint-disable-next-line react-hooks/exhaustive-deps
69
+ }, [isPopupOpen]);
70
+ var focusButton = function focusButton() {
71
+ var _buttonRef$current;
72
+ (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
73
+ };
74
+ var handleEsc = _react.default.useCallback(function () {
75
+ setIsOpenedByKeyboard(false);
76
+ setIsPopupPositioned(false);
77
+ setIsPopupOpen(false);
78
+ focusButton();
79
+ }, []);
80
+ var onPositionCalculated = _react.default.useCallback(function (position) {
81
+ setIsPopupPositioned(true);
82
+ return position;
83
+ }, []);
84
+ var onChange = props.onChange,
85
+ createAnalyticsEvent = props.createAnalyticsEvent,
86
+ colorPalette = props.colorPalette,
87
+ placement = props.placement,
88
+ skipFocusButtonAfterPick = props.skipFocusButtonAfterPick;
89
+ var onColorSelected = _react.default.useCallback(function (color, label) {
90
+ setIsOpenedByKeyboard(false);
91
+ setIsPopupOpen(false);
92
+ setIsPopupPositioned(false);
93
+ if (onChange) {
94
+ if (createAnalyticsEvent) {
95
+ // fire analytics
96
+ var payload = {
97
+ action: _analytics.ACTION.UPDATED,
98
+ actionSubject: _analytics.ACTION_SUBJECT.PICKER,
99
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.PICKER_COLOR,
100
+ attributes: {
101
+ color: color,
102
+ label: label,
103
+ placement: placement
104
+ },
105
+ eventType: _analytics.EVENT_TYPE.TRACK
106
+ };
107
+ createAnalyticsEvent(payload).fire(_analytics.editorAnalyticsChannel);
108
+ }
109
+ var newPalette = colorPalette.find(function (colorPalette) {
110
+ return colorPalette.value === color;
111
+ });
112
+ newPalette && onChange(newPalette);
113
+ }
114
+ if (!skipFocusButtonAfterPick) {
115
+ focusButton();
116
+ }
117
+ }, [colorPalette, onChange, createAnalyticsEvent, placement, skipFocusButtonAfterPick]);
118
+ var renderPopup = function renderPopup() {
119
+ if (!isPopupOpen || !buttonRef.current) {
120
+ return;
121
+ }
122
+ var selectedColor = props.currentColor || null;
123
+ var _getSelectedRowAndCol = (0, _uiColor.getSelectedRowAndColumnFromPalette)(props.colorPalette, selectedColor, props.cols),
124
+ selectedRowIndex = _getSelectedRowAndCol.selectedRowIndex,
125
+ selectedColumnIndex = _getSelectedRowAndCol.selectedColumnIndex;
126
+ return (0, _react2.jsx)(_Popup.default, {
127
+ target: buttonRef.current,
128
+ fitHeight: 350,
129
+ fitWidth: 350,
130
+ offset: [0, 10],
131
+ alignX: props.alignX,
132
+ mountTo: props.setDisableParentScroll ? props.mountPoint : undefined
133
+ // Confluence inline comment editor has z-index: 500
134
+ // if the toolbar is scrollable, this will be mounted in the root editor
135
+ // we need an index of > 500 to display over it
136
+ ,
137
+ zIndex: props.setDisableParentScroll ? 600 : undefined,
138
+ ariaLabel: "Color picker popup",
139
+ onPositionCalculated: onPositionCalculated
140
+ }, (0, _react2.jsx)("div", {
141
+ css: colorPickerWrapper,
142
+ "data-test-id": "color-picker-menu"
143
+ }, (0, _react2.jsx)(_ArrowKeyNavigationProvider.ArrowKeyNavigationProvider, {
144
+ type: _types.ArrowKeyNavigationType.COLOR,
145
+ selectedRowIndex: selectedRowIndex,
146
+ selectedColumnIndex: selectedColumnIndex,
147
+ closeOnTab: true,
148
+ handleClose: function handleClose() {
149
+ return setIsPopupOpen(false);
150
+ },
151
+ isOpenedByKeyboard: isOpenedByKeyboard,
152
+ isPopupPositioned: isPopupPositioned
153
+ }, (0, _react2.jsx)(ColorPaletteWithListeners, {
154
+ cols: props.cols,
155
+ selectedColor: selectedColor,
156
+ onClick: onColorSelected,
157
+ handleClickOutside: togglePopup,
158
+ handleEscapeKeydown: handleEsc,
159
+ paletteOptions: {
160
+ palette: props.colorPalette,
161
+ hexToPaletteColor: props.hexToPaletteColor,
162
+ paletteColorTooltipMessages: props.paletteColorTooltipMessages
163
+ }
164
+ }))));
165
+ };
166
+ var title = props.title || '';
167
+ var currentColor = props.currentColor && props.hexToPaletteColor ? props.hexToPaletteColor(props.currentColor) : props.currentColor;
168
+ var buttonStyle = function buttonStyle(theme) {
169
+ var _props$size, _props$size2, _props$size3;
170
+ return (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0 10px;\n background-color: ", ";\n ", "\n &:before {\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: center;\n content: '';\n border: 1px solid ", ";\n border-radius: ", "px;\n background-color: ", ";\n width: ", ";\n height: ", ";\n padding: 0;\n margin: 0px ", ";\n }\n &:hover {\n background: ", ";\n }\n "])), "var(--ds-background-neutral-subtle, transparent)", /* If custom props size height, override the button base height property */
171
+ !!((_props$size = props.size) !== null && _props$size !== void 0 && _props$size.height) && "height: inherit;", _uiColor.DEFAULT_BORDER_COLOR, (0, _constants.borderRadius)(), currentColor || 'transparent', ((_props$size2 = props.size) === null || _props$size2 === void 0 ? void 0 : _props$size2.width) || '14px', ((_props$size3 = props.size) === null || _props$size3 === void 0 ? void 0 : _props$size3.height) || '14px', "var(--ds-space-025, 2px)", (0, _components.themed)({
172
+ light: "var(--ds-background-neutral-subtle-hovered, ".concat(_colors.N30A, ")"),
173
+ dark: "var(--ds-background-neutral-subtle-hovered, ".concat(_colors.N30A, ")")
174
+ })(theme));
175
+ };
176
+ return (0, _react2.jsx)("div", {
177
+ css: colorPickerButtonWrapper
178
+ }, (0, _react2.jsx)(_tooltip.default, {
179
+ content: title,
180
+ position: "top"
181
+ }, (0, _react2.jsx)(_button.default, {
182
+ ref: buttonRef,
183
+ "aria-label": title,
184
+ spacing: "compact",
185
+ onClick: togglePopup,
186
+ onKeyDown: function onKeyDown(event) {
187
+ if (event.key === 'Enter' || event.key === ' ') {
188
+ event.preventDefault();
189
+ togglePopup();
190
+ setIsOpenedByKeyboard(true);
191
+ }
192
+ },
193
+ css: buttonStyle,
194
+ iconAfter: (0, _react2.jsx)("span", {
195
+ css: colorPickerExpandContainer
196
+ }, (0, _react2.jsx)(_chevronDown.default, {
197
+ label: ""
198
+ }))
199
+ })), renderPopup());
200
+ };
201
+ var _default = (0, _analyticsNext.withAnalyticsContext)({
202
+ source: 'ConfigPanel'
203
+ })((0, _analyticsNext.withAnalyticsEvents)()(ColorPickerButton));
204
+ exports.default = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.DropdownContainer = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _react2 = require("@emotion/react");
14
+ var _Dropdown = _interopRequireDefault(require("../Dropdown"));
15
+ var _ToolbarArrowKeyNavigationProvider = require("../ToolbarArrowKeyNavigationProvider");
16
+ 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); }
17
+ 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; }
18
+ 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; }
19
+ 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 */
20
+ var DropdownContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
21
+ var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
22
+ var keyDownHandlerContext = (0, _react.useContext)(_ToolbarArrowKeyNavigationProvider.KeyDownHandlerContext);
23
+ return (
24
+ //This context is to handle the tab, Arrow Right/Left key events for dropdown.
25
+ //Default context has the void callbacks for above key events
26
+ (0, _react2.jsx)(_Dropdown.default, (0, _extends2.default)({
27
+ arrowKeyNavigationProviderOptions: _objectSpread(_objectSpread({}, props.arrowKeyNavigationProviderOptions), {}, {
28
+ keyDownHandlerContext: keyDownHandlerContext
29
+ })
30
+ }, props))
31
+ );
32
+ });
33
+ exports.DropdownContainer = DropdownContainer;
@@ -23,12 +23,24 @@ Object.defineProperty(exports, "ColorPaletteArrowKeyNavigationProvider", {
23
23
  return _ColorPaletteArrowKeyNavigationProvider.ColorPaletteArrowKeyNavigationProvider;
24
24
  }
25
25
  });
26
+ Object.defineProperty(exports, "ColorPickerButton", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _ColorPickerButton.default;
30
+ }
31
+ });
26
32
  Object.defineProperty(exports, "Dropdown", {
27
33
  enumerable: true,
28
34
  get: function get() {
29
35
  return _Dropdown.default;
30
36
  }
31
37
  });
38
+ Object.defineProperty(exports, "DropdownContainer", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _DropdownContainer.DropdownContainer;
42
+ }
43
+ });
32
44
  Object.defineProperty(exports, "DropdownMenu", {
33
45
  enumerable: true,
34
46
  get: function get() {
@@ -72,5 +84,7 @@ var _ToolbarArrowKeyNavigationProvider = require("./ToolbarArrowKeyNavigationPro
72
84
  var _types = require("./ArrowKeyNavigationProvider/types");
73
85
  var _ColorPaletteArrowKeyNavigationProvider = require("./ArrowKeyNavigationProvider/ColorPaletteArrowKeyNavigationProvider");
74
86
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
87
+ var _ColorPickerButton = _interopRequireDefault(require("./ColorPickerButton"));
88
+ var _DropdownContainer = require("./DropdownContainer");
75
89
  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); }
76
90
  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; }
@@ -590,6 +590,7 @@ Object.defineProperty(exports, "isFromCurrentDomain", {
590
590
  return _hyperlink.isFromCurrentDomain;
591
591
  }
592
592
  });
593
+ exports.isInEmptyLine = isInEmptyLine;
593
594
  Object.defineProperty(exports, "isInLayoutColumn", {
594
595
  enumerable: true,
595
596
  get: function get() {
@@ -791,6 +792,12 @@ Object.defineProperty(exports, "measureTTI", {
791
792
  return _measureTti.measureTTI;
792
793
  }
793
794
  });
795
+ Object.defineProperty(exports, "nodeToJSON", {
796
+ enumerable: true,
797
+ get: function get() {
798
+ return _nodes.nodeToJSON;
799
+ }
800
+ });
794
801
  Object.defineProperty(exports, "nodesBetweenChanged", {
795
802
  enumerable: true,
796
803
  get: function get() {
@@ -949,6 +956,12 @@ Object.defineProperty(exports, "timestampToUTCDate", {
949
956
  return _date.timestampToUTCDate;
950
957
  }
951
958
  });
959
+ Object.defineProperty(exports, "toJSON", {
960
+ enumerable: true,
961
+ get: function get() {
962
+ return _nodes.toJSON;
963
+ }
964
+ });
952
965
  Object.defineProperty(exports, "todayTimestampInUTC", {
953
966
  enumerable: true,
954
967
  get: function get() {
@@ -1022,12 +1035,13 @@ Object.defineProperty(exports, "wrapSelectionIn", {
1022
1035
  }
1023
1036
  });
1024
1037
  var _utils = require("@atlaskit/editor-prosemirror/utils");
1038
+ var _document = require("./document");
1039
+ var _editorCoreUtils = require("./editor-core-utils");
1025
1040
  var _annotation = require("./annotation");
1026
1041
  var _macro = require("./macro");
1027
1042
  var _browser = _interopRequireDefault(require("./browser"));
1028
1043
  var _errorReporter = _interopRequireDefault(require("./error-reporter"));
1029
1044
  var _date = require("./date");
1030
- var _editorCoreUtils = require("./editor-core-utils");
1031
1045
  var _imageLoader = require("./imageLoader");
1032
1046
  var _breakout = require("./breakout");
1033
1047
  var _nodes = require("./nodes");
@@ -1062,7 +1076,6 @@ var _referentiality = require("./referentiality");
1062
1076
  var _list = require("./list");
1063
1077
  var _hyperlink = require("./hyperlink");
1064
1078
  var _grid = require("./grid");
1065
- var _document = require("./document");
1066
1079
  var _richMediaUtils = require("./rich-media-utils");
1067
1080
  var _privacyFilter = require("./filter/privacy-filter");
1068
1081
  var _datasource = require("./datasource");
@@ -1227,4 +1240,18 @@ function isNodeEmpty(node) {
1227
1240
  return !nonBlock.length && !block.filter(function (childNode) {
1228
1241
  return !!childNode.childCount && !(childNode.childCount === 1 && (0, _editorCoreUtils.isEmptyParagraph)(childNode.firstChild)) || childNode.isAtom;
1229
1242
  }).length;
1243
+ }
1244
+ function isInEmptyLine(state) {
1245
+ var selection = state.selection;
1246
+ var _ref = selection,
1247
+ $cursor = _ref.$cursor,
1248
+ $anchor = _ref.$anchor;
1249
+ if (!$cursor) {
1250
+ return false;
1251
+ }
1252
+ var node = $cursor.node();
1253
+ if (!node) {
1254
+ return false;
1255
+ }
1256
+ return (0, _editorCoreUtils.isEmptyParagraph)(node) && (0, _document.hasDocAsParent)($anchor);
1230
1257
  }
@@ -3,7 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.validateNodes = exports.validNode = exports.isType = exports.isText = exports.isSupportedInParent = exports.isParagraph = exports.isNodeSelectedOrInRange = exports.isNodeBeforeMediaNode = exports.isMediaNode = exports.isLinkMark = exports.findChangedNodesFromTransaction = exports.SelectedState = void 0;
6
+ exports.isType = exports.isText = exports.isSupportedInParent = exports.isParagraph = exports.isNodeSelectedOrInRange = exports.isNodeBeforeMediaNode = exports.isMediaNode = exports.isLinkMark = exports.findChangedNodesFromTransaction = exports.SelectedState = void 0;
7
+ exports.nodeToJSON = nodeToJSON;
8
+ exports.toJSON = toJSON;
9
+ exports.validateNodes = exports.validNode = void 0;
10
+ var _editorJsonTransformer = require("@atlaskit/editor-json-transformer");
7
11
  var _utils = require("@atlaskit/editor-prosemirror/utils");
8
12
  /**
9
13
  * Finds all top level nodes affected by the transaction
@@ -144,4 +148,11 @@ var isNodeBeforeMediaNode = function isNodeBeforeMediaNode($pos, state) {
144
148
  }
145
149
  return false;
146
150
  };
147
- exports.isNodeBeforeMediaNode = isNodeBeforeMediaNode;
151
+ exports.isNodeBeforeMediaNode = isNodeBeforeMediaNode;
152
+ var transformer = new _editorJsonTransformer.JSONTransformer();
153
+ function toJSON(node) {
154
+ return transformer.encode(node);
155
+ }
156
+ function nodeToJSON(node) {
157
+ return transformer.encodeNode(node);
158
+ }
@@ -1,6 +1,6 @@
1
1
  import { FabricChannel } from '@atlaskit/analytics-listeners';
2
2
  import { AnalyticsQueue } from './analytics-queue';
3
- const editorAnalyticsChannel = FabricChannel.editor;
3
+ export const editorAnalyticsChannel = FabricChannel.editor;
4
4
  export const fireAnalyticsEvent = createAnalyticsEvent => ({
5
5
  payload,
6
6
  channel = editorAnalyticsChannel
@@ -1,4 +1,4 @@
1
1
  export { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, BROWSER_FREEZE_INTERACTION_TYPE, CONTENT_COMPONENT, DELETE_DIRECTION, EVENT_TYPE, FLOATING_CONTROLS_TITLE, FULL_WIDTH_MODE, GAP_CURSOR_POSITION, INDENT_DIRECTION, INDENT_TYPE, INPUT_METHOD, LAYOUT_TYPE, LINK_REPRESENTATION, LINK_RESOURCE, LINK_STATUS, LIST_TEXT_SCENARIOS, JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST, OUTDENT_SCENARIOS, MODE, PLATFORMS, PUNC, PasteContents, PasteSources, PasteTypes, RESOLVE_METHOD, SELECTION_TYPE, SELECTION_POSITION, SMART_LINK_TYPE, SYMBOL, SmartLinkNodeContexts, TABLE_ACTION, TABLE_BREAKOUT, TABLE_OVERFLOW_CHANGE_TRIGGER, TARGET_SELECTION_SOURCE, TOOLBAR_ACTION_SUBJECT_ID, TRIGGER_METHOD, USER_CONTEXT } from './types';
2
- export { fireAnalyticsEvent } from './fire-analytics-event';
2
+ export { editorAnalyticsChannel, fireAnalyticsEvent } from './fire-analytics-event';
3
3
  export { getAnalyticsEventsFromTransaction } from './utils';
4
4
  export { buildEditLinkPayload, buildVisitedLinkPayload, buildOpenedSettingsPayload, unlinkPayload } from './linking-utils';
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "75.5.1";
3
+ const packageVersion = "75.6.0";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { css } from '@emotion/react';
4
4
  import { akEditorShadowZIndex } from '@atlaskit/editor-shared-styles';
5
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
5
6
  import { N40A } from '@atlaskit/theme/colors';
6
7
  import { shadowClassNames } from '../../ui/OverflowShadow';
7
8
  import { shadowObserverClassNames } from '../../ui/OverflowShadow/shadowObserver';
@@ -45,7 +46,8 @@ const shadowSharedStyle = css`
45
46
  background: linear-gradient(
46
47
  to left,
47
48
  transparent 0,
48
- ${`var(--ds-shadow-overflow-spread, ${N40A})`} 100%
49
+ ${`var(--ds-shadow-overflow-spread, ${N40A})`}
50
+ ${getBooleanFF('platform.editor.table.increase-shadow-visibility_lh89r') ? 140 : 100}%
49
51
  ),
50
52
  linear-gradient(
51
53
  to right,
@@ -61,7 +63,8 @@ const shadowSharedStyle = css`
61
63
  background: linear-gradient(
62
64
  to right,
63
65
  transparent 0,
64
- ${`var(--ds-shadow-overflow-spread, ${N40A})`} 100%
66
+ ${`var(--ds-shadow-overflow-spread, ${N40A})`}
67
+ ${getBooleanFF('platform.editor.table.increase-shadow-visibility_lh89r') ? 140 : 100}%
65
68
  ),
66
69
  linear-gradient(
67
70
  to left,
@@ -9,7 +9,7 @@ import { themed } from '@atlaskit/theme/components';
9
9
  import { borderRadius } from '@atlaskit/theme/constants';
10
10
  import Layer from '../Layer';
11
11
  const packageName = "@atlaskit/editor-common";
12
- const packageVersion = "75.5.1";
12
+ const packageVersion = "75.6.0";
13
13
  const halfFocusRing = 1;
14
14
  const dropOffset = '0, 8';
15
15
  class DropList extends Component {