@atlaskit/editor-plugin-floating-toolbar 1.12.0 → 1.12.2

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,21 @@
1
1
  # @atlaskit/editor-plugin-floating-toolbar
2
2
 
3
+ ## 1.12.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#137865](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/137865)
8
+ [`d392fecac5384`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/d392fecac5384) -
9
+ [EDF-1247] Added beta label to proactive ai experience, patched editor floating toolbar to support
10
+ a new footer component if parsed in
11
+
12
+ ## 1.12.1
13
+
14
+ ### Patch Changes
15
+
16
+ - [`1269ffa635367`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1269ffa635367) -
17
+ Cleanup FF platform_editor_get_card_provider_from_config
18
+
3
19
  ## 1.12.0
4
20
 
5
21
  ### Minor Changes
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Divider = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _primitives = require("@atlaskit/primitives");
10
+ var styles = (0, _primitives.xcss)({
11
+ width: '100%',
12
+ borderBlockEnd: 'none',
13
+ borderBlockStart: "1px solid ".concat("var(--ds-border, #091E4224)"),
14
+ borderInline: 'none'
15
+ });
16
+ var Divider = exports.Divider = function Divider() {
17
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
18
+ as: "hr",
19
+ xcss: styles
20
+ });
21
+ };
@@ -18,6 +18,7 @@ var _react2 = require("@emotion/react");
18
18
  var _ui = require("@atlaskit/editor-common/ui");
19
19
  var _uiMenu = require("@atlaskit/editor-common/ui-menu");
20
20
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
21
+ var _Divider = require("./Divider");
21
22
  var _DropdownMenu = _interopRequireWildcard(require("./DropdownMenu"));
22
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -27,6 +28,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
27
28
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
28
29
  * @jsxRuntime classic
29
30
  * @jsx jsx
31
+ * @jsxFrag
30
32
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
31
33
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
32
34
  var dropdownExpandContainer = (0, _react2.css)({
@@ -137,7 +139,8 @@ var Dropdown = exports.default = /*#__PURE__*/function (_Component) {
137
139
  buttonTestId = _this$props2.buttonTestId,
138
140
  dropdownWidth = _this$props2.dropdownWidth,
139
141
  dropdownListId = _this$props2.dropdownListId,
140
- alignDropdownWithToolbar = _this$props2.alignDropdownWithToolbar;
142
+ alignDropdownWithToolbar = _this$props2.alignDropdownWithToolbar,
143
+ footer = _this$props2.footer;
141
144
  var trigger;
142
145
  if (icon) {
143
146
  var TriggerIcon = hideExpandIcon ? icon : (0, _react2.jsx)(CompositeIcon, {
@@ -179,26 +182,34 @@ var Dropdown = exports.default = /*#__PURE__*/function (_Component) {
179
182
  var fitTolerance = 10;
180
183
  var fitWidth = Array.isArray(options) ? dropdownWidth || _DropdownMenu.menuItemDimensions.width : options.width;
181
184
  var fitHeight = Array.isArray(options) ? options.length * _DropdownMenu.menuItemDimensions.height + _DropdownMenu.itemSpacing * 2 : options.height;
182
- return (0, _react2.jsx)(_uiMenu.DropdownContainer, {
183
- mountTo: mountPoint,
184
- boundariesElement: boundariesElement,
185
- scrollableElement: scrollableElement,
186
- isOpen: isOpen,
187
- handleClickOutside: this.hide,
188
- handleEscapeKeydown: this.hideOnEsc,
189
- onOpenChange: this.onOpenChanged,
190
- fitWidth: fitWidth + fitTolerance,
191
- fitHeight: fitHeight + fitTolerance,
192
- trigger: trigger,
193
- dropdownListId: dropdownListId,
194
- alignDropdownWithParentElement: alignDropdownWithToolbar,
195
- arrowKeyNavigationProviderOptions: {
196
- type: _uiMenu.ArrowKeyNavigationType.MENU
197
- }
198
- }, Array.isArray(options) ? this.renderArrayOptions(options) : options.render({
199
- hide: this.hide,
200
- dispatchCommand: dispatchCommand
201
- }));
185
+ return (
186
+ /**
187
+ * At the moment footer diver is rendered along with footer, if it's provided
188
+ * This is to provide some level of consistency
189
+ * Refer to the PR for more details:
190
+ * https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/137394/overview?commentId=8130003
191
+ */
192
+ (0, _react2.jsx)(_uiMenu.DropdownContainer, {
193
+ mountTo: mountPoint,
194
+ boundariesElement: boundariesElement,
195
+ scrollableElement: scrollableElement,
196
+ isOpen: isOpen,
197
+ handleClickOutside: this.hide,
198
+ handleEscapeKeydown: this.hideOnEsc,
199
+ onOpenChange: this.onOpenChanged,
200
+ fitWidth: fitWidth + fitTolerance,
201
+ fitHeight: fitHeight + fitTolerance,
202
+ trigger: trigger,
203
+ dropdownListId: dropdownListId,
204
+ alignDropdownWithParentElement: alignDropdownWithToolbar,
205
+ arrowKeyNavigationProviderOptions: {
206
+ type: _uiMenu.ArrowKeyNavigationType.MENU
207
+ }
208
+ }, Array.isArray(options) ? this.renderArrayOptions(options) : options.render({
209
+ hide: this.hide,
210
+ dispatchCommand: dispatchCommand
211
+ }), footer && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_Divider.Divider, null), footer))
212
+ );
202
213
  }
203
214
  }, {
204
215
  key: "componentDidUpdate",
@@ -182,7 +182,8 @@ var ToolbarItems = /*#__PURE__*/_react.default.memo(function (_ref) {
182
182
  setDisableParentScroll: scrollable ? setDisableScroll : undefined,
183
183
  dropdownListId: (item === null || item === void 0 ? void 0 : item.id) && "".concat(item.id, "-dropdownList"),
184
184
  alignDropdownWithToolbar: items.length === 1,
185
- onToggle: item.onToggle
185
+ onToggle: item.onToggle,
186
+ footer: item.footer
186
187
  });
187
188
  case 'select':
188
189
  if (item.selectType === 'list') {
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { Box, xcss } from '@atlaskit/primitives';
3
+ const styles = xcss({
4
+ width: '100%',
5
+ borderBlockEnd: 'none',
6
+ borderBlockStart: `1px solid ${"var(--ds-border, #091E4224)"}`,
7
+ borderInline: 'none'
8
+ });
9
+ export const Divider = () => /*#__PURE__*/React.createElement(Box, {
10
+ as: "hr",
11
+ xcss: styles
12
+ });
@@ -2,6 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  /**
3
3
  * @jsxRuntime classic
4
4
  * @jsx jsx
5
+ * @jsxFrag
5
6
  */
6
7
 
7
8
  import React, { Component } from 'react';
@@ -11,6 +12,7 @@ import { css, jsx } from '@emotion/react';
11
12
  import { FloatingToolbarButton as Button } from '@atlaskit/editor-common/ui';
12
13
  import { ArrowKeyNavigationType, DropdownContainer as UiDropdown } from '@atlaskit/editor-common/ui-menu';
13
14
  import ExpandIcon from '@atlaskit/icon/glyph/chevron-down';
15
+ import { Divider } from './Divider';
14
16
  import DropdownMenu, { itemSpacing, menuItemDimensions } from './DropdownMenu';
15
17
 
16
18
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
@@ -115,7 +117,8 @@ export default class Dropdown extends Component {
115
117
  buttonTestId,
116
118
  dropdownWidth,
117
119
  dropdownListId,
118
- alignDropdownWithToolbar
120
+ alignDropdownWithToolbar,
121
+ footer
119
122
  } = this.props;
120
123
  let trigger;
121
124
  if (icon) {
@@ -158,26 +161,34 @@ export default class Dropdown extends Component {
158
161
  const fitTolerance = 10;
159
162
  const fitWidth = Array.isArray(options) ? dropdownWidth || menuItemDimensions.width : options.width;
160
163
  const fitHeight = Array.isArray(options) ? options.length * menuItemDimensions.height + itemSpacing * 2 : options.height;
161
- return jsx(UiDropdown, {
162
- mountTo: mountPoint,
163
- boundariesElement: boundariesElement,
164
- scrollableElement: scrollableElement,
165
- isOpen: isOpen,
166
- handleClickOutside: this.hide,
167
- handleEscapeKeydown: this.hideOnEsc,
168
- onOpenChange: this.onOpenChanged,
169
- fitWidth: fitWidth + fitTolerance,
170
- fitHeight: fitHeight + fitTolerance,
171
- trigger: trigger,
172
- dropdownListId: dropdownListId,
173
- alignDropdownWithParentElement: alignDropdownWithToolbar,
174
- arrowKeyNavigationProviderOptions: {
175
- type: ArrowKeyNavigationType.MENU
176
- }
177
- }, Array.isArray(options) ? this.renderArrayOptions(options) : options.render({
178
- hide: this.hide,
179
- dispatchCommand
180
- }));
164
+ return (
165
+ /**
166
+ * At the moment footer diver is rendered along with footer, if it's provided
167
+ * This is to provide some level of consistency
168
+ * Refer to the PR for more details:
169
+ * https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/137394/overview?commentId=8130003
170
+ */
171
+ jsx(UiDropdown, {
172
+ mountTo: mountPoint,
173
+ boundariesElement: boundariesElement,
174
+ scrollableElement: scrollableElement,
175
+ isOpen: isOpen,
176
+ handleClickOutside: this.hide,
177
+ handleEscapeKeydown: this.hideOnEsc,
178
+ onOpenChange: this.onOpenChanged,
179
+ fitWidth: fitWidth + fitTolerance,
180
+ fitHeight: fitHeight + fitTolerance,
181
+ trigger: trigger,
182
+ dropdownListId: dropdownListId,
183
+ alignDropdownWithParentElement: alignDropdownWithToolbar,
184
+ arrowKeyNavigationProviderOptions: {
185
+ type: ArrowKeyNavigationType.MENU
186
+ }
187
+ }, Array.isArray(options) ? this.renderArrayOptions(options) : options.render({
188
+ hide: this.hide,
189
+ dispatchCommand
190
+ }), footer && jsx(React.Fragment, null, jsx(Divider, null), footer))
191
+ );
181
192
  }
182
193
  componentDidUpdate(prevProps, prevState) {
183
194
  if (prevState.isOpen !== this.state.isOpen) {
@@ -158,7 +158,8 @@ const ToolbarItems = /*#__PURE__*/React.memo(({
158
158
  setDisableParentScroll: scrollable ? setDisableScroll : undefined,
159
159
  dropdownListId: (item === null || item === void 0 ? void 0 : item.id) && `${item.id}-dropdownList`,
160
160
  alignDropdownWithToolbar: items.length === 1,
161
- onToggle: item.onToggle
161
+ onToggle: item.onToggle,
162
+ footer: item.footer
162
163
  });
163
164
  case 'select':
164
165
  if (item.selectType === 'list') {
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { Box, xcss } from '@atlaskit/primitives';
3
+ var styles = xcss({
4
+ width: '100%',
5
+ borderBlockEnd: 'none',
6
+ borderBlockStart: "1px solid ".concat("var(--ds-border, #091E4224)"),
7
+ borderInline: 'none'
8
+ });
9
+ export var Divider = function Divider() {
10
+ return /*#__PURE__*/React.createElement(Box, {
11
+ as: "hr",
12
+ xcss: styles
13
+ });
14
+ };
@@ -12,6 +12,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
12
12
  /**
13
13
  * @jsxRuntime classic
14
14
  * @jsx jsx
15
+ * @jsxFrag
15
16
  */
16
17
 
17
18
  import React, { Component } from 'react';
@@ -21,6 +22,7 @@ import { css, jsx } from '@emotion/react';
21
22
  import { FloatingToolbarButton as Button } from '@atlaskit/editor-common/ui';
22
23
  import { ArrowKeyNavigationType, DropdownContainer as UiDropdown } from '@atlaskit/editor-common/ui-menu';
23
24
  import ExpandIcon from '@atlaskit/icon/glyph/chevron-down';
25
+ import { Divider } from './Divider';
24
26
  import DropdownMenu, { itemSpacing, menuItemDimensions } from './DropdownMenu';
25
27
 
26
28
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
@@ -132,7 +134,8 @@ var Dropdown = /*#__PURE__*/function (_Component) {
132
134
  buttonTestId = _this$props2.buttonTestId,
133
135
  dropdownWidth = _this$props2.dropdownWidth,
134
136
  dropdownListId = _this$props2.dropdownListId,
135
- alignDropdownWithToolbar = _this$props2.alignDropdownWithToolbar;
137
+ alignDropdownWithToolbar = _this$props2.alignDropdownWithToolbar,
138
+ footer = _this$props2.footer;
136
139
  var trigger;
137
140
  if (icon) {
138
141
  var TriggerIcon = hideExpandIcon ? icon : jsx(CompositeIcon, {
@@ -174,26 +177,34 @@ var Dropdown = /*#__PURE__*/function (_Component) {
174
177
  var fitTolerance = 10;
175
178
  var fitWidth = Array.isArray(options) ? dropdownWidth || menuItemDimensions.width : options.width;
176
179
  var fitHeight = Array.isArray(options) ? options.length * menuItemDimensions.height + itemSpacing * 2 : options.height;
177
- return jsx(UiDropdown, {
178
- mountTo: mountPoint,
179
- boundariesElement: boundariesElement,
180
- scrollableElement: scrollableElement,
181
- isOpen: isOpen,
182
- handleClickOutside: this.hide,
183
- handleEscapeKeydown: this.hideOnEsc,
184
- onOpenChange: this.onOpenChanged,
185
- fitWidth: fitWidth + fitTolerance,
186
- fitHeight: fitHeight + fitTolerance,
187
- trigger: trigger,
188
- dropdownListId: dropdownListId,
189
- alignDropdownWithParentElement: alignDropdownWithToolbar,
190
- arrowKeyNavigationProviderOptions: {
191
- type: ArrowKeyNavigationType.MENU
192
- }
193
- }, Array.isArray(options) ? this.renderArrayOptions(options) : options.render({
194
- hide: this.hide,
195
- dispatchCommand: dispatchCommand
196
- }));
180
+ return (
181
+ /**
182
+ * At the moment footer diver is rendered along with footer, if it's provided
183
+ * This is to provide some level of consistency
184
+ * Refer to the PR for more details:
185
+ * https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/137394/overview?commentId=8130003
186
+ */
187
+ jsx(UiDropdown, {
188
+ mountTo: mountPoint,
189
+ boundariesElement: boundariesElement,
190
+ scrollableElement: scrollableElement,
191
+ isOpen: isOpen,
192
+ handleClickOutside: this.hide,
193
+ handleEscapeKeydown: this.hideOnEsc,
194
+ onOpenChange: this.onOpenChanged,
195
+ fitWidth: fitWidth + fitTolerance,
196
+ fitHeight: fitHeight + fitTolerance,
197
+ trigger: trigger,
198
+ dropdownListId: dropdownListId,
199
+ alignDropdownWithParentElement: alignDropdownWithToolbar,
200
+ arrowKeyNavigationProviderOptions: {
201
+ type: ArrowKeyNavigationType.MENU
202
+ }
203
+ }, Array.isArray(options) ? this.renderArrayOptions(options) : options.render({
204
+ hide: this.hide,
205
+ dispatchCommand: dispatchCommand
206
+ }), footer && jsx(React.Fragment, null, jsx(Divider, null), footer))
207
+ );
197
208
  }
198
209
  }, {
199
210
  key: "componentDidUpdate",
@@ -175,7 +175,8 @@ var ToolbarItems = /*#__PURE__*/React.memo(function (_ref) {
175
175
  setDisableParentScroll: scrollable ? setDisableScroll : undefined,
176
176
  dropdownListId: (item === null || item === void 0 ? void 0 : item.id) && "".concat(item.id, "-dropdownList"),
177
177
  alignDropdownWithToolbar: items.length === 1,
178
- onToggle: item.onToggle
178
+ onToggle: item.onToggle,
179
+ footer: item.footer
179
180
  });
180
181
  case 'select':
181
182
  if (item.selectType === 'list') {
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Divider: () => JSX.Element;
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @jsxRuntime classic
3
3
  * @jsx jsx
4
+ * @jsxFrag
4
5
  */
5
6
  import type { ReactElement } from 'react';
6
7
  import React, { Component } from 'react';
@@ -28,6 +29,7 @@ export interface Props {
28
29
  dropdownListId?: string;
29
30
  alignDropdownWithToolbar?: boolean;
30
31
  onToggle?: (state: EditorState, dispatch: CommandDispatch | undefined) => boolean;
32
+ footer?: React.ReactNode;
31
33
  }
32
34
  export interface State {
33
35
  isOpen: boolean;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Divider: () => JSX.Element;
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @jsxRuntime classic
3
3
  * @jsx jsx
4
+ * @jsxFrag
4
5
  */
5
6
  import type { ReactElement } from 'react';
6
7
  import React, { Component } from 'react';
@@ -28,6 +29,7 @@ export interface Props {
28
29
  dropdownListId?: string;
29
30
  alignDropdownWithToolbar?: boolean;
30
31
  onToggle?: (state: EditorState, dispatch: CommandDispatch | undefined) => boolean;
32
+ footer?: React.ReactNode;
31
33
  }
32
34
  export interface State {
33
35
  isOpen: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-floating-toolbar",
3
- "version": "1.12.0",
3
+ "version": "1.12.2",
4
4
  "description": "Floating toolbar plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -26,7 +26,7 @@
26
26
  "@atlaskit/adf-utils": "^19.8.0",
27
27
  "@atlaskit/button": "^20.1.0",
28
28
  "@atlaskit/checkbox": "^14.0.0",
29
- "@atlaskit/editor-common": "^88.11.0",
29
+ "@atlaskit/editor-common": "^88.13.0",
30
30
  "@atlaskit/editor-palette": "1.6.0",
31
31
  "@atlaskit/editor-plugin-block-controls": "^1.13.0",
32
32
  "@atlaskit/editor-plugin-context-panel": "^1.3.0",