@atlaskit/feedback-collector 14.6.3 → 14.6.5

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,19 @@
1
1
  # @atlaskit/feedback-collector
2
2
 
3
+ ## 14.6.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 14.6.4
10
+
11
+ ### Patch Changes
12
+
13
+ - [`22069f5ef5d73`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/22069f5ef5d73) -
14
+ We are testing a refactor of internal components behind a feature flag. If this is successful, it
15
+ will be landed in a future release.
16
+
3
17
  ## 14.6.3
4
18
 
5
19
  ### Patch Changes
@@ -164,7 +164,7 @@ var FeedbackCollector = exports.default = /*#__PURE__*/function (_Component) {
164
164
  }, {
165
165
  key: "getPackageVersion",
166
166
  value: function getPackageVersion() {
167
- return "0.0.0-development" || 'Unknown, at least 11.0.0';
167
+ return "14.6.4" || 'Unknown, at least 11.0.0';
168
168
  }
169
169
  }, {
170
170
  key: "getEntitlementInformation",
@@ -27,7 +27,8 @@ var _colors = require("@atlaskit/theme/colors");
27
27
  var _messages = require("../messages");
28
28
  var _IntlProviderWithResolvedMessages = require("./IntlProviderWithResolvedMessages");
29
29
  var _excluded = ["id"],
30
- _excluded2 = ["locale"];
30
+ _excluded2 = ["id"],
31
+ _excluded3 = ["locale"];
31
32
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
33
  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; }
33
34
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -168,13 +169,28 @@ var FeedbackForm = function FeedbackForm(_ref2) {
168
169
  }
169
170
  return _messages.messages.canBeContactedLabel;
170
171
  };
172
+ var requiredFieldsSummary =
173
+ /*#__PURE__*/
174
+ // eslint-disable-next-line @atlaskit/design-system/use-primitives-text
175
+ _react.default.createElement("p", {
176
+ style: {
177
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
178
+ color: "var(--ds-text-subtle, ".concat(_colors.N300, ")"),
179
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
180
+ marginBottom: "var(--ds-space-300, 24px)"
181
+ }
182
+ }, formatMessage(_messages.messages.requiredFieldsSummary), /*#__PURE__*/_react.default.createElement(_form.RequiredAsterisk, null));
183
+ var feedbackIsAnonymous =
184
+ /*#__PURE__*/
185
+ // eslint-disable-next-line @atlaskit/design-system/use-primitives-text
186
+ _react.default.createElement("p", null, formatMessage(_messages.messages.feedbackIsAnonymous));
171
187
  return /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
172
188
  shouldCloseOnOverlayClick: false,
173
189
  onClose: onClose,
174
190
  testId: "feedbackCollectorModalDialog",
175
191
  shouldReturnFocus: shouldReturnFocusRef,
176
192
  shouldScrollInViewport: true
177
- }, /*#__PURE__*/_react.default.createElement(_form.default, {
193
+ }, (0, _platformFeatureFlags.fg)('platform-design_system_team-form_conversion') ? /*#__PURE__*/_react.default.createElement(_form.default, {
178
194
  onSubmit: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
179
195
  var errors;
180
196
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -213,26 +229,176 @@ var FeedbackForm = function FeedbackForm(_ref2) {
213
229
  }
214
230
  }, _callee, null, [[6,, 9, 12]]);
215
231
  }))
232
+ }, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, {
233
+ hasCloseButton: true
234
+ }, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, feedbackTitle || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.feedbackTitle))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, requiredFieldsSummary, feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/_react.default.createElement(_form.Field, {
235
+ name: "topic",
236
+ label: selectLabel || formatMessage(_messages.messages.selectionOptionDefaultLabel),
237
+ isRequired: true,
238
+ "aria-required": true // JCA11Y-1619
216
239
  }, function (_ref4) {
217
- var formProps = _ref4.formProps;
240
+ var _ref4$fieldProps = _ref4.fieldProps,
241
+ id = _ref4$fieldProps.id,
242
+ restProps = (0, _objectWithoutProperties2.default)(_ref4$fieldProps, _excluded);
243
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_select.default, (0, _extends2.default)({}, restProps, {
244
+ onChange: function onChange(option) {
245
+ if (!option || option instanceof Array) {
246
+ return;
247
+ }
248
+ setType(option.value);
249
+ // Clear validation error when user selects a type (only for new validation)
250
+ if (useNewValidation && validationErrors.type) {
251
+ setValidationErrors(function (prev) {
252
+ return _objectSpread(_objectSpread({}, prev), {}, {
253
+ type: undefined
254
+ });
255
+ });
256
+ }
257
+ },
258
+ menuPortalTarget: document.body,
259
+ styles: {
260
+ menuPortal: function menuPortal(base) {
261
+ return _objectSpread(_objectSpread({}, base), {}, {
262
+ zIndex: 9999
263
+ });
264
+ }
265
+ },
266
+ options: selectOptions
267
+ // @ts-ignore
268
+ ,
269
+ ref: focusRef,
270
+ placeholder: getDefaultPlaceholder(feedbackGroupLabels),
271
+ inputId: id
272
+ })), useNewValidation && validationErrors.type && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, validationErrors.type));
273
+ }) : null, showDefaultTextFields && canShowTextField && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_form.Field, {
274
+ label: showTypeField ? getFieldLabels(feedbackGroupLabels)[type] : customTextAreaLabel || formatMessage(_messages.messages.defaultCustomTextAreaLabel),
275
+ isRequired: true,
276
+ name: "description"
277
+ }, function (_ref5) {
278
+ var fieldProps = _ref5.fieldProps;
279
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({}, fieldProps, {
280
+ name: "foo",
281
+ minimumRows: 6,
282
+ placeholder: summaryPlaceholder || undefined,
283
+ onChange: function onChange(e) {
284
+ setDescription(e.target.value);
285
+ // Clear validation error when user types
286
+ if (useNewValidation && validationErrors.description) {
287
+ setValidationErrors(function (prev) {
288
+ return _objectSpread(_objectSpread({}, prev), {}, {
289
+ description: undefined
290
+ });
291
+ });
292
+ }
293
+ },
294
+ value: description
295
+ })), useNewValidation && validationErrors.description && /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, validationErrors.description));
296
+ }), !anonymousFeedback && /*#__PURE__*/_react.default.createElement(_form.Fieldset, null, /*#__PURE__*/_react.default.createElement("legend", {
297
+ "aria-hidden": false,
298
+ hidden: true
299
+ }, "Atlassian opt-in options"), /*#__PURE__*/_react.default.createElement(_form.Field, {
300
+ name: "can-be-contacted"
301
+ }, function (_ref6) {
302
+ var fieldProps = _ref6.fieldProps;
303
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
304
+ "aria-describedby": undefined // JCA11Y-1988
305
+ ,
306
+ label: canBeContactedLabel || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? renderContactLabelAppify() : renderContactLabel(), !(0, _platformFeatureFlags.fg)('jfp_a11y_team_feedback_collector_nested_elements') && {
307
+ values: {
308
+ a: function a(chunks) {
309
+ return /*#__PURE__*/_react.default.createElement(_link.default, {
310
+ href: "https://www.atlassian.com/legal/privacy-policy",
311
+ target: "_blank"
312
+ }, chunks);
313
+ }
314
+ }
315
+ })),
316
+ onChange: function onChange(event) {
317
+ return setCanBeContacted(event.target.checked);
318
+ }
319
+ })), canBeContactedLabel && canBeContactedLink && (0, _platformFeatureFlags.fg)('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/_react.default.createElement(LinkWrapper, null, canBeContactedLink), !canBeContactedLabel && (0, _platformFeatureFlags.fg)('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/_react.default.createElement(LinkWrapper, null, /*#__PURE__*/_react.default.createElement(_link.default, {
320
+ href: "https://www.atlassian.com/legal/privacy-policy",
321
+ target: "_blank"
322
+ }, formatMessage(_messages.messages.privacyPolicy))));
323
+ }), /*#__PURE__*/_react.default.createElement(_form.Field, {
324
+ name: "enroll-in-research-group"
325
+ }, function (_ref7) {
326
+ var fieldProps = _ref7.fieldProps;
327
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
328
+ "aria-describedby": undefined // JCA11Y-1988
329
+ ,
330
+ label: enrolInResearchLabel || formatMessage(_messages.messages.enrolInResearchLabel),
331
+ onChange: function onChange(event) {
332
+ return setEnrollInResearchGroup(event.target.checked);
333
+ }
334
+ })), enrolInResearchLabel && enrolInResearchLink && (0, _platformFeatureFlags.fg)('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/_react.default.createElement(LinkWrapper, null, enrolInResearchLink));
335
+ })) || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_form.Field, {
336
+ name: 'anonymousFeedback'
337
+ }, function () {
338
+ return /*#__PURE__*/_react.default.createElement(_sectionMessage.default, {
339
+ title: formatMessage(_messages.messages.feedbackIsAnonymousTitle),
340
+ appearance: 'information'
341
+ }, feedbackIsAnonymous);
342
+ })))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
343
+ appearance: "subtle",
344
+ onClick: onClose
345
+ }, cancelButtonLabel || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.cancelButtonLabel)), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
346
+ appearance: "primary",
347
+ type: "submit",
348
+ isDisabled: isSubmitting || isDisabled,
349
+ testId: "feedbackCollectorSubmitBtn"
350
+ }, submitButtonLabel || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.submitButtonLabel)))) : /*#__PURE__*/_react.default.createElement(_form.default, {
351
+ onSubmit: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
352
+ var errors;
353
+ return _regenerator.default.wrap(function _callee2$(_context2) {
354
+ while (1) switch (_context2.prev = _context2.next) {
355
+ case 0:
356
+ if (!useNewValidation) {
357
+ _context2.next = 5;
358
+ break;
359
+ }
360
+ // New validation: validate on submit and show errors
361
+ errors = getValidationErrors(); // If there are validation errors, show them and don't submit
362
+ if (!(Object.keys(errors).length > 0)) {
363
+ _context2.next = 5;
364
+ break;
365
+ }
366
+ setValidationErrors(errors);
367
+ return _context2.abrupt("return");
368
+ case 5:
369
+ // Submit the form (both old and new validation paths reach here)
370
+ setIsSubmitting(true);
371
+ _context2.prev = 6;
372
+ _context2.next = 9;
373
+ return onSubmit({
374
+ canBeContacted: canBeContacted,
375
+ description: description,
376
+ enrollInResearchGroup: enrollInResearchGroup,
377
+ type: type
378
+ });
379
+ case 9:
380
+ _context2.prev = 9;
381
+ setIsSubmitting(false);
382
+ return _context2.finish(9);
383
+ case 12:
384
+ case "end":
385
+ return _context2.stop();
386
+ }
387
+ }, _callee2, null, [[6,, 9, 12]]);
388
+ }))
389
+ }, function (_ref9) {
390
+ var formProps = _ref9.formProps;
218
391
  return /*#__PURE__*/_react.default.createElement("form", formProps, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, {
219
392
  hasCloseButton: true
220
- }, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, feedbackTitle || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.feedbackTitle))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, /*#__PURE__*/_react.default.createElement("p", {
221
- style: {
222
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
223
- color: "var(--ds-text-subtle, ".concat(_colors.N300, ")"),
224
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
225
- marginBottom: "var(--ds-space-300, 24px)"
226
- }
227
- }, formatMessage(_messages.messages.requiredFieldsSummary), /*#__PURE__*/_react.default.createElement(_form.RequiredAsterisk, null)), feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/_react.default.createElement(_form.Field, {
393
+ }, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, feedbackTitle || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.feedbackTitle))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, requiredFieldsSummary, feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/_react.default.createElement(_form.Field, {
228
394
  name: "topic",
229
395
  label: selectLabel || formatMessage(_messages.messages.selectionOptionDefaultLabel),
230
396
  isRequired: true,
231
397
  "aria-required": true // JCA11Y-1619
232
- }, function (_ref5) {
233
- var _ref5$fieldProps = _ref5.fieldProps,
234
- id = _ref5$fieldProps.id,
235
- restProps = (0, _objectWithoutProperties2.default)(_ref5$fieldProps, _excluded);
398
+ }, function (_ref0) {
399
+ var _ref0$fieldProps = _ref0.fieldProps,
400
+ id = _ref0$fieldProps.id,
401
+ restProps = (0, _objectWithoutProperties2.default)(_ref0$fieldProps, _excluded2);
236
402
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_select.default, (0, _extends2.default)({}, restProps, {
237
403
  onChange: function onChange(option) {
238
404
  if (!option || option instanceof Array) {
@@ -267,8 +433,8 @@ var FeedbackForm = function FeedbackForm(_ref2) {
267
433
  label: showTypeField ? getFieldLabels(feedbackGroupLabels)[type] : customTextAreaLabel || formatMessage(_messages.messages.defaultCustomTextAreaLabel),
268
434
  isRequired: true,
269
435
  name: "description"
270
- }, function (_ref6) {
271
- var fieldProps = _ref6.fieldProps;
436
+ }, function (_ref1) {
437
+ var fieldProps = _ref1.fieldProps;
272
438
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({}, fieldProps, {
273
439
  name: "foo",
274
440
  minimumRows: 6,
@@ -291,8 +457,8 @@ var FeedbackForm = function FeedbackForm(_ref2) {
291
457
  hidden: true
292
458
  }, "Atlassian opt-in options"), /*#__PURE__*/_react.default.createElement(_form.Field, {
293
459
  name: "can-be-contacted"
294
- }, function (_ref7) {
295
- var fieldProps = _ref7.fieldProps;
460
+ }, function (_ref10) {
461
+ var fieldProps = _ref10.fieldProps;
296
462
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
297
463
  "aria-describedby": undefined // JCA11Y-1988
298
464
  ,
@@ -315,8 +481,8 @@ var FeedbackForm = function FeedbackForm(_ref2) {
315
481
  }, formatMessage(_messages.messages.privacyPolicy))));
316
482
  }), /*#__PURE__*/_react.default.createElement(_form.Field, {
317
483
  name: "enroll-in-research-group"
318
- }, function (_ref8) {
319
- var fieldProps = _ref8.fieldProps;
484
+ }, function (_ref11) {
485
+ var fieldProps = _ref11.fieldProps;
320
486
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
321
487
  "aria-describedby": undefined // JCA11Y-1988
322
488
  ,
@@ -331,7 +497,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
331
497
  return /*#__PURE__*/_react.default.createElement(_sectionMessage.default, {
332
498
  title: formatMessage(_messages.messages.feedbackIsAnonymousTitle),
333
499
  appearance: 'information'
334
- }, /*#__PURE__*/_react.default.createElement("p", null, formatMessage(_messages.messages.feedbackIsAnonymous)));
500
+ }, feedbackIsAnonymous);
335
501
  })))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
336
502
  appearance: "subtle",
337
503
  onClick: onClose
@@ -343,9 +509,9 @@ var FeedbackForm = function FeedbackForm(_ref2) {
343
509
  }, submitButtonLabel || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.submitButtonLabel))));
344
510
  }));
345
511
  };
346
- var FeedbackFormWithIntl = function FeedbackFormWithIntl(_ref9) {
347
- var locale = _ref9.locale,
348
- props = (0, _objectWithoutProperties2.default)(_ref9, _excluded2);
512
+ var FeedbackFormWithIntl = function FeedbackFormWithIntl(_ref12) {
513
+ var locale = _ref12.locale,
514
+ props = (0, _objectWithoutProperties2.default)(_ref12, _excluded3);
349
515
  return /*#__PURE__*/_react.default.createElement(_IntlProviderWithResolvedMessages.IntlProviderWithResolvedMessages, {
350
516
  locale: locale
351
517
  }, /*#__PURE__*/_react.default.createElement(FeedbackForm, props));
@@ -92,7 +92,7 @@ export default class FeedbackCollector extends Component {
92
92
  return FeedbackCollector.defaultProps.url;
93
93
  }
94
94
  getPackageVersion() {
95
- return "0.0.0-development" || 'Unknown, at least 11.0.0';
95
+ return "14.6.4" || 'Unknown, at least 11.0.0';
96
96
  }
97
97
  async getEntitlementInformation() {
98
98
  var _entitlementDetails, _entitlementDetails2, _productName, _entitlement, _productEntitlement;
@@ -130,13 +130,158 @@ const FeedbackForm = ({
130
130
  }
131
131
  return messages.canBeContactedLabel;
132
132
  };
133
+ const requiredFieldsSummary =
134
+ /*#__PURE__*/
135
+ // eslint-disable-next-line @atlaskit/design-system/use-primitives-text
136
+ React.createElement("p", {
137
+ style: {
138
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
139
+ color: `var(--ds-text-subtle, ${N300})`,
140
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
141
+ marginBottom: "var(--ds-space-300, 24px)"
142
+ }
143
+ }, formatMessage(messages.requiredFieldsSummary), /*#__PURE__*/React.createElement(RequiredAsterisk, null));
144
+ const feedbackIsAnonymous =
145
+ /*#__PURE__*/
146
+ // eslint-disable-next-line @atlaskit/design-system/use-primitives-text
147
+ React.createElement("p", null, formatMessage(messages.feedbackIsAnonymous));
133
148
  return /*#__PURE__*/React.createElement(Modal, {
134
149
  shouldCloseOnOverlayClick: false,
135
150
  onClose: onClose,
136
151
  testId: "feedbackCollectorModalDialog",
137
152
  shouldReturnFocus: shouldReturnFocusRef,
138
153
  shouldScrollInViewport: true
139
- }, /*#__PURE__*/React.createElement(Form, {
154
+ }, fg('platform-design_system_team-form_conversion') ? /*#__PURE__*/React.createElement(Form, {
155
+ onSubmit: async () => {
156
+ if (useNewValidation) {
157
+ // New validation: validate on submit and show errors
158
+ const errors = getValidationErrors();
159
+
160
+ // If there are validation errors, show them and don't submit
161
+ if (Object.keys(errors).length > 0) {
162
+ setValidationErrors(errors);
163
+ return;
164
+ }
165
+ }
166
+
167
+ // Submit the form (both old and new validation paths reach here)
168
+ setIsSubmitting(true);
169
+ try {
170
+ await onSubmit({
171
+ canBeContacted,
172
+ description,
173
+ enrollInResearchGroup,
174
+ type
175
+ });
176
+ } finally {
177
+ setIsSubmitting(false);
178
+ }
179
+ }
180
+ }, /*#__PURE__*/React.createElement(ModalHeader, {
181
+ hasCloseButton: true
182
+ }, /*#__PURE__*/React.createElement(ModalTitle, null, feedbackTitle || /*#__PURE__*/React.createElement(FormattedMessage, messages.feedbackTitle))), /*#__PURE__*/React.createElement(ModalBody, null, requiredFieldsSummary, feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/React.createElement(Field, {
183
+ name: "topic",
184
+ label: selectLabel || formatMessage(messages.selectionOptionDefaultLabel),
185
+ isRequired: true,
186
+ "aria-required": true // JCA11Y-1619
187
+ }, ({
188
+ fieldProps: {
189
+ id,
190
+ ...restProps
191
+ }
192
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Select, _extends({}, restProps, {
193
+ onChange: option => {
194
+ if (!option || option instanceof Array) {
195
+ return;
196
+ }
197
+ setType(option.value);
198
+ // Clear validation error when user selects a type (only for new validation)
199
+ if (useNewValidation && validationErrors.type) {
200
+ setValidationErrors(prev => ({
201
+ ...prev,
202
+ type: undefined
203
+ }));
204
+ }
205
+ },
206
+ menuPortalTarget: document.body,
207
+ styles: {
208
+ menuPortal: base => ({
209
+ ...base,
210
+ zIndex: 9999
211
+ })
212
+ },
213
+ options: selectOptions
214
+ // @ts-ignore
215
+ ,
216
+ ref: focusRef,
217
+ placeholder: getDefaultPlaceholder(feedbackGroupLabels),
218
+ inputId: id
219
+ })), useNewValidation && validationErrors.type && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.type))) : null, showDefaultTextFields && canShowTextField && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Field, {
220
+ label: showTypeField ? getFieldLabels(feedbackGroupLabels)[type] : customTextAreaLabel || formatMessage(messages.defaultCustomTextAreaLabel),
221
+ isRequired: true,
222
+ name: "description"
223
+ }, ({
224
+ fieldProps
225
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextArea, _extends({}, fieldProps, {
226
+ name: "foo",
227
+ minimumRows: 6,
228
+ placeholder: summaryPlaceholder || undefined,
229
+ onChange: e => {
230
+ setDescription(e.target.value);
231
+ // Clear validation error when user types
232
+ if (useNewValidation && validationErrors.description) {
233
+ setValidationErrors(prev => ({
234
+ ...prev,
235
+ description: undefined
236
+ }));
237
+ }
238
+ },
239
+ value: description
240
+ })), useNewValidation && validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description))), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", {
241
+ "aria-hidden": false,
242
+ hidden: true
243
+ }, "Atlassian opt-in options"), /*#__PURE__*/React.createElement(Field, {
244
+ name: "can-be-contacted"
245
+ }, ({
246
+ fieldProps
247
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
248
+ "aria-describedby": undefined // JCA11Y-1988
249
+ ,
250
+ label: canBeContactedLabel || /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, fg('product-terminology-refresh') ? renderContactLabelAppify() : renderContactLabel(), !fg('jfp_a11y_team_feedback_collector_nested_elements') && {
251
+ values: {
252
+ a: chunks => /*#__PURE__*/React.createElement(Link, {
253
+ href: "https://www.atlassian.com/legal/privacy-policy",
254
+ target: "_blank"
255
+ }, chunks)
256
+ }
257
+ })),
258
+ onChange: event => setCanBeContacted(event.target.checked)
259
+ })), canBeContactedLabel && canBeContactedLink && fg('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/React.createElement(LinkWrapper, null, canBeContactedLink), !canBeContactedLabel && fg('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/React.createElement(LinkWrapper, null, /*#__PURE__*/React.createElement(Link, {
260
+ href: "https://www.atlassian.com/legal/privacy-policy",
261
+ target: "_blank"
262
+ }, formatMessage(messages.privacyPolicy))))), /*#__PURE__*/React.createElement(Field, {
263
+ name: "enroll-in-research-group"
264
+ }, ({
265
+ fieldProps
266
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
267
+ "aria-describedby": undefined // JCA11Y-1988
268
+ ,
269
+ label: enrolInResearchLabel || formatMessage(messages.enrolInResearchLabel),
270
+ onChange: event => setEnrollInResearchGroup(event.target.checked)
271
+ })), enrolInResearchLabel && enrolInResearchLink && fg('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/React.createElement(LinkWrapper, null, enrolInResearchLink)))) || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Field, {
272
+ name: 'anonymousFeedback'
273
+ }, () => /*#__PURE__*/React.createElement(SectionMessage, {
274
+ title: formatMessage(messages.feedbackIsAnonymousTitle),
275
+ appearance: 'information'
276
+ }, feedbackIsAnonymous))))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
277
+ appearance: "subtle",
278
+ onClick: onClose
279
+ }, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
280
+ appearance: "primary",
281
+ type: "submit",
282
+ isDisabled: isSubmitting || isDisabled,
283
+ testId: "feedbackCollectorSubmitBtn"
284
+ }, submitButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.submitButtonLabel)))) : /*#__PURE__*/React.createElement(Form, {
140
285
  onSubmit: async () => {
141
286
  if (useNewValidation) {
142
287
  // New validation: validate on submit and show errors
@@ -166,14 +311,7 @@ const FeedbackForm = ({
166
311
  formProps
167
312
  }) => /*#__PURE__*/React.createElement("form", formProps, /*#__PURE__*/React.createElement(ModalHeader, {
168
313
  hasCloseButton: true
169
- }, /*#__PURE__*/React.createElement(ModalTitle, null, feedbackTitle || /*#__PURE__*/React.createElement(FormattedMessage, messages.feedbackTitle))), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement("p", {
170
- style: {
171
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
172
- color: `var(--ds-text-subtle, ${N300})`,
173
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
174
- marginBottom: "var(--ds-space-300, 24px)"
175
- }
176
- }, formatMessage(messages.requiredFieldsSummary), /*#__PURE__*/React.createElement(RequiredAsterisk, null)), feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/React.createElement(Field, {
314
+ }, /*#__PURE__*/React.createElement(ModalTitle, null, feedbackTitle || /*#__PURE__*/React.createElement(FormattedMessage, messages.feedbackTitle))), /*#__PURE__*/React.createElement(ModalBody, null, requiredFieldsSummary, feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/React.createElement(Field, {
177
315
  name: "topic",
178
316
  label: selectLabel || formatMessage(messages.selectionOptionDefaultLabel),
179
317
  isRequired: true,
@@ -267,7 +405,7 @@ const FeedbackForm = ({
267
405
  }, () => /*#__PURE__*/React.createElement(SectionMessage, {
268
406
  title: formatMessage(messages.feedbackIsAnonymousTitle),
269
407
  appearance: 'information'
270
- }, /*#__PURE__*/React.createElement("p", null, formatMessage(messages.feedbackIsAnonymous))))))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
408
+ }, feedbackIsAnonymous))))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
271
409
  appearance: "subtle",
272
410
  onClick: onClose
273
411
  }, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
@@ -155,7 +155,7 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
155
155
  }, {
156
156
  key: "getPackageVersion",
157
157
  value: function getPackageVersion() {
158
- return "0.0.0-development" || 'Unknown, at least 11.0.0';
158
+ return "14.6.4" || 'Unknown, at least 11.0.0';
159
159
  }
160
160
  }, {
161
161
  key: "getEntitlementInformation",
@@ -4,7 +4,8 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
4
4
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
5
5
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
6
6
  var _excluded = ["id"],
7
- _excluded2 = ["locale"];
7
+ _excluded2 = ["id"],
8
+ _excluded3 = ["locale"];
8
9
  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; }
9
10
  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; }
10
11
  import _regeneratorRuntime from "@babel/runtime/regenerator";
@@ -159,13 +160,28 @@ var FeedbackForm = function FeedbackForm(_ref2) {
159
160
  }
160
161
  return messages.canBeContactedLabel;
161
162
  };
163
+ var requiredFieldsSummary =
164
+ /*#__PURE__*/
165
+ // eslint-disable-next-line @atlaskit/design-system/use-primitives-text
166
+ React.createElement("p", {
167
+ style: {
168
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
169
+ color: "var(--ds-text-subtle, ".concat(N300, ")"),
170
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
171
+ marginBottom: "var(--ds-space-300, 24px)"
172
+ }
173
+ }, formatMessage(messages.requiredFieldsSummary), /*#__PURE__*/React.createElement(RequiredAsterisk, null));
174
+ var feedbackIsAnonymous =
175
+ /*#__PURE__*/
176
+ // eslint-disable-next-line @atlaskit/design-system/use-primitives-text
177
+ React.createElement("p", null, formatMessage(messages.feedbackIsAnonymous));
162
178
  return /*#__PURE__*/React.createElement(Modal, {
163
179
  shouldCloseOnOverlayClick: false,
164
180
  onClose: onClose,
165
181
  testId: "feedbackCollectorModalDialog",
166
182
  shouldReturnFocus: shouldReturnFocusRef,
167
183
  shouldScrollInViewport: true
168
- }, /*#__PURE__*/React.createElement(Form, {
184
+ }, fg('platform-design_system_team-form_conversion') ? /*#__PURE__*/React.createElement(Form, {
169
185
  onSubmit: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
170
186
  var errors;
171
187
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -204,26 +220,176 @@ var FeedbackForm = function FeedbackForm(_ref2) {
204
220
  }
205
221
  }, _callee, null, [[6,, 9, 12]]);
206
222
  }))
223
+ }, /*#__PURE__*/React.createElement(ModalHeader, {
224
+ hasCloseButton: true
225
+ }, /*#__PURE__*/React.createElement(ModalTitle, null, feedbackTitle || /*#__PURE__*/React.createElement(FormattedMessage, messages.feedbackTitle))), /*#__PURE__*/React.createElement(ModalBody, null, requiredFieldsSummary, feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/React.createElement(Field, {
226
+ name: "topic",
227
+ label: selectLabel || formatMessage(messages.selectionOptionDefaultLabel),
228
+ isRequired: true,
229
+ "aria-required": true // JCA11Y-1619
207
230
  }, function (_ref4) {
208
- var formProps = _ref4.formProps;
231
+ var _ref4$fieldProps = _ref4.fieldProps,
232
+ id = _ref4$fieldProps.id,
233
+ restProps = _objectWithoutProperties(_ref4$fieldProps, _excluded);
234
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Select, _extends({}, restProps, {
235
+ onChange: function onChange(option) {
236
+ if (!option || option instanceof Array) {
237
+ return;
238
+ }
239
+ setType(option.value);
240
+ // Clear validation error when user selects a type (only for new validation)
241
+ if (useNewValidation && validationErrors.type) {
242
+ setValidationErrors(function (prev) {
243
+ return _objectSpread(_objectSpread({}, prev), {}, {
244
+ type: undefined
245
+ });
246
+ });
247
+ }
248
+ },
249
+ menuPortalTarget: document.body,
250
+ styles: {
251
+ menuPortal: function menuPortal(base) {
252
+ return _objectSpread(_objectSpread({}, base), {}, {
253
+ zIndex: 9999
254
+ });
255
+ }
256
+ },
257
+ options: selectOptions
258
+ // @ts-ignore
259
+ ,
260
+ ref: focusRef,
261
+ placeholder: getDefaultPlaceholder(feedbackGroupLabels),
262
+ inputId: id
263
+ })), useNewValidation && validationErrors.type && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.type));
264
+ }) : null, showDefaultTextFields && canShowTextField && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Field, {
265
+ label: showTypeField ? getFieldLabels(feedbackGroupLabels)[type] : customTextAreaLabel || formatMessage(messages.defaultCustomTextAreaLabel),
266
+ isRequired: true,
267
+ name: "description"
268
+ }, function (_ref5) {
269
+ var fieldProps = _ref5.fieldProps;
270
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextArea, _extends({}, fieldProps, {
271
+ name: "foo",
272
+ minimumRows: 6,
273
+ placeholder: summaryPlaceholder || undefined,
274
+ onChange: function onChange(e) {
275
+ setDescription(e.target.value);
276
+ // Clear validation error when user types
277
+ if (useNewValidation && validationErrors.description) {
278
+ setValidationErrors(function (prev) {
279
+ return _objectSpread(_objectSpread({}, prev), {}, {
280
+ description: undefined
281
+ });
282
+ });
283
+ }
284
+ },
285
+ value: description
286
+ })), useNewValidation && validationErrors.description && /*#__PURE__*/React.createElement(ErrorMessage, null, validationErrors.description));
287
+ }), !anonymousFeedback && /*#__PURE__*/React.createElement(Fieldset, null, /*#__PURE__*/React.createElement("legend", {
288
+ "aria-hidden": false,
289
+ hidden: true
290
+ }, "Atlassian opt-in options"), /*#__PURE__*/React.createElement(Field, {
291
+ name: "can-be-contacted"
292
+ }, function (_ref6) {
293
+ var fieldProps = _ref6.fieldProps;
294
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
295
+ "aria-describedby": undefined // JCA11Y-1988
296
+ ,
297
+ label: canBeContactedLabel || /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, fg('product-terminology-refresh') ? renderContactLabelAppify() : renderContactLabel(), !fg('jfp_a11y_team_feedback_collector_nested_elements') && {
298
+ values: {
299
+ a: function a(chunks) {
300
+ return /*#__PURE__*/React.createElement(Link, {
301
+ href: "https://www.atlassian.com/legal/privacy-policy",
302
+ target: "_blank"
303
+ }, chunks);
304
+ }
305
+ }
306
+ })),
307
+ onChange: function onChange(event) {
308
+ return setCanBeContacted(event.target.checked);
309
+ }
310
+ })), canBeContactedLabel && canBeContactedLink && fg('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/React.createElement(LinkWrapper, null, canBeContactedLink), !canBeContactedLabel && fg('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/React.createElement(LinkWrapper, null, /*#__PURE__*/React.createElement(Link, {
311
+ href: "https://www.atlassian.com/legal/privacy-policy",
312
+ target: "_blank"
313
+ }, formatMessage(messages.privacyPolicy))));
314
+ }), /*#__PURE__*/React.createElement(Field, {
315
+ name: "enroll-in-research-group"
316
+ }, function (_ref7) {
317
+ var fieldProps = _ref7.fieldProps;
318
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
319
+ "aria-describedby": undefined // JCA11Y-1988
320
+ ,
321
+ label: enrolInResearchLabel || formatMessage(messages.enrolInResearchLabel),
322
+ onChange: function onChange(event) {
323
+ return setEnrollInResearchGroup(event.target.checked);
324
+ }
325
+ })), enrolInResearchLabel && enrolInResearchLink && fg('jfp_a11y_team_feedback_collector_nested_elements') && /*#__PURE__*/React.createElement(LinkWrapper, null, enrolInResearchLink));
326
+ })) || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Field, {
327
+ name: 'anonymousFeedback'
328
+ }, function () {
329
+ return /*#__PURE__*/React.createElement(SectionMessage, {
330
+ title: formatMessage(messages.feedbackIsAnonymousTitle),
331
+ appearance: 'information'
332
+ }, feedbackIsAnonymous);
333
+ })))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
334
+ appearance: "subtle",
335
+ onClick: onClose
336
+ }, cancelButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelButtonLabel)), /*#__PURE__*/React.createElement(Button, {
337
+ appearance: "primary",
338
+ type: "submit",
339
+ isDisabled: isSubmitting || isDisabled,
340
+ testId: "feedbackCollectorSubmitBtn"
341
+ }, submitButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.submitButtonLabel)))) : /*#__PURE__*/React.createElement(Form, {
342
+ onSubmit: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
343
+ var errors;
344
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
345
+ while (1) switch (_context2.prev = _context2.next) {
346
+ case 0:
347
+ if (!useNewValidation) {
348
+ _context2.next = 5;
349
+ break;
350
+ }
351
+ // New validation: validate on submit and show errors
352
+ errors = getValidationErrors(); // If there are validation errors, show them and don't submit
353
+ if (!(Object.keys(errors).length > 0)) {
354
+ _context2.next = 5;
355
+ break;
356
+ }
357
+ setValidationErrors(errors);
358
+ return _context2.abrupt("return");
359
+ case 5:
360
+ // Submit the form (both old and new validation paths reach here)
361
+ setIsSubmitting(true);
362
+ _context2.prev = 6;
363
+ _context2.next = 9;
364
+ return onSubmit({
365
+ canBeContacted: canBeContacted,
366
+ description: description,
367
+ enrollInResearchGroup: enrollInResearchGroup,
368
+ type: type
369
+ });
370
+ case 9:
371
+ _context2.prev = 9;
372
+ setIsSubmitting(false);
373
+ return _context2.finish(9);
374
+ case 12:
375
+ case "end":
376
+ return _context2.stop();
377
+ }
378
+ }, _callee2, null, [[6,, 9, 12]]);
379
+ }))
380
+ }, function (_ref9) {
381
+ var formProps = _ref9.formProps;
209
382
  return /*#__PURE__*/React.createElement("form", formProps, /*#__PURE__*/React.createElement(ModalHeader, {
210
383
  hasCloseButton: true
211
- }, /*#__PURE__*/React.createElement(ModalTitle, null, feedbackTitle || /*#__PURE__*/React.createElement(FormattedMessage, messages.feedbackTitle))), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement("p", {
212
- style: {
213
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
214
- color: "var(--ds-text-subtle, ".concat(N300, ")"),
215
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
216
- marginBottom: "var(--ds-space-300, 24px)"
217
- }
218
- }, formatMessage(messages.requiredFieldsSummary), /*#__PURE__*/React.createElement(RequiredAsterisk, null)), feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/React.createElement(Field, {
384
+ }, /*#__PURE__*/React.createElement(ModalTitle, null, feedbackTitle || /*#__PURE__*/React.createElement(FormattedMessage, messages.feedbackTitle))), /*#__PURE__*/React.createElement(ModalBody, null, requiredFieldsSummary, feedbackTitleDetails, customContent, showTypeField ? /*#__PURE__*/React.createElement(Field, {
219
385
  name: "topic",
220
386
  label: selectLabel || formatMessage(messages.selectionOptionDefaultLabel),
221
387
  isRequired: true,
222
388
  "aria-required": true // JCA11Y-1619
223
- }, function (_ref5) {
224
- var _ref5$fieldProps = _ref5.fieldProps,
225
- id = _ref5$fieldProps.id,
226
- restProps = _objectWithoutProperties(_ref5$fieldProps, _excluded);
389
+ }, function (_ref0) {
390
+ var _ref0$fieldProps = _ref0.fieldProps,
391
+ id = _ref0$fieldProps.id,
392
+ restProps = _objectWithoutProperties(_ref0$fieldProps, _excluded2);
227
393
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Select, _extends({}, restProps, {
228
394
  onChange: function onChange(option) {
229
395
  if (!option || option instanceof Array) {
@@ -258,8 +424,8 @@ var FeedbackForm = function FeedbackForm(_ref2) {
258
424
  label: showTypeField ? getFieldLabels(feedbackGroupLabels)[type] : customTextAreaLabel || formatMessage(messages.defaultCustomTextAreaLabel),
259
425
  isRequired: true,
260
426
  name: "description"
261
- }, function (_ref6) {
262
- var fieldProps = _ref6.fieldProps;
427
+ }, function (_ref1) {
428
+ var fieldProps = _ref1.fieldProps;
263
429
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextArea, _extends({}, fieldProps, {
264
430
  name: "foo",
265
431
  minimumRows: 6,
@@ -282,8 +448,8 @@ var FeedbackForm = function FeedbackForm(_ref2) {
282
448
  hidden: true
283
449
  }, "Atlassian opt-in options"), /*#__PURE__*/React.createElement(Field, {
284
450
  name: "can-be-contacted"
285
- }, function (_ref7) {
286
- var fieldProps = _ref7.fieldProps;
451
+ }, function (_ref10) {
452
+ var fieldProps = _ref10.fieldProps;
287
453
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
288
454
  "aria-describedby": undefined // JCA11Y-1988
289
455
  ,
@@ -306,8 +472,8 @@ var FeedbackForm = function FeedbackForm(_ref2) {
306
472
  }, formatMessage(messages.privacyPolicy))));
307
473
  }), /*#__PURE__*/React.createElement(Field, {
308
474
  name: "enroll-in-research-group"
309
- }, function (_ref8) {
310
- var fieldProps = _ref8.fieldProps;
475
+ }, function (_ref11) {
476
+ var fieldProps = _ref11.fieldProps;
311
477
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
312
478
  "aria-describedby": undefined // JCA11Y-1988
313
479
  ,
@@ -322,7 +488,7 @@ var FeedbackForm = function FeedbackForm(_ref2) {
322
488
  return /*#__PURE__*/React.createElement(SectionMessage, {
323
489
  title: formatMessage(messages.feedbackIsAnonymousTitle),
324
490
  appearance: 'information'
325
- }, /*#__PURE__*/React.createElement("p", null, formatMessage(messages.feedbackIsAnonymous)));
491
+ }, feedbackIsAnonymous);
326
492
  })))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
327
493
  appearance: "subtle",
328
494
  onClick: onClose
@@ -334,9 +500,9 @@ var FeedbackForm = function FeedbackForm(_ref2) {
334
500
  }, submitButtonLabel || /*#__PURE__*/React.createElement(FormattedMessage, messages.submitButtonLabel))));
335
501
  }));
336
502
  };
337
- var FeedbackFormWithIntl = function FeedbackFormWithIntl(_ref9) {
338
- var locale = _ref9.locale,
339
- props = _objectWithoutProperties(_ref9, _excluded2);
503
+ var FeedbackFormWithIntl = function FeedbackFormWithIntl(_ref12) {
504
+ var locale = _ref12.locale,
505
+ props = _objectWithoutProperties(_ref12, _excluded3);
340
506
  return /*#__PURE__*/React.createElement(IntlProviderWithResolvedMessages, {
341
507
  locale: locale
342
508
  }, /*#__PURE__*/React.createElement(FeedbackForm, props));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/feedback-collector",
3
- "version": "14.6.3",
3
+ "version": "14.6.5",
4
4
  "description": "A component that collects feedback across Atlassian products.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -33,19 +33,19 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@atlaskit/afm-i18n-platform-web-platform-feedback-collector": "2.7.0",
36
- "@atlaskit/button": "^23.5.0",
36
+ "@atlaskit/button": "^23.6.0",
37
37
  "@atlaskit/checkbox": "^17.1.0",
38
38
  "@atlaskit/flag": "^17.5.0",
39
39
  "@atlaskit/form": "^14.2.0",
40
40
  "@atlaskit/icon": "^28.5.0",
41
41
  "@atlaskit/link": "^3.2.0",
42
- "@atlaskit/modal-dialog": "^14.5.0",
42
+ "@atlaskit/modal-dialog": "^14.6.0",
43
43
  "@atlaskit/platform-feature-flags": "^1.1.0",
44
- "@atlaskit/section-message": "^8.7.0",
44
+ "@atlaskit/section-message": "^8.9.0",
45
45
  "@atlaskit/select": "^21.3.0",
46
46
  "@atlaskit/textarea": "^8.0.0",
47
47
  "@atlaskit/theme": "^21.0.0",
48
- "@atlaskit/tokens": "^7.0.0",
48
+ "@atlaskit/tokens": "^8.0.0",
49
49
  "@babel/runtime": "^7.0.0",
50
50
  "react-intl-next": "npm:react-intl@^5.18.1"
51
51
  },
@@ -56,7 +56,7 @@
56
56
  "devDependencies": {
57
57
  "@af/visual-regression": "workspace:^",
58
58
  "@atlaskit/ssr": "workspace:^",
59
- "@atlassian/feature-flags-test-utils": "^0.3.0",
59
+ "@atlassian/feature-flags-test-utils": "^1.0.0",
60
60
  "@testing-library/react": "^13.4.0",
61
61
  "@testing-library/react-hooks": "^8.0.1",
62
62
  "buffer": "^6.0.3"
@@ -95,6 +95,9 @@
95
95
  },
96
96
  "jfp_a11y_team_feedback_collector_nested_elements": {
97
97
  "type": "boolean"
98
+ },
99
+ "platform-design_system_team-form_conversion": {
100
+ "type": "boolean"
98
101
  }
99
102
  }
100
103
  }