@dhis2/analytics 26.3.0-dimension-list-alpha.1 → 26.3.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 (35) hide show
  1. package/build/cjs/__demo__/DimensionsPanel.stories.js +0 -1
  2. package/build/cjs/assets/DynamicDimensionIcon.js +38 -12
  3. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +29 -37
  4. package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +6 -7
  5. package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +2 -1
  6. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +366 -190
  7. package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +73 -0
  8. package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
  9. package/build/cjs/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +4 -4
  10. package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  11. package/build/cjs/components/Interpretations/common/Message/Message.js +7 -7
  12. package/build/cjs/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +2 -2
  13. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +3 -1
  14. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -0
  15. package/build/cjs/locales/lo/translations.json +8 -3
  16. package/build/cjs/locales/sv/translations.json +8 -2
  17. package/build/es/__demo__/DimensionsPanel.stories.js +0 -1
  18. package/build/es/assets/DynamicDimensionIcon.js +38 -12
  19. package/build/es/components/DimensionsPanel/List/DimensionItem.js +30 -38
  20. package/build/es/components/DimensionsPanel/List/OptionsButton.js +6 -7
  21. package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +2 -1
  22. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +366 -190
  23. package/build/es/components/DimensionsPanel/List/styles/DimensionItem.style.js +66 -0
  24. package/build/es/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
  25. package/build/es/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +4 -4
  26. package/build/es/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  27. package/build/es/components/Interpretations/common/Message/Message.js +7 -7
  28. package/build/es/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +2 -2
  29. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +3 -1
  30. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -0
  31. package/build/es/locales/lo/translations.json +8 -3
  32. package/build/es/locales/sv/translations.json +8 -2
  33. package/package.json +1 -1
  34. package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.module.css +0 -83
  35. package/build/es/components/DimensionsPanel/List/styles/DimensionItem.module.css +0 -83
@@ -65,7 +65,6 @@ const onDimensionClick = () => alert('click');
65
65
  return /*#__PURE__*/_react2.default.createElement(_DimensionsPanel.default, {
66
66
  dimensions: [...fixedDimensions, ...dynamicDimensions],
67
67
  onDimensionClick: onDimensionClick,
68
- selectedIds: [_predefinedDimensions.DIMENSION_ID_DATA],
69
68
  lockedDimension: dimension => dimension === _predefinedDimensions.DIMENSION_ID_DATA
70
69
  });
71
70
  });
@@ -8,22 +8,48 @@ var _react = _interopRequireDefault(require("react"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  const DynamicDimensionIcon = () => {
10
10
  return /*#__PURE__*/_react.default.createElement("svg", {
11
- width: "16",
12
- height: "16",
13
- fill: "none",
11
+ width: "16px",
12
+ height: "16px",
13
+ viewBox: "0 0 16 16",
14
+ version: "1.1",
14
15
  xmlns: "http://www.w3.org/2000/svg"
15
- }, /*#__PURE__*/_react.default.createElement("path", {
16
- clipRule: "evenodd",
17
- d: "m4.832 5.674 2.831-1.11a.913.913 0 0 1 .673 0l2.83 1.11a.548.548 0 0 1 .334.517V9.81a.548.548 0 0 1-.332.517l-2.831 1.11a.92.92 0 0 1-.673 0l-2.83-1.11a.548.548 0 0 1-.334-.517V6.19a.548.548 0 0 1 .332-.517Z",
18
- stroke: "#212934",
16
+ }, /*#__PURE__*/_react.default.createElement("g", {
17
+ id: "Exp",
18
+ stroke: "none",
19
+ strokeWidth: "1",
20
+ fill: "none",
21
+ fillRule: "evenodd"
22
+ }, /*#__PURE__*/_react.default.createElement("g", {
23
+ id: "Artboard",
24
+ transform: "translate(-80.000000, -9.000000)"
25
+ }, /*#__PURE__*/_react.default.createElement("g", {
26
+ id: "icon_dimension_new",
27
+ transform: "translate(80.000000, 9.000000)"
28
+ }, /*#__PURE__*/_react.default.createElement("rect", {
29
+ id: "frame",
30
+ x: "0",
31
+ y: "0",
32
+ width: "16",
33
+ height: "16"
34
+ }), /*#__PURE__*/_react.default.createElement("g", {
35
+ id: "module",
36
+ transform: "translate(4.000000, 4.000000)",
37
+ stroke: "#000000",
19
38
  strokeLinecap: "round",
20
39
  strokeLinejoin: "round"
40
+ }, /*#__PURE__*/_react.default.createElement("path", {
41
+ d: "M0.33209728,1.1742111 L3.16308174,0.0641666694 C3.37911767,-0.0213888898 3.61963794,-0.0213888898 3.83567387,0.0641666694 L6.66665833,1.1742111 C6.87300668,1.26220739 7.00497003,1.467 6.99984343,1.69127776 L6.99984343,5.30887771 C7.00517859,5.53285411 6.87376309,5.73756106 6.66790272,5.82594437 L3.83691826,6.93629991 C3.62076407,7.02123336 3.38048032,7.02123336 3.16432613,6.93629991 L0.333341668,5.82594437 C0.126993317,5.73794808 -0.00497002591,5.53315547 0.000156574133,5.30887771 L0.000156574133,1.69127776 C-0.00517858533,1.46730136 0.126236906,1.26259441 0.33209728,1.1742111 Z",
42
+ id: "Shape"
21
43
  }), /*#__PURE__*/_react.default.createElement("path", {
22
- d: "M8 7.228 4.822 5.982M8 7.228l3.178-1.246M8 11.281V7.228",
23
- stroke: "#212934",
24
- strokeLinecap: "round",
25
- strokeLinejoin: "round"
26
- }));
44
+ d: "M3.5,2.72795833 L0.322,1.48195833",
45
+ id: "Shape"
46
+ }), /*#__PURE__*/_react.default.createElement("path", {
47
+ d: "M3.5,2.72795833 L6.678,1.48195833",
48
+ id: "Shape"
49
+ }), /*#__PURE__*/_react.default.createElement("path", {
50
+ d: "M3.5,6.78125 L3.5,2.72795833",
51
+ id: "Shape"
52
+ }))))));
27
53
  };
28
54
  var _default = DynamicDimensionIcon;
29
55
  exports.default = _default;
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _ui = require("@dhis2/ui");
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  var _DynamicDimensionIcon = _interopRequireDefault(require("../../../assets/DynamicDimensionIcon.js"));
12
11
  var _predefinedDimensions = require("../../../modules/predefinedDimensions.js");
13
12
  var _OptionsButton = _interopRequireDefault(require("./OptionsButton.js"));
14
13
  var _RecommendedIcon = _interopRequireDefault(require("./RecommendedIcon.js"));
15
- var _DimensionItemModule = _interopRequireDefault(require("./styles/DimensionItem.module.css"));
14
+ var _DimensionItemStyle = require("./styles/DimensionItem.style.js");
16
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
16
  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; }
18
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -40,18 +39,23 @@ class DimensionItem extends _react.Component {
40
39
  _defineProperty(this, "getDimensionIcon", () => {
41
40
  const Icon = (0, _predefinedDimensions.getPredefinedDimensionProp)(this.props.id, 'icon');
42
41
  return Icon ? /*#__PURE__*/_react.default.createElement(Icon, {
43
- className: _DimensionItemModule.default.fixedDimensionIcon
42
+ style: _DimensionItemStyle.styles.fixedDimensionIcon
44
43
  }) : /*#__PURE__*/_react.default.createElement(_DynamicDimensionIcon.default, {
45
- className: "dynamic-dimension-icon"
44
+ style: _DimensionItemStyle.styles.dynamicDimensionIcon
46
45
  });
47
46
  });
48
47
  _defineProperty(this, "getDimensionType", () => {
49
48
  const {
50
49
  id,
51
- name
50
+ name,
51
+ isDeactivated
52
52
  } = this.props;
53
53
  return /*#__PURE__*/_react.default.createElement("span", {
54
- "data-dimensionid": id
54
+ "data-dimensionid": id,
55
+ style: {
56
+ ..._DimensionItemStyle.styles.text,
57
+ ...(isDeactivated ? _DimensionItemStyle.styles.textDeactivated : {})
58
+ }
55
59
  }, name);
56
60
  });
57
61
  }
@@ -65,63 +69,51 @@ class DimensionItem extends _react.Component {
65
69
  onClick,
66
70
  onOptionsClick,
67
71
  innerRef,
72
+ style,
68
73
  dataTest,
69
- className,
70
74
  ...rest
71
75
  } = this.props;
72
76
  const Icon = this.getDimensionIcon();
73
77
  const Label = this.getDimensionType();
78
+ const itemStyle = isSelected && !isDeactivated ? {
79
+ ..._DimensionItemStyle.styles.item,
80
+ ..._DimensionItemStyle.styles.selected
81
+ } : _DimensionItemStyle.styles.item;
74
82
  const optionsRef = /*#__PURE__*/(0, _react.createRef)();
75
- const LockIcon = /*#__PURE__*/_react.default.createElement("svg", {
76
- width: "7",
77
- height: "9",
78
- fill: "none",
79
- xmlns: "http://www.w3.org/2000/svg"
80
- }, /*#__PURE__*/_react.default.createElement("path", {
81
- fillRule: "evenodd",
82
- clipRule: "evenodd",
83
- d: "M3.5 1A1.5 1.5 0 0 0 2 2.5V3h3v-.5A1.5 1.5 0 0 0 3.5 1ZM1 2.5V3H0v6h7V3H6v-.5a2.5 2.5 0 0 0-5 0ZM1 8V4h5v4H1Zm3-1V5H3v2h1Z",
84
- fill: "none"
85
- }));
86
83
  const onLabelClick = () => {
87
84
  if (!isDeactivated && !(0, _predefinedDimensions.getPredefinedDimensionProp)(id, _predefinedDimensions.DIMENSION_PROP_NO_ITEMS)) {
88
85
  onClick(id);
89
86
  }
90
87
  };
91
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.CssVariables, {
92
- colors: true
93
- }), /*#__PURE__*/_react.default.createElement("li", _extends({
88
+ return /*#__PURE__*/_react.default.createElement("li", _extends({
94
89
  onMouseOver: this.onMouseOver,
95
90
  onMouseLeave: this.onMouseExit,
96
91
  ref: innerRef,
97
- className: (0, _classnames.default)(_DimensionItemModule.default.item, {
98
- [_DimensionItemModule.default.deactivated]: isDeactivated,
99
- [_DimensionItemModule.default.selected]: isSelected && !isDeactivated
100
- }, className),
92
+ style: Object.assign({}, itemStyle, style, !isDeactivated && _DimensionItemStyle.styles.clickable),
101
93
  "data-test": dataTest,
102
94
  onClick: onLabelClick
103
95
  }, rest), /*#__PURE__*/_react.default.createElement("div", {
104
- className: _DimensionItemModule.default.label,
96
+ className: "label",
105
97
  tabIndex: 0,
98
+ style: _DimensionItemStyle.styles.label,
106
99
  "data-test": `${dataTest}-button-${id}`
107
100
  }, /*#__PURE__*/_react.default.createElement("div", {
108
- className: _DimensionItemModule.default.iconWrapper
101
+ style: _DimensionItemStyle.styles.iconWrapper
109
102
  }, Icon), /*#__PURE__*/_react.default.createElement("div", {
110
- className: _DimensionItemModule.default.labelWrapper
111
- }, /*#__PURE__*/_react.default.createElement("span", {
112
- className: _DimensionItemModule.default.labelText
113
- }, Label), /*#__PURE__*/_react.default.createElement(_RecommendedIcon.default, {
103
+ style: _DimensionItemStyle.styles.labelWrapper
104
+ }, Label, /*#__PURE__*/_react.default.createElement(_RecommendedIcon.default, {
114
105
  isRecommended: isRecommended,
115
106
  dataTest: `${dataTest}-recommended-icon`
116
- }))), onOptionsClick ? /*#__PURE__*/_react.default.createElement("div", {
117
- className: _DimensionItemModule.default.optionsWrapper,
107
+ })), isLocked && /*#__PURE__*/_react.default.createElement("div", {
108
+ style: _DimensionItemStyle.styles.iconWrapper
109
+ }, /*#__PURE__*/_react.default.createElement(_ui.IconLock16, null))), onOptionsClick ? /*#__PURE__*/_react.default.createElement("div", {
110
+ style: _DimensionItemStyle.styles.optionsWrapper,
118
111
  ref: optionsRef,
119
112
  "data-test": `${dataTest}-menu-${id}`
120
113
  }, this.state.mouseOver && !isDeactivated && !isLocked ? /*#__PURE__*/_react.default.createElement(_OptionsButton.default, {
114
+ style: _DimensionItemStyle.styles.optionsButton,
121
115
  onClick: this.onOptionsClick(id, optionsRef)
122
- }) : null) : null, isLocked && /*#__PURE__*/_react.default.createElement("div", {
123
- className: _DimensionItemModule.default.lockWrapper
124
- }, LockIcon)));
116
+ }) : null) : null);
125
117
  }
126
118
  }
127
119
  DimensionItem.propTypes = {
@@ -129,12 +121,12 @@ DimensionItem.propTypes = {
129
121
  isSelected: _propTypes.default.bool.isRequired,
130
122
  // XXX
131
123
  name: _propTypes.default.string.isRequired,
132
- className: _propTypes.default.string,
133
124
  dataTest: _propTypes.default.string,
134
125
  innerRef: _propTypes.default.func,
135
126
  isDeactivated: _propTypes.default.bool,
136
127
  isLocked: _propTypes.default.bool,
137
128
  isRecommended: _propTypes.default.bool,
129
+ style: _propTypes.default.object,
138
130
  onClick: _propTypes.default.func,
139
131
  onOptionsClick: _propTypes.default.func
140
132
  };
@@ -4,23 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _style = _interopRequireDefault(require("styled-jsx/style"));
8
7
  var _ui = require("@dhis2/ui");
9
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
9
  var _react = _interopRequireDefault(require("react"));
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
11
  const OptionsButton = _ref => {
13
12
  let {
13
+ style,
14
14
  onClick
15
15
  } = _ref;
16
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
17
- onClick: onClick,
18
- className: "jsx-2728765288"
19
- }, /*#__PURE__*/_react.default.createElement(_ui.IconMore16, null)), /*#__PURE__*/_react.default.createElement(_style.default, {
20
- id: "2728765288"
21
- }, ["button.jsx-2728765288{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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:20px;width:20px;padding:0;border:none;background:none;outline:none;cursor:pointer;border-top-right-radius:2px;border-bottom-left-radius:2px;}", "button.jsx-2728765288:hover{background-color:rgba(0,0,0,0.09);}"]));
16
+ return /*#__PURE__*/_react.default.createElement("button", {
17
+ style: style,
18
+ onClick: onClick
19
+ }, /*#__PURE__*/_react.default.createElement(_ui.IconMore16, null));
22
20
  };
23
21
  OptionsButton.propTypes = {
22
+ style: _propTypes.default.object,
24
23
  onClick: _propTypes.default.func
25
24
  };
26
25
  var _default = OptionsButton;
@@ -17,7 +17,8 @@ const RecommendedIcon = _ref => {
17
17
  } = _ref;
18
18
  return isRecommended ? /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
19
19
  content: _index.default.t('Dimension recommended with selected data'),
20
- placement: "bottom"
20
+ placement: "bottom",
21
+ maxWidth: 160
21
22
  }, /*#__PURE__*/_react.default.createElement("div", {
22
23
  style: _RecommendedIconStyle.styles.recommendedIcon,
23
24
  "data-test": dataTest