@atlaskit/feedback-collector 9.0.1 → 10.0.1

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,23 @@
1
1
  # @atlaskit/feedback-collector
2
2
 
3
+ ## 10.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 10.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - [`2f210d2f476`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2f210d2f476) - [ux] Add feedback button and place it above proforma form builder
14
+
15
+ ## 9.0.2
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies
20
+
3
21
  ## 9.0.1
4
22
 
5
23
  ### Patch Changes
@@ -0,0 +1,77 @@
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.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _reactIntlNext = require("react-intl-next");
17
+
18
+ var _button = _interopRequireDefault(require("@atlaskit/button"));
19
+
20
+ var _flag = require("@atlaskit/flag");
21
+
22
+ var _feedback = _interopRequireDefault(require("@atlaskit/icon/glyph/feedback"));
23
+
24
+ var _FeedbackCollector = _interopRequireDefault(require("./FeedbackCollector"));
25
+
26
+ var _FeedbackFlag = _interopRequireDefault(require("./FeedbackFlag"));
27
+
28
+ var _messages = require("./messages");
29
+
30
+ 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
+
32
+ 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; }
33
+
34
+ var FeedbackButton = function FeedbackButton(props) {
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ isOpen = _useState2[0],
38
+ setIsOpen = _useState2[1];
39
+
40
+ var _useState3 = (0, _react.useState)(false),
41
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
+ displayFlag = _useState4[0],
43
+ setDisplayFlag = _useState4[1];
44
+
45
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
46
+ formatMessage = _useIntl.formatMessage;
47
+
48
+ var embeddableKey = props.embeddableKey,
49
+ requestTypeId = props.requestTypeId,
50
+ email = props.email;
51
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_button.default, {
52
+ onClick: function onClick() {
53
+ return setIsOpen(true);
54
+ },
55
+ iconBefore: /*#__PURE__*/_react.default.createElement(_feedback.default, {
56
+ label: formatMessage(_messages.messages.feedbackIconLabel),
57
+ size: "small"
58
+ })
59
+ }, formatMessage(_messages.messages.giveFeedback)), isOpen && /*#__PURE__*/_react.default.createElement(_FeedbackCollector.default, {
60
+ onClose: function onClose() {
61
+ return setIsOpen(false);
62
+ },
63
+ onSubmit: function onSubmit() {
64
+ return setDisplayFlag(true);
65
+ },
66
+ email: email,
67
+ requestTypeId: requestTypeId,
68
+ embeddableKey: embeddableKey
69
+ }), /*#__PURE__*/_react.default.createElement(_flag.FlagGroup, {
70
+ onDismissed: function onDismissed() {
71
+ return setDisplayFlag(false);
72
+ }
73
+ }, displayFlag && /*#__PURE__*/_react.default.createElement(_FeedbackFlag.default, null)));
74
+ };
75
+
76
+ var _default = FeedbackButton;
77
+ exports.default = _default;
@@ -31,7 +31,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
31
31
 
32
32
  var _react = _interopRequireWildcard(require("react"));
33
33
 
34
- var _truncate = _interopRequireDefault(require("lodash/truncate"));
34
+ var _Truncate = _interopRequireDefault(require("../utils/Truncate"));
35
35
 
36
36
  var _FeedbackForm = _interopRequireDefault(require("./FeedbackForm"));
37
37
 
@@ -52,9 +52,7 @@ var MAX_SUMMARY_LENGTH_CHARS = 100;
52
52
  var singleLineTruncatedText = function singleLineTruncatedText(text) {
53
53
  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : MAX_SUMMARY_LENGTH_CHARS;
54
54
  var singleLineText = text.replace(/\n/g, ' ');
55
- return (0, _truncate.default)(singleLineText, {
56
- length: length
57
- });
55
+ return (0, _Truncate.default)(singleLineText, length);
58
56
  };
59
57
 
60
58
  var FeedbackCollector = /*#__PURE__*/function (_Component) {
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.messages = void 0;
7
+
8
+ var _reactIntlNext = require("react-intl-next");
9
+
10
+ var messages = (0, _reactIntlNext.defineMessages)({
11
+ giveFeedback: {
12
+ defaultMessage: 'Give feedback',
13
+ id: 'proforma-form-builder.give-feedback',
14
+ description: 'The button that allows users to give feedback'
15
+ },
16
+ feedbackIconLabel: {
17
+ defaultMessage: 'Feedback',
18
+ id: 'proforma-form-builder.feedback-icon-label',
19
+ description: 'Accessibility text used for the feedback icon'
20
+ }
21
+ });
22
+ exports.messages = messages;
package/dist/cjs/index.js CHANGED
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "FeedbackButton", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _FeedbackButton.default;
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "FeedbackFlag", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -19,6 +25,8 @@ Object.defineProperty(exports, "FeedbackForm", {
19
25
  });
20
26
  exports.default = void 0;
21
27
 
28
+ var _FeedbackButton = _interopRequireDefault(require("./components/FeedbackButton"));
29
+
22
30
  var _FeedbackCollector = _interopRequireDefault(require("./components/FeedbackCollector"));
23
31
 
24
32
  var _FeedbackFlag = _interopRequireDefault(require("./components/FeedbackFlag"));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = truncate;
7
+
8
+ function truncate(text, maxLength) {
9
+ if (!text || !maxLength) {
10
+ return text;
11
+ }
12
+
13
+ if (text.length <= maxLength) {
14
+ return text;
15
+ }
16
+
17
+ return text.substring(0, maxLength) + '...';
18
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/feedback-collector",
3
- "version": "9.0.1",
3
+ "version": "10.0.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,38 @@
1
+ import React, { useState } from 'react';
2
+ import { useIntl } from 'react-intl-next';
3
+ import Button from '@atlaskit/button';
4
+ import { FlagGroup } from '@atlaskit/flag';
5
+ import FeedbackIcon from '@atlaskit/icon/glyph/feedback';
6
+ import FeedbackCollector from './FeedbackCollector';
7
+ import FeedbackFlag from './FeedbackFlag';
8
+ import { messages } from './messages';
9
+
10
+ const FeedbackButton = props => {
11
+ const [isOpen, setIsOpen] = useState(false);
12
+ const [displayFlag, setDisplayFlag] = useState(false);
13
+ const {
14
+ formatMessage
15
+ } = useIntl();
16
+ const {
17
+ embeddableKey,
18
+ requestTypeId,
19
+ email
20
+ } = props;
21
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
22
+ onClick: () => setIsOpen(true),
23
+ iconBefore: /*#__PURE__*/React.createElement(FeedbackIcon, {
24
+ label: formatMessage(messages.feedbackIconLabel),
25
+ size: "small"
26
+ })
27
+ }, formatMessage(messages.giveFeedback)), isOpen && /*#__PURE__*/React.createElement(FeedbackCollector, {
28
+ onClose: () => setIsOpen(false),
29
+ onSubmit: () => setDisplayFlag(true),
30
+ email: email,
31
+ requestTypeId: requestTypeId,
32
+ embeddableKey: embeddableKey
33
+ }), /*#__PURE__*/React.createElement(FlagGroup, {
34
+ onDismissed: () => setDisplayFlag(false)
35
+ }, displayFlag && /*#__PURE__*/React.createElement(FeedbackFlag, null)));
36
+ };
37
+
38
+ export default FeedbackButton;
@@ -1,14 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import React, { Component } from 'react';
3
- import truncate from 'lodash/truncate';
3
+ import truncate from '../utils/Truncate';
4
4
  import FeedbackForm from './FeedbackForm';
5
5
  const MAX_SUMMARY_LENGTH_CHARS = 100;
6
6
 
7
7
  const singleLineTruncatedText = (text, length = MAX_SUMMARY_LENGTH_CHARS) => {
8
8
  const singleLineText = text.replace(/\n/g, ' ');
9
- return truncate(singleLineText, {
10
- length
11
- });
9
+ return truncate(singleLineText, length);
12
10
  };
13
11
 
14
12
  export default class FeedbackCollector extends Component {
@@ -0,0 +1,13 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export const messages = defineMessages({
3
+ giveFeedback: {
4
+ defaultMessage: 'Give feedback',
5
+ id: 'proforma-form-builder.give-feedback',
6
+ description: 'The button that allows users to give feedback'
7
+ },
8
+ feedbackIconLabel: {
9
+ defaultMessage: 'Feedback',
10
+ id: 'proforma-form-builder.feedback-icon-label',
11
+ description: 'Accessibility text used for the feedback icon'
12
+ }
13
+ });
@@ -1,5 +1,6 @@
1
+ import FeedbackButton from './components/FeedbackButton';
1
2
  import FeedbackCollector from './components/FeedbackCollector';
2
3
  import FeedbackFlag from './components/FeedbackFlag';
3
4
  import FeedbackForm from './components/FeedbackForm';
4
5
  export default FeedbackCollector;
5
- export { FeedbackFlag, FeedbackForm };
6
+ export { FeedbackFlag, FeedbackForm, FeedbackButton };
@@ -0,0 +1,11 @@
1
+ export default function truncate(text, maxLength) {
2
+ if (!text || !maxLength) {
3
+ return text;
4
+ }
5
+
6
+ if (text.length <= maxLength) {
7
+ return text;
8
+ }
9
+
10
+ return text.substring(0, maxLength) + '...';
11
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/feedback-collector",
3
- "version": "9.0.1",
3
+ "version": "10.0.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,53 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useState } from 'react';
3
+ import { useIntl } from 'react-intl-next';
4
+ import Button from '@atlaskit/button';
5
+ import { FlagGroup } from '@atlaskit/flag';
6
+ import FeedbackIcon from '@atlaskit/icon/glyph/feedback';
7
+ import FeedbackCollector from './FeedbackCollector';
8
+ import FeedbackFlag from './FeedbackFlag';
9
+ import { messages } from './messages';
10
+
11
+ var FeedbackButton = function FeedbackButton(props) {
12
+ var _useState = useState(false),
13
+ _useState2 = _slicedToArray(_useState, 2),
14
+ isOpen = _useState2[0],
15
+ setIsOpen = _useState2[1];
16
+
17
+ var _useState3 = useState(false),
18
+ _useState4 = _slicedToArray(_useState3, 2),
19
+ displayFlag = _useState4[0],
20
+ setDisplayFlag = _useState4[1];
21
+
22
+ var _useIntl = useIntl(),
23
+ formatMessage = _useIntl.formatMessage;
24
+
25
+ var embeddableKey = props.embeddableKey,
26
+ requestTypeId = props.requestTypeId,
27
+ email = props.email;
28
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
29
+ onClick: function onClick() {
30
+ return setIsOpen(true);
31
+ },
32
+ iconBefore: /*#__PURE__*/React.createElement(FeedbackIcon, {
33
+ label: formatMessage(messages.feedbackIconLabel),
34
+ size: "small"
35
+ })
36
+ }, formatMessage(messages.giveFeedback)), isOpen && /*#__PURE__*/React.createElement(FeedbackCollector, {
37
+ onClose: function onClose() {
38
+ return setIsOpen(false);
39
+ },
40
+ onSubmit: function onSubmit() {
41
+ return setDisplayFlag(true);
42
+ },
43
+ email: email,
44
+ requestTypeId: requestTypeId,
45
+ embeddableKey: embeddableKey
46
+ }), /*#__PURE__*/React.createElement(FlagGroup, {
47
+ onDismissed: function onDismissed() {
48
+ return setDisplayFlag(false);
49
+ }
50
+ }, displayFlag && /*#__PURE__*/React.createElement(FeedbackFlag, null)));
51
+ };
52
+
53
+ export default FeedbackButton;
@@ -18,16 +18,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
18
18
  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; } }
19
19
 
20
20
  import React, { Component } from 'react';
21
- import truncate from 'lodash/truncate';
21
+ import truncate from '../utils/Truncate';
22
22
  import FeedbackForm from './FeedbackForm';
23
23
  var MAX_SUMMARY_LENGTH_CHARS = 100;
24
24
 
25
25
  var singleLineTruncatedText = function singleLineTruncatedText(text) {
26
26
  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : MAX_SUMMARY_LENGTH_CHARS;
27
27
  var singleLineText = text.replace(/\n/g, ' ');
28
- return truncate(singleLineText, {
29
- length: length
30
- });
28
+ return truncate(singleLineText, length);
31
29
  };
32
30
 
33
31
  var FeedbackCollector = /*#__PURE__*/function (_Component) {
@@ -0,0 +1,13 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export var messages = defineMessages({
3
+ giveFeedback: {
4
+ defaultMessage: 'Give feedback',
5
+ id: 'proforma-form-builder.give-feedback',
6
+ description: 'The button that allows users to give feedback'
7
+ },
8
+ feedbackIconLabel: {
9
+ defaultMessage: 'Feedback',
10
+ id: 'proforma-form-builder.feedback-icon-label',
11
+ description: 'Accessibility text used for the feedback icon'
12
+ }
13
+ });
package/dist/esm/index.js CHANGED
@@ -1,5 +1,6 @@
1
+ import FeedbackButton from './components/FeedbackButton';
1
2
  import FeedbackCollector from './components/FeedbackCollector';
2
3
  import FeedbackFlag from './components/FeedbackFlag';
3
4
  import FeedbackForm from './components/FeedbackForm';
4
5
  export default FeedbackCollector;
5
- export { FeedbackFlag, FeedbackForm };
6
+ export { FeedbackFlag, FeedbackForm, FeedbackButton };
@@ -0,0 +1,11 @@
1
+ export default function truncate(text, maxLength) {
2
+ if (!text || !maxLength) {
3
+ return text;
4
+ }
5
+
6
+ if (text.length <= maxLength) {
7
+ return text;
8
+ }
9
+
10
+ return text.substring(0, maxLength) + '...';
11
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/feedback-collector",
3
- "version": "9.0.1",
3
+ "version": "10.0.1",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ interface Props {
3
+ embeddableKey: string;
4
+ requestTypeId: string;
5
+ email?: string;
6
+ }
7
+ declare const FeedbackButton: (props: Props) => JSX.Element;
8
+ export default FeedbackButton;
@@ -0,0 +1,12 @@
1
+ export declare const messages: {
2
+ giveFeedback: {
3
+ defaultMessage: string;
4
+ id: string;
5
+ description: string;
6
+ };
7
+ feedbackIconLabel: {
8
+ defaultMessage: string;
9
+ id: string;
10
+ description: string;
11
+ };
12
+ };
@@ -1,6 +1,7 @@
1
+ import FeedbackButton from './components/FeedbackButton';
1
2
  import FeedbackCollector from './components/FeedbackCollector';
2
3
  import FeedbackFlag from './components/FeedbackFlag';
3
4
  import FeedbackForm from './components/FeedbackForm';
4
5
  export type { FormFields } from './types';
5
6
  export default FeedbackCollector;
6
- export { FeedbackFlag, FeedbackForm };
7
+ export { FeedbackFlag, FeedbackForm, FeedbackButton };
@@ -0,0 +1 @@
1
+ export default function truncate(text: string, maxLength: number): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/feedback-collector",
3
- "version": "9.0.1",
3
+ "version": "10.0.1",
4
4
  "description": "A component that collects feedback across Atlassian products.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -26,7 +26,7 @@
26
26
  "access": "public"
27
27
  },
28
28
  "dependencies": {
29
- "@atlaskit/button": "^16.1.0",
29
+ "@atlaskit/button": "^16.2.0",
30
30
  "@atlaskit/checkbox": "^12.3.0",
31
31
  "@atlaskit/flag": "^14.5.0",
32
32
  "@atlaskit/form": "^8.5.0",
@@ -35,9 +35,9 @@
35
35
  "@atlaskit/select": "^15.2.0",
36
36
  "@atlaskit/textarea": "^4.3.0",
37
37
  "@atlaskit/theme": "^12.1.0",
38
- "@atlaskit/tokens": "^0.6.0",
38
+ "@atlaskit/tokens": "^0.8.0",
39
39
  "@babel/runtime": "^7.0.0",
40
- "lodash": "^4.17.21"
40
+ "react-intl-next": "npm:react-intl@^5.18.1"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "^16.8.0"
@@ -45,7 +45,6 @@
45
45
  "devDependencies": {
46
46
  "@atlaskit/docs": "*",
47
47
  "@atlaskit/logo": "^13.5.0",
48
- "@atlaskit/navigation-next": "^9.0.0",
49
48
  "@atlaskit/ssr": "*",
50
49
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
51
50
  "enzyme": "^3.10.0",