@atlaskit/jql-editor 5.6.4 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/analytics/util.js +1 -1
  3. package/dist/cjs/plugins/autocomplete/view.js +4 -0
  4. package/dist/cjs/plugins/rich-inline-nodes/nodes/index.js +3 -1
  5. package/dist/cjs/plugins/rich-inline-nodes/nodes/team/index.js +41 -0
  6. package/dist/cjs/plugins/rich-inline-nodes/nodes/team/styled.js +99 -0
  7. package/dist/cjs/plugins/rich-inline-nodes/nodes/user/styled.js +7 -0
  8. package/dist/cjs/plugins/rich-inline-nodes/util/replace-nodes-transaction.js +9 -1
  9. package/dist/cjs/state/index.js +40 -31
  10. package/dist/es2019/analytics/util.js +1 -1
  11. package/dist/es2019/plugins/autocomplete/view.js +4 -0
  12. package/dist/es2019/plugins/rich-inline-nodes/nodes/index.js +3 -1
  13. package/dist/es2019/plugins/rich-inline-nodes/nodes/team/index.js +32 -0
  14. package/dist/es2019/plugins/rich-inline-nodes/nodes/team/styled.js +91 -0
  15. package/dist/es2019/plugins/rich-inline-nodes/nodes/user/styled.js +7 -0
  16. package/dist/es2019/plugins/rich-inline-nodes/util/replace-nodes-transaction.js +10 -1
  17. package/dist/es2019/state/index.js +12 -2
  18. package/dist/esm/analytics/util.js +1 -1
  19. package/dist/esm/plugins/autocomplete/view.js +4 -0
  20. package/dist/esm/plugins/rich-inline-nodes/nodes/index.js +3 -1
  21. package/dist/esm/plugins/rich-inline-nodes/nodes/team/index.js +34 -0
  22. package/dist/esm/plugins/rich-inline-nodes/nodes/team/styled.js +90 -0
  23. package/dist/esm/plugins/rich-inline-nodes/nodes/user/styled.js +7 -0
  24. package/dist/esm/plugins/rich-inline-nodes/util/replace-nodes-transaction.js +9 -1
  25. package/dist/esm/state/index.js +39 -30
  26. package/dist/types/index.d.ts +1 -1
  27. package/dist/types/plugins/rich-inline-nodes/nodes/index.d.ts +1 -0
  28. package/dist/types/plugins/rich-inline-nodes/nodes/team/index.d.ts +7 -0
  29. package/dist/types/plugins/rich-inline-nodes/nodes/team/styled.d.ts +15 -0
  30. package/dist/types/state/index.d.ts +36 -1
  31. package/dist/types/types.d.ts +1 -1
  32. package/dist/types/ui/jql-editor/types.d.ts +7 -1
  33. package/dist/types/ui/types.d.ts +1 -1
  34. package/dist/types-ts4.5/index.d.ts +1 -1
  35. package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/index.d.ts +1 -0
  36. package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/team/index.d.ts +7 -0
  37. package/dist/types-ts4.5/plugins/rich-inline-nodes/nodes/team/styled.d.ts +15 -0
  38. package/dist/types-ts4.5/state/index.d.ts +36 -1
  39. package/dist/types-ts4.5/types.d.ts +1 -1
  40. package/dist/types-ts4.5/ui/jql-editor/types.d.ts +7 -1
  41. package/dist/types-ts4.5/ui/types.d.ts +1 -1
  42. package/package.json +7 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/jql-editor
2
2
 
3
+ ## 5.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`8e600a4218a79`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8e600a4218a79) -
8
+ [ux] Fixed offset of anonymous user icon in jqlEditor and edited user example to showcase the
9
+ anonymous user icon
10
+
11
+ ## 5.6.5
12
+
13
+ ### Patch Changes
14
+
15
+ - [`6cf4b64a5d781`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6cf4b64a5d781) -
16
+ Update team JQl to show rich text node (and hydrate)
17
+ - Updated dependencies
18
+
3
19
  ## 5.6.4
4
20
 
5
21
  ### Patch Changes
@@ -6,5 +6,5 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useJqlEditorAnalytics = void 0;
7
7
  var _jqlEditorCommon = require("@atlaskit/jql-editor-common");
8
8
  var useJqlEditorAnalytics = exports.useJqlEditorAnalytics = function useJqlEditorAnalytics(analyticsSource) {
9
- return (0, _jqlEditorCommon.useJqlPackageAnalytics)(analyticsSource, "@atlaskit/jql-editor", "5.6.3", _jqlEditorCommon.ANALYTICS_CHANNEL);
9
+ return (0, _jqlEditorCommon.useJqlPackageAnalytics)(analyticsSource, "@atlaskit/jql-editor", "0.0.0-development", _jqlEditorCommon.ANALYTICS_CHANNEL);
10
10
  };
@@ -15,6 +15,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
15
15
  var _model = require("@atlaskit/editor-prosemirror/model");
16
16
  var _state = require("@atlaskit/editor-prosemirror/state");
17
17
  var _jqlAst = require("@atlaskit/jql-ast");
18
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
19
  var _getDocumentPosition = _interopRequireDefault(require("../common/get-document-position"));
19
20
  var _reactPluginView = _interopRequireDefault(require("../common/react-plugin-view"));
20
21
  var _autocomplete = _interopRequireDefault(require("./components/autocomplete"));
@@ -61,6 +62,9 @@ var AutocompletePluginView = exports.default = /*#__PURE__*/function (_ReactPlug
61
62
  if (_this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'user') {
62
63
  transaction.setMeta('hydrate', true);
63
64
  }
65
+ if (_this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'team' && (0, _platformFeatureFlags.fg)('jira_update_jql_teams')) {
66
+ transaction.setMeta('hydrate', true);
67
+ }
64
68
  var documentFrom = (0, _getDocumentPosition.default)(transaction.doc, from);
65
69
  var documentTo = (0, _getDocumentPosition.default)(transaction.doc, to);
66
70
 
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.richInlineNodes = void 0;
7
+ var _team = require("./team");
7
8
  var _user = require("./user");
8
9
  var richInlineNodes = exports.richInlineNodes = {
9
- user: _user.user
10
+ user: _user.user,
11
+ team: _team.team
10
12
  };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.team = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _avatar = _interopRequireDefault(require("@atlaskit/avatar"));
11
+ var _state = require("../../../../state");
12
+ var _styled = require("./styled");
13
+ var Team = function Team(_ref) {
14
+ var id = _ref.id,
15
+ name = _ref.name,
16
+ fieldName = _ref.fieldName,
17
+ selected = _ref.selected,
18
+ error = _ref.error;
19
+ var _useHydratedTeam = (0, _state.useHydratedTeam)({
20
+ id: id,
21
+ fieldName: fieldName
22
+ }),
23
+ _useHydratedTeam2 = (0, _slicedToArray2.default)(_useHydratedTeam, 1),
24
+ team = _useHydratedTeam2[0];
25
+ return /*#__PURE__*/_react.default.createElement(_styled.TeamContainer, {
26
+ selected: selected,
27
+ error: error
28
+ }, /*#__PURE__*/_react.default.createElement(_styled.AvatarWrapper, null, /*#__PURE__*/_react.default.createElement(_avatar.default, {
29
+ src: team === null || team === void 0 ? void 0 : team.avatarUrl,
30
+ borderColor: "transparent",
31
+ size: "xsmall"
32
+ })), /*#__PURE__*/_react.default.createElement(_styled.NameContainer, null, name));
33
+ };
34
+ var team = exports.team = {
35
+ component: Team,
36
+ attrs: {
37
+ id: {},
38
+ name: {},
39
+ fieldName: {}
40
+ }
41
+ };
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TeamContainer = exports.NameContainer = exports.AvatarWrapper = void 0;
8
+ var _react = require("@emotion/react");
9
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
12
+
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
14
+
15
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
16
+ var TeamContainer = exports.TeamContainer = _styled.default.span({
17
+ display: 'inline-flex',
18
+ alignItems: 'baseline',
19
+ paddingLeft: "var(--ds-space-025, 2px)",
20
+ borderRadius: "var(--ds-radius-xlarge, 12px)",
21
+ cursor: 'pointer',
22
+ userSelect: 'none'
23
+ },
24
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-dynamic-styles -- Ignored via go/DSP-18766
25
+ function (_ref) {
26
+ var selected = _ref.selected,
27
+ error = _ref.error;
28
+ if (selected) {
29
+ if (error) {
30
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
31
+ return (0, _react.css)({
32
+ color: "var(--ds-text-inverse, ".concat(_colors.N0, ")"),
33
+ backgroundColor: "var(--ds-background-danger-bold, ".concat(_colors.R400, ")"),
34
+ textDecoration: 'wavy underline',
35
+ textDecorationThickness: '1px',
36
+ textDecorationSkipInk: 'none',
37
+ textDecorationColor: "var(--ds-text-inverse, ".concat(_colors.N0, ")")
38
+ });
39
+ } else {
40
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
41
+ return (0, _react.css)({
42
+ color: "var(--ds-text, ".concat(_colors.N0, ")"),
43
+ backgroundColor: "var(--ds-background-selected, ".concat(_colors.N500, ")"),
44
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-selected, transparent)")
45
+ });
46
+ }
47
+ } else {
48
+ if (error) {
49
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
50
+ return (0, _react.css)({
51
+ color: "var(--ds-text-subtle, ".concat(_colors.N500, ")"),
52
+ backgroundColor: "var(--ds-background-neutral, ".concat(_colors.N40, ")"),
53
+ textDecoration: 'wavy underline',
54
+ textDecorationThickness: '1px',
55
+ textDecorationSkipInk: 'none',
56
+ textDecorationColor: "var(--ds-text-danger, ".concat(_colors.R400, ")"),
57
+ '&:hover': {
58
+ backgroundColor: "var(--ds-background-neutral-hovered, ".concat(_colors.N50, ")")
59
+ }
60
+ });
61
+ } else {
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
63
+ return (0, _react.css)({
64
+ color: "var(--ds-text-subtle, ".concat(_colors.N500, ")"),
65
+ backgroundColor: "var(--ds-background-neutral, ".concat(_colors.N40, ")"),
66
+ '&:hover': {
67
+ backgroundColor: "var(--ds-background-neutral-hovered, ".concat(_colors.N50, ")")
68
+ }
69
+ });
70
+ }
71
+ }
72
+ });
73
+
74
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
75
+ var NameContainer = exports.NameContainer = _styled.default.span({
76
+ marginLeft: "var(--ds-space-075, 6px)",
77
+ marginRight: "var(--ds-space-100, 8px)",
78
+ // eslint-disable-next-line -- Ignored via go/DSP-18766
79
+ lineHeight: "var(--ds-space-250, 20px)"
80
+ });
81
+
82
+ /* Override Avatar styles to match design spec */
83
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage, @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
84
+ var AvatarWrapper = exports.AvatarWrapper = _styled.default.div({
85
+ height: "var(--ds-space-200, 16px)",
86
+ width: "var(--ds-space-200, 16px)",
87
+ alignSelf: 'center',
88
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
89
+ '> div span': {
90
+ margin: "var(--ds-space-0, 0px)"
91
+ },
92
+ // Fix fallback icon alignment by targeting the outer AvatarContent span
93
+ // This contains the icon background and needs to move as a unit
94
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
95
+ '> div > span:has(> span)': {
96
+ position: 'relative',
97
+ top: '-2px'
98
+ }
99
+ });
@@ -88,5 +88,12 @@ var AvatarWrapper = exports.AvatarWrapper = _styled.default.div({
88
88
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
89
89
  '> div span': {
90
90
  margin: "var(--ds-space-0, 0px)"
91
+ },
92
+ // Fix fallback icon alignment by targeting the outer AvatarContent span
93
+ // This contains the icon background and needs to move as a unit
94
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
95
+ '> div > span:has(> span)': {
96
+ position: 'relative',
97
+ top: '-2px'
91
98
  }
92
99
  });
@@ -14,6 +14,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
16
  var _jqlAst = require("@atlaskit/jql-ast");
17
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
18
  var _schema = require("../../../schema");
18
19
  var _getDocumentPosition = _interopRequireDefault(require("../../common/get-document-position"));
19
20
  var _jqlAst2 = require("../../jql-ast");
@@ -32,7 +33,7 @@ var replaceRichInlineNodes = exports.replaceRichInlineNodes = function replaceRi
32
33
  fieldName = _ref2[0],
33
34
  values = _ref2[1];
34
35
  values.forEach(function (value) {
35
- if (value.type === 'user') {
36
+ if (value.type === 'user' || value.type === 'team' && (0, _platformFeatureFlags.fg)('jira_update_jql_teams')) {
36
37
  var astNodes = getValueNodes(ast, fieldName, value.id);
37
38
  astNodes.forEach(function (astNode) {
38
39
  if (astNode.position) {
@@ -61,6 +62,13 @@ var getRichInlineNode = function getRichInlineNode(fieldName, value, text) {
61
62
  fieldName: fieldName
62
63
  }), textContent);
63
64
  }
65
+ case 'team':
66
+ {
67
+ var _textContent = _schema.JQLEditorSchema.text(text);
68
+ return _schema.JQLEditorSchema.nodes.team.create(_objectSpread(_objectSpread({}, value), {}, {
69
+ fieldName: fieldName
70
+ }), _textContent);
71
+ }
64
72
  default:
65
73
  {
66
74
  throw new Error("Unsupported hydrated value type ".concat(value.type));
@@ -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.useStoreActions = exports.useScopedId = exports.useRichInlineNodesEnabled = exports.useOnSyntaxHelp = exports.useLineNumbersVisible = exports.useJqlError = exports.useIsSearching = exports.useIntl = exports.useIdPrefix = exports.useHydratedValue = exports.useHydratedUser = exports.useHydratedDeprecations = exports.useExternalMessages = exports.useEditorViewHasFocus = exports.useEditorView = exports.useEditorStateHasJqlError = exports.useEditorState = exports.useCustomErrorComponent = exports.useAutocompleteProvider = exports.useAutocompletePosition = exports.useAutocompleteOptions = exports.useAutocompleteLoading = exports.useAutocompleteIsOpen = exports.useAutocomplete = exports.initialState = exports.actions = exports.EditorStateContainer = void 0;
7
+ exports.useStoreActions = exports.useScopedId = exports.useRichInlineNodesEnabled = exports.useOnSyntaxHelp = exports.useLineNumbersVisible = exports.useJqlError = exports.useIsSearching = exports.useIntl = exports.useIdPrefix = exports.useHydratedValue = exports.useHydratedUser = exports.useHydratedTeam = exports.useHydratedDeprecations = exports.useExternalMessages = exports.useEditorViewHasFocus = exports.useEditorView = exports.useEditorStateHasJqlError = exports.useEditorState = exports.useCustomErrorComponent = exports.useAutocompleteProvider = exports.useAutocompletePosition = exports.useAutocompleteOptions = exports.useAutocompleteLoading = exports.useAutocompleteIsOpen = exports.useAutocomplete = exports.initialState = exports.actions = exports.EditorStateContainer = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -909,16 +909,25 @@ var useHydratedUser = exports.useHydratedUser = (0, _reactSweetState.createHook)
909
909
  return user && user.type === 'user' ? user : undefined;
910
910
  }
911
911
  });
912
+ var useHydratedTeam = exports.useHydratedTeam = (0, _reactSweetState.createHook)(Store, {
913
+ selector: function selector(state, _ref40) {
914
+ var _state$hydratedValues3;
915
+ var id = _ref40.id,
916
+ fieldName = _ref40.fieldName;
917
+ var team = (_state$hydratedValues3 = state.hydratedValues[fieldName]) === null || _state$hydratedValues3 === void 0 ? void 0 : _state$hydratedValues3.get(id);
918
+ return team && team.type === 'team' ? team : undefined;
919
+ }
920
+ });
912
921
  var useHydratedDeprecations = exports.useHydratedDeprecations = (0, _reactSweetState.createHook)(Store, {
913
922
  selector: function selector(state) {
914
923
  var ast = (0, _jqlAst2.getJastFromState)(state.editorState);
915
924
  var fieldsInQuery = (0, _util.getFieldNodes)(ast);
916
925
  var toReturn = [];
917
- Object.entries(state.hydratedValues).forEach(function (_ref40) {
918
- var _state$hydratedValues3;
919
- var _ref41 = (0, _slicedToArray2.default)(_ref40, 1),
920
- fieldName = _ref41[0];
921
- (_state$hydratedValues3 = state.hydratedValues[fieldName]) === null || _state$hydratedValues3 === void 0 || _state$hydratedValues3.forEach(function (value) {
926
+ Object.entries(state.hydratedValues).forEach(function (_ref41) {
927
+ var _state$hydratedValues4;
928
+ var _ref42 = (0, _slicedToArray2.default)(_ref41, 1),
929
+ fieldName = _ref42[0];
930
+ (_state$hydratedValues4 = state.hydratedValues[fieldName]) === null || _state$hydratedValues4 === void 0 || _state$hydratedValues4.forEach(function (value) {
922
931
  if (value.type === 'deprecated-field') {
923
932
  if (fieldsInQuery.has(value.id.toLowerCase())) {
924
933
  toReturn.push(value);
@@ -941,19 +950,19 @@ var useOnSyntaxHelp = exports.useOnSyntaxHelp = (0, _reactSweetState.createHook)
941
950
  });
942
951
  var EditorStateContainer = exports.EditorStateContainer = (0, _reactSweetState.createContainer)(Store, {
943
952
  onInit: function onInit() {
944
- return function (_ref42, _ref43) {
945
- var getState = _ref42.getState,
946
- setState = _ref42.setState,
947
- dispatch = _ref42.dispatch;
948
- var intlRef = _ref43.intlRef,
949
- query = _ref43.query,
950
- isSearching = _ref43.isSearching,
951
- autocompleteProvider = _ref43.autocompleteProvider,
952
- externalMessages = _ref43.externalMessages,
953
- enableRichInlineNodes = _ref43.enableRichInlineNodes,
954
- onDebugUnsafeMessage = _ref43.onDebugUnsafeMessage,
955
- onSyntaxHelp = _ref43.onSyntaxHelp,
956
- customComponents = _ref43.customComponents;
953
+ return function (_ref43, _ref44) {
954
+ var getState = _ref43.getState,
955
+ setState = _ref43.setState,
956
+ dispatch = _ref43.dispatch;
957
+ var intlRef = _ref44.intlRef,
958
+ query = _ref44.query,
959
+ isSearching = _ref44.isSearching,
960
+ autocompleteProvider = _ref44.autocompleteProvider,
961
+ externalMessages = _ref44.externalMessages,
962
+ enableRichInlineNodes = _ref44.enableRichInlineNodes,
963
+ onDebugUnsafeMessage = _ref44.onDebugUnsafeMessage,
964
+ onSyntaxHelp = _ref44.onSyntaxHelp,
965
+ customComponents = _ref44.customComponents;
957
966
  setState({
958
967
  controlledQuery: query,
959
968
  query: query,
@@ -981,18 +990,18 @@ var EditorStateContainer = exports.EditorStateContainer = (0, _reactSweetState.c
981
990
  };
982
991
  },
983
992
  onUpdate: function onUpdate() {
984
- return function (_ref44, _ref45) {
985
- var getState = _ref44.getState,
986
- setState = _ref44.setState,
987
- dispatch = _ref44.dispatch;
988
- var controlledQueryProp = _ref45.query,
989
- isSearching = _ref45.isSearching,
990
- autocompleteProvider = _ref45.autocompleteProvider,
991
- externalMessages = _ref45.externalMessages,
992
- enableRichInlineNodes = _ref45.enableRichInlineNodes,
993
- onDebugUnsafeMessage = _ref45.onDebugUnsafeMessage,
994
- onSyntaxHelp = _ref45.onSyntaxHelp,
995
- customComponents = _ref45.customComponents;
993
+ return function (_ref45, _ref46) {
994
+ var getState = _ref45.getState,
995
+ setState = _ref45.setState,
996
+ dispatch = _ref45.dispatch;
997
+ var controlledQueryProp = _ref46.query,
998
+ isSearching = _ref46.isSearching,
999
+ autocompleteProvider = _ref46.autocompleteProvider,
1000
+ externalMessages = _ref46.externalMessages,
1001
+ enableRichInlineNodes = _ref46.enableRichInlineNodes,
1002
+ onDebugUnsafeMessage = _ref46.onDebugUnsafeMessage,
1003
+ onSyntaxHelp = _ref46.onSyntaxHelp,
1004
+ customComponents = _ref46.customComponents;
996
1005
  var _getState12 = getState(),
997
1006
  controlledQuery = _getState12.controlledQuery,
998
1007
  query = _getState12.query;
@@ -1,4 +1,4 @@
1
1
  import { ANALYTICS_CHANNEL, useJqlPackageAnalytics } from '@atlaskit/jql-editor-common';
2
2
  export const useJqlEditorAnalytics = analyticsSource => {
3
- return useJqlPackageAnalytics(analyticsSource, "@atlaskit/jql-editor", "5.6.3", ANALYTICS_CHANNEL);
3
+ return useJqlPackageAnalytics(analyticsSource, "@atlaskit/jql-editor", "0.0.0-development", ANALYTICS_CHANNEL);
4
4
  };
@@ -2,6 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
3
3
  import { TextSelection } from '@atlaskit/editor-prosemirror/state';
4
4
  import { isListOperator } from '@atlaskit/jql-ast';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  import getDocumentPosition from '../common/get-document-position';
6
7
  import ReactPluginView from '../common/react-plugin-view';
7
8
  import Autocomplete from './components/autocomplete';
@@ -44,6 +45,9 @@ export default class AutocompletePluginView extends ReactPluginView {
44
45
  if (this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'user') {
45
46
  transaction.setMeta('hydrate', true);
46
47
  }
48
+ if (this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'team' && fg('jira_update_jql_teams')) {
49
+ transaction.setMeta('hydrate', true);
50
+ }
47
51
  const documentFrom = getDocumentPosition(transaction.doc, from);
48
52
  const documentTo = getDocumentPosition(transaction.doc, to);
49
53
 
@@ -1,4 +1,6 @@
1
+ import { team } from './team';
1
2
  import { user } from './user';
2
3
  export const richInlineNodes = {
3
- user
4
+ user,
5
+ team
4
6
  };
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import Avatar from '@atlaskit/avatar';
3
+ import { useHydratedTeam } from '../../../../state';
4
+ import { AvatarWrapper, NameContainer, TeamContainer } from './styled';
5
+ const Team = ({
6
+ id,
7
+ name,
8
+ fieldName,
9
+ selected,
10
+ error
11
+ }) => {
12
+ const [team] = useHydratedTeam({
13
+ id,
14
+ fieldName
15
+ });
16
+ return /*#__PURE__*/React.createElement(TeamContainer, {
17
+ selected: selected,
18
+ error: error
19
+ }, /*#__PURE__*/React.createElement(AvatarWrapper, null, /*#__PURE__*/React.createElement(Avatar, {
20
+ src: team === null || team === void 0 ? void 0 : team.avatarUrl,
21
+ borderColor: "transparent",
22
+ size: "xsmall"
23
+ })), /*#__PURE__*/React.createElement(NameContainer, null, name));
24
+ };
25
+ export const team = {
26
+ component: Team,
27
+ attrs: {
28
+ id: {},
29
+ name: {},
30
+ fieldName: {}
31
+ }
32
+ };
@@ -0,0 +1,91 @@
1
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
2
+ import { css } from '@emotion/react';
3
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
4
+ import styled from '@emotion/styled';
5
+ import { N0, N40, N50, N500, R400 } from '@atlaskit/theme/colors';
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
7
+ export const TeamContainer = styled.span({
8
+ display: 'inline-flex',
9
+ alignItems: 'baseline',
10
+ paddingLeft: `${"var(--ds-space-025, 2px)"}`,
11
+ borderRadius: "var(--ds-radius-xlarge, 12px)",
12
+ cursor: 'pointer',
13
+ userSelect: 'none'
14
+ },
15
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-dynamic-styles -- Ignored via go/DSP-18766
16
+ ({
17
+ selected,
18
+ error
19
+ }) => {
20
+ if (selected) {
21
+ if (error) {
22
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
23
+ return css({
24
+ color: `var(--ds-text-inverse, ${N0})`,
25
+ backgroundColor: `var(--ds-background-danger-bold, ${R400})`,
26
+ textDecoration: 'wavy underline',
27
+ textDecorationThickness: '1px',
28
+ textDecorationSkipInk: 'none',
29
+ textDecorationColor: `var(--ds-text-inverse, ${N0})`
30
+ });
31
+ } else {
32
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
33
+ return css({
34
+ color: `var(--ds-text, ${N0})`,
35
+ backgroundColor: `var(--ds-background-selected, ${N500})`,
36
+ boxShadow: `0 0 0 1px ${"var(--ds-border-selected, transparent)"}`
37
+ });
38
+ }
39
+ } else {
40
+ if (error) {
41
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
42
+ return css({
43
+ color: `var(--ds-text-subtle, ${N500})`,
44
+ backgroundColor: `var(--ds-background-neutral, ${N40})`,
45
+ textDecoration: 'wavy underline',
46
+ textDecorationThickness: '1px',
47
+ textDecorationSkipInk: 'none',
48
+ textDecorationColor: `var(--ds-text-danger, ${R400})`,
49
+ '&:hover': {
50
+ backgroundColor: `var(--ds-background-neutral-hovered, ${N50})`
51
+ }
52
+ });
53
+ } else {
54
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
55
+ return css({
56
+ color: `var(--ds-text-subtle, ${N500})`,
57
+ backgroundColor: `var(--ds-background-neutral, ${N40})`,
58
+ '&:hover': {
59
+ backgroundColor: `var(--ds-background-neutral-hovered, ${N50})`
60
+ }
61
+ });
62
+ }
63
+ }
64
+ });
65
+
66
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
67
+ export const NameContainer = styled.span({
68
+ marginLeft: "var(--ds-space-075, 6px)",
69
+ marginRight: "var(--ds-space-100, 8px)",
70
+ // eslint-disable-next-line -- Ignored via go/DSP-18766
71
+ lineHeight: "var(--ds-space-250, 20px)"
72
+ });
73
+
74
+ /* Override Avatar styles to match design spec */
75
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage, @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
76
+ export const AvatarWrapper = styled.div({
77
+ height: "var(--ds-space-200, 16px)",
78
+ width: "var(--ds-space-200, 16px)",
79
+ alignSelf: 'center',
80
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
81
+ '> div span': {
82
+ margin: "var(--ds-space-0, 0px)"
83
+ },
84
+ // Fix fallback icon alignment by targeting the outer AvatarContent span
85
+ // This contains the icon background and needs to move as a unit
86
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
87
+ '> div > span:has(> span)': {
88
+ position: 'relative',
89
+ top: '-2px'
90
+ }
91
+ });
@@ -80,5 +80,12 @@ export const AvatarWrapper = styled.div({
80
80
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
81
81
  '> div span': {
82
82
  margin: "var(--ds-space-0, 0px)"
83
+ },
84
+ // Fix fallback icon alignment by targeting the outer AvatarContent span
85
+ // This contains the icon background and needs to move as a unit
86
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
87
+ '> div > span:has(> span)': {
88
+ position: 'relative',
89
+ top: '-2px'
83
90
  }
84
91
  });
@@ -1,5 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { AbstractJastVisitor } from '@atlaskit/jql-ast';
3
+ import { fg } from '@atlaskit/platform-feature-flags';
3
4
  import { JQLEditorSchema } from '../../../schema';
4
5
  import getDocumentPosition from '../../common/get-document-position';
5
6
  import { getJastFromState } from '../../jql-ast';
@@ -11,7 +12,7 @@ export const replaceRichInlineNodes = (editorState, hydratedValues) => {
11
12
  transaction.setMeta('addToHistory', false);
12
13
  Object.entries(hydratedValues).forEach(([fieldName, values]) => {
13
14
  values.forEach(value => {
14
- if (value.type === 'user') {
15
+ if (value.type === 'user' || value.type === 'team' && fg('jira_update_jql_teams')) {
15
16
  const astNodes = getValueNodes(ast, fieldName, value.id);
16
17
  astNodes.forEach(astNode => {
17
18
  if (astNode.position) {
@@ -39,6 +40,14 @@ const getRichInlineNode = (fieldName, value, text) => {
39
40
  fieldName
40
41
  }, textContent);
41
42
  }
43
+ case 'team':
44
+ {
45
+ const textContent = JQLEditorSchema.text(text);
46
+ return JQLEditorSchema.nodes.team.create({
47
+ ...value,
48
+ fieldName
49
+ }, textContent);
50
+ }
42
51
  default:
43
52
  {
44
53
  throw new Error(`Unsupported hydrated value type ${value.type}`);
@@ -882,14 +882,24 @@ export const useHydratedUser = createHook(Store, {
882
882
  return user && user.type === 'user' ? user : undefined;
883
883
  }
884
884
  });
885
+ export const useHydratedTeam = createHook(Store, {
886
+ selector: (state, {
887
+ id,
888
+ fieldName
889
+ }) => {
890
+ var _state$hydratedValues3;
891
+ const team = (_state$hydratedValues3 = state.hydratedValues[fieldName]) === null || _state$hydratedValues3 === void 0 ? void 0 : _state$hydratedValues3.get(id);
892
+ return team && team.type === 'team' ? team : undefined;
893
+ }
894
+ });
885
895
  export const useHydratedDeprecations = createHook(Store, {
886
896
  selector: state => {
887
897
  const ast = getJastFromState(state.editorState);
888
898
  const fieldsInQuery = getFieldNodes(ast);
889
899
  const toReturn = [];
890
900
  Object.entries(state.hydratedValues).forEach(([fieldName]) => {
891
- var _state$hydratedValues3;
892
- (_state$hydratedValues3 = state.hydratedValues[fieldName]) === null || _state$hydratedValues3 === void 0 ? void 0 : _state$hydratedValues3.forEach(value => {
901
+ var _state$hydratedValues4;
902
+ (_state$hydratedValues4 = state.hydratedValues[fieldName]) === null || _state$hydratedValues4 === void 0 ? void 0 : _state$hydratedValues4.forEach(value => {
893
903
  if (value.type === 'deprecated-field') {
894
904
  if (fieldsInQuery.has(value.id.toLowerCase())) {
895
905
  toReturn.push(value);
@@ -1,4 +1,4 @@
1
1
  import { ANALYTICS_CHANNEL, useJqlPackageAnalytics } from '@atlaskit/jql-editor-common';
2
2
  export var useJqlEditorAnalytics = function useJqlEditorAnalytics(analyticsSource) {
3
- return useJqlPackageAnalytics(analyticsSource, "@atlaskit/jql-editor", "5.6.3", ANALYTICS_CHANNEL);
3
+ return useJqlPackageAnalytics(analyticsSource, "@atlaskit/jql-editor", "0.0.0-development", ANALYTICS_CHANNEL);
4
4
  };
@@ -10,6 +10,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
10
10
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
11
11
  import { TextSelection } from '@atlaskit/editor-prosemirror/state';
12
12
  import { isListOperator } from '@atlaskit/jql-ast';
13
+ import { fg } from '@atlaskit/platform-feature-flags';
13
14
  import getDocumentPosition from '../common/get-document-position';
14
15
  import ReactPluginView from '../common/react-plugin-view';
15
16
  import Autocomplete from './components/autocomplete';
@@ -55,6 +56,9 @@ var AutocompletePluginView = /*#__PURE__*/function (_ReactPluginView) {
55
56
  if (_this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'user') {
56
57
  transaction.setMeta('hydrate', true);
57
58
  }
59
+ if (_this.enableRichInlineNodes && option.type === 'value' && option.valueType === 'team' && fg('jira_update_jql_teams')) {
60
+ transaction.setMeta('hydrate', true);
61
+ }
58
62
  var documentFrom = getDocumentPosition(transaction.doc, from);
59
63
  var documentTo = getDocumentPosition(transaction.doc, to);
60
64
 
@@ -1,4 +1,6 @@
1
+ import { team } from './team';
1
2
  import { user } from './user';
2
3
  export var richInlineNodes = {
3
- user: user
4
+ user: user,
5
+ team: team
4
6
  };
@@ -0,0 +1,34 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React from 'react';
3
+ import Avatar from '@atlaskit/avatar';
4
+ import { useHydratedTeam } from '../../../../state';
5
+ import { AvatarWrapper, NameContainer, TeamContainer } from './styled';
6
+ var Team = function Team(_ref) {
7
+ var id = _ref.id,
8
+ name = _ref.name,
9
+ fieldName = _ref.fieldName,
10
+ selected = _ref.selected,
11
+ error = _ref.error;
12
+ var _useHydratedTeam = useHydratedTeam({
13
+ id: id,
14
+ fieldName: fieldName
15
+ }),
16
+ _useHydratedTeam2 = _slicedToArray(_useHydratedTeam, 1),
17
+ team = _useHydratedTeam2[0];
18
+ return /*#__PURE__*/React.createElement(TeamContainer, {
19
+ selected: selected,
20
+ error: error
21
+ }, /*#__PURE__*/React.createElement(AvatarWrapper, null, /*#__PURE__*/React.createElement(Avatar, {
22
+ src: team === null || team === void 0 ? void 0 : team.avatarUrl,
23
+ borderColor: "transparent",
24
+ size: "xsmall"
25
+ })), /*#__PURE__*/React.createElement(NameContainer, null, name));
26
+ };
27
+ export var team = {
28
+ component: Team,
29
+ attrs: {
30
+ id: {},
31
+ name: {},
32
+ fieldName: {}
33
+ }
34
+ };
@@ -0,0 +1,90 @@
1
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
2
+ import { css } from '@emotion/react';
3
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
4
+ import styled from '@emotion/styled';
5
+ import { N0, N40, N50, N500, R400 } from '@atlaskit/theme/colors';
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
7
+ export var TeamContainer = styled.span({
8
+ display: 'inline-flex',
9
+ alignItems: 'baseline',
10
+ paddingLeft: "var(--ds-space-025, 2px)",
11
+ borderRadius: "var(--ds-radius-xlarge, 12px)",
12
+ cursor: 'pointer',
13
+ userSelect: 'none'
14
+ },
15
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-dynamic-styles -- Ignored via go/DSP-18766
16
+ function (_ref) {
17
+ var selected = _ref.selected,
18
+ error = _ref.error;
19
+ if (selected) {
20
+ if (error) {
21
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
22
+ return css({
23
+ color: "var(--ds-text-inverse, ".concat(N0, ")"),
24
+ backgroundColor: "var(--ds-background-danger-bold, ".concat(R400, ")"),
25
+ textDecoration: 'wavy underline',
26
+ textDecorationThickness: '1px',
27
+ textDecorationSkipInk: 'none',
28
+ textDecorationColor: "var(--ds-text-inverse, ".concat(N0, ")")
29
+ });
30
+ } else {
31
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
32
+ return css({
33
+ color: "var(--ds-text, ".concat(N0, ")"),
34
+ backgroundColor: "var(--ds-background-selected, ".concat(N500, ")"),
35
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border-selected, transparent)")
36
+ });
37
+ }
38
+ } else {
39
+ if (error) {
40
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
41
+ return css({
42
+ color: "var(--ds-text-subtle, ".concat(N500, ")"),
43
+ backgroundColor: "var(--ds-background-neutral, ".concat(N40, ")"),
44
+ textDecoration: 'wavy underline',
45
+ textDecorationThickness: '1px',
46
+ textDecorationSkipInk: 'none',
47
+ textDecorationColor: "var(--ds-text-danger, ".concat(R400, ")"),
48
+ '&:hover': {
49
+ backgroundColor: "var(--ds-background-neutral-hovered, ".concat(N50, ")")
50
+ }
51
+ });
52
+ } else {
53
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
54
+ return css({
55
+ color: "var(--ds-text-subtle, ".concat(N500, ")"),
56
+ backgroundColor: "var(--ds-background-neutral, ".concat(N40, ")"),
57
+ '&:hover': {
58
+ backgroundColor: "var(--ds-background-neutral-hovered, ".concat(N50, ")")
59
+ }
60
+ });
61
+ }
62
+ }
63
+ });
64
+
65
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
66
+ export var NameContainer = styled.span({
67
+ marginLeft: "var(--ds-space-075, 6px)",
68
+ marginRight: "var(--ds-space-100, 8px)",
69
+ // eslint-disable-next-line -- Ignored via go/DSP-18766
70
+ lineHeight: "var(--ds-space-250, 20px)"
71
+ });
72
+
73
+ /* Override Avatar styles to match design spec */
74
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage, @atlaskit/ui-styling-standard/no-styled, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
75
+ export var AvatarWrapper = styled.div({
76
+ height: "var(--ds-space-200, 16px)",
77
+ width: "var(--ds-space-200, 16px)",
78
+ alignSelf: 'center',
79
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
80
+ '> div span': {
81
+ margin: "var(--ds-space-0, 0px)"
82
+ },
83
+ // Fix fallback icon alignment by targeting the outer AvatarContent span
84
+ // This contains the icon background and needs to move as a unit
85
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
86
+ '> div > span:has(> span)': {
87
+ position: 'relative',
88
+ top: '-2px'
89
+ }
90
+ });
@@ -79,5 +79,12 @@ export var AvatarWrapper = styled.div({
79
79
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
80
80
  '> div span': {
81
81
  margin: "var(--ds-space-0, 0px)"
82
+ },
83
+ // Fix fallback icon alignment by targeting the outer AvatarContent span
84
+ // This contains the icon background and needs to move as a unit
85
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
86
+ '> div > span:has(> span)': {
87
+ position: 'relative',
88
+ top: '-2px'
82
89
  }
83
90
  });
@@ -11,6 +11,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
11
11
  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; }
12
12
  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) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
13
  import { AbstractJastVisitor } from '@atlaskit/jql-ast';
14
+ import { fg } from '@atlaskit/platform-feature-flags';
14
15
  import { JQLEditorSchema } from '../../../schema';
15
16
  import getDocumentPosition from '../../common/get-document-position';
16
17
  import { getJastFromState } from '../../jql-ast';
@@ -25,7 +26,7 @@ export var replaceRichInlineNodes = function replaceRichInlineNodes(editorState,
25
26
  fieldName = _ref2[0],
26
27
  values = _ref2[1];
27
28
  values.forEach(function (value) {
28
- if (value.type === 'user') {
29
+ if (value.type === 'user' || value.type === 'team' && fg('jira_update_jql_teams')) {
29
30
  var astNodes = getValueNodes(ast, fieldName, value.id);
30
31
  astNodes.forEach(function (astNode) {
31
32
  if (astNode.position) {
@@ -54,6 +55,13 @@ var getRichInlineNode = function getRichInlineNode(fieldName, value, text) {
54
55
  fieldName: fieldName
55
56
  }), textContent);
56
57
  }
58
+ case 'team':
59
+ {
60
+ var _textContent = JQLEditorSchema.text(text);
61
+ return JQLEditorSchema.nodes.team.create(_objectSpread(_objectSpread({}, value), {}, {
62
+ fieldName: fieldName
63
+ }), _textContent);
64
+ }
57
65
  default:
58
66
  {
59
67
  throw new Error("Unsupported hydrated value type ".concat(value.type));
@@ -902,16 +902,25 @@ export var useHydratedUser = createHook(Store, {
902
902
  return user && user.type === 'user' ? user : undefined;
903
903
  }
904
904
  });
905
+ export var useHydratedTeam = createHook(Store, {
906
+ selector: function selector(state, _ref40) {
907
+ var _state$hydratedValues3;
908
+ var id = _ref40.id,
909
+ fieldName = _ref40.fieldName;
910
+ var team = (_state$hydratedValues3 = state.hydratedValues[fieldName]) === null || _state$hydratedValues3 === void 0 ? void 0 : _state$hydratedValues3.get(id);
911
+ return team && team.type === 'team' ? team : undefined;
912
+ }
913
+ });
905
914
  export var useHydratedDeprecations = createHook(Store, {
906
915
  selector: function selector(state) {
907
916
  var ast = getJastFromState(state.editorState);
908
917
  var fieldsInQuery = getFieldNodes(ast);
909
918
  var toReturn = [];
910
- Object.entries(state.hydratedValues).forEach(function (_ref40) {
911
- var _state$hydratedValues3;
912
- var _ref41 = _slicedToArray(_ref40, 1),
913
- fieldName = _ref41[0];
914
- (_state$hydratedValues3 = state.hydratedValues[fieldName]) === null || _state$hydratedValues3 === void 0 || _state$hydratedValues3.forEach(function (value) {
919
+ Object.entries(state.hydratedValues).forEach(function (_ref41) {
920
+ var _state$hydratedValues4;
921
+ var _ref42 = _slicedToArray(_ref41, 1),
922
+ fieldName = _ref42[0];
923
+ (_state$hydratedValues4 = state.hydratedValues[fieldName]) === null || _state$hydratedValues4 === void 0 || _state$hydratedValues4.forEach(function (value) {
915
924
  if (value.type === 'deprecated-field') {
916
925
  if (fieldsInQuery.has(value.id.toLowerCase())) {
917
926
  toReturn.push(value);
@@ -934,19 +943,19 @@ export var useOnSyntaxHelp = createHook(Store, {
934
943
  });
935
944
  export var EditorStateContainer = createContainer(Store, {
936
945
  onInit: function onInit() {
937
- return function (_ref42, _ref43) {
938
- var getState = _ref42.getState,
939
- setState = _ref42.setState,
940
- dispatch = _ref42.dispatch;
941
- var intlRef = _ref43.intlRef,
942
- query = _ref43.query,
943
- isSearching = _ref43.isSearching,
944
- autocompleteProvider = _ref43.autocompleteProvider,
945
- externalMessages = _ref43.externalMessages,
946
- enableRichInlineNodes = _ref43.enableRichInlineNodes,
947
- onDebugUnsafeMessage = _ref43.onDebugUnsafeMessage,
948
- onSyntaxHelp = _ref43.onSyntaxHelp,
949
- customComponents = _ref43.customComponents;
946
+ return function (_ref43, _ref44) {
947
+ var getState = _ref43.getState,
948
+ setState = _ref43.setState,
949
+ dispatch = _ref43.dispatch;
950
+ var intlRef = _ref44.intlRef,
951
+ query = _ref44.query,
952
+ isSearching = _ref44.isSearching,
953
+ autocompleteProvider = _ref44.autocompleteProvider,
954
+ externalMessages = _ref44.externalMessages,
955
+ enableRichInlineNodes = _ref44.enableRichInlineNodes,
956
+ onDebugUnsafeMessage = _ref44.onDebugUnsafeMessage,
957
+ onSyntaxHelp = _ref44.onSyntaxHelp,
958
+ customComponents = _ref44.customComponents;
950
959
  setState({
951
960
  controlledQuery: query,
952
961
  query: query,
@@ -974,18 +983,18 @@ export var EditorStateContainer = createContainer(Store, {
974
983
  };
975
984
  },
976
985
  onUpdate: function onUpdate() {
977
- return function (_ref44, _ref45) {
978
- var getState = _ref44.getState,
979
- setState = _ref44.setState,
980
- dispatch = _ref44.dispatch;
981
- var controlledQueryProp = _ref45.query,
982
- isSearching = _ref45.isSearching,
983
- autocompleteProvider = _ref45.autocompleteProvider,
984
- externalMessages = _ref45.externalMessages,
985
- enableRichInlineNodes = _ref45.enableRichInlineNodes,
986
- onDebugUnsafeMessage = _ref45.onDebugUnsafeMessage,
987
- onSyntaxHelp = _ref45.onSyntaxHelp,
988
- customComponents = _ref45.customComponents;
986
+ return function (_ref45, _ref46) {
987
+ var getState = _ref45.getState,
988
+ setState = _ref45.setState,
989
+ dispatch = _ref45.dispatch;
990
+ var controlledQueryProp = _ref46.query,
991
+ isSearching = _ref46.isSearching,
992
+ autocompleteProvider = _ref46.autocompleteProvider,
993
+ externalMessages = _ref46.externalMessages,
994
+ enableRichInlineNodes = _ref46.enableRichInlineNodes,
995
+ onDebugUnsafeMessage = _ref46.onDebugUnsafeMessage,
996
+ onSyntaxHelp = _ref46.onSyntaxHelp,
997
+ customComponents = _ref46.customComponents;
989
998
  var _getState12 = getState(),
990
999
  controlledQuery = _getState12.controlledQuery,
991
1000
  query = _getState12.query;
@@ -2,4 +2,4 @@ export { default as JQLEditor } from './ui';
2
2
  export { JQLEditorAsync, preloadJQLEditor } from './async';
3
3
  export { JQLEditorReadOnly } from './ui/jql-editor-layout';
4
4
  export { JQLEditorAnalyticsListener, ANALYTICS_CHANNEL, useJqlPackageAnalytics, EventType, } from './analytics';
5
- export type { ListenerProps, JqlAnalyticsEvent, JQLEditorUIProps, JQLEditorProps, HydratedValue, HydratedValues, HydratedUser, AutocompleteOption, AutocompleteValueType, AutocompleteOptions, AutocompleteProvider, JQLClause, ExternalMessage, ExternalError, ExternalWarning, ExternalInfo, CustomComponents, } from './types';
5
+ export type { ListenerProps, JqlAnalyticsEvent, JQLEditorUIProps, JQLEditorProps, HydratedValue, HydratedValues, HydratedUser, HydratedTeam, AutocompleteOption, AutocompleteValueType, AutocompleteOptions, AutocompleteProvider, JQLClause, ExternalMessage, ExternalError, ExternalWarning, ExternalInfo, CustomComponents, } from './types';
@@ -1,3 +1,4 @@
1
1
  export declare const richInlineNodes: {
2
2
  user: import("./types").JQLNodeSpec<import("./user").Props>;
3
+ team: import("./types").JQLNodeSpec<import("./team").Props>;
3
4
  };
@@ -0,0 +1,7 @@
1
+ import { type JQLNodeSpec } from '../types';
2
+ export type Props = {
3
+ fieldName: string;
4
+ id: string;
5
+ name: string;
6
+ };
7
+ export declare const team: JQLNodeSpec<Props>;
@@ -0,0 +1,15 @@
1
+ export declare const TeamContainer: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ } & {
5
+ error: boolean;
6
+ selected: boolean;
7
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
8
+ export declare const NameContainer: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme;
10
+ as?: React.ElementType;
11
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
12
+ export declare const AvatarWrapper: import("@emotion/styled").StyledComponent<{
13
+ theme?: import("@emotion/react").Theme;
14
+ as?: React.ElementType;
15
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -10,7 +10,7 @@ import { type JqlEditorAnalyticsEvent } from '../analytics';
10
10
  import { type AutocompleteOptionGroup, type AutocompleteOptions, type AutocompleteOptionType, type SelectableAutocompleteOption } from '../plugins/autocomplete/components/types';
11
11
  import { type AutocompleteProvider } from '../plugins/types';
12
12
  import { type PortalActions } from '../ui/jql-editor-portal-provider/types';
13
- import { type HydratedDeprecatedField, type HydratedUser, type HydratedValue } from '../ui/jql-editor/types';
13
+ import { type HydratedDeprecatedField, type HydratedTeam, type HydratedUser, type HydratedValue } from '../ui/jql-editor/types';
14
14
  import { type AutocompletePosition, type AutocompleteState, type ContextAwareJQLSuggestions, type CustomErrorComponent, type ExternalMessagesNormalized, type OptionsKey, type Props, type State } from './types';
15
15
  export declare const initialState: State;
16
16
  export declare const actions: {
@@ -729,6 +729,41 @@ export declare const useHydratedUser: import("react-sweet-state").HookFunction<H
729
729
  fieldName: string;
730
730
  id: string;
731
731
  }>;
732
+ export declare const useHydratedTeam: import("react-sweet-state").HookFunction<HydratedTeam | undefined, import("react-sweet-state").BoundActions<State, {
733
+ onEditorViewBlur: () => Action<State>;
734
+ onEditorViewFocus: (event: FocusEvent<HTMLElement>) => Action<State, Props>;
735
+ openAutocompleteOnNextUpdate: () => Action<State>;
736
+ closeAutocomplete: () => Action<State>;
737
+ setSelectedAutocompleteOptionId: (selectedOptionId: string | undefined) => Action<State>;
738
+ getAutocompleteSuggestions: (editorState: EditorState) => Action<State>;
739
+ getAutocompleteOptions: (suggestions: ContextAwareJQLSuggestions) => Action<State>;
740
+ appendOptionsForObservable: (key: OptionsKey, observable: Observable<AutocompleteOptions>, rule: JQLRuleSuggestion, type: AutocompleteOptionType) => Action<State, void, Observable<AutocompleteOptions>>;
741
+ cancelSubscription: () => Action<State>;
742
+ setLoading: (loading: boolean) => Action<State>;
743
+ setAutocompleteOptions: (options: AutocompleteOptionGroup) => Action<State>;
744
+ setAutocompleteContainer: (container: HTMLElement | null) => Action<State>;
745
+ callAutocompleteProviders: ({ rules, tokens }: ContextAwareJQLSuggestions) => Action<State>;
746
+ updateValidationState: () => Action<State>;
747
+ initialiseEditorState: () => Action<State, Props>;
748
+ configurePlugins: (portalActions: PortalActions | void) => Action<State, Props>;
749
+ onApplyEditorTransaction: (transaction: Transaction) => Action<State, Props>;
750
+ resetEditorState: (query: string, addToHistory?: boolean) => Action<State>;
751
+ initialiseEditorView: (editorViewNode: HTMLElement, attributes: {
752
+ [key: string]: string;
753
+ }, portalActions: PortalActions) => Action<State, Props>;
754
+ updateEditorView: (attributes: {
755
+ [key: string]: string;
756
+ }) => Action<State, Props>;
757
+ setEditorViewContainer: (editorViewContainer: HTMLElement) => Action<State>;
758
+ setEditorViewContainerScroll: (scroll: number) => Action<State>;
759
+ onSearch: () => Action<State>;
760
+ onSearchCommand: (pmState: EditorState, pmDispatch: ((tr: Transaction) => void) | undefined, pmView: EditorView | undefined, keyboardShortcut: boolean) => Action<State, Props, boolean>;
761
+ externalErrorMessageViewed: () => Action<State, Props>;
762
+ createAndFireAnalyticsEvent: (payload: JqlEditorAnalyticsEvent) => Action<State, Props>;
763
+ }>, {
764
+ fieldName: string;
765
+ id: string;
766
+ }>;
732
767
  export declare const useHydratedDeprecations: import("react-sweet-state").HookFunction<HydratedDeprecatedField[], import("react-sweet-state").BoundActions<State, {
733
768
  onEditorViewBlur: () => Action<State>;
734
769
  onEditorViewFocus: (event: FocusEvent<HTMLElement>) => Action<State, Props>;
@@ -1,5 +1,5 @@
1
1
  export type { JQLClause } from '@atlaskit/jql-autocomplete';
2
- export type { JQLEditorUIProps, JQLEditorProps, HydratedValues, HydratedValue, HydratedUser, } from './ui/types';
2
+ export type { JQLEditorUIProps, JQLEditorProps, HydratedValues, HydratedValue, HydratedUser, HydratedTeam, } from './ui/types';
3
3
  export type { ExternalMessage, ExternalError, ExternalWarning, ExternalInfo, CustomComponents, } from './state/types';
4
4
  export type { AutocompleteProvider, AutocompleteOptions, AutocompleteOption, AutocompleteValueType, } from './plugins/types';
5
5
  export type { ListenerProps, JqlAnalyticsEvent } from './analytics';
@@ -8,6 +8,12 @@ export type HydratedUser = {
8
8
  name: string;
9
9
  type: 'user';
10
10
  };
11
+ export type HydratedTeam = {
12
+ avatarUrl: string;
13
+ id: string;
14
+ name: string;
15
+ type: 'team';
16
+ };
11
17
  export type HydratedDeprecatedField = {
12
18
  deprecatedSearcherKey: string;
13
19
  /**
@@ -16,7 +22,7 @@ export type HydratedDeprecatedField = {
16
22
  id: string;
17
23
  type: 'deprecated-field';
18
24
  };
19
- export type HydratedValue = HydratedUser | HydratedDeprecatedField;
25
+ export type HydratedValue = HydratedUser | HydratedTeam | HydratedDeprecatedField;
20
26
  export type HydratedValues = {
21
27
  [fieldName: string]: HydratedValue[];
22
28
  };
@@ -1,5 +1,5 @@
1
1
  import { type JQLEditorUIProps } from './jql-editor/types';
2
- export type { JQLEditorUIProps, HydratedValue, HydratedValues, HydratedUser, } from './jql-editor/types';
2
+ export type { JQLEditorUIProps, HydratedValue, HydratedValues, HydratedUser, HydratedTeam, } from './jql-editor/types';
3
3
  export type JQLEditorProps = JQLEditorUIProps & {
4
4
  /**
5
5
  * React-intl locale. This should be set to "en" if alternate message sets are not being loaded higher in the React
@@ -2,4 +2,4 @@ export { default as JQLEditor } from './ui';
2
2
  export { JQLEditorAsync, preloadJQLEditor } from './async';
3
3
  export { JQLEditorReadOnly } from './ui/jql-editor-layout';
4
4
  export { JQLEditorAnalyticsListener, ANALYTICS_CHANNEL, useJqlPackageAnalytics, EventType, } from './analytics';
5
- export type { ListenerProps, JqlAnalyticsEvent, JQLEditorUIProps, JQLEditorProps, HydratedValue, HydratedValues, HydratedUser, AutocompleteOption, AutocompleteValueType, AutocompleteOptions, AutocompleteProvider, JQLClause, ExternalMessage, ExternalError, ExternalWarning, ExternalInfo, CustomComponents, } from './types';
5
+ export type { ListenerProps, JqlAnalyticsEvent, JQLEditorUIProps, JQLEditorProps, HydratedValue, HydratedValues, HydratedUser, HydratedTeam, AutocompleteOption, AutocompleteValueType, AutocompleteOptions, AutocompleteProvider, JQLClause, ExternalMessage, ExternalError, ExternalWarning, ExternalInfo, CustomComponents, } from './types';
@@ -1,3 +1,4 @@
1
1
  export declare const richInlineNodes: {
2
2
  user: import("./types").JQLNodeSpec<import("./user").Props>;
3
+ team: import("./types").JQLNodeSpec<import("./team").Props>;
3
4
  };
@@ -0,0 +1,7 @@
1
+ import { type JQLNodeSpec } from '../types';
2
+ export type Props = {
3
+ fieldName: string;
4
+ id: string;
5
+ name: string;
6
+ };
7
+ export declare const team: JQLNodeSpec<Props>;
@@ -0,0 +1,15 @@
1
+ export declare const TeamContainer: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ } & {
5
+ error: boolean;
6
+ selected: boolean;
7
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
8
+ export declare const NameContainer: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme;
10
+ as?: React.ElementType;
11
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
12
+ export declare const AvatarWrapper: import("@emotion/styled").StyledComponent<{
13
+ theme?: import("@emotion/react").Theme;
14
+ as?: React.ElementType;
15
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -10,7 +10,7 @@ import { type JqlEditorAnalyticsEvent } from '../analytics';
10
10
  import { type AutocompleteOptionGroup, type AutocompleteOptions, type AutocompleteOptionType, type SelectableAutocompleteOption } from '../plugins/autocomplete/components/types';
11
11
  import { type AutocompleteProvider } from '../plugins/types';
12
12
  import { type PortalActions } from '../ui/jql-editor-portal-provider/types';
13
- import { type HydratedDeprecatedField, type HydratedUser, type HydratedValue } from '../ui/jql-editor/types';
13
+ import { type HydratedDeprecatedField, type HydratedTeam, type HydratedUser, type HydratedValue } from '../ui/jql-editor/types';
14
14
  import { type AutocompletePosition, type AutocompleteState, type ContextAwareJQLSuggestions, type CustomErrorComponent, type ExternalMessagesNormalized, type OptionsKey, type Props, type State } from './types';
15
15
  export declare const initialState: State;
16
16
  export declare const actions: {
@@ -729,6 +729,41 @@ export declare const useHydratedUser: import("react-sweet-state").HookFunction<H
729
729
  fieldName: string;
730
730
  id: string;
731
731
  }>;
732
+ export declare const useHydratedTeam: import("react-sweet-state").HookFunction<HydratedTeam | undefined, import("react-sweet-state").BoundActions<State, {
733
+ onEditorViewBlur: () => Action<State>;
734
+ onEditorViewFocus: (event: FocusEvent<HTMLElement>) => Action<State, Props>;
735
+ openAutocompleteOnNextUpdate: () => Action<State>;
736
+ closeAutocomplete: () => Action<State>;
737
+ setSelectedAutocompleteOptionId: (selectedOptionId: string | undefined) => Action<State>;
738
+ getAutocompleteSuggestions: (editorState: EditorState) => Action<State>;
739
+ getAutocompleteOptions: (suggestions: ContextAwareJQLSuggestions) => Action<State>;
740
+ appendOptionsForObservable: (key: OptionsKey, observable: Observable<AutocompleteOptions>, rule: JQLRuleSuggestion, type: AutocompleteOptionType) => Action<State, void, Observable<AutocompleteOptions>>;
741
+ cancelSubscription: () => Action<State>;
742
+ setLoading: (loading: boolean) => Action<State>;
743
+ setAutocompleteOptions: (options: AutocompleteOptionGroup) => Action<State>;
744
+ setAutocompleteContainer: (container: HTMLElement | null) => Action<State>;
745
+ callAutocompleteProviders: ({ rules, tokens }: ContextAwareJQLSuggestions) => Action<State>;
746
+ updateValidationState: () => Action<State>;
747
+ initialiseEditorState: () => Action<State, Props>;
748
+ configurePlugins: (portalActions: PortalActions | void) => Action<State, Props>;
749
+ onApplyEditorTransaction: (transaction: Transaction) => Action<State, Props>;
750
+ resetEditorState: (query: string, addToHistory?: boolean) => Action<State>;
751
+ initialiseEditorView: (editorViewNode: HTMLElement, attributes: {
752
+ [key: string]: string;
753
+ }, portalActions: PortalActions) => Action<State, Props>;
754
+ updateEditorView: (attributes: {
755
+ [key: string]: string;
756
+ }) => Action<State, Props>;
757
+ setEditorViewContainer: (editorViewContainer: HTMLElement) => Action<State>;
758
+ setEditorViewContainerScroll: (scroll: number) => Action<State>;
759
+ onSearch: () => Action<State>;
760
+ onSearchCommand: (pmState: EditorState, pmDispatch: ((tr: Transaction) => void) | undefined, pmView: EditorView | undefined, keyboardShortcut: boolean) => Action<State, Props, boolean>;
761
+ externalErrorMessageViewed: () => Action<State, Props>;
762
+ createAndFireAnalyticsEvent: (payload: JqlEditorAnalyticsEvent) => Action<State, Props>;
763
+ }>, {
764
+ fieldName: string;
765
+ id: string;
766
+ }>;
732
767
  export declare const useHydratedDeprecations: import("react-sweet-state").HookFunction<HydratedDeprecatedField[], import("react-sweet-state").BoundActions<State, {
733
768
  onEditorViewBlur: () => Action<State>;
734
769
  onEditorViewFocus: (event: FocusEvent<HTMLElement>) => Action<State, Props>;
@@ -1,5 +1,5 @@
1
1
  export type { JQLClause } from '@atlaskit/jql-autocomplete';
2
- export type { JQLEditorUIProps, JQLEditorProps, HydratedValues, HydratedValue, HydratedUser, } from './ui/types';
2
+ export type { JQLEditorUIProps, JQLEditorProps, HydratedValues, HydratedValue, HydratedUser, HydratedTeam, } from './ui/types';
3
3
  export type { ExternalMessage, ExternalError, ExternalWarning, ExternalInfo, CustomComponents, } from './state/types';
4
4
  export type { AutocompleteProvider, AutocompleteOptions, AutocompleteOption, AutocompleteValueType, } from './plugins/types';
5
5
  export type { ListenerProps, JqlAnalyticsEvent } from './analytics';
@@ -8,6 +8,12 @@ export type HydratedUser = {
8
8
  name: string;
9
9
  type: 'user';
10
10
  };
11
+ export type HydratedTeam = {
12
+ avatarUrl: string;
13
+ id: string;
14
+ name: string;
15
+ type: 'team';
16
+ };
11
17
  export type HydratedDeprecatedField = {
12
18
  deprecatedSearcherKey: string;
13
19
  /**
@@ -16,7 +22,7 @@ export type HydratedDeprecatedField = {
16
22
  id: string;
17
23
  type: 'deprecated-field';
18
24
  };
19
- export type HydratedValue = HydratedUser | HydratedDeprecatedField;
25
+ export type HydratedValue = HydratedUser | HydratedTeam | HydratedDeprecatedField;
20
26
  export type HydratedValues = {
21
27
  [fieldName: string]: HydratedValue[];
22
28
  };
@@ -1,5 +1,5 @@
1
1
  import { type JQLEditorUIProps } from './jql-editor/types';
2
- export type { JQLEditorUIProps, HydratedValue, HydratedValues, HydratedUser, } from './jql-editor/types';
2
+ export type { JQLEditorUIProps, HydratedValue, HydratedValues, HydratedUser, HydratedTeam, } from './jql-editor/types';
3
3
  export type JQLEditorProps = JQLEditorUIProps & {
4
4
  /**
5
5
  * React-intl locale. This should be set to "en" if alternate message sets are not being loaded higher in the React
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/jql-editor",
3
- "version": "5.6.4",
3
+ "version": "5.7.0",
4
4
  "description": "This package allows consumers to render an advanced JQL editor component to enable autocomplete-assisted authoring and validation of JQL queries.",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -35,7 +35,7 @@
35
35
  "@atlaskit/afm-i18n-platform-jql-jql-editor": "2.7.0",
36
36
  "@atlaskit/analytics-gas-types": "^5.1.0",
37
37
  "@atlaskit/analytics-next": "^11.1.0",
38
- "@atlaskit/avatar": "^25.4.0",
38
+ "@atlaskit/avatar": "^25.5.0",
39
39
  "@atlaskit/button": "^23.5.0",
40
40
  "@atlaskit/editor-prosemirror": "7.0.0",
41
41
  "@atlaskit/form": "^14.2.0",
@@ -53,7 +53,7 @@
53
53
  "@atlaskit/spinner": "^19.0.0",
54
54
  "@atlaskit/theme": "^21.0.0",
55
55
  "@atlaskit/tokens": "^7.0.0",
56
- "@atlaskit/tooltip": "^20.5.0",
56
+ "@atlaskit/tooltip": "^20.6.0",
57
57
  "@babel/runtime": "^7.0.0",
58
58
  "@emotion/react": "^11.7.1",
59
59
  "@emotion/styled": "^11.0.0",
@@ -77,7 +77,7 @@
77
77
  "@af/integration-testing": "workspace:^",
78
78
  "@atlaskit/docs": "^11.2.0",
79
79
  "@atlaskit/jql-editor-autocomplete-rest": "^3.0.0",
80
- "@atlassian/feature-flags-test-utils": "^0.3.0",
80
+ "@atlassian/feature-flags-test-utils": "^1.0.0",
81
81
  "@storybook/addon-actions": "^8.6.14",
82
82
  "@storybook/addon-knobs": "^6.4.0",
83
83
  "@testing-library/jest-dom": "^6.4.5",
@@ -139,6 +139,9 @@
139
139
  },
140
140
  "jql_editor_autocomplete_use_popper": {
141
141
  "type": "boolean"
142
+ },
143
+ "jira_update_jql_teams": {
144
+ "type": "boolean"
142
145
  }
143
146
  }
144
147
  }