iguazio.dashboard-react-controls 0.0.16 → 0.0.17

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.
@@ -17,7 +17,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
17
17
 
18
18
  var _HiddenChipsBlock = _interopRequireDefault(require("../../elements/HiddenChipsBlock/HiddenChipsBlock"));
19
19
 
20
- var _components = require("igz-controls/components");
20
+ var _TextTooltipTemplate = _interopRequireDefault(require("../TooltipTemplate/TextTooltipTemplate"));
21
+
22
+ var _Tooltip = _interopRequireDefault(require("../Tooltip/Tooltip"));
21
23
 
22
24
  var _common = require("../../utils/common.util");
23
25
 
@@ -68,9 +70,9 @@ var FormChipCellView = /*#__PURE__*/_react.default.forwardRef(function (_ref, _r
68
70
  var chipData = fields.value[index];
69
71
  return index < chips.visibleChips.length && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
70
72
  className: "chip-block",
71
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
73
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
72
74
  hidden: editConfig.isEdit,
73
- template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextTooltipTemplate, {
75
+ template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextTooltipTemplate.default, {
74
76
  text: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
75
77
  className: "chip__content",
76
78
  children: [chipData.key, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _lodash = require("lodash");
13
13
 
14
- var _rangeArrowSmall = require("igz-controls/images/range-arrow-small.svg");
14
+ var _rangeArrowSmall = require("../../../images/range-arrow-small.svg");
15
15
 
16
16
  require("./InputNumberButtons.scss");
17
17
 
@@ -16,7 +16,7 @@
16
16
  &__button {
17
17
  display: flex;
18
18
  width: 100%;
19
- height: 50%;
19
+ height: calc(50% + 1px);
20
20
  align-items: center;
21
21
  justify-content: center;
22
22
  padding: 0;
@@ -6,6 +6,10 @@
6
6
  .form-field-input {
7
7
  width: 100%;
8
8
 
9
+ input {
10
+ width: 100%;
11
+ }
12
+
9
13
  .form-field {
10
14
  @include inputSelectField;
11
15
 
@@ -108,11 +108,12 @@ var FormSelect = function FormSelect(_ref) {
108
108
 
109
109
  var selectWrapperClassNames = (0, _classnames.default)('form-field__wrapper', "form-field__wrapper-".concat(density), disabled && 'form-field__wrapper-disabled', isOpen && 'form-field__wrapper-active', isInvalid && 'form-field__wrapper-invalid', withoutBorder && 'without-border');
110
110
  var selectLabelClassName = (0, _classnames.default)('form-field__label', disabled && 'form-field__label-disabled');
111
+ var selectValueClassName = (0, _classnames.default)('form-field__select-value', !input.value && 'form-field__select-placeholder');
111
112
  var selectedOption = options.find(function (option) {
112
113
  return option.id === input.value;
113
114
  });
114
115
 
115
- var getLabel = function getLabel() {
116
+ var getSelectValue = function getSelectValue() {
116
117
  if (!input.value || !input.value.length) {
117
118
  return "Select Option".concat(multiple ? 's' : '');
118
119
  }
@@ -222,8 +223,8 @@ var FormSelect = function FormSelect(_ref) {
222
223
  "data-testid": "selected-option",
223
224
  className: "form-field__select",
224
225
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
225
- className: "form-field__select-value",
226
- children: getLabel()
226
+ className: selectValueClassName,
227
+ children: getSelectValue()
227
228
  })
228
229
  })
229
230
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
@@ -16,7 +16,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
16
16
 
17
17
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
18
 
19
- jest.mock('igz-controls/images/dropdown.svg', function () {
19
+ jest.mock('../../images/dropdown.svg', function () {
20
20
  return {
21
21
  ReactComponent: 'caret-icon'
22
22
  };
@@ -51,6 +51,10 @@
51
51
  text-overflow: ellipsis;
52
52
  }
53
53
 
54
+ &-placeholder {
55
+ color: $spunPearl;
56
+ }
57
+
54
58
  &-sub_label {
55
59
  display: block;
56
60
  margin-left: 10px;
@@ -15,15 +15,19 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _reactFinalForm = require("react-final-form");
17
17
 
18
- var _components = require("igz-controls/components");
18
+ var _TextTooltipTemplate = _interopRequireDefault(require("../TooltipTemplate/TextTooltipTemplate"));
19
19
 
20
- var _invalid = require("igz-controls/images/invalid.svg");
20
+ var _Tip = _interopRequireDefault(require("../Tip/Tip"));
21
+
22
+ var _Tooltip = _interopRequireDefault(require("../Tooltip/Tooltip"));
23
+
24
+ var _invalid = require("../../images/invalid.svg");
21
25
 
22
26
  require("./formTextarea.scss");
23
27
 
24
28
  var _jsxRuntime = require("react/jsx-runtime");
25
29
 
26
- var _excluded = ["className", "disabled", "focused", "iconClass", "invalidText", "label", "name", "onBlur", "onChange", "required", "textAreaIcon", "tip", "withoutBorder"];
30
+ var _excluded = ["className", "disabled", "focused", "iconClass", "invalidText", "label", "maxLength", "name", "onBlur", "onChange", "required", "textAreaIcon", "tip", "withoutBorder"];
27
31
 
28
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
33
 
@@ -60,6 +64,7 @@ var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
60
64
  iconClass = _ref.iconClass,
61
65
  invalidText = _ref.invalidText,
62
66
  label = _ref.label,
67
+ maxLength = _ref.maxLength,
63
68
  name = _ref.name,
64
69
  onBlur = _ref.onBlur,
65
70
  onChange = _ref.onChange,
@@ -78,6 +83,11 @@ var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
78
83
  isInvalid = _useState2[0],
79
84
  setIsInvalid = _useState2[1];
80
85
 
86
+ var _useState3 = (0, _react.useState)(input.value.length),
87
+ _useState4 = _slicedToArray(_useState3, 2),
88
+ textAreaCount = _useState4[0],
89
+ setTextAreaCount = _useState4[1];
90
+
81
91
  var textAreaRef = /*#__PURE__*/_react.default.createRef();
82
92
 
83
93
  var formFieldClassNames = (0, _classnames.default)('form-field-textarea', className);
@@ -99,6 +109,7 @@ var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
99
109
 
100
110
  var handleInputChange = function handleInputChange(event) {
101
111
  input.onChange(event);
112
+ setTextAreaCount(event.target.value.length);
102
113
  onChange && onChange(event.target.value);
103
114
  };
104
115
 
@@ -153,6 +164,7 @@ var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
153
164
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("textarea", _objectSpread(_objectSpread({
154
165
  "data-testid": "textarea",
155
166
  id: input.name,
167
+ maxLength: maxLength,
156
168
  ref: textAreaRef,
157
169
  required: isInvalid || required
158
170
  }, _objectSpread(_objectSpread({
@@ -164,14 +176,14 @@ var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
164
176
  }))
165
177
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
166
178
  className: "form-field__icons",
167
- children: [isInvalid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
179
+ children: [isInvalid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
168
180
  className: "form-field__warning",
169
- template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextTooltipTemplate, {
181
+ template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextTooltipTemplate.default, {
170
182
  text: (_meta$error$label = (_meta$error = meta.error) === null || _meta$error === void 0 ? void 0 : _meta$error.label) !== null && _meta$error$label !== void 0 ? _meta$error$label : invalidText,
171
183
  warning: true
172
184
  }),
173
185
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_invalid.ReactComponent, {})
174
- }), tip && !required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tip, {
186
+ }), tip && !required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tip.default, {
175
187
  text: tip,
176
188
  className: "form-field__tip"
177
189
  }), textAreaIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -180,6 +192,9 @@ var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
180
192
  children: textAreaIcon
181
193
  })]
182
194
  })]
195
+ }), maxLength && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
196
+ className: "form-field__counter",
197
+ children: "".concat(maxLength - textAreaCount, "/").concat(maxLength)
183
198
  })]
184
199
  });
185
200
  }
@@ -194,6 +209,7 @@ TextArea.defaultProps = {
194
209
  textAreaIcon: null,
195
210
  invalidText: 'This field is invalid',
196
211
  label: '',
212
+ maxLength: null,
197
213
  onBlur: function onBlur() {},
198
214
  onChange: function onChange() {},
199
215
  placeholder: '',
@@ -209,6 +225,7 @@ TextArea.propTypes = {
209
225
  textAreaIcon: _propTypes.default.element,
210
226
  invalidText: _propTypes.default.string,
211
227
  label: _propTypes.default.string,
228
+ maxLength: _propTypes.default.number,
212
229
  name: _propTypes.default.string.isRequired,
213
230
  onBlur: _propTypes.default.func,
214
231
  onChange: _propTypes.default.func,
@@ -6,6 +6,10 @@
6
6
  .form-field-textarea {
7
7
  width: 100%;
8
8
 
9
+ textarea {
10
+ width: 100%;
11
+ }
12
+
9
13
  .form-field {
10
14
  @include inputSelectField;
11
15
 
@@ -19,5 +23,10 @@
19
23
  }
20
24
  }
21
25
  }
26
+
27
+ &__counter {
28
+ color: $topaz;
29
+ text-align: right;
30
+ }
22
31
  }
23
32
  }
@@ -3,6 +3,7 @@
3
3
  display: flex;
4
4
  flex-flow: row nowrap;
5
5
  overflow: hidden;
6
+ padding-top: 0;
6
7
  padding-right: 0;
7
8
  }
8
9
 
@@ -10,6 +11,7 @@
10
11
  overflow-y: auto;
11
12
  height: 100%;
12
13
  width: 100%;
14
+ padding-top: 1.5rem;
13
15
  padding-right: 2rem;
14
16
  padding-left: 1rem;
15
17
  }
@@ -6,6 +6,7 @@
6
6
  background-color: $white;
7
7
  min-width: 260px;
8
8
  margin-right: 1rem;
9
+ margin-top: 1.5rem;
9
10
  overflow-y: auto;
10
11
 
11
12
  &__indicator {
@@ -15,7 +15,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
 
16
16
  var _FormChip = _interopRequireDefault(require("../../components/FormChipCell/FormChip/FormChip"));
17
17
 
18
- var _components = require("igz-controls/components");
18
+ var _TextTooltipTemplate = _interopRequireDefault(require("../../components/TooltipTemplate/TextTooltipTemplate"));
19
+
20
+ var _Tooltip = _interopRequireDefault(require("../../components/Tooltip/Tooltip"));
19
21
 
20
22
  var _getFirstScrollableParent = require("../../utils/getFirstScrollableParent.util");
21
23
 
@@ -130,8 +132,8 @@ var HiddenChipsBlock = /*#__PURE__*/_react.default.forwardRef(function (_ref, re
130
132
  ref: hiddenRef,
131
133
  className: hiddenChipsBlockClassNames,
132
134
  children: chips === null || chips === void 0 ? void 0 : chips.map(function (element, index) {
133
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
134
- template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextTooltipTemplate, {
135
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
136
+ template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextTooltipTemplate.default, {
135
137
  text: element.delimiter ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
136
138
  className: "chip__content",
137
139
  children: [element.key, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -20,12 +20,12 @@ var renderComponent = function renderComponent(props) {
20
20
  return (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, _objectSpread({}, props)));
21
21
  };
22
22
 
23
- jest.mock('igz-controls/images/checkbox-unchecked.svg', function () {
23
+ jest.mock('../../images/checkbox-unchecked.svg', function () {
24
24
  return {
25
25
  ReactComponent: 'unchecked-icon'
26
26
  };
27
27
  });
28
- jest.mock('igz-controls/images/checkbox-checked.svg', function () {
28
+ jest.mock('../../images/checkbox-checked.svg', function () {
29
29
  return {
30
30
  ReactComponent: 'unchecked-icon'
31
31
  };
@@ -53,7 +53,6 @@ textarea {
53
53
  background-color: transparent;
54
54
  padding: 0;
55
55
  resize: none;
56
- width: 100%;
57
56
 
58
57
  &::placeholder {
59
58
  color: $spunPearl;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iguazio.dashboard-react-controls",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "description": "Collection of resources (such as CSS styles, fonts and images) and ReactJS 17.x components to share among different Iguazio React repos.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",