@atlaskit/editor-common 74.53.1 → 74.54.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 74.54.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`b08849ad727`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b08849ad727) - [ux] Added tooltip to table column resize handles, also added a tooltip to the custom table width table resizer handle
8
+
3
9
  ## 74.53.1
4
10
 
5
11
  ### Patch Changes
@@ -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 = "74.53.1";
19
+ var packageVersion = "74.54.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
@@ -11,16 +11,16 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
- var _classnames3 = _interopRequireDefault(require("classnames"));
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _reResizable = require("re-resizable");
16
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
16
17
  var _resizer = require("../styles/shared/resizer");
17
- var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleHeightSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "innerPadding", "snap", "snapGap", "handleMarginTop", "isHandleVisible"];
18
+ var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleHeightSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "innerPadding", "snap", "snapGap", "handleMarginTop", "isHandleVisible", "handleComponent", "handleHighlight", "handleTooltipContent"];
18
19
  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); }
19
20
  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; }
20
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
22
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
23
  function ResizerNext(props) {
23
- var _classnames, _classnames2;
24
24
  var _useState = (0, _react.useState)(false),
25
25
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
26
  isResizing = _useState2[0],
@@ -49,6 +49,10 @@ function ResizerNext(props) {
49
49
  handleMarginTop = props.handleMarginTop,
50
50
  _props$isHandleVisibl = props.isHandleVisible,
51
51
  isHandleVisible = _props$isHandleVisibl === void 0 ? false : _props$isHandleVisibl,
52
+ handleComponent = props.handleComponent,
53
+ _props$handleHighligh = props.handleHighlight,
54
+ handleHighlight = _props$handleHighligh === void 0 ? 'none' : _props$handleHighligh,
55
+ handleTooltipContent = props.handleTooltipContent,
52
56
  otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
53
57
  var onResizeStart = _react.default.useCallback(function (event) {
54
58
  // prevent creating a drag event on Firefox
@@ -84,8 +88,8 @@ function ResizerNext(props) {
84
88
  handleResizeStop(originalState, delta);
85
89
  }, [handleResizeStop]);
86
90
  var handles = {
87
- left: (0, _classnames3.default)(_resizer.resizerHandleClassName[handleHeightSize], (_classnames = {}, (0, _defineProperty2.default)(_classnames, "".concat(handleClassName, "-left"), !!handleClassName), (0, _defineProperty2.default)(_classnames, _resizer.resizerHandleLeftClassName, !handleClassName), (0, _defineProperty2.default)(_classnames, _resizer.resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames)),
88
- right: (0, _classnames3.default)(_resizer.resizerHandleClassName[handleHeightSize], (_classnames2 = {}, (0, _defineProperty2.default)(_classnames2, "".concat(handleClassName, "-right"), !!handleClassName), (0, _defineProperty2.default)(_classnames2, _resizer.resizerHandleRightClassName, !handleClassName), (0, _defineProperty2.default)(_classnames2, _resizer.resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames2))
91
+ left: (0, _classnames.default)(handleClassName !== null && handleClassName !== void 0 ? handleClassName : _resizer.resizerHandleClassName, 'left', handleHeightSize, handleAlignmentMethod),
92
+ right: (0, _classnames.default)(handleClassName !== null && handleClassName !== void 0 ? handleClassName : _resizer.resizerHandleClassName, 'right', handleHeightSize, handleAlignmentMethod)
89
93
  };
90
94
  var baseHandleStyles = {
91
95
  width: handlePositioning === 'adjacent' ? "var(--ds-space-100, 8px)" : "var(--ds-space-300, 24px)",
@@ -106,10 +110,59 @@ function ResizerNext(props) {
106
110
  right: offset
107
111
  }, handleStyles === null || handleStyles === void 0 ? void 0 : handleStyles.right)
108
112
  };
109
- var resizerClassName = (0, _classnames3.default)(className, _resizer.resizerItemClassName, {
113
+ var resizerClassName = (0, _classnames.default)(className, _resizer.resizerItemClassName, {
110
114
  'is-resizing': isResizing,
111
115
  'display-handle': isHandleVisible
112
116
  }, appearance);
117
+ var finalHandleComponent = (0, _react.useMemo)(function () {
118
+ if ((!handleHighlight || handleHighlight === 'none') && !handleTooltipContent && !handleComponent) {
119
+ return {
120
+ left: /*#__PURE__*/_react.default.createElement("div", {
121
+ className: _resizer.resizerHandleThumbClassName
122
+ }),
123
+ right: /*#__PURE__*/_react.default.createElement("div", {
124
+ className: _resizer.resizerHandleThumbClassName
125
+ })
126
+ };
127
+ }
128
+
129
+ // If the handleComponent is set by the parent, then they're taking over control of the handle
130
+ if (handleComponent) {
131
+ return {
132
+ left: handleComponent.left && /*#__PURE__*/_react.default.cloneElement(handleComponent.left, {
133
+ className: _resizer.resizerHandleThumbClassName
134
+ }),
135
+ right: handleComponent.right && /*#__PURE__*/_react.default.cloneElement(handleComponent.right, {
136
+ className: _resizer.resizerHandleThumbClassName
137
+ })
138
+ };
139
+ }
140
+ var children = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
141
+ className: (0, _classnames.default)(_resizer.resizerHandleTrackClassName, handleHighlight)
142
+ }), /*#__PURE__*/_react.default.createElement("div", {
143
+ className: _resizer.resizerHandleThumbClassName
144
+ }));
145
+ if (!!handleTooltipContent) {
146
+ return {
147
+ left: /*#__PURE__*/_react.default.createElement(_tooltip.default, {
148
+ content: handleTooltipContent,
149
+ hideTooltipOnClick: true,
150
+ position: "mouse",
151
+ mousePosition: "auto-start"
152
+ }, children),
153
+ right: /*#__PURE__*/_react.default.createElement(_tooltip.default, {
154
+ content: handleTooltipContent,
155
+ hideTooltipOnClick: true,
156
+ position: "mouse",
157
+ mousePosition: "auto-start"
158
+ }, children)
159
+ };
160
+ }
161
+ return {
162
+ left: children,
163
+ right: children
164
+ };
165
+ }, [handleHighlight, handleTooltipContent, handleComponent]);
113
166
 
114
167
  // snapGap is usually a constant, if snap.x?.length is 0 and snapGap has a value resizer cannot be resized
115
168
  var snapGapActual = (0, _react.useMemo)(function () {
@@ -134,6 +187,7 @@ function ResizerNext(props) {
134
187
  onResizeStop: onResizeStop,
135
188
  resizeRatio: resizeRatio,
136
189
  snapGap: snapGapActual,
137
- snap: snap
190
+ snap: snap,
191
+ handleComponent: finalHandleComponent
138
192
  }, otherProps), children);
139
193
  }
@@ -237,10 +237,22 @@ Object.defineProperty(exports, "paragraphSharedStyles", {
237
237
  return _paragraph.paragraphSharedStyles;
238
238
  }
239
239
  });
240
- Object.defineProperty(exports, "resizerHandleShadowClassName", {
240
+ Object.defineProperty(exports, "resizerHandleClassName", {
241
241
  enumerable: true,
242
242
  get: function get() {
243
- return _resizer.resizerHandleShadowClassName;
243
+ return _resizer.resizerHandleClassName;
244
+ }
245
+ });
246
+ Object.defineProperty(exports, "resizerHandleThumbClassName", {
247
+ enumerable: true,
248
+ get: function get() {
249
+ return _resizer.resizerHandleThumbClassName;
250
+ }
251
+ });
252
+ Object.defineProperty(exports, "resizerHandleTrackClassName", {
253
+ enumerable: true,
254
+ get: function get() {
255
+ return _resizer.resizerHandleTrackClassName;
244
256
  }
245
257
  });
246
258
  Object.defineProperty(exports, "resizerStyles", {
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.resizerStyles = exports.resizerItemClassName = exports.resizerHandleZIndex = exports.resizerHandleStickyClassName = exports.resizerHandleSmallClassName = exports.resizerHandleShadowClassName = exports.resizerHandleRightClassName = exports.resizerHandleMediumClassName = exports.resizerHandleLeftClassName = exports.resizerHandleLargeClassName = exports.resizerHandleClassName = void 0;
7
+ exports.resizerStyles = exports.resizerItemClassName = exports.resizerHandleZIndex = exports.resizerHandleTrackClassName = exports.resizerHandleThumbClassName = exports.resizerHandleClassName = 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");
@@ -17,30 +17,16 @@ var _templateObject;
17
17
 
18
18
  var resizerItemClassName = 'resizer-item';
19
19
  exports.resizerItemClassName = resizerItemClassName;
20
- var resizerHandleRightClassName = 'resizer-handle-right';
21
- exports.resizerHandleRightClassName = resizerHandleRightClassName;
22
- var resizerHandleLeftClassName = 'resizer-handle-left';
23
- exports.resizerHandleLeftClassName = resizerHandleLeftClassName;
24
- var resizerHandleStickyClassName = 'resizer-handle-sticky';
25
- exports.resizerHandleStickyClassName = resizerHandleStickyClassName;
26
- var resizerHandleShadowClassName = 'resizer-handle-shadow';
20
+ var resizerHandleClassName = 'resizer-handle';
21
+ exports.resizerHandleClassName = resizerHandleClassName;
22
+ var resizerHandleTrackClassName = "".concat(resizerHandleClassName, "-track");
23
+ exports.resizerHandleTrackClassName = resizerHandleTrackClassName;
24
+ var resizerHandleThumbClassName = "".concat(resizerHandleClassName, "-thumb");
27
25
 
28
26
  // akEditorSelectedNodeClassName from '@atlaskit/editor-shared-styles';
29
- exports.resizerHandleShadowClassName = resizerHandleShadowClassName;
27
+ exports.resizerHandleThumbClassName = resizerHandleThumbClassName;
30
28
  var akEditorSelectedNodeClassName = 'ak-editor-selected-node';
31
29
  var resizerHandleZIndex = 99;
32
30
  exports.resizerHandleZIndex = resizerHandleZIndex;
33
- var resizerHandleSmallClassName = 'resizer-handle-small';
34
- exports.resizerHandleSmallClassName = resizerHandleSmallClassName;
35
- var resizerHandleMediumClassName = 'resizer-handle-medium';
36
- exports.resizerHandleMediumClassName = resizerHandleMediumClassName;
37
- var resizerHandleLargeClassName = 'resizer-handle-large';
38
- exports.resizerHandleLargeClassName = resizerHandleLargeClassName;
39
- var resizerHandleClassName = {
40
- small: resizerHandleSmallClassName,
41
- medium: resizerHandleMediumClassName,
42
- large: resizerHandleLargeClassName
43
- };
44
- exports.resizerHandleClassName = resizerHandleClassName;
45
- var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", ", .", " {\n display: flex;\n visibility: hidden;\n flex-direction: column;\n justify-content: center;\n width: 7px;\n transition: visibility 0.2s;\n }\n\n .", " {\n align-items: flex-end;\n }\n\n .", " {\n align-items: flex-start;\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n transition: background-color 0.2s;\n\n border-radius: 6px;\n }\n\n .", " {\n will-change: width;\n }\n\n .", ":hover\n .", ",\n .", ":hover\n .", ",\n .", ".display-handle\n .", ",\n .", ".display-handle\n .", " {\n visibility: visible;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after,\n .", ".display-handle\n .", "::after,\n .", ".display-handle\n .", "::after {\n background: ", ";\n }\n\n .", ".danger {\n &\n .", "::after,\n .", "::after {\n transition: none;\n background: ", ";\n }\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 64px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 43px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 96px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n position: sticky;\n top: 10px;\n bottom: 10px;\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s;\n }\n\n .", ":hover\n .", ",\n .", ":hover\n .", " {\n visibility: visible;\n background-color: ", ";\n opacity: 0.5;\n }\n"])), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border, ".concat(_colors.N60, ")"), resizerItemClassName, resizerHandleRightClassName, resizerHandleLeftClassName, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandleClassName.medium, resizerHandleLeftClassName, resizerHandleClassName.medium, resizerHandleRightClassName, resizerHandleClassName.small, resizerHandleLeftClassName, resizerHandleClassName.small, resizerHandleRightClassName, resizerHandleClassName.large, resizerHandleLeftClassName, resizerHandleClassName.large, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleLeftClassName, resizerHandleStickyClassName, resizerHandleShadowClassName, resizerHandleRightClassName, resizerHandleShadowClassName, resizerHandleLeftClassName, resizerHandleShadowClassName, "var(--ds-background-selected, ".concat(_colors.B50, ")"));
31
+ var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n will-change: width;\n\n &:hover,\n &.display-handle {\n & .", " {\n visibility: visible;\n opacity: 1;\n }\n }\n\n &.is-resizing {\n & .", " {\n background: ", ";\n }\n }\n\n &.danger {\n & .", " {\n transition: none;\n background: ", ";\n }\n }\n }\n\n .", " {\n display: flex;\n visibility: hidden;\n opacity: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 7px;\n transition: visibility 0.2s, opacity 0.2s;\n\n /*\n NOTE: The below style is targetted at the div element added by the tooltip. We don't have any means of injecting styles\n into the tooltip\n */\n & div[role='presentation'] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n\n /*\n Handle Positions\n */\n &.left {\n align-items: flex-start;\n }\n &.right {\n align-items: flex-end;\n }\n\n /*\n Handle Sizing\n */\n &.small {\n & .", " {\n height: 43px;\n }\n }\n &.medium {\n & .", " {\n height: 64px;\n }\n }\n &.large {\n & .", " {\n height: 96px;\n }\n }\n\n /*\n Handle Alignment\n */\n &.sticky {\n & .", " {\n position: sticky;\n top: ", ";\n bottom: ", ";\n }\n }\n\n &:hover {\n & .", " {\n background: ", ";\n }\n\n & .", " {\n visibility: visible;\n opacity: 0.5;\n }\n }\n }\n\n .", " {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n transition: background-color 0.2s;\n border-radius: 6px;\n\n background: ", ";\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n height: calc(100% - 24px);\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;\n\n &.none {\n background: none;\n }\n\n &.shadow {\n background: ", ";\n }\n }\n\n .", " {\n & .", " {\n background: ", ";\n }\n }\n"])), resizerItemClassName, resizerHandleClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleThumbClassName, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), resizerHandleClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleTrackClassName, resizerHandleThumbClassName, "var(--ds-border, ".concat(_colors.N60, ")"), resizerHandleTrackClassName, "var(--ds-background-selected, ".concat(_colors.B50, ")"), akEditorSelectedNodeClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"));
46
32
  exports.resizerStyles = resizerStyles;
@@ -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 = "74.53.1";
27
+ var packageVersion = "74.54.0";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -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 = "74.53.1";
3
+ const packageVersion = "74.54.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,7 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useMemo, useRef, useState } from 'react';
3
3
  import classnames from 'classnames';
4
4
  import { Resizable } from 're-resizable';
5
- import { resizerHandleClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleZIndex, resizerItemClassName } from '../styles/shared/resizer';
5
+ import Tooltip from '@atlaskit/tooltip';
6
+ import { resizerHandleClassName, resizerHandleThumbClassName, resizerHandleTrackClassName, resizerHandleZIndex, resizerItemClassName } from '../styles/shared/resizer';
6
7
  export default function ResizerNext(props) {
7
8
  const [isResizing, setIsResizing] = useState(false);
8
9
  const resizable = useRef(null);
@@ -25,6 +26,9 @@ export default function ResizerNext(props) {
25
26
  snapGap,
26
27
  handleMarginTop,
27
28
  isHandleVisible = false,
29
+ handleComponent,
30
+ handleHighlight = 'none',
31
+ handleTooltipContent,
28
32
  ...otherProps
29
33
  } = props;
30
34
  const onResizeStart = React.useCallback(event => {
@@ -61,16 +65,8 @@ export default function ResizerNext(props) {
61
65
  handleResizeStop(originalState, delta);
62
66
  }, [handleResizeStop]);
63
67
  const handles = {
64
- left: classnames(resizerHandleClassName[handleHeightSize], {
65
- [`${handleClassName}-left`]: !!handleClassName,
66
- [resizerHandleLeftClassName]: !handleClassName,
67
- [resizerHandleStickyClassName]: handleAlignmentMethod === 'sticky'
68
- }),
69
- right: classnames(resizerHandleClassName[handleHeightSize], {
70
- [`${handleClassName}-right`]: !!handleClassName,
71
- [resizerHandleRightClassName]: !handleClassName,
72
- [resizerHandleStickyClassName]: handleAlignmentMethod === 'sticky'
73
- })
68
+ left: classnames(handleClassName !== null && handleClassName !== void 0 ? handleClassName : resizerHandleClassName, 'left', handleHeightSize, handleAlignmentMethod),
69
+ right: classnames(handleClassName !== null && handleClassName !== void 0 ? handleClassName : resizerHandleClassName, 'right', handleHeightSize, handleAlignmentMethod)
74
70
  };
75
71
  const baseHandleStyles = {
76
72
  width: handlePositioning === 'adjacent' ? "var(--ds-space-100, 8px)" : "var(--ds-space-300, 24px)",
@@ -99,6 +95,55 @@ export default function ResizerNext(props) {
99
95
  'is-resizing': isResizing,
100
96
  'display-handle': isHandleVisible
101
97
  }, appearance);
98
+ const finalHandleComponent = useMemo(() => {
99
+ if ((!handleHighlight || handleHighlight === 'none') && !handleTooltipContent && !handleComponent) {
100
+ return {
101
+ left: /*#__PURE__*/React.createElement("div", {
102
+ className: resizerHandleThumbClassName
103
+ }),
104
+ right: /*#__PURE__*/React.createElement("div", {
105
+ className: resizerHandleThumbClassName
106
+ })
107
+ };
108
+ }
109
+
110
+ // If the handleComponent is set by the parent, then they're taking over control of the handle
111
+ if (handleComponent) {
112
+ return {
113
+ left: handleComponent.left && /*#__PURE__*/React.cloneElement(handleComponent.left, {
114
+ className: resizerHandleThumbClassName
115
+ }),
116
+ right: handleComponent.right && /*#__PURE__*/React.cloneElement(handleComponent.right, {
117
+ className: resizerHandleThumbClassName
118
+ })
119
+ };
120
+ }
121
+ const children = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
122
+ className: classnames(resizerHandleTrackClassName, handleHighlight)
123
+ }), /*#__PURE__*/React.createElement("div", {
124
+ className: resizerHandleThumbClassName
125
+ }));
126
+ if (!!handleTooltipContent) {
127
+ return {
128
+ left: /*#__PURE__*/React.createElement(Tooltip, {
129
+ content: handleTooltipContent,
130
+ hideTooltipOnClick: true,
131
+ position: "mouse",
132
+ mousePosition: "auto-start"
133
+ }, children),
134
+ right: /*#__PURE__*/React.createElement(Tooltip, {
135
+ content: handleTooltipContent,
136
+ hideTooltipOnClick: true,
137
+ position: "mouse",
138
+ mousePosition: "auto-start"
139
+ }, children)
140
+ };
141
+ }
142
+ return {
143
+ left: children,
144
+ right: children
145
+ };
146
+ }, [handleHighlight, handleTooltipContent, handleComponent]);
102
147
 
103
148
  // snapGap is usually a constant, if snap.x?.length is 0 and snapGap has a value resizer cannot be resized
104
149
  const snapGapActual = useMemo(() => {
@@ -123,6 +168,7 @@ export default function ResizerNext(props) {
123
168
  onResizeStop: onResizeStop,
124
169
  resizeRatio: resizeRatio,
125
170
  snapGap: snapGapActual,
126
- snap: snap
171
+ snap: snap,
172
+ handleComponent: finalHandleComponent
127
173
  }, otherProps), children);
128
174
  }
@@ -22,7 +22,7 @@ export { DropdownMenuSharedCssClassName } from './shared/dropdown-menu';
22
22
  export { CodeBlockSharedCssClassName, codeBlockSharedStyles, codeBlockInListSafariFix } from './shared/code-block';
23
23
  export { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from './shared/layout';
24
24
  export { EXTENSION_PADDING, BODIED_EXT_PADDING } from './shared/extension';
25
- export { resizerStyles, resizerHandleShadowClassName } from './shared/resizer';
25
+ export { resizerStyles, resizerHandleClassName, resizerHandleTrackClassName, resizerHandleThumbClassName } from './shared/resizer';
26
26
  export { gridStyles, GRID_GUTTER } from './shared/grid';
27
27
  export { smartCardStyles, FLOATING_TOOLBAR_LINKPICKER_CLASSNAME, DATASOURCE_INNER_CONTAINER_CLASSNAME } from './shared/smartCard';
28
28
  export { embedCardStyles, embedSpacingStyles, editIconStyles } from './shared/embedCard';
@@ -7,138 +7,146 @@ import { B200, B50, N60 } from '@atlaskit/theme/colors';
7
7
  */
8
8
 
9
9
  export const resizerItemClassName = 'resizer-item';
10
- export const resizerHandleRightClassName = 'resizer-handle-right';
11
- export const resizerHandleLeftClassName = 'resizer-handle-left';
12
- export const resizerHandleStickyClassName = 'resizer-handle-sticky';
13
- export const resizerHandleShadowClassName = 'resizer-handle-shadow';
10
+ export const resizerHandleClassName = 'resizer-handle';
11
+ export const resizerHandleTrackClassName = `${resizerHandleClassName}-track`;
12
+ export const resizerHandleThumbClassName = `${resizerHandleClassName}-thumb`;
14
13
 
15
14
  // akEditorSelectedNodeClassName from '@atlaskit/editor-shared-styles';
16
15
  const akEditorSelectedNodeClassName = 'ak-editor-selected-node';
17
16
  export const resizerHandleZIndex = 99;
18
- export const resizerHandleSmallClassName = 'resizer-handle-small';
19
- export const resizerHandleMediumClassName = 'resizer-handle-medium';
20
- export const resizerHandleLargeClassName = 'resizer-handle-large';
21
- export const resizerHandleClassName = {
22
- small: resizerHandleSmallClassName,
23
- medium: resizerHandleMediumClassName,
24
- large: resizerHandleLargeClassName
25
- };
26
17
  export const resizerStyles = css`
27
- .${resizerHandleRightClassName}, .${resizerHandleLeftClassName} {
18
+ .${resizerItemClassName} {
19
+ will-change: width;
20
+
21
+ &:hover,
22
+ &.display-handle {
23
+ & .${resizerHandleClassName} {
24
+ visibility: visible;
25
+ opacity: 1;
26
+ }
27
+ }
28
+
29
+ &.is-resizing {
30
+ & .${resizerHandleThumbClassName} {
31
+ background: ${`var(--ds-border-focused, ${B200})`};
32
+ }
33
+ }
34
+
35
+ &.danger {
36
+ & .${resizerHandleThumbClassName} {
37
+ transition: none;
38
+ background: ${`var(--ds-border-danger, ${akEditorDeleteBorder})`};
39
+ }
40
+ }
41
+ }
42
+
43
+ .${resizerHandleClassName} {
28
44
  display: flex;
29
45
  visibility: hidden;
46
+ opacity: 0;
30
47
  flex-direction: column;
31
48
  justify-content: center;
49
+ align-items: center;
32
50
  width: 7px;
33
- transition: visibility 0.2s;
34
- }
51
+ transition: visibility 0.2s, opacity 0.2s;
52
+
53
+ /*
54
+ NOTE: The below style is targetted at the div element added by the tooltip. We don't have any means of injecting styles
55
+ into the tooltip
56
+ */
57
+ & div[role='presentation'] {
58
+ width: 100%;
59
+ height: 100%;
60
+ display: flex;
61
+ flex-direction: column;
62
+ justify-content: center;
63
+ align-items: center;
64
+ }
35
65
 
36
- .${resizerHandleRightClassName} {
37
- align-items: flex-end;
38
- }
66
+ /*
67
+ Handle Positions
68
+ */
69
+ &.left {
70
+ align-items: flex-start;
71
+ }
72
+ &.right {
73
+ align-items: flex-end;
74
+ }
75
+
76
+ /*
77
+ Handle Sizing
78
+ */
79
+ &.small {
80
+ & .${resizerHandleThumbClassName} {
81
+ height: 43px;
82
+ }
83
+ }
84
+ &.medium {
85
+ & .${resizerHandleThumbClassName} {
86
+ height: 64px;
87
+ }
88
+ }
89
+ &.large {
90
+ & .${resizerHandleThumbClassName} {
91
+ height: 96px;
92
+ }
93
+ }
39
94
 
40
- .${resizerHandleLeftClassName} {
41
- align-items: flex-start;
95
+ /*
96
+ Handle Alignment
97
+ */
98
+ &.sticky {
99
+ & .${resizerHandleThumbClassName} {
100
+ position: sticky;
101
+ top: ${"var(--ds-space-150, 12px)"};
102
+ bottom: ${"var(--ds-space-150, 12px)"};
103
+ }
104
+ }
105
+
106
+ &:hover {
107
+ & .${resizerHandleThumbClassName} {
108
+ background: ${`var(--ds-border-focused, ${B200})`};
109
+ }
110
+
111
+ & .${resizerHandleTrackClassName} {
112
+ visibility: visible;
113
+ opacity: 0.5;
114
+ }
115
+ }
42
116
  }
43
117
 
44
- .${resizerHandleRightClassName}::after,
45
- .${resizerHandleLeftClassName}::after {
118
+ .${resizerHandleThumbClassName} {
46
119
  content: ' ';
47
120
  display: flex;
48
121
  width: 3px;
49
122
  height: 64px;
50
123
  transition: background-color 0.2s;
51
-
52
124
  border-radius: 6px;
53
- }
54
125
 
55
- .${resizerItemClassName} {
56
- will-change: width;
57
- }
58
-
59
- .${resizerItemClassName}:hover
60
- .${resizerHandleLeftClassName},
61
- .${resizerItemClassName}:hover
62
- .${resizerHandleRightClassName},
63
- .${resizerItemClassName}.display-handle
64
- .${resizerHandleRightClassName},
65
- .${resizerItemClassName}.display-handle
66
- .${resizerHandleLeftClassName} {
67
- visibility: visible;
68
- }
69
-
70
- .${resizerItemClassName}:hover
71
- .${resizerHandleLeftClassName}::after,
72
- .${resizerItemClassName}:hover
73
- .${resizerHandleRightClassName}::after,
74
- .${resizerItemClassName}.display-handle
75
- .${resizerHandleRightClassName}::after,
76
- .${resizerItemClassName}.display-handle
77
- .${resizerHandleLeftClassName}::after {
78
126
  background: ${`var(--ds-border, ${N60})`};
79
127
  }
80
128
 
81
- .${resizerItemClassName}.danger {
82
- &
83
- .${resizerHandleRightClassName}::after,
84
- .${resizerHandleLeftClassName}::after {
85
- transition: none;
86
- background: ${`var(--ds-border-danger, ${akEditorDeleteBorder})`};
87
- }
88
- }
89
-
90
- .${akEditorSelectedNodeClassName}
91
- .${resizerHandleRightClassName}::after,
92
- .${akEditorSelectedNodeClassName}
93
- .${resizerHandleLeftClassName}::after,
94
- .${resizerItemClassName}
95
- .${resizerHandleRightClassName}:hover::after,
96
- .${resizerItemClassName}
97
- .${resizerHandleLeftClassName}:hover::after,
98
- .${resizerItemClassName}.is-resizing
99
- .${resizerHandleRightClassName}::after,
100
- .${resizerItemClassName}.is-resizing
101
- .${resizerHandleLeftClassName}::after {
102
- background: ${`var(--ds-border-focused, ${B200})`};
103
- }
104
-
105
- .${resizerHandleRightClassName}.${resizerHandleClassName.medium}::after,
106
- .${resizerHandleLeftClassName}.${resizerHandleClassName.medium}::after {
107
- height: 64px;
108
- }
109
-
110
- .${resizerHandleRightClassName}.${resizerHandleClassName.small}::after,
111
- .${resizerHandleLeftClassName}.${resizerHandleClassName.small}::after {
112
- height: 43px;
113
- }
114
-
115
- .${resizerHandleRightClassName}.${resizerHandleClassName.large}::after,
116
- .${resizerHandleLeftClassName}.${resizerHandleClassName.large}::after {
117
- height: 96px;
118
- }
119
-
120
- .${resizerHandleRightClassName}.${resizerHandleStickyClassName}::after,
121
- .${resizerHandleLeftClassName}.${resizerHandleStickyClassName}::after {
122
- position: sticky;
123
- top: 10px;
124
- bottom: 10px;
125
- }
126
-
127
- .${resizerHandleShadowClassName} {
129
+ .${resizerHandleTrackClassName} {
128
130
  visibility: hidden;
129
131
  position: absolute;
130
132
  width: 7px;
133
+ height: calc(100% - 24px);
131
134
  border-radius: 4px;
132
135
  opacity: 0;
133
- transition: background-color 0.2s, visibility 0.2s;
136
+ transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;
137
+
138
+ &.none {
139
+ background: none;
140
+ }
141
+
142
+ &.shadow {
143
+ background: ${`var(--ds-background-selected, ${B50})`};
144
+ }
134
145
  }
135
146
 
136
- .${resizerHandleRightClassName}:hover
137
- .${resizerHandleShadowClassName},
138
- .${resizerHandleLeftClassName}:hover
139
- .${resizerHandleShadowClassName} {
140
- visibility: visible;
141
- background-color: ${`var(--ds-background-selected, ${B50})`};
142
- opacity: 0.5;
147
+ .${akEditorSelectedNodeClassName} {
148
+ & .${resizerHandleThumbClassName} {
149
+ background: ${`var(--ds-border-focused, ${B200})`};
150
+ }
143
151
  }
144
152
  `;
@@ -8,7 +8,7 @@ import { themed } from '@atlaskit/theme/components';
8
8
  import { borderRadius } from '@atlaskit/theme/constants';
9
9
  import Layer from '../Layer';
10
10
  const packageName = "@atlaskit/editor-common";
11
- const packageVersion = "74.53.1";
11
+ const packageVersion = "74.54.0";
12
12
  const halfFocusRing = 1;
13
13
  const dropOffset = '0, 8';
14
14
  class DropList extends Component {
@@ -6,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "74.53.1";
9
+ var packageVersion = "74.54.0";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -2,15 +2,15 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleHeightSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "innerPadding", "snap", "snapGap", "handleMarginTop", "isHandleVisible"];
5
+ var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleHeightSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "innerPadding", "snap", "snapGap", "handleMarginTop", "isHandleVisible", "handleComponent", "handleHighlight", "handleTooltipContent"];
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
  import React, { useMemo, useRef, useState } from 'react';
9
9
  import classnames from 'classnames';
10
10
  import { Resizable } from 're-resizable';
11
- import { resizerHandleClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleZIndex, resizerItemClassName } from '../styles/shared/resizer';
11
+ import Tooltip from '@atlaskit/tooltip';
12
+ import { resizerHandleClassName, resizerHandleThumbClassName, resizerHandleTrackClassName, resizerHandleZIndex, resizerItemClassName } from '../styles/shared/resizer';
12
13
  export default function ResizerNext(props) {
13
- var _classnames, _classnames2;
14
14
  var _useState = useState(false),
15
15
  _useState2 = _slicedToArray(_useState, 2),
16
16
  isResizing = _useState2[0],
@@ -39,6 +39,10 @@ export default function ResizerNext(props) {
39
39
  handleMarginTop = props.handleMarginTop,
40
40
  _props$isHandleVisibl = props.isHandleVisible,
41
41
  isHandleVisible = _props$isHandleVisibl === void 0 ? false : _props$isHandleVisibl,
42
+ handleComponent = props.handleComponent,
43
+ _props$handleHighligh = props.handleHighlight,
44
+ handleHighlight = _props$handleHighligh === void 0 ? 'none' : _props$handleHighligh,
45
+ handleTooltipContent = props.handleTooltipContent,
42
46
  otherProps = _objectWithoutProperties(props, _excluded);
43
47
  var onResizeStart = React.useCallback(function (event) {
44
48
  // prevent creating a drag event on Firefox
@@ -74,8 +78,8 @@ export default function ResizerNext(props) {
74
78
  handleResizeStop(originalState, delta);
75
79
  }, [handleResizeStop]);
76
80
  var handles = {
77
- left: classnames(resizerHandleClassName[handleHeightSize], (_classnames = {}, _defineProperty(_classnames, "".concat(handleClassName, "-left"), !!handleClassName), _defineProperty(_classnames, resizerHandleLeftClassName, !handleClassName), _defineProperty(_classnames, resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames)),
78
- right: classnames(resizerHandleClassName[handleHeightSize], (_classnames2 = {}, _defineProperty(_classnames2, "".concat(handleClassName, "-right"), !!handleClassName), _defineProperty(_classnames2, resizerHandleRightClassName, !handleClassName), _defineProperty(_classnames2, resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames2))
81
+ left: classnames(handleClassName !== null && handleClassName !== void 0 ? handleClassName : resizerHandleClassName, 'left', handleHeightSize, handleAlignmentMethod),
82
+ right: classnames(handleClassName !== null && handleClassName !== void 0 ? handleClassName : resizerHandleClassName, 'right', handleHeightSize, handleAlignmentMethod)
79
83
  };
80
84
  var baseHandleStyles = {
81
85
  width: handlePositioning === 'adjacent' ? "var(--ds-space-100, 8px)" : "var(--ds-space-300, 24px)",
@@ -100,6 +104,55 @@ export default function ResizerNext(props) {
100
104
  'is-resizing': isResizing,
101
105
  'display-handle': isHandleVisible
102
106
  }, appearance);
107
+ var finalHandleComponent = useMemo(function () {
108
+ if ((!handleHighlight || handleHighlight === 'none') && !handleTooltipContent && !handleComponent) {
109
+ return {
110
+ left: /*#__PURE__*/React.createElement("div", {
111
+ className: resizerHandleThumbClassName
112
+ }),
113
+ right: /*#__PURE__*/React.createElement("div", {
114
+ className: resizerHandleThumbClassName
115
+ })
116
+ };
117
+ }
118
+
119
+ // If the handleComponent is set by the parent, then they're taking over control of the handle
120
+ if (handleComponent) {
121
+ return {
122
+ left: handleComponent.left && /*#__PURE__*/React.cloneElement(handleComponent.left, {
123
+ className: resizerHandleThumbClassName
124
+ }),
125
+ right: handleComponent.right && /*#__PURE__*/React.cloneElement(handleComponent.right, {
126
+ className: resizerHandleThumbClassName
127
+ })
128
+ };
129
+ }
130
+ var children = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
131
+ className: classnames(resizerHandleTrackClassName, handleHighlight)
132
+ }), /*#__PURE__*/React.createElement("div", {
133
+ className: resizerHandleThumbClassName
134
+ }));
135
+ if (!!handleTooltipContent) {
136
+ return {
137
+ left: /*#__PURE__*/React.createElement(Tooltip, {
138
+ content: handleTooltipContent,
139
+ hideTooltipOnClick: true,
140
+ position: "mouse",
141
+ mousePosition: "auto-start"
142
+ }, children),
143
+ right: /*#__PURE__*/React.createElement(Tooltip, {
144
+ content: handleTooltipContent,
145
+ hideTooltipOnClick: true,
146
+ position: "mouse",
147
+ mousePosition: "auto-start"
148
+ }, children)
149
+ };
150
+ }
151
+ return {
152
+ left: children,
153
+ right: children
154
+ };
155
+ }, [handleHighlight, handleTooltipContent, handleComponent]);
103
156
 
104
157
  // snapGap is usually a constant, if snap.x?.length is 0 and snapGap has a value resizer cannot be resized
105
158
  var snapGapActual = useMemo(function () {
@@ -124,6 +177,7 @@ export default function ResizerNext(props) {
124
177
  onResizeStop: onResizeStop,
125
178
  resizeRatio: resizeRatio,
126
179
  snapGap: snapGapActual,
127
- snap: snap
180
+ snap: snap,
181
+ handleComponent: finalHandleComponent
128
182
  }, otherProps), children);
129
183
  }
@@ -22,7 +22,7 @@ export { DropdownMenuSharedCssClassName } from './shared/dropdown-menu';
22
22
  export { CodeBlockSharedCssClassName, codeBlockSharedStyles, codeBlockInListSafariFix } from './shared/code-block';
23
23
  export { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from './shared/layout';
24
24
  export { EXTENSION_PADDING, BODIED_EXT_PADDING } from './shared/extension';
25
- export { resizerStyles, resizerHandleShadowClassName } from './shared/resizer';
25
+ export { resizerStyles, resizerHandleClassName, resizerHandleTrackClassName, resizerHandleThumbClassName } from './shared/resizer';
26
26
  export { gridStyles, GRID_GUTTER } from './shared/grid';
27
27
  export { smartCardStyles, FLOATING_TOOLBAR_LINKPICKER_CLASSNAME, DATASOURCE_INNER_CONTAINER_CLASSNAME } from './shared/smartCard';
28
28
  export { embedCardStyles, embedSpacingStyles, editIconStyles } from './shared/embedCard';
@@ -9,20 +9,11 @@ import { B200, B50, N60 } from '@atlaskit/theme/colors';
9
9
  */
10
10
 
11
11
  export var resizerItemClassName = 'resizer-item';
12
- export var resizerHandleRightClassName = 'resizer-handle-right';
13
- export var resizerHandleLeftClassName = 'resizer-handle-left';
14
- export var resizerHandleStickyClassName = 'resizer-handle-sticky';
15
- export var resizerHandleShadowClassName = 'resizer-handle-shadow';
12
+ export var resizerHandleClassName = 'resizer-handle';
13
+ export var resizerHandleTrackClassName = "".concat(resizerHandleClassName, "-track");
14
+ export var resizerHandleThumbClassName = "".concat(resizerHandleClassName, "-thumb");
16
15
 
17
16
  // akEditorSelectedNodeClassName from '@atlaskit/editor-shared-styles';
18
17
  var akEditorSelectedNodeClassName = 'ak-editor-selected-node';
19
18
  export var resizerHandleZIndex = 99;
20
- export var resizerHandleSmallClassName = 'resizer-handle-small';
21
- export var resizerHandleMediumClassName = 'resizer-handle-medium';
22
- export var resizerHandleLargeClassName = 'resizer-handle-large';
23
- export var resizerHandleClassName = {
24
- small: resizerHandleSmallClassName,
25
- medium: resizerHandleMediumClassName,
26
- large: resizerHandleLargeClassName
27
- };
28
- export var resizerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", ", .", " {\n display: flex;\n visibility: hidden;\n flex-direction: column;\n justify-content: center;\n width: 7px;\n transition: visibility 0.2s;\n }\n\n .", " {\n align-items: flex-end;\n }\n\n .", " {\n align-items: flex-start;\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n transition: background-color 0.2s;\n\n border-radius: 6px;\n }\n\n .", " {\n will-change: width;\n }\n\n .", ":hover\n .", ",\n .", ":hover\n .", ",\n .", ".display-handle\n .", ",\n .", ".display-handle\n .", " {\n visibility: visible;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after,\n .", ".display-handle\n .", "::after,\n .", ".display-handle\n .", "::after {\n background: ", ";\n }\n\n .", ".danger {\n &\n .", "::after,\n .", "::after {\n transition: none;\n background: ", ";\n }\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 64px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 43px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 96px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n position: sticky;\n top: 10px;\n bottom: 10px;\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s;\n }\n\n .", ":hover\n .", ",\n .", ":hover\n .", " {\n visibility: visible;\n background-color: ", ";\n opacity: 0.5;\n }\n"])), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border, ".concat(N60, ")"), resizerItemClassName, resizerHandleRightClassName, resizerHandleLeftClassName, "var(--ds-border-danger, ".concat(akEditorDeleteBorder, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleRightClassName, resizerHandleClassName.medium, resizerHandleLeftClassName, resizerHandleClassName.medium, resizerHandleRightClassName, resizerHandleClassName.small, resizerHandleLeftClassName, resizerHandleClassName.small, resizerHandleRightClassName, resizerHandleClassName.large, resizerHandleLeftClassName, resizerHandleClassName.large, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleLeftClassName, resizerHandleStickyClassName, resizerHandleShadowClassName, resizerHandleRightClassName, resizerHandleShadowClassName, resizerHandleLeftClassName, resizerHandleShadowClassName, "var(--ds-background-selected, ".concat(B50, ")"));
19
+ export var resizerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n will-change: width;\n\n &:hover,\n &.display-handle {\n & .", " {\n visibility: visible;\n opacity: 1;\n }\n }\n\n &.is-resizing {\n & .", " {\n background: ", ";\n }\n }\n\n &.danger {\n & .", " {\n transition: none;\n background: ", ";\n }\n }\n }\n\n .", " {\n display: flex;\n visibility: hidden;\n opacity: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 7px;\n transition: visibility 0.2s, opacity 0.2s;\n\n /*\n NOTE: The below style is targetted at the div element added by the tooltip. We don't have any means of injecting styles\n into the tooltip\n */\n & div[role='presentation'] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n\n /*\n Handle Positions\n */\n &.left {\n align-items: flex-start;\n }\n &.right {\n align-items: flex-end;\n }\n\n /*\n Handle Sizing\n */\n &.small {\n & .", " {\n height: 43px;\n }\n }\n &.medium {\n & .", " {\n height: 64px;\n }\n }\n &.large {\n & .", " {\n height: 96px;\n }\n }\n\n /*\n Handle Alignment\n */\n &.sticky {\n & .", " {\n position: sticky;\n top: ", ";\n bottom: ", ";\n }\n }\n\n &:hover {\n & .", " {\n background: ", ";\n }\n\n & .", " {\n visibility: visible;\n opacity: 0.5;\n }\n }\n }\n\n .", " {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n transition: background-color 0.2s;\n border-radius: 6px;\n\n background: ", ";\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n height: calc(100% - 24px);\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;\n\n &.none {\n background: none;\n }\n\n &.shadow {\n background: ", ";\n }\n }\n\n .", " {\n & .", " {\n background: ", ";\n }\n }\n"])), resizerItemClassName, resizerHandleClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleThumbClassName, "var(--ds-border-danger, ".concat(akEditorDeleteBorder, ")"), resizerHandleClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleTrackClassName, resizerHandleThumbClassName, "var(--ds-border, ".concat(N60, ")"), resizerHandleTrackClassName, "var(--ds-background-selected, ".concat(B50, ")"), akEditorSelectedNodeClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"));
@@ -18,7 +18,7 @@ import { themed } from '@atlaskit/theme/components';
18
18
  import { borderRadius } from '@atlaskit/theme/constants';
19
19
  import Layer from '../Layer';
20
20
  var packageName = "@atlaskit/editor-common";
21
- var packageVersion = "74.53.1";
21
+ var packageVersion = "74.54.0";
22
22
  var halfFocusRing = 1;
23
23
  var dropOffset = '0, 8';
24
24
  var DropList = /*#__PURE__*/function (_Component) {
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { PropsWithChildren } from 'react';
3
3
  import type { HandleComponent } from 're-resizable';
4
- import type { EnabledHandles, HandleAlignmentMethod, HandleHeightSizeType, HandlePositioning, HandleResize, HandleResizeStart, HandleStyles, ResizerAppearance, Snap } from './types';
4
+ import type { TooltipProps } from '@atlaskit/tooltip';
5
+ import type { EnabledHandles, HandleAlignmentMethod, HandleHeightSizeType, HandleHighlight, HandlePositioning, HandleResize, HandleResizeStart, HandleStyles, ResizerAppearance, Snap } from './types';
5
6
  export type ResizerProps = {
6
7
  enable: EnabledHandles;
7
8
  width: number;
@@ -25,5 +26,7 @@ export type ResizerProps = {
25
26
  resizeRatio?: number;
26
27
  isHandleVisible?: boolean;
27
28
  appearance?: ResizerAppearance;
29
+ handleHighlight?: HandleHighlight;
30
+ handleTooltipContent?: TooltipProps['content'];
28
31
  };
29
32
  export default function ResizerNext(props: PropsWithChildren<ResizerProps>): JSX.Element;
@@ -1,2 +1,2 @@
1
1
  export { default as ResizerNext } from './Resizer';
2
- export type { HandleHeightSizeType, EnabledHandles, HandleResize, Position, Snap, HandleResizeStart, Dimensions, } from './types';
2
+ export type { HandleAlignmentMethod, HandleHighlight, HandleHeightSizeType, HandlePositioning, EnabledHandles, HandleResize, Position, Snap, HandleResizeStart, Dimensions, } from './types';
@@ -25,3 +25,4 @@ export type HandleHeightSizeType = 'small' | 'medium' | 'large';
25
25
  export type HandleAlignmentMethod = 'center' | 'sticky';
26
26
  export type HandlePositioning = 'overlap' | 'adjacent';
27
27
  export type ResizerAppearance = 'danger';
28
+ export type HandleHighlight = 'none' | 'shadow';
@@ -22,7 +22,7 @@ export { DropdownMenuSharedCssClassName } from './shared/dropdown-menu';
22
22
  export { CodeBlockSharedCssClassName, codeBlockSharedStyles, codeBlockInListSafariFix, } from './shared/code-block';
23
23
  export { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from './shared/layout';
24
24
  export { EXTENSION_PADDING, BODIED_EXT_PADDING } from './shared/extension';
25
- export { resizerStyles, resizerHandleShadowClassName } from './shared/resizer';
25
+ export { resizerStyles, resizerHandleClassName, resizerHandleTrackClassName, resizerHandleThumbClassName, } from './shared/resizer';
26
26
  export { gridStyles, GRID_GUTTER } from './shared/grid';
27
27
  export { smartCardStyles, FLOATING_TOOLBAR_LINKPICKER_CLASSNAME, DATASOURCE_INNER_CONTAINER_CLASSNAME, } from './shared/smartCard';
28
28
  export { embedCardStyles, embedSpacingStyles, editIconStyles, } from './shared/embedCard';
@@ -1,15 +1,6 @@
1
1
  export declare const resizerItemClassName = "resizer-item";
2
- export declare const resizerHandleRightClassName = "resizer-handle-right";
3
- export declare const resizerHandleLeftClassName = "resizer-handle-left";
4
- export declare const resizerHandleStickyClassName = "resizer-handle-sticky";
5
- export declare const resizerHandleShadowClassName = "resizer-handle-shadow";
2
+ export declare const resizerHandleClassName = "resizer-handle";
3
+ export declare const resizerHandleTrackClassName: string;
4
+ export declare const resizerHandleThumbClassName: string;
6
5
  export declare const resizerHandleZIndex = 99;
7
- export declare const resizerHandleSmallClassName = "resizer-handle-small";
8
- export declare const resizerHandleMediumClassName = "resizer-handle-medium";
9
- export declare const resizerHandleLargeClassName = "resizer-handle-large";
10
- export declare const resizerHandleClassName: {
11
- small: string;
12
- medium: string;
13
- large: string;
14
- };
15
6
  export declare const resizerStyles: import("@emotion/react").SerializedStyles;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { PropsWithChildren } from 'react';
3
3
  import type { HandleComponent } from 're-resizable';
4
- import type { EnabledHandles, HandleAlignmentMethod, HandleHeightSizeType, HandlePositioning, HandleResize, HandleResizeStart, HandleStyles, ResizerAppearance, Snap } from './types';
4
+ import type { TooltipProps } from '@atlaskit/tooltip';
5
+ import type { EnabledHandles, HandleAlignmentMethod, HandleHeightSizeType, HandleHighlight, HandlePositioning, HandleResize, HandleResizeStart, HandleStyles, ResizerAppearance, Snap } from './types';
5
6
  export type ResizerProps = {
6
7
  enable: EnabledHandles;
7
8
  width: number;
@@ -25,5 +26,7 @@ export type ResizerProps = {
25
26
  resizeRatio?: number;
26
27
  isHandleVisible?: boolean;
27
28
  appearance?: ResizerAppearance;
29
+ handleHighlight?: HandleHighlight;
30
+ handleTooltipContent?: TooltipProps['content'];
28
31
  };
29
32
  export default function ResizerNext(props: PropsWithChildren<ResizerProps>): JSX.Element;
@@ -1,2 +1,2 @@
1
1
  export { default as ResizerNext } from './Resizer';
2
- export type { HandleHeightSizeType, EnabledHandles, HandleResize, Position, Snap, HandleResizeStart, Dimensions, } from './types';
2
+ export type { HandleAlignmentMethod, HandleHighlight, HandleHeightSizeType, HandlePositioning, EnabledHandles, HandleResize, Position, Snap, HandleResizeStart, Dimensions, } from './types';
@@ -25,3 +25,4 @@ export type HandleHeightSizeType = 'small' | 'medium' | 'large';
25
25
  export type HandleAlignmentMethod = 'center' | 'sticky';
26
26
  export type HandlePositioning = 'overlap' | 'adjacent';
27
27
  export type ResizerAppearance = 'danger';
28
+ export type HandleHighlight = 'none' | 'shadow';
@@ -22,7 +22,7 @@ export { DropdownMenuSharedCssClassName } from './shared/dropdown-menu';
22
22
  export { CodeBlockSharedCssClassName, codeBlockSharedStyles, codeBlockInListSafariFix, } from './shared/code-block';
23
23
  export { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from './shared/layout';
24
24
  export { EXTENSION_PADDING, BODIED_EXT_PADDING } from './shared/extension';
25
- export { resizerStyles, resizerHandleShadowClassName } from './shared/resizer';
25
+ export { resizerStyles, resizerHandleClassName, resizerHandleTrackClassName, resizerHandleThumbClassName, } from './shared/resizer';
26
26
  export { gridStyles, GRID_GUTTER } from './shared/grid';
27
27
  export { smartCardStyles, FLOATING_TOOLBAR_LINKPICKER_CLASSNAME, DATASOURCE_INNER_CONTAINER_CLASSNAME, } from './shared/smartCard';
28
28
  export { embedCardStyles, embedSpacingStyles, editIconStyles, } from './shared/embedCard';
@@ -1,15 +1,6 @@
1
1
  export declare const resizerItemClassName = "resizer-item";
2
- export declare const resizerHandleRightClassName = "resizer-handle-right";
3
- export declare const resizerHandleLeftClassName = "resizer-handle-left";
4
- export declare const resizerHandleStickyClassName = "resizer-handle-sticky";
5
- export declare const resizerHandleShadowClassName = "resizer-handle-shadow";
2
+ export declare const resizerHandleClassName = "resizer-handle";
3
+ export declare const resizerHandleTrackClassName: string;
4
+ export declare const resizerHandleThumbClassName: string;
6
5
  export declare const resizerHandleZIndex = 99;
7
- export declare const resizerHandleSmallClassName = "resizer-handle-small";
8
- export declare const resizerHandleMediumClassName = "resizer-handle-medium";
9
- export declare const resizerHandleLargeClassName = "resizer-handle-large";
10
- export declare const resizerHandleClassName: {
11
- small: string;
12
- medium: string;
13
- large: string;
14
- };
15
6
  export declare const resizerStyles: import("@emotion/react").SerializedStyles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "74.53.1",
3
+ "version": "74.54.0",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -146,7 +146,7 @@
146
146
  "devDependencies": {
147
147
  "@atlaskit/media-core": "^34.1.0",
148
148
  "@atlaskit/media-test-helpers": "^33.0.0",
149
- "@atlaskit/smart-card": "^26.16.0",
149
+ "@atlaskit/smart-card": "^26.17.0",
150
150
  "@atlaskit/util-data-test": "^17.8.0",
151
151
  "@atlaskit/visual-regression": "*",
152
152
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",