@atlaskit/feedback-collector 10.3.2 → 10.4.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 (45) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/components/FeedbackButton.js +8 -3
  3. package/dist/cjs/components/FeedbackCollector.js +2 -1
  4. package/dist/cjs/components/FeedbackFlag.js +29 -7
  5. package/dist/cjs/components/FeedbackForm.js +168 -181
  6. package/dist/cjs/components/IntlProviderWithResolvedMessages.js +79 -0
  7. package/dist/cjs/i18n/fr.js +16 -0
  8. package/dist/cjs/i18n/index.js +15 -0
  9. package/dist/cjs/messages.js +112 -0
  10. package/dist/cjs/utils/i18n-get-messages-for-locale.js +82 -0
  11. package/dist/cjs/version.json +1 -1
  12. package/dist/es2019/components/FeedbackButton.js +6 -2
  13. package/dist/es2019/components/FeedbackCollector.js +2 -1
  14. package/dist/es2019/components/FeedbackFlag.js +27 -11
  15. package/dist/es2019/components/FeedbackForm.js +114 -129
  16. package/dist/es2019/components/IntlProviderWithResolvedMessages.js +24 -0
  17. package/dist/es2019/i18n/fr.js +8 -0
  18. package/dist/es2019/i18n/index.js +1 -0
  19. package/dist/es2019/messages.js +103 -0
  20. package/dist/es2019/utils/i18n-get-messages-for-locale.js +30 -0
  21. package/dist/es2019/version.json +1 -1
  22. package/dist/esm/components/FeedbackButton.js +6 -2
  23. package/dist/esm/components/FeedbackCollector.js +2 -1
  24. package/dist/esm/components/FeedbackFlag.js +27 -7
  25. package/dist/esm/components/FeedbackForm.js +163 -182
  26. package/dist/esm/components/IntlProviderWithResolvedMessages.js +56 -0
  27. package/dist/esm/i18n/fr.js +8 -0
  28. package/dist/esm/i18n/index.js +1 -0
  29. package/dist/esm/messages.js +103 -0
  30. package/dist/esm/utils/i18n-get-messages-for-locale.js +64 -0
  31. package/dist/esm/version.json +1 -1
  32. package/dist/types/components/FeedbackCollector.d.ts +2 -0
  33. package/dist/types/components/FeedbackFlag.d.ts +5 -3
  34. package/dist/types/components/FeedbackForm.d.ts +9 -20
  35. package/dist/types/components/IntlProviderWithResolvedMessages.d.ts +4 -0
  36. package/dist/types/i18n/fr.d.ts +8 -0
  37. package/dist/types/i18n/index.d.ts +1 -0
  38. package/dist/types/messages.d.ts +102 -0
  39. package/dist/types/utils/i18n-get-messages-for-locale.d.ts +11 -0
  40. package/messages/package.json +7 -0
  41. package/package.json +3 -1
  42. package/dist/cjs/components/messages.js +0 -22
  43. package/dist/es2019/components/messages.js +0 -13
  44. package/dist/esm/components/messages.js +0 -13
  45. package/dist/types/components/messages.d.ts +0 -12
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/feedback-collector
2
2
 
3
+ ## 10.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`271e4374f58`](https://bitbucket.org/atlassian/atlassian-frontend/commits/271e4374f58) - [ux] Add support for i18n
8
+
3
9
  ## 10.3.2
4
10
 
5
11
  ### Patch Changes
@@ -21,12 +21,14 @@ var _flag = require("@atlaskit/flag");
21
21
 
22
22
  var _feedback = _interopRequireDefault(require("@atlaskit/icon/glyph/feedback"));
23
23
 
24
+ var _IntlProviderWithResolvedMessages = require("../components/IntlProviderWithResolvedMessages");
25
+
26
+ var _messages = require("../messages");
27
+
24
28
  var _FeedbackCollector = _interopRequireDefault(require("./FeedbackCollector"));
25
29
 
26
30
  var _FeedbackFlag = _interopRequireDefault(require("./FeedbackFlag"));
27
31
 
28
- var _messages = require("./messages");
29
-
30
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
33
 
32
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -46,12 +48,15 @@ var FeedbackButton = function FeedbackButton(props) {
46
48
  setDisplayFlag = _useState4[1];
47
49
 
48
50
  var _useIntl = (0, _reactIntlNext.useIntl)(),
51
+ locale = _useIntl.locale,
49
52
  formatMessage = _useIntl.formatMessage;
50
53
 
51
54
  var embeddableKey = props.embeddableKey,
52
55
  requestTypeId = props.requestTypeId,
53
56
  email = props.email;
54
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, {
57
+ return /*#__PURE__*/_react.default.createElement(_IntlProviderWithResolvedMessages.IntlProviderWithResolvedMessages, {
58
+ locale: locale
59
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
55
60
  onClick: function onClick() {
56
61
  return setIsOpen(true);
57
62
  },
@@ -448,7 +448,8 @@ var FeedbackCollector = /*#__PURE__*/function (_Component) {
448
448
  cancelButtonLabel: this.props.cancelButtonLabel,
449
449
  feedbackGroupLabels: this.props.feedbackGroupLabels,
450
450
  onSubmit: this.postFeedback,
451
- onClose: this.props.onClose
451
+ onClose: this.props.onClose,
452
+ locale: this.props.locale
452
453
  });
453
454
  }
454
455
  }]);
@@ -7,10 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
+ var _reactIntlNext = require("react-intl-next");
15
+
14
16
  var _flag = require("@atlaskit/flag");
15
17
 
16
18
  var _checkCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/check-circle"));
@@ -19,17 +21,37 @@ var _colors = require("@atlaskit/theme/colors");
19
21
 
20
22
  var _tokens = require("@atlaskit/tokens");
21
23
 
22
- var FeedbackFlag = function FeedbackFlag(props) {
23
- return /*#__PURE__*/_react.default.createElement(_flag.AutoDismissFlag, (0, _extends2.default)({
24
+ var _messages = require("../messages");
25
+
26
+ var _IntlProviderWithResolvedMessages = require("./IntlProviderWithResolvedMessages");
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ var FeedbackFlag = function FeedbackFlag(_ref) {
33
+ var description = _ref.description,
34
+ title = _ref.title;
35
+
36
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
37
+ formatMessage = _useIntl.formatMessage;
38
+
39
+ return /*#__PURE__*/_react.default.createElement(_flag.AutoDismissFlag, {
24
40
  icon: /*#__PURE__*/_react.default.createElement(_checkCircle.default, {
25
41
  primaryColor: (0, _tokens.token)('color.icon.success', _colors.G300),
26
42
  label: "Success"
27
43
  }),
28
44
  id: "feedbackSent",
29
- description: props.description ? props.description : 'Your valuable feedback helps us continually improve our products.',
30
- title: props.title ? props.title : 'Thanks!'
31
- }, props));
45
+ description: description || formatMessage(_objectSpread({}, _messages.messages.feedbackSuccessFlagDescription)),
46
+ title: title || formatMessage(_objectSpread({}, _messages.messages.feedbackSuccessFlagTitle))
47
+ });
48
+ };
49
+
50
+ var FeedbackFlagWithIntl = function FeedbackFlagWithIntl(props) {
51
+ return /*#__PURE__*/_react.default.createElement(_IntlProviderWithResolvedMessages.IntlProviderWithResolvedMessages, {
52
+ locale: props.locale
53
+ }, /*#__PURE__*/_react.default.createElement(FeedbackFlag, props));
32
54
  };
33
55
 
34
- var _default = FeedbackFlag;
56
+ var _default = FeedbackFlagWithIntl;
35
57
  exports.default = _default;
@@ -9,24 +9,18 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
13
 
22
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
15
 
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
17
 
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
28
20
  var _react = _interopRequireWildcard(require("react"));
29
21
 
22
+ var _reactIntlNext = require("react-intl-next");
23
+
30
24
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
31
25
 
32
26
  var _checkbox = require("@atlaskit/checkbox");
@@ -39,6 +33,12 @@ var _select = _interopRequireDefault(require("@atlaskit/select"));
39
33
 
40
34
  var _textarea = _interopRequireDefault(require("@atlaskit/textarea"));
41
35
 
36
+ var _messages = require("../messages");
37
+
38
+ var _IntlProviderWithResolvedMessages = require("./IntlProviderWithResolvedMessages");
39
+
40
+ var _excluded = ["locale"];
41
+
42
42
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
43
 
44
44
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -47,181 +47,168 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
47
47
 
48
48
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
49
 
50
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
51
-
52
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
53
-
54
- var getFieldLabels = function getFieldLabels(record) {
55
- return {
56
- bug: record !== null && record !== void 0 && record.bug.fieldLabel ? record.bug.fieldLabel : 'Describe the bug or issue',
57
- comment: record !== null && record !== void 0 && record.comment.fieldLabel ? record.comment.fieldLabel : "Let us know what's on your mind",
58
- suggestion: record !== null && record !== void 0 && record.suggestion.fieldLabel ? record.suggestion.fieldLabel : "Let us know what you'd like to improve",
59
- question: record !== null && record !== void 0 && record.question.fieldLabel ? record.question.fieldLabel : 'What would you like to know?',
60
- empty: record !== null && record !== void 0 && record.empty.fieldLabel ? record.empty.fieldLabel : 'Select an option'
50
+ var FeedbackForm = function FeedbackForm(_ref) {
51
+ var _ref$showTypeField = _ref.showTypeField,
52
+ showTypeField = _ref$showTypeField === void 0 ? true : _ref$showTypeField,
53
+ onClose = _ref.onClose,
54
+ _onSubmit = _ref.onSubmit,
55
+ feedbackTitle = _ref.feedbackTitle,
56
+ feedbackTitleDetails = _ref.feedbackTitleDetails,
57
+ feedbackGroupLabels = _ref.feedbackGroupLabels,
58
+ summaryPlaceholder = _ref.summaryPlaceholder,
59
+ canBeContactedLabel = _ref.canBeContactedLabel,
60
+ enrolInResearchLabel = _ref.enrolInResearchLabel,
61
+ submitButtonLabel = _ref.submitButtonLabel,
62
+ cancelButtonLabel = _ref.cancelButtonLabel;
63
+
64
+ var _useState = (0, _react.useState)(false),
65
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
66
+ canBeContacted = _useState2[0],
67
+ setCanBeContacted = _useState2[1];
68
+
69
+ var _useState3 = (0, _react.useState)(''),
70
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
71
+ description = _useState4[0],
72
+ setDescription = _useState4[1];
73
+
74
+ var _useState5 = (0, _react.useState)(false),
75
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
76
+ enrollInResearchGroup = _useState6[0],
77
+ setEnrollInResearchGroup = _useState6[1];
78
+
79
+ var _useState7 = (0, _react.useState)('empty'),
80
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
81
+ type = _useState8[0],
82
+ setType = _useState8[1];
83
+
84
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
85
+ formatMessage = _useIntl.formatMessage;
86
+
87
+ var isTypeSelected = function isTypeSelected() {
88
+ return type !== 'empty';
61
89
  };
62
- };
63
-
64
- var getSelectOptions = function getSelectOptions(record) {
65
- return [{
66
- label: record !== null && record !== void 0 && record.question.selectOptionLabel ? record.question.selectOptionLabel : 'Ask a question',
67
- value: 'question'
68
- }, {
69
- label: record !== null && record !== void 0 && record.comment.selectOptionLabel ? record.comment.selectOptionLabel : 'Leave a comment',
70
- value: 'comment'
71
- }, {
72
- label: record !== null && record !== void 0 && record.bug.selectOptionLabel ? record.bug.selectOptionLabel : 'Report a bug',
73
- value: 'bug'
74
- }, {
75
- label: record !== null && record !== void 0 && record.suggestion.selectOptionLabel ? record.suggestion.selectOptionLabel : 'Suggest an improvement',
76
- value: 'suggestion'
77
- }];
78
- };
79
90
 
80
- var getDefaultSelectValue = function getDefaultSelectValue(record) {
81
- return {
82
- label: record !== null && record !== void 0 && record.empty.selectOptionLabel ? record.empty.selectOptionLabel : 'I want to...',
83
- value: 'empty'
91
+ var canShowTextField = isTypeSelected() || !showTypeField;
92
+ var isDisabled = showTypeField ? !isTypeSelected() || !description : !description;
93
+
94
+ var getFieldLabels = function getFieldLabels(record) {
95
+ return {
96
+ bug: (record === null || record === void 0 ? void 0 : record.bug.fieldLabel) || formatMessage(_messages.messages.formBugLabel),
97
+ comment: (record === null || record === void 0 ? void 0 : record.comment.fieldLabel) || formatMessage(_messages.messages.formCommentLabel),
98
+ suggestion: (record === null || record === void 0 ? void 0 : record.suggestion.fieldLabel) || formatMessage(_messages.messages.formSuggestionLabel),
99
+ question: (record === null || record === void 0 ? void 0 : record.question.fieldLabel) || formatMessage(_messages.messages.formQuestionLabel),
100
+ empty: (record === null || record === void 0 ? void 0 : record.empty.fieldLabel) || formatMessage(_messages.messages.formEmptyLabel)
101
+ };
84
102
  };
85
- };
86
-
87
- var FeedbackForm = /*#__PURE__*/function (_Component) {
88
- (0, _inherits2.default)(FeedbackForm, _Component);
89
-
90
- var _super = _createSuper(FeedbackForm);
91
103
 
92
- function FeedbackForm() {
93
- var _this;
94
-
95
- (0, _classCallCheck2.default)(this, FeedbackForm);
104
+ var getSelectOptions = function getSelectOptions(record) {
105
+ return [{
106
+ label: (record === null || record === void 0 ? void 0 : record.question.selectOptionLabel) || formatMessage(_messages.messages.selectionOptionQuestionLabel),
107
+ value: 'question'
108
+ }, {
109
+ label: (record === null || record === void 0 ? void 0 : record.comment.selectOptionLabel) || formatMessage(_messages.messages.selectionOptionCommentLabel),
110
+ value: 'comment'
111
+ }, {
112
+ label: (record === null || record === void 0 ? void 0 : record.bug.selectOptionLabel) || formatMessage(_messages.messages.selectionOptionBugLabel),
113
+ value: 'bug'
114
+ }, {
115
+ label: (record === null || record === void 0 ? void 0 : record.suggestion.selectOptionLabel) || formatMessage(_messages.messages.selectionOptionSuggestionLabel),
116
+ value: 'suggestion'
117
+ }];
118
+ };
96
119
 
97
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
98
- args[_key] = arguments[_key];
99
- }
120
+ var getDefaultSelectValue = function getDefaultSelectValue(record) {
121
+ return {
122
+ label: (record === null || record === void 0 ? void 0 : record.empty.selectOptionLabel) || formatMessage(_messages.messages.selectionOptionDefaultLabel),
123
+ value: 'empty'
124
+ };
125
+ };
100
126
 
101
- _this = _super.call.apply(_super, [this].concat(args));
102
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
103
- type: 'empty',
104
- description: '',
105
- canBeContacted: false,
106
- enrollInResearchGroup: false
107
- });
108
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isTypeSelected", function () {
109
- return _this.state.type !== 'empty';
110
- });
111
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onSubmit", function () {
112
- var _this$state = _this.state,
113
- type = _this$state.type,
114
- description = _this$state.description,
115
- canBeContacted = _this$state.canBeContacted,
116
- enrollInResearchGroup = _this$state.enrollInResearchGroup;
117
-
118
- _this.props.onSubmit({
119
- type: type,
120
- description: description,
127
+ return /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
128
+ onClose: onClose,
129
+ testId: "feedbackCollectorModalDialog"
130
+ }, /*#__PURE__*/_react.default.createElement(_form.default, {
131
+ onSubmit: function onSubmit() {
132
+ _onSubmit({
121
133
  canBeContacted: canBeContacted,
122
- enrollInResearchGroup: enrollInResearchGroup
134
+ description: description,
135
+ enrollInResearchGroup: enrollInResearchGroup,
136
+ type: type
123
137
  });
124
- });
125
- return _this;
126
- }
127
-
128
- (0, _createClass2.default)(FeedbackForm, [{
129
- key: "render",
130
- value: function render() {
131
- var _this2 = this;
132
-
133
- var showTypeField = this.props.showTypeField;
134
- var canShowTextField = this.isTypeSelected() || !showTypeField;
135
- var isDisabled = showTypeField ? !this.isTypeSelected() || !this.state.description : !this.state.description;
136
- return /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
137
- onClose: this.props.onClose
138
- }, /*#__PURE__*/_react.default.createElement(_form.default, {
139
- onSubmit: this.onSubmit
140
- }, function (_ref) {
141
- var formProps = _ref.formProps;
142
- return /*#__PURE__*/_react.default.createElement("form", formProps, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, null, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, _this2.props.feedbackTitle)), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, _this2.props.feedbackTitleDetails, showTypeField ? /*#__PURE__*/_react.default.createElement(_select.default, {
143
- onChange: function onChange(option) {
144
- if (!option || option instanceof Array) {
145
- return;
146
- }
147
-
148
- _this2.setState({
149
- type: option.value
150
- });
151
- },
152
- menuPortalTarget: document.body,
153
- styles: {
154
- menuPortal: function menuPortal(base) {
155
- return _objectSpread(_objectSpread({}, base), {}, {
156
- zIndex: 9999
157
- });
158
- }
159
- },
160
- defaultValue: getDefaultSelectValue(_this2.props.feedbackGroupLabels),
161
- options: getSelectOptions(_this2.props.feedbackGroupLabels)
162
- }) : null, canShowTextField ? /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_form.Field, {
163
- label: showTypeField ? getFieldLabels(_this2.props.feedbackGroupLabels)[_this2.state.type] : null,
164
- isRequired: true,
165
- name: "description"
166
- }, function (_ref2) {
167
- var fieldProps = _ref2.fieldProps;
168
- return /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({}, fieldProps, {
169
- name: "foo",
170
- minimumRows: 6,
171
- placeholder: _this2.props.summaryPlaceholder,
172
- onChange: function onChange(e) {
173
- return _this2.setState({
174
- description: e.target.value
175
- });
176
- },
177
- value: _this2.state.description
178
- }));
179
- }), /*#__PURE__*/_react.default.createElement(_form.Field, {
180
- name: "can-be-contacted"
181
- }, function (_ref3) {
182
- var fieldProps = _ref3.fieldProps;
183
- return /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
184
- label: _this2.props.canBeContactedLabel,
185
- onChange: function onChange(event) {
186
- return _this2.setState({
187
- canBeContacted: event.target.checked
188
- });
189
- }
190
- }));
191
- }), /*#__PURE__*/_react.default.createElement(_form.Field, {
192
- name: "enroll-in-research-group"
193
- }, function (_ref4) {
194
- var fieldProps = _ref4.fieldProps;
195
- return /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
196
- label: _this2.props.enrolInResearchLabel,
197
- onChange: function onChange(event) {
198
- return _this2.setState({
199
- enrollInResearchGroup: event.target.checked
200
- });
201
- }
202
- }));
203
- })) : /*#__PURE__*/_react.default.createElement(_react.Fragment, null)), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
204
- appearance: "subtle",
205
- onClick: _this2.props.onClose
206
- }, _this2.props.cancelButtonLabel), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
207
- appearance: "primary",
208
- type: "submit",
209
- isDisabled: isDisabled
210
- }, _this2.props.submitButtonLabel)));
211
- }));
212
138
  }
213
- }]);
214
- return FeedbackForm;
215
- }(_react.Component);
216
-
217
- exports.default = FeedbackForm;
218
- (0, _defineProperty2.default)(FeedbackForm, "defaultProps", {
219
- showTypeField: true,
220
- feedbackTitle: 'Share your thoughts',
221
- enrolInResearchLabel: "I'd like to participate in product research",
222
- canBeContactedLabel: 'Atlassian can contact me about this feedback',
223
- submitButtonLabel: 'Send feedback',
224
- cancelButtonLabel: 'Cancel',
225
- onClose: function onClose() {},
226
- onSubmit: function onSubmit() {}
227
- });
139
+ }, function (_ref2) {
140
+ var formProps = _ref2.formProps;
141
+ return /*#__PURE__*/_react.default.createElement("form", formProps, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, null, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, feedbackTitle || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.feedbackTitle))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, feedbackTitleDetails, showTypeField ? /*#__PURE__*/_react.default.createElement(_select.default, {
142
+ onChange: function onChange(option) {
143
+ if (!option || option instanceof Array) {
144
+ return;
145
+ }
146
+
147
+ setType(option.value);
148
+ },
149
+ menuPortalTarget: document.body,
150
+ styles: {
151
+ menuPortal: function menuPortal(base) {
152
+ return _objectSpread(_objectSpread({}, base), {}, {
153
+ zIndex: 9999
154
+ });
155
+ }
156
+ },
157
+ defaultValue: getDefaultSelectValue(feedbackGroupLabels),
158
+ options: getSelectOptions(feedbackGroupLabels)
159
+ }) : null, canShowTextField && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_form.Field, {
160
+ label: showTypeField ? getFieldLabels(feedbackGroupLabels)[type] : null,
161
+ isRequired: true,
162
+ name: "description"
163
+ }, function (_ref3) {
164
+ var fieldProps = _ref3.fieldProps;
165
+ return /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({}, fieldProps, {
166
+ name: "foo",
167
+ minimumRows: 6,
168
+ placeholder: summaryPlaceholder || formatMessage(_messages.messages.summaryPlaceholder),
169
+ onChange: function onChange(e) {
170
+ return setDescription(e.target.value);
171
+ },
172
+ value: description
173
+ }));
174
+ }), /*#__PURE__*/_react.default.createElement(_form.Field, {
175
+ name: "can-be-contacted"
176
+ }, function (_ref4) {
177
+ var fieldProps = _ref4.fieldProps;
178
+ return /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
179
+ label: canBeContactedLabel || formatMessage(_messages.messages.canBeContactedLabel),
180
+ onChange: function onChange(event) {
181
+ return setCanBeContacted(event.target.checked);
182
+ }
183
+ }));
184
+ }), /*#__PURE__*/_react.default.createElement(_form.Field, {
185
+ name: "enroll-in-research-group"
186
+ }, function (_ref5) {
187
+ var fieldProps = _ref5.fieldProps;
188
+ return /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _extends2.default)({}, fieldProps, {
189
+ label: enrolInResearchLabel || formatMessage(_messages.messages.enrolInResearchLabel),
190
+ onChange: function onChange(event) {
191
+ return setEnrollInResearchGroup(event.target.checked);
192
+ }
193
+ }));
194
+ }))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
195
+ appearance: "subtle",
196
+ onClick: onClose
197
+ }, cancelButtonLabel || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.cancelButtonLabel)), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
198
+ appearance: "primary",
199
+ type: "submit",
200
+ isDisabled: isDisabled
201
+ }, submitButtonLabel || /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.submitButtonLabel))));
202
+ }));
203
+ };
204
+
205
+ var FeedbackFormWithIntl = function FeedbackFormWithIntl(_ref6) {
206
+ var locale = _ref6.locale,
207
+ props = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
208
+ return /*#__PURE__*/_react.default.createElement(_IntlProviderWithResolvedMessages.IntlProviderWithResolvedMessages, {
209
+ locale: locale
210
+ }, /*#__PURE__*/_react.default.createElement(FeedbackForm, props));
211
+ };
212
+
213
+ var _default = FeedbackFormWithIntl;
214
+ exports.default = _default;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.IntlProviderWithResolvedMessages = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _reactIntlNext = require("react-intl-next");
21
+
22
+ var _i18nGetMessagesForLocale = require("../utils/i18n-get-messages-for-locale");
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ var IntlProviderWithResolvedMessages = function IntlProviderWithResolvedMessages(_ref) {
29
+ var children = _ref.children,
30
+ locale = _ref.locale;
31
+
32
+ var _useState = (0, _react.useState)(),
33
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
+ resolvedMessagesForLocale = _useState2[0],
35
+ setResolvedMessagesForLocale = _useState2[1];
36
+
37
+ (0, _react.useEffect)(function () {
38
+ var fetchMessageLocale = /*#__PURE__*/function () {
39
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
40
+ var messages;
41
+ return _regenerator.default.wrap(function _callee$(_context) {
42
+ while (1) {
43
+ switch (_context.prev = _context.next) {
44
+ case 0:
45
+ if (!locale) {
46
+ _context.next = 5;
47
+ break;
48
+ }
49
+
50
+ _context.next = 3;
51
+ return (0, _i18nGetMessagesForLocale.getMessagesForLocale)(locale);
52
+
53
+ case 3:
54
+ messages = _context.sent;
55
+ setResolvedMessagesForLocale(messages);
56
+
57
+ case 5:
58
+ case "end":
59
+ return _context.stop();
60
+ }
61
+ }
62
+ }, _callee);
63
+ }));
64
+
65
+ return function fetchMessageLocale() {
66
+ return _ref2.apply(this, arguments);
67
+ };
68
+ }();
69
+
70
+ fetchMessageLocale();
71
+ }, [locale]);
72
+ return /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
73
+ locale: locale || 'en',
74
+ defaultLocale: "en",
75
+ messages: resolvedMessagesForLocale
76
+ }, children);
77
+ };
78
+
79
+ exports.IntlProviderWithResolvedMessages = IntlProviderWithResolvedMessages;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ /**
9
+ * NOTE:
10
+ *
11
+ * This file is automatically generated by Traduki 2.0.
12
+ * DO NOT CHANGE IT BY HAND or your changes will be lost.
13
+ */
14
+ //French (France)
15
+ var _default = {};
16
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "fr", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _fr.default;
12
+ }
13
+ });
14
+
15
+ var _fr = _interopRequireDefault(require("./fr"));