@dhis2/analytics 999.9.9-outlier-table.alpha.1 → 999.9.9-outlier-table.alpha.3

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 (49) hide show
  1. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +13 -9
  2. package/build/cjs/components/Interpretations/InterpretationModal/index.js +8 -1
  3. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +5 -2
  4. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +5 -2
  5. package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +16 -1
  6. package/build/cjs/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +2 -2
  7. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +3 -1
  8. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -0
  9. package/build/cjs/index.js +63 -56
  10. package/build/cjs/locales/cs/translations.json +2 -1
  11. package/build/cjs/locales/en/translations.json +2 -1
  12. package/build/cjs/locales/es/translations.json +10 -9
  13. package/build/cjs/locales/es_419/translations.json +12 -6
  14. package/build/cjs/locales/fr/translations.json +10 -9
  15. package/build/cjs/locales/id/translations.json +5 -4
  16. package/build/cjs/locales/nl/translations.json +3 -2
  17. package/build/cjs/locales/pt/translations.json +10 -9
  18. package/build/cjs/locales/pt_BR/translations.json +19 -13
  19. package/build/cjs/locales/sv/translations.json +8 -2
  20. package/build/cjs/locales/vi/translations.json +2 -1
  21. package/build/cjs/locales/zh/translations.json +7 -7
  22. package/build/cjs/modules/__tests__/getAdaptedUiLayoutByType.spec.js +4 -3
  23. package/build/cjs/modules/getAdaptedUiLayoutByType.js +2 -2
  24. package/build/cjs/modules/layoutUiRules/__tests__/rules.spec.js +1 -1
  25. package/build/es/components/Interpretations/InterpretationModal/InterpretationThread.js +13 -9
  26. package/build/es/components/Interpretations/InterpretationModal/index.js +2 -1
  27. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationList.js +5 -2
  28. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +5 -2
  29. package/build/es/components/Interpretations/common/Interpretation/Interpretation.js +17 -2
  30. package/build/es/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +2 -2
  31. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +3 -1
  32. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -0
  33. package/build/es/index.js +2 -2
  34. package/build/es/locales/cs/translations.json +2 -1
  35. package/build/es/locales/en/translations.json +2 -1
  36. package/build/es/locales/es/translations.json +10 -9
  37. package/build/es/locales/es_419/translations.json +12 -6
  38. package/build/es/locales/fr/translations.json +10 -9
  39. package/build/es/locales/id/translations.json +5 -4
  40. package/build/es/locales/nl/translations.json +3 -2
  41. package/build/es/locales/pt/translations.json +10 -9
  42. package/build/es/locales/pt_BR/translations.json +19 -13
  43. package/build/es/locales/sv/translations.json +8 -2
  44. package/build/es/locales/vi/translations.json +2 -1
  45. package/build/es/locales/zh/translations.json +7 -7
  46. package/build/es/modules/__tests__/getAdaptedUiLayoutByType.spec.js +4 -3
  47. package/build/es/modules/getAdaptedUiLayoutByType.js +2 -2
  48. package/build/es/modules/layoutUiRules/__tests__/rules.spec.js +2 -2
  49. package/package.json +1 -1
@@ -25,7 +25,8 @@ const InterpretationThread = _ref => {
25
25
  onInterpretationDeleted,
26
26
  initialFocus,
27
27
  onThreadUpdated,
28
- downloadMenuComponent: DownloadMenu
28
+ downloadMenuComponent: DownloadMenu,
29
+ dashboardRedirectUrl
29
30
  } = _ref;
30
31
  const {
31
32
  fromServerDate
@@ -40,18 +41,19 @@ const InterpretationThread = _ref => {
40
41
  }, [initialFocus]);
41
42
  const interpretationAccess = (0, _index.getInterpretationAccess)(interpretation, currentUser);
42
43
  return /*#__PURE__*/_react.default.createElement("div", {
43
- className: "jsx-1846557365" + " " + ((0, _classnames.default)('container', {
44
- fetching
44
+ className: "jsx-3292109121" + " " + ((0, _classnames.default)('container', {
45
+ fetching,
46
+ dashboard: !!dashboardRedirectUrl
45
47
  }) || "")
46
48
  }, /*#__PURE__*/_react.default.createElement("div", {
47
- className: "jsx-1846557365" + " " + 'title'
49
+ className: "jsx-3292109121" + " " + 'title'
48
50
  }, /*#__PURE__*/_react.default.createElement(_ui.IconClock16, {
49
51
  color: _ui.colors.grey700
50
52
  }), (0, _moment.default)(fromServerDate(interpretation.created)).format('LLL')), DownloadMenu && /*#__PURE__*/_react.default.createElement(DownloadMenu, {
51
53
  relativePeriodDate: interpretation.created,
52
- className: "jsx-1846557365"
54
+ className: "jsx-3292109121"
53
55
  }), /*#__PURE__*/_react.default.createElement("div", {
54
- className: "jsx-1846557365" + " " + 'thread'
56
+ className: "jsx-3292109121" + " " + 'thread'
55
57
  }, /*#__PURE__*/_react.default.createElement(_index.Interpretation, {
56
58
  currentUser: currentUser,
57
59
  interpretation: interpretation,
@@ -61,9 +63,10 @@ const InterpretationThread = _ref => {
61
63
  } : null,
62
64
  onUpdated: () => onThreadUpdated(true),
63
65
  onDeleted: onInterpretationDeleted,
66
+ dashboardRedirectUrl: dashboardRedirectUrl,
64
67
  isInThread: true
65
68
  }), /*#__PURE__*/_react.default.createElement("div", {
66
- className: "jsx-1846557365" + " " + 'comments'
69
+ className: "jsx-3292109121" + " " + 'comments'
67
70
  }, interpretation.comments.map(comment => /*#__PURE__*/_react.default.createElement(_Comment.Comment, {
68
71
  key: comment.id,
69
72
  comment: comment,
@@ -77,8 +80,8 @@ const InterpretationThread = _ref => {
77
80
  onSave: () => onThreadUpdated(true),
78
81
  focusRef: focusRef
79
82
  }), /*#__PURE__*/_react.default.createElement(_style.default, {
80
- id: "1846557365"
81
- }, [".thread.jsx-1846557365{margin-top:var(--spacers-dp16);overflow-y:auto;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;}", ".container.jsx-1846557365{position:relative;overflow:auto;max-height:calc(100vh - 285px);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".container.fetching.jsx-1846557365::before{content:'';position:absolute;inset:0px;background-color:rgba(255,255,255,0.8);}", ".container.fetching.jsx-1846557365::after{content:'';position:absolute;top:calc(50% - 12px);left:calc(50% - 12px);width:24px;height:24px;border-width:4px;border-style:solid;border-color:rgba(110,122,138,0.15) rgba(110,122,138,0.15) rgb(20,124,215);border-image:initial;border-radius:50%;-webkit-animation:1s linear 0s infinite normal none running rotation-jsx-1846557365;animation:1s linear 0s infinite normal none running rotation-jsx-1846557365;}", ".title.jsx-1846557365{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacers-dp8);color:var(--colors-grey900);font-size:14px;line-height:18px;}", ".comments.jsx-1846557365{padding-left:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:var(--spacers-dp4);gap:var(--spacers-dp4);}", "@-webkit-keyframes rotation-jsx-1846557365{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}", "@keyframes rotation-jsx-1846557365{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}"]));
83
+ id: "3292109121"
84
+ }, [".thread.jsx-3292109121{margin-top:var(--spacers-dp16);overflow-y:auto;-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;}", ".dashboard.jsx-3292109121 .thread.jsx-3292109121{overflow-y:hidden;}", ".container.jsx-3292109121{position:relative;overflow:auto;max-height:calc(100vh - 285px);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".container.dashboard.jsx-3292109121{max-height:none;}", ".container.fetching.jsx-3292109121::before{content:'';position:absolute;inset:0px;background-color:rgba(255,255,255,0.8);}", ".container.fetching.jsx-3292109121::after{content:'';position:absolute;top:calc(50% - 12px);left:calc(50% - 12px);width:24px;height:24px;border-width:4px;border-style:solid;border-color:rgba(110,122,138,0.15) rgba(110,122,138,0.15) rgb(20,124,215);border-image:initial;border-radius:50%;-webkit-animation:1s linear 0s infinite normal none running rotation-jsx-3292109121;animation:1s linear 0s infinite normal none running rotation-jsx-3292109121;}", ".title.jsx-3292109121{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacers-dp8);color:var(--colors-grey900);font-size:14px;line-height:18px;}", ".comments.jsx-3292109121{padding-left:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-top:var(--spacers-dp4);gap:var(--spacers-dp4);}", "@-webkit-keyframes rotation-jsx-3292109121{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}", "@keyframes rotation-jsx-3292109121{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}"]));
82
85
  };
83
86
  exports.InterpretationThread = InterpretationThread;
84
87
  InterpretationThread.propTypes = {
@@ -86,6 +89,7 @@ InterpretationThread.propTypes = {
86
89
  fetching: _propTypes.default.bool.isRequired,
87
90
  interpretation: _propTypes.default.object.isRequired,
88
91
  onInterpretationDeleted: _propTypes.default.func.isRequired,
92
+ dashboardRedirectUrl: _propTypes.default.string,
89
93
  downloadMenuComponent: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),
90
94
  initialFocus: _propTypes.default.bool,
91
95
  onThreadUpdated: _propTypes.default.func
@@ -9,4 +9,11 @@ Object.defineProperty(exports, "InterpretationModal", {
9
9
  return _InterpretationModal.InterpretationModal;
10
10
  }
11
11
  });
12
- var _InterpretationModal = require("./InterpretationModal.js");
12
+ Object.defineProperty(exports, "InterpretationThread", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _InterpretationThread.InterpretationThread;
16
+ }
17
+ });
18
+ var _InterpretationModal = require("./InterpretationModal.js");
19
+ var _InterpretationThread = require("./InterpretationThread.js");
@@ -30,7 +30,8 @@ const InterpretationList = _ref => {
30
30
  onInterpretationClick,
31
31
  onReplyIconClick,
32
32
  refresh,
33
- disabled
33
+ disabled,
34
+ dashboardRedirectUrl
34
35
  } = _ref;
35
36
  const {
36
37
  fromServerDate
@@ -67,7 +68,8 @@ const InterpretationList = _ref => {
67
68
  onReplyIconClick: onReplyIconClick,
68
69
  onDeleted: refresh,
69
70
  onUpdated: refresh,
70
- disabled: disabled
71
+ disabled: disabled,
72
+ dashboardRedirectUrl: dashboardRedirectUrl
71
73
  }))))), /*#__PURE__*/_react.default.createElement(_style.default, {
72
74
  id: "4058400613",
73
75
  dynamic: [_ui.spacers.dp8, _ui.spacers.dp8, _ui.spacers.dp16, _ui.colors.grey800, _ui.spacers.dp12, _ui.spacers.dp12, _ui.spacers.dp32, _ui.spacers.dp4]
@@ -80,5 +82,6 @@ InterpretationList.propTypes = {
80
82
  refresh: _propTypes.default.func.isRequired,
81
83
  onInterpretationClick: _propTypes.default.func.isRequired,
82
84
  onReplyIconClick: _propTypes.default.func.isRequired,
85
+ dashboardRedirectUrl: _propTypes.default.string,
83
86
  disabled: _propTypes.default.bool
84
87
  };
@@ -40,7 +40,8 @@ const InterpretationsUnit = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) =>
40
40
  onInterpretationClick,
41
41
  onReplyIconClick,
42
42
  disabled,
43
- renderId
43
+ renderId,
44
+ dashboardRedirectUrl
44
45
  } = _ref2;
45
46
  const [isExpanded, setIsExpanded] = (0, _react.useState)(true);
46
47
  const showNoTimeDimensionHelpText = type === 'eventVisualization' && !visualizationHasTimeDimension;
@@ -103,7 +104,8 @@ const InterpretationsUnit = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) =>
103
104
  onInterpretationClick: onInterpretationClick,
104
105
  onReplyIconClick: onReplyIconClick,
105
106
  refresh: onCompleteAction,
106
- disabled: disabled
107
+ disabled: disabled,
108
+ dashboardRedirectUrl: dashboardRedirectUrl
107
109
  }))), /*#__PURE__*/_react.default.createElement(_style.default, {
108
110
  id: "4120713286",
109
111
  dynamic: [_ui.spacers.dp16, _ui.colors.grey400, _ui.colors.white, _ui.spacers.dp32, _ui.colors.grey900]
@@ -119,6 +121,7 @@ InterpretationsUnit.propTypes = {
119
121
  currentUser: _propTypes.default.object.isRequired,
120
122
  id: _propTypes.default.string.isRequired,
121
123
  type: _propTypes.default.string.isRequired,
124
+ dashboardRedirectUrl: _propTypes.default.string,
122
125
  disabled: _propTypes.default.bool,
123
126
  renderId: _propTypes.default.number,
124
127
  visualizationHasTimeDimension: _propTypes.default.bool,
@@ -24,6 +24,7 @@ const Interpretation = _ref => {
24
24
  onDeleted,
25
25
  disabled,
26
26
  onReplyIconClick,
27
+ dashboardRedirectUrl,
27
28
  isInThread
28
29
  } = _ref;
29
30
  const [isUpdateMode, setIsUpdateMode] = (0, _react.useState)(false);
@@ -37,7 +38,7 @@ const Interpretation = _ref => {
37
38
  currentUser,
38
39
  onComplete: onUpdated
39
40
  });
40
- const shouldShowButton = !!onClick && !disabled;
41
+ const shouldShowButton = Boolean(!!onClick && !disabled & !dashboardRedirectUrl);
41
42
  const interpretationAccess = (0, _index.getInterpretationAccess)(interpretation, currentUser);
42
43
  let tooltip = _d2I18n.default.t('Reply');
43
44
  if (!interpretationAccess.comment) {
@@ -51,6 +52,9 @@ const Interpretation = _ref => {
51
52
  tooltip = _d2I18n.default.t('View replies');
52
53
  }
53
54
  }
55
+
56
+ // Maps still uses old url style /?id= instead of hash
57
+ const getAppInterpretationUrl = () => dashboardRedirectUrl.includes('?') ? `${dashboardRedirectUrl}&interpretationId=${interpretation.id}` : `${dashboardRedirectUrl}?interpretationId=${interpretation.id}`;
54
58
  return isUpdateMode ? /*#__PURE__*/_react.default.createElement(_InterpretationUpdateForm.InterpretationUpdateForm, {
55
59
  close: () => setIsUpdateMode(false),
56
60
  id: interpretation.id,
@@ -77,6 +81,16 @@ const Interpretation = _ref => {
77
81
  count: interpretation.comments.length,
78
82
  dataTest: "interpretation-reply-button",
79
83
  viewOnly: isInThread && !interpretationAccess.comment
84
+ }), dashboardRedirectUrl && !isInThread && /*#__PURE__*/_react.default.createElement(_index.MessageIconButton, {
85
+ tooltipContent: _d2I18n.default.t('See interpretation'),
86
+ iconComponent: _ui.IconView16,
87
+ onClick: () => onClick(interpretation.id),
88
+ dataTest: "interpretation-view-button"
89
+ }), dashboardRedirectUrl && /*#__PURE__*/_react.default.createElement(_index.MessageIconButton, {
90
+ tooltipContent: _d2I18n.default.t('Open in app'),
91
+ iconComponent: _ui.IconLaunch16,
92
+ onClick: () => window.open(getAppInterpretationUrl(), '_blank'),
93
+ dataTest: "interpretation-launch-in-app-button"
80
94
  }), interpretationAccess.share && /*#__PURE__*/_react.default.createElement(_index.MessageIconButton, {
81
95
  iconComponent: _ui.IconShare16,
82
96
  tooltipContent: _d2I18n.default.t('Share'),
@@ -111,6 +125,7 @@ Interpretation.propTypes = {
111
125
  onDeleted: _propTypes.default.func.isRequired,
112
126
  onReplyIconClick: _propTypes.default.func.isRequired,
113
127
  onUpdated: _propTypes.default.func.isRequired,
128
+ dashboardRedirectUrl: _propTypes.default.string,
114
129
  disabled: _propTypes.default.bool,
115
130
  isInThread: _propTypes.default.bool,
116
131
  onClick: _propTypes.default.func
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.tooltipAnchorClasses = exports.toolbarClasses = exports.mainClasses = exports.emojisPopoverClasses = void 0;
7
7
  var _ui = require("@dhis2/ui");
8
- const mainClasses = [".container.jsx-2278350860{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}", `.preview.jsx-2278350860{font-size:14px;line-height:19px;color:${_ui.colors.grey900};}`, `.textarea.jsx-2278350860{width:100%;box-sizing:border-box;padding:${_ui.spacers.dp8} ${_ui.spacers.dp12};color:${_ui.colors.grey900};background-color:${_ui.colors.white};border:1px solid ${_ui.colors.grey500};border-radius:3px;box-shadow:inset 0 0 0 1px rgba(102,113,123,0.15), inset 0 1px 2px 0 rgba(102,113,123,0.1);outline:0;font-size:14px;line-height:${_ui.spacers.dp16};-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;}`, `.textarea.jsx-2278350860:focus{outline:none;box-shadow:0 0 0 3px ${_ui.theme.focus};}`, `.textarea.jsx-2278350860:disabled{background-color:${_ui.colors.grey100};border-color:${_ui.colors.grey500};color:${_ui.theme.disabled};cursor:not-allowed;}`];
8
+ const mainClasses = [".container.jsx-1273817287{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}", `.preview.jsx-1273817287{font-size:14px;line-height:19px;color:${_ui.colors.grey900};}`, `.textarea.jsx-1273817287{width:100%;box-sizing:border-box;padding:${_ui.spacers.dp8} ${_ui.spacers.dp12};color:${_ui.colors.grey900};background-color:${_ui.colors.white};border:1px solid ${_ui.colors.grey500};border-radius:3px;box-shadow:inset 0 0 0 1px rgba(102,113,123,0.15), inset 0 1px 2px 0 rgba(102,113,123,0.1);outline:0;font-size:14px;line-height:${_ui.spacers.dp16};-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;}`, `.textarea.jsx-1273817287:focus{outline:none;box-shadow:0 0 0 3px ${_ui.theme.focus};width:calc(100% - 3px);}`, `.textarea.jsx-1273817287:disabled{background-color:${_ui.colors.grey100};border-color:${_ui.colors.grey500};color:${_ui.theme.disabled};cursor:not-allowed;}`];
9
9
  exports.mainClasses = mainClasses;
10
- mainClasses.__hash = "2278350860";
10
+ mainClasses.__hash = "1273817287";
11
11
  const toolbarClasses = [`.toolbar.jsx-2267496677{background:${_ui.colors.grey050};border-radius:3px;border:1px solid ${_ui.colors.grey300};margin-bottom:${_ui.spacers.dp4};}`, `.actionsWrapper.jsx-2267496677{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:${_ui.spacers.dp4};-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:${_ui.spacers.dp4};}`, `.mainActions.jsx-2267496677{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:${_ui.spacers.dp4};margin-top:${_ui.spacers.dp2};}`, ".sideActions.jsx-2267496677{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", `.previewWrapper.jsx-2267496677{margin:${_ui.spacers.dp4};text-align:right;}`];
12
12
  exports.toolbarClasses = toolbarClasses;
13
13
  toolbarClasses.__hash = "2267496677";
@@ -18,6 +18,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  const HoverMenuDropdown = _ref => {
19
19
  let {
20
20
  children,
21
+ className,
21
22
  label,
22
23
  dataTest,
23
24
  disabled
@@ -35,7 +36,7 @@ const HoverMenuDropdown = _ref => {
35
36
  disabled: disabled,
36
37
  onMouseOver: disabled ? undefined : onDropDownButtonMouseOver,
37
38
  "data-test": dataTest,
38
- className: `jsx-${_MenuButtonStyles.default.__hash}` + " " + ((0, _classnames.default)({
39
+ className: `jsx-${_MenuButtonStyles.default.__hash}` + " " + ((0, _classnames.default)(className, {
39
40
  isOpen
40
41
  }) || "")
41
42
  }, label, /*#__PURE__*/_react.default.createElement(_style.default, {
@@ -52,6 +53,7 @@ HoverMenuDropdown.defaultProps = {
52
53
  HoverMenuDropdown.propTypes = {
53
54
  children: _propTypes.default.node.isRequired,
54
55
  label: _propTypes.default.node.isRequired,
56
+ className: _propTypes.default.string,
55
57
  dataTest: _propTypes.default.string,
56
58
  disabled: _propTypes.default.bool
57
59
  };
@@ -17,4 +17,12 @@ describe('<HoverMenuDropdown/>', () => {
17
17
  }, "children"));
18
18
  expect(wrapper.find('button').prop('data-test')).toBe(dataTest);
19
19
  });
20
+ it('accepts a `className` prop', () => {
21
+ const className = 'test';
22
+ const wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react.default.createElement(_index.HoverMenuDropdown, {
23
+ label: "test dropdown",
24
+ className: className
25
+ }, "children"));
26
+ expect(wrapper.find('button')).toHaveClassName(className);
27
+ });
20
28
  });
@@ -22,6 +22,7 @@ var _exportNames = {
22
22
  AboutAOUnit: true,
23
23
  InterpretationsUnit: true,
24
24
  InterpretationModal: true,
25
+ InterpretationThread: true,
25
26
  TranslationDialog: true,
26
27
  OfflineTooltip: true,
27
28
  CachedDataQueryProvider: true,
@@ -299,13 +300,13 @@ Object.defineProperty(exports, "Analytics", {
299
300
  Object.defineProperty(exports, "BIMONTHLY", {
300
301
  enumerable: true,
301
302
  get: function () {
302
- return _index9.BIMONTHLY;
303
+ return _index11.BIMONTHLY;
303
304
  }
304
305
  });
305
306
  Object.defineProperty(exports, "BIWEEKLY", {
306
307
  enumerable: true,
307
308
  get: function () {
308
- return _index9.BIWEEKLY;
309
+ return _index11.BIWEEKLY;
309
310
  }
310
311
  });
311
312
  Object.defineProperty(exports, "COLOR_SET_BASIC", {
@@ -365,7 +366,7 @@ Object.defineProperty(exports, "CachedDataQueryProvider", {
365
366
  Object.defineProperty(exports, "DAILY", {
366
367
  enumerable: true,
367
368
  get: function () {
368
- return _index9.DAILY;
369
+ return _index11.DAILY;
369
370
  }
370
371
  });
371
372
  Object.defineProperty(exports, "DEFAULT_AXIS_IDS", {
@@ -569,7 +570,7 @@ Object.defineProperty(exports, "DynamicDimension", {
569
570
  Object.defineProperty(exports, "FINANCIAL", {
570
571
  enumerable: true,
571
572
  get: function () {
572
- return _index9.FINANCIAL;
573
+ return _index11.FINANCIAL;
573
574
  }
574
575
  });
575
576
  Object.defineProperty(exports, "FONT_STYLE_AXIS_LABELS", {
@@ -659,25 +660,25 @@ Object.defineProperty(exports, "FONT_STYLE_VISUALIZATION_TITLE", {
659
660
  Object.defineProperty(exports, "FYAPR", {
660
661
  enumerable: true,
661
662
  get: function () {
662
- return _index9.FYAPR;
663
+ return _index11.FYAPR;
663
664
  }
664
665
  });
665
666
  Object.defineProperty(exports, "FYJUL", {
666
667
  enumerable: true,
667
668
  get: function () {
668
- return _index9.FYJUL;
669
+ return _index11.FYJUL;
669
670
  }
670
671
  });
671
672
  Object.defineProperty(exports, "FYNOV", {
672
673
  enumerable: true,
673
674
  get: function () {
674
- return _index9.FYNOV;
675
+ return _index11.FYNOV;
675
676
  }
676
677
  });
677
678
  Object.defineProperty(exports, "FYOCT", {
678
679
  enumerable: true,
679
680
  get: function () {
680
- return _index9.FYOCT;
681
+ return _index11.FYOCT;
681
682
  }
682
683
  });
683
684
  Object.defineProperty(exports, "FileMenu", {
@@ -713,13 +714,19 @@ Object.defineProperty(exports, "ITEM_PROP_ID", {
713
714
  Object.defineProperty(exports, "InterpretationModal", {
714
715
  enumerable: true,
715
716
  get: function () {
716
- return _InterpretationModal.InterpretationModal;
717
+ return _index3.InterpretationModal;
718
+ }
719
+ });
720
+ Object.defineProperty(exports, "InterpretationThread", {
721
+ enumerable: true,
722
+ get: function () {
723
+ return _index3.InterpretationThread;
717
724
  }
718
725
  });
719
726
  Object.defineProperty(exports, "InterpretationsUnit", {
720
727
  enumerable: true,
721
728
  get: function () {
722
- return _InterpretationsUnit.InterpretationsUnit;
729
+ return _index2.InterpretationsUnit;
723
730
  }
724
731
  });
725
732
  Object.defineProperty(exports, "LAYOUT", {
@@ -809,7 +816,7 @@ Object.defineProperty(exports, "LegendKey", {
809
816
  Object.defineProperty(exports, "MONTHLY", {
810
817
  enumerable: true,
811
818
  get: function () {
812
- return _index9.MONTHLY;
819
+ return _index11.MONTHLY;
813
820
  }
814
821
  });
815
822
  Object.defineProperty(exports, "OfflineTooltip", {
@@ -839,19 +846,19 @@ Object.defineProperty(exports, "PivotTable", {
839
846
  Object.defineProperty(exports, "QUARTERLY", {
840
847
  enumerable: true,
841
848
  get: function () {
842
- return _index9.QUARTERLY;
849
+ return _index11.QUARTERLY;
843
850
  }
844
851
  });
845
852
  Object.defineProperty(exports, "SIXMONTHLY", {
846
853
  enumerable: true,
847
854
  get: function () {
848
- return _index9.SIXMONTHLY;
855
+ return _index11.SIXMONTHLY;
849
856
  }
850
857
  });
851
858
  Object.defineProperty(exports, "SIXMONTHLYAPR", {
852
859
  enumerable: true,
853
860
  get: function () {
854
- return _index9.SIXMONTHLYAPR;
861
+ return _index11.SIXMONTHLYAPR;
855
862
  }
856
863
  });
857
864
  Object.defineProperty(exports, "TEXT_ALIGN_CENTER", {
@@ -875,25 +882,25 @@ Object.defineProperty(exports, "TEXT_ALIGN_RIGHT", {
875
882
  Object.defineProperty(exports, "TranslationDialog", {
876
883
  enumerable: true,
877
884
  get: function () {
878
- return _index3.TranslationDialog;
885
+ return _index5.TranslationDialog;
879
886
  }
880
887
  });
881
888
  Object.defineProperty(exports, "USER_ORG_UNIT", {
882
889
  enumerable: true,
883
890
  get: function () {
884
- return _index4.USER_ORG_UNIT;
891
+ return _index6.USER_ORG_UNIT;
885
892
  }
886
893
  });
887
894
  Object.defineProperty(exports, "USER_ORG_UNIT_CHILDREN", {
888
895
  enumerable: true,
889
896
  get: function () {
890
- return _index4.USER_ORG_UNIT_CHILDREN;
897
+ return _index6.USER_ORG_UNIT_CHILDREN;
891
898
  }
892
899
  });
893
900
  Object.defineProperty(exports, "USER_ORG_UNIT_GRANDCHILDREN", {
894
901
  enumerable: true,
895
902
  get: function () {
896
- return _index4.USER_ORG_UNIT_GRANDCHILDREN;
903
+ return _index6.USER_ORG_UNIT_GRANDCHILDREN;
897
904
  }
898
905
  });
899
906
  Object.defineProperty(exports, "VALUE_TYPE_AGE", {
@@ -1157,43 +1164,43 @@ Object.defineProperty(exports, "VisualizationOptions", {
1157
1164
  Object.defineProperty(exports, "WEEKLY", {
1158
1165
  enumerable: true,
1159
1166
  get: function () {
1160
- return _index9.WEEKLY;
1167
+ return _index11.WEEKLY;
1161
1168
  }
1162
1169
  });
1163
1170
  Object.defineProperty(exports, "WEEKLYSAT", {
1164
1171
  enumerable: true,
1165
1172
  get: function () {
1166
- return _index9.WEEKLYSAT;
1173
+ return _index11.WEEKLYSAT;
1167
1174
  }
1168
1175
  });
1169
1176
  Object.defineProperty(exports, "WEEKLYSUN", {
1170
1177
  enumerable: true,
1171
1178
  get: function () {
1172
- return _index9.WEEKLYSUN;
1179
+ return _index11.WEEKLYSUN;
1173
1180
  }
1174
1181
  });
1175
1182
  Object.defineProperty(exports, "WEEKLYTHU", {
1176
1183
  enumerable: true,
1177
1184
  get: function () {
1178
- return _index9.WEEKLYTHU;
1185
+ return _index11.WEEKLYTHU;
1179
1186
  }
1180
1187
  });
1181
1188
  Object.defineProperty(exports, "WEEKLYWED", {
1182
1189
  enumerable: true,
1183
1190
  get: function () {
1184
- return _index9.WEEKLYWED;
1191
+ return _index11.WEEKLYWED;
1185
1192
  }
1186
1193
  });
1187
1194
  Object.defineProperty(exports, "WEEKS_THIS_YEAR", {
1188
1195
  enumerable: true,
1189
1196
  get: function () {
1190
- return _index9.WEEKS_THIS_YEAR;
1197
+ return _index11.WEEKS_THIS_YEAR;
1191
1198
  }
1192
1199
  });
1193
1200
  Object.defineProperty(exports, "YEARLY", {
1194
1201
  enumerable: true,
1195
1202
  get: function () {
1196
- return _index9.YEARLY;
1203
+ return _index11.YEARLY;
1197
1204
  }
1198
1205
  });
1199
1206
  Object.defineProperty(exports, "apiFetchDimensions", {
@@ -1283,7 +1290,7 @@ Object.defineProperty(exports, "axisIsEmpty", {
1283
1290
  Object.defineProperty(exports, "canDimensionBeAddedToAxis", {
1284
1291
  enumerable: true,
1285
1292
  get: function () {
1286
- return _index7.canDimensionBeAddedToAxis;
1293
+ return _index9.canDimensionBeAddedToAxis;
1287
1294
  }
1288
1295
  });
1289
1296
  Object.defineProperty(exports, "colorSets", {
@@ -1295,13 +1302,13 @@ Object.defineProperty(exports, "colorSets", {
1295
1302
  Object.defineProperty(exports, "convertOuLevelsToUids", {
1296
1303
  enumerable: true,
1297
1304
  get: function () {
1298
- return _index5.convertOuLevelsToUids;
1305
+ return _index7.convertOuLevelsToUids;
1299
1306
  }
1300
1307
  });
1301
1308
  Object.defineProperty(exports, "createVisualization", {
1302
1309
  enumerable: true,
1303
1310
  get: function () {
1304
- return _index8.createVisualization;
1311
+ return _index10.createVisualization;
1305
1312
  }
1306
1313
  });
1307
1314
  Object.defineProperty(exports, "dataTypeMap", {
@@ -1391,31 +1398,31 @@ Object.defineProperty(exports, "getAdaptedUiLayoutByType", {
1391
1398
  Object.defineProperty(exports, "getAllLockedDimensionIds", {
1392
1399
  enumerable: true,
1393
1400
  get: function () {
1394
- return _index7.getAllLockedDimensionIds;
1401
+ return _index9.getAllLockedDimensionIds;
1395
1402
  }
1396
1403
  });
1397
1404
  Object.defineProperty(exports, "getAvailableAxes", {
1398
1405
  enumerable: true,
1399
1406
  get: function () {
1400
- return _index7.getAvailableAxes;
1407
+ return _index9.getAvailableAxes;
1401
1408
  }
1402
1409
  });
1403
1410
  Object.defineProperty(exports, "getAxisMaxNumberOfDimensions", {
1404
1411
  enumerable: true,
1405
1412
  get: function () {
1406
- return _index7.getAxisMaxNumberOfDimensions;
1413
+ return _index9.getAxisMaxNumberOfDimensions;
1407
1414
  }
1408
1415
  });
1409
1416
  Object.defineProperty(exports, "getAxisMaxNumberOfItems", {
1410
1417
  enumerable: true,
1411
1418
  get: function () {
1412
- return _index7.getAxisMaxNumberOfItems;
1419
+ return _index9.getAxisMaxNumberOfItems;
1413
1420
  }
1414
1421
  });
1415
1422
  Object.defineProperty(exports, "getAxisMinNumberOfDimensions", {
1416
1423
  enumerable: true,
1417
1424
  get: function () {
1418
- return _index7.getAxisMinNumberOfDimensions;
1425
+ return _index9.getAxisMinNumberOfDimensions;
1419
1426
  }
1420
1427
  });
1421
1428
  Object.defineProperty(exports, "getAxisName", {
@@ -1433,7 +1440,7 @@ Object.defineProperty(exports, "getAxisNameByLayoutType", {
1433
1440
  Object.defineProperty(exports, "getAxisPerLockedDimension", {
1434
1441
  enumerable: true,
1435
1442
  get: function () {
1436
- return _index7.getAxisPerLockedDimension;
1443
+ return _index9.getAxisPerLockedDimension;
1437
1444
  }
1438
1445
  });
1439
1446
  Object.defineProperty(exports, "getColorByValueFromLegendSet", {
@@ -1451,13 +1458,13 @@ Object.defineProperty(exports, "getDimensionById", {
1451
1458
  Object.defineProperty(exports, "getDimensionMaxNumberOfItems", {
1452
1459
  enumerable: true,
1453
1460
  get: function () {
1454
- return _index7.getDimensionMaxNumberOfItems;
1461
+ return _index9.getDimensionMaxNumberOfItems;
1455
1462
  }
1456
1463
  });
1457
1464
  Object.defineProperty(exports, "getDisallowedDimensions", {
1458
1465
  enumerable: true,
1459
1466
  get: function () {
1460
- return _index7.getDisallowedDimensions;
1467
+ return _index9.getDisallowedDimensions;
1461
1468
  }
1462
1469
  });
1463
1470
  Object.defineProperty(exports, "getDisplayNameByVisType", {
@@ -1523,13 +1530,13 @@ Object.defineProperty(exports, "getTextAlignOptions", {
1523
1530
  Object.defineProperty(exports, "getTransferableDimension", {
1524
1531
  enumerable: true,
1525
1532
  get: function () {
1526
- return _index7.getTransferableDimension;
1533
+ return _index9.getTransferableDimension;
1527
1534
  }
1528
1535
  });
1529
1536
  Object.defineProperty(exports, "hasAxisTooManyItems", {
1530
1537
  enumerable: true,
1531
1538
  get: function () {
1532
- return _index7.hasAxisTooManyItems;
1539
+ return _index9.hasAxisTooManyItems;
1533
1540
  }
1534
1541
  });
1535
1542
  Object.defineProperty(exports, "hasCustomAxes", {
@@ -1541,19 +1548,19 @@ Object.defineProperty(exports, "hasCustomAxes", {
1541
1548
  Object.defineProperty(exports, "hasDimensionTooManyItems", {
1542
1549
  enumerable: true,
1543
1550
  get: function () {
1544
- return _index7.hasDimensionTooManyItems;
1551
+ return _index9.hasDimensionTooManyItems;
1545
1552
  }
1546
1553
  });
1547
1554
  Object.defineProperty(exports, "hasRelativeItems", {
1548
1555
  enumerable: true,
1549
1556
  get: function () {
1550
- return _index6.hasRelativeItems;
1557
+ return _index8.hasRelativeItems;
1551
1558
  }
1552
1559
  });
1553
1560
  Object.defineProperty(exports, "isAxisFull", {
1554
1561
  enumerable: true,
1555
1562
  get: function () {
1556
- return _index7.isAxisFull;
1563
+ return _index9.isAxisFull;
1557
1564
  }
1558
1565
  });
1559
1566
  Object.defineProperty(exports, "isColumnBasedType", {
@@ -1565,7 +1572,7 @@ Object.defineProperty(exports, "isColumnBasedType", {
1565
1572
  Object.defineProperty(exports, "isDimensionLocked", {
1566
1573
  enumerable: true,
1567
1574
  get: function () {
1568
- return _index7.isDimensionLocked;
1575
+ return _index9.isDimensionLocked;
1569
1576
  }
1570
1577
  });
1571
1578
  Object.defineProperty(exports, "isDualAxisType", {
@@ -1721,7 +1728,7 @@ Object.defineProperty(exports, "layoutReplaceDimension", {
1721
1728
  Object.defineProperty(exports, "ouIdHelper", {
1722
1729
  enumerable: true,
1723
1730
  get: function () {
1724
- return _index4.ouIdHelper;
1731
+ return _index6.ouIdHelper;
1725
1732
  }
1726
1733
  });
1727
1734
  Object.defineProperty(exports, "preparePayloadForSaveAs", {
@@ -1764,21 +1771,21 @@ var _utils = require("./components/FileMenu/utils.js");
1764
1771
  var _VisTypeIcon = _interopRequireDefault(require("./components/VisTypeIcon.js"));
1765
1772
  var _LegendKey = _interopRequireDefault(require("./components/LegendKey/LegendKey.js"));
1766
1773
  var _AboutAOUnit = _interopRequireDefault(require("./components/AboutAOUnit/AboutAOUnit.js"));
1767
- var _InterpretationsUnit = require("./components/Interpretations/InterpretationsUnit/InterpretationsUnit.js");
1768
- var _InterpretationModal = require("./components/Interpretations/InterpretationModal/InterpretationModal.js");
1769
- var _index2 = require("./components/Toolbar/index.js");
1770
- Object.keys(_index2).forEach(function (key) {
1774
+ var _index2 = require("./components/Interpretations/InterpretationsUnit/index.js");
1775
+ var _index3 = require("./components/Interpretations/InterpretationModal/index.js");
1776
+ var _index4 = require("./components/Toolbar/index.js");
1777
+ Object.keys(_index4).forEach(function (key) {
1771
1778
  if (key === "default" || key === "__esModule") return;
1772
1779
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
1773
- if (key in exports && exports[key] === _index2[key]) return;
1780
+ if (key in exports && exports[key] === _index4[key]) return;
1774
1781
  Object.defineProperty(exports, key, {
1775
1782
  enumerable: true,
1776
1783
  get: function () {
1777
- return _index2[key];
1784
+ return _index4[key];
1778
1785
  }
1779
1786
  });
1780
1787
  });
1781
- var _index3 = require("./components/TranslationDialog/index.js");
1788
+ var _index5 = require("./components/TranslationDialog/index.js");
1782
1789
  var _OfflineTooltip = require("./components/OfflineTooltip.js");
1783
1790
  var _CachedDataQueryProvider = require("./components/CachedDataQueryProvider.js");
1784
1791
  var _Analytics = _interopRequireDefault(require("./api/analytics/Analytics.js"));
@@ -1786,10 +1793,10 @@ var _dimensions = require("./api/dimensions.js");
1786
1793
  var _organisationUnits = require("./api/organisationUnits.js");
1787
1794
  var _axis = require("./modules/axis.js");
1788
1795
  var _predefinedDimensions = require("./modules/predefinedDimensions.js");
1789
- var _index4 = require("./modules/ouIdHelper/index.js");
1790
- var _index5 = require("./modules/ouLevelUtils/index.js");
1796
+ var _index6 = require("./modules/ouIdHelper/index.js");
1797
+ var _index7 = require("./modules/ouLevelUtils/index.js");
1791
1798
  var _getAdaptedUiLayoutByType = require("./modules/getAdaptedUiLayoutByType.js");
1792
- var _index6 = require("./modules/relativeItems/index.js");
1799
+ var _index8 = require("./modules/relativeItems/index.js");
1793
1800
  var _layout = require("./modules/layout/layout.js");
1794
1801
  var _layoutFilterDimensions = require("./modules/layout/layoutFilterDimensions.js");
1795
1802
  var _layoutGetAllAxes = require("./modules/layout/layoutGetAllAxes.js");
@@ -1829,13 +1836,13 @@ var _itemIsValid = require("./modules/layout/itemIsValid.js");
1829
1836
  var _visTypeToLayoutType = require("./modules/visTypeToLayoutType.js");
1830
1837
  var _visTypes = require("./modules/visTypes.js");
1831
1838
  var _layoutTypes = require("./modules/layoutTypes.js");
1832
- var _index7 = require("./modules/layoutUiRules/index.js");
1833
- var _index8 = require("./visualizations/index.js");
1839
+ var _index9 = require("./modules/layoutUiRules/index.js");
1840
+ var _index10 = require("./visualizations/index.js");
1834
1841
  var _fontStyle = require("./modules/fontStyle.js");
1835
1842
  var _legends = require("./modules/legends.js");
1836
1843
  var _renderValue = require("./modules/renderValue.js");
1837
1844
  var _colorSets = require("./visualizations/util/colors/colorSets.js");
1838
- var _index9 = require("./components/PeriodDimension/utils/index.js");
1845
+ var _index11 = require("./components/PeriodDimension/utils/index.js");
1839
1846
  var _relativePeriods = require("./components/PeriodDimension/utils/relativePeriods.js");
1840
1847
  var _fixedPeriods = require("./components/PeriodDimension/utils/fixedPeriods.js");
1841
1848
  var _VisualizationOptions = _interopRequireDefault(require("./components/Options/VisualizationOptions.js"));