@ntbjs/react-components 1.2.0-rc.71 → 1.2.0-rc.73

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.
@@ -24,7 +24,7 @@ require('./CompactStarRating-a754fc6f.js');
24
24
  require('./CompactTextInput-baf13d5c.js');
25
25
  require('./MultiSelect-4b8d3d0d.js');
26
26
  require('./Radio-32d0513a.js');
27
- require('./TextArea-1c89fe55.js');
27
+ require('./TextArea-734991c9.js');
28
28
  require('./TextInput-0d109708.js');
29
29
  require('./Switch-4a41585f.js');
30
30
  var ContextMenu = require('./ContextMenu-4ec3d9f3.js');
@@ -5,7 +5,7 @@ var lodash = require('lodash');
5
5
  var React = require('react');
6
6
  var warningCircle = require('./warning-circle-24522402.js');
7
7
  var CompactAutocompleteSelect = require('./CompactAutocompleteSelect-5982dcf2.js');
8
- var TextArea = require('./TextArea-1c89fe55.js');
8
+ var TextArea = require('./TextArea-734991c9.js');
9
9
  var styled = require('styled-components');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -2,8 +2,6 @@
2
2
 
3
3
  var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var React = require('react');
5
- var useMergedRefs = require('./useMergedRefs-b6d2f8fc.js');
6
- var nanoid = require('nanoid');
7
5
  require('./Alert-13b75102.js');
8
6
  require('./Badge-aec841c8.js');
9
7
  require('./Popover-569cd272.js');
@@ -11,6 +9,8 @@ require('./Tab-f499ecbc.js');
11
9
  require('./Tabs-ea48ce3e.js');
12
10
  var Tooltip = require('./Tooltip-66daf6e3.js');
13
11
  require('./VerificationStatusIcon-6fe95a92.js');
12
+ var nanoid = require('nanoid');
13
+ var useMergedRefs = require('./useMergedRefs-b6d2f8fc.js');
14
14
  var editNote = require('./edit-note-c47d292e.js');
15
15
  var styled = require('styled-components');
16
16
 
@@ -208,13 +208,12 @@ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forw
208
208
  lightBackground = _ref.lightBackground,
209
209
  noBorder = _ref.noBorder,
210
210
  instructionsTextArea = _ref.instructionsTextArea,
211
- isExpanded = _ref.isExpanded,
212
211
  loadingIcon = _ref.loadingIcon,
213
212
  successIcon = _ref.successIcon,
214
213
  padding = _ref.padding,
215
214
  descriptionToolTip = _ref.descriptionToolTip,
216
215
  resetExpansion = _ref.resetExpansion,
217
- rest = defaultTheme._objectWithoutProperties(_ref, ["value", "defaultValue", "name", "label", "placeholder", "required", "disabled", "hidden", "readOnly", "edit", "showMore", "showMoreText", "showLessText", "autoComplete", "description", "type", "icon", "rows", "className", "style", "onChange", "onBlur", "lightBackground", "noBorder", "instructionsTextArea", "isExpanded", "loadingIcon", "successIcon", "padding", "descriptionToolTip", "resetExpansion"]);
216
+ rest = defaultTheme._objectWithoutProperties(_ref, ["value", "defaultValue", "name", "label", "placeholder", "required", "disabled", "hidden", "readOnly", "edit", "showMore", "showMoreText", "showLessText", "autoComplete", "description", "type", "icon", "rows", "className", "style", "onChange", "onBlur", "lightBackground", "noBorder", "instructionsTextArea", "loadingIcon", "successIcon", "padding", "descriptionToolTip", "resetExpansion"]);
218
217
 
219
218
  var textInputDomNode = React.useRef(null);
220
219
  var textInputRef = useMergedRefs.useMergedRefs(forwardedRef, textInputDomNode);
@@ -229,122 +228,65 @@ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forw
229
228
  defaultInput = _useState4[0],
230
229
  setDefaultInput = _useState4[1];
231
230
 
232
- var _useState5 = React.useState(''),
231
+ var _useState5 = React.useState(false),
233
232
  _useState6 = defaultTheme._slicedToArray(_useState5, 2),
234
- maxContentRows = _useState6[0],
235
- setMaxContentRows = _useState6[1];
233
+ expanded = _useState6[0],
234
+ setExpanded = _useState6[1];
236
235
 
237
- var _useState7 = React.useState(false),
238
- _useState8 = defaultTheme._slicedToArray(_useState7, 2),
239
- expanded = _useState8[0],
240
- setExpanded = _useState8[1];
236
+ var _useState7 = React.useState(nanoid.nanoid()),
237
+ _useState8 = defaultTheme._slicedToArray(_useState7, 1),
238
+ uniqueId = _useState8[0];
241
239
 
242
- var _useState9 = React.useState(''),
240
+ var _useState9 = React.useState(false),
243
241
  _useState10 = defaultTheme._slicedToArray(_useState9, 2),
244
- maxHeight = _useState10[0],
245
- setMaxHeight = _useState10[1];
246
-
247
- var _useState11 = React.useState(''),
248
- _useState12 = defaultTheme._slicedToArray(_useState11, 2),
249
- defaultHeight = _useState12[0],
250
- setDefaultHeight = _useState12[1];
251
-
252
- var _useState13 = React.useState(false),
253
- _useState14 = defaultTheme._slicedToArray(_useState13, 2),
254
- autoFocus = _useState14[0],
255
- setAutoFocus = _useState14[1];
256
-
257
- var _useState15 = React.useState(false),
258
- _useState16 = defaultTheme._slicedToArray(_useState15, 2),
259
- scrollHeightExceedsRows = _useState16[0],
260
- setScrollHeightExceedsRows = _useState16[1];
242
+ showMoreVisible = _useState10[0],
243
+ setShowMoreVisible = _useState10[1];
261
244
 
262
- var initialHeightRef = React.useRef(null);
263
-
264
- var _useState17 = React.useState(nanoid.nanoid()),
265
- _useState18 = defaultTheme._slicedToArray(_useState17, 1),
266
- uniqueId = _useState18[0];
267
-
268
- var memoizedDescriptionToolTip = React.useMemo(function () {
269
- return descriptionToolTip;
270
- }, [descriptionToolTip]);
245
+ React.useEffect(function () {
246
+ setExpanded(false);
247
+ calculateHeight();
248
+ }, []);
271
249
  React.useEffect(function () {
272
250
  setExpanded(false);
273
251
  setDefaultInput(value || defaultValue);
274
252
  }, [resetExpansion]);
275
- React.useEffect(function () {
276
- isExpanded(expanded);
277
- }, [expanded]);
278
253
  React.useLayoutEffect(function () {
279
- calculateRows();
280
- setAutoFocus(false);
281
-
282
- if (defaultValue !== null && defaultValue !== void 0 && defaultValue.length || (value === null || value === void 0 ? void 0 : value.length) != (defaultInput === null || defaultInput === void 0 ? void 0 : defaultInput.length)) {
283
- calculateHeight();
284
- setExpanded(true);
285
- }
254
+ calculateHeight();
255
+ setExpanded(true);
286
256
  }, [value, defaultValue, rows]);
287
- React.useEffect(function () {
288
- setAutoFocus(false);
289
- initialHeightRef.current = null;
290
- }, [rows]);
291
257
 
292
- var handleTextAreaClick = function handleTextAreaClick() {
258
+ var calculateHeight = function calculateHeight() {
293
259
  var textareaRefCurrent = textInputDomNode.current;
294
260
 
295
261
  if (textareaRefCurrent !== null) {
296
- textareaRefCurrent.style.height = "".concat(textareaRefCurrent.scrollHeight, "px");
297
- }
262
+ textareaRefCurrent.style.height = 'auto';
263
+ var newHeight = textareaRefCurrent.scrollHeight;
298
264
 
299
- if (!expanded) {
300
- setExpanded(true);
265
+ if (defaultValue !== null && defaultValue !== void 0 && defaultValue.length || (value === null || value === void 0 ? void 0 : value.length) != (defaultInput === null || defaultInput === void 0 ? void 0 : defaultInput.length)) {
266
+ textareaRefCurrent.style.height = "".concat(newHeight, "px");
267
+ }
268
+
269
+ setShowMoreVisible(newHeight > rows * 16);
301
270
  }
302
271
  };
303
272
 
304
- var handleTextAreaShowLess = function handleTextAreaShowLess() {
273
+ var handleTextAreaClick = function handleTextAreaClick() {
305
274
  var textareaRefCurrent = textInputDomNode.current;
306
275
 
307
276
  if (textareaRefCurrent !== null) {
308
- textareaRefCurrent.style.height = expanded ? "".concat(rows * 16, "px") : "".concat(textareaRefCurrent.scrollHeight, "px");
277
+ textareaRefCurrent.style.height = "".concat(textareaRefCurrent.scrollHeight, "px");
278
+ setExpanded(true);
309
279
  }
310
-
311
- setExpanded(!expanded);
312
280
  };
313
281
 
314
- var calculateRows = function calculateRows() {
282
+ var handleTextAreaShowLess = function handleTextAreaShowLess() {
315
283
  var textareaRefCurrent = textInputDomNode.current;
316
284
 
317
285
  if (textareaRefCurrent !== null) {
318
- var textAreaHeight = textareaRefCurrent.scrollHeight;
319
- var lineHeight = 16;
320
- var calculatedRows = Math.floor(textAreaHeight / lineHeight);
321
- var defaultRowsHeight = rows * lineHeight;
322
- setMaxContentRows(calculatedRows);
323
-
324
- if (calculatedRows > rows) {
325
- setDefaultHeight(defaultRowsHeight);
326
- setMaxHeight(textAreaHeight);
327
- } else {
328
- setMaxHeight('');
329
- }
286
+ textareaRefCurrent.style.height = expanded ? "".concat(rows * 16, "px") : "".concat(textareaRefCurrent.scrollHeight, "px");
330
287
  }
331
- };
332
288
 
333
- var calculateHeight = function calculateHeight() {
334
- var textareaRefCurrent = textInputDomNode === null || textInputDomNode === void 0 ? void 0 : textInputDomNode.current;
335
-
336
- if (textareaRefCurrent !== null) {
337
- textareaRefCurrent.style.height = 'auto';
338
- var newHeight = textareaRefCurrent.scrollHeight;
339
- textareaRefCurrent.style.height = "".concat(newHeight, "px");
340
-
341
- if (initialHeightRef.current === null) {
342
- initialHeightRef.current = newHeight;
343
- }
344
-
345
- setScrollHeightExceedsRows(newHeight > (initialHeightRef.current || 0));
346
- setExpanded(newHeight > (initialHeightRef.current || 0));
347
- }
289
+ setExpanded(!expanded);
348
290
  };
349
291
 
350
292
  var onKeyDown = React.useCallback(function (event) {
@@ -361,12 +303,9 @@ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forw
361
303
  className: className,
362
304
  style: style
363
305
  }, React__default['default'].createElement(TextInputFieldIconAlert, null, icon), React__default['default'].createElement(TextInputField, defaultTheme._extends({
364
- autoFocus: autoFocus,
365
306
  ref: textInputRef,
366
307
  rows: rows,
367
308
  expanded: expanded,
368
- defaultHeight: defaultHeight,
369
- maxHeight: maxHeight,
370
309
  value: value,
371
310
  defaultValue: defaultValue,
372
311
  name: name,
@@ -377,7 +316,6 @@ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forw
377
316
  edit: edit,
378
317
  instructionsTextArea: instructionsTextArea,
379
318
  showMore: showMore,
380
- scrollHeightExceedsRows: scrollHeightExceedsRows,
381
319
  type: type,
382
320
  autoComplete: autoComplete,
383
321
  hasIcon: Boolean(icon),
@@ -389,26 +327,19 @@ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forw
389
327
  onChange: function onChange(e) {
390
328
  if (e.target.value) {
391
329
  setInputIsEmpty(false);
392
-
393
- if (!autoFocus) {
394
- setAutoFocus(true);
395
- }
396
330
  } else {
397
331
  setInputIsEmpty(true);
398
-
399
- if (!autoFocus) {
400
- setAutoFocus(true);
401
- }
402
332
  }
403
333
 
404
334
  _onChange(e);
335
+
336
+ calculateHeight();
405
337
  },
406
338
  onKeyDown: onKeyDown,
407
339
  onBlur: onBlur,
340
+ onClick: handleTextAreaClick,
408
341
  noBorder: noBorder
409
- }, rest, {
410
- onClick: handleTextAreaClick
411
- })), (type === 'loading' || type === 'success') && React__default['default'].createElement(SuccessContainer, null, type === 'loading' && loadingIcon, type === 'success' && successIcon), !readOnly && noBorder && React__default['default'].createElement(InputIconContainer, {
342
+ }, rest)), (type === 'loading' || type === 'success') && React__default['default'].createElement(SuccessContainer, null, type === 'loading' && loadingIcon, type === 'success' && successIcon), !readOnly && noBorder && React__default['default'].createElement(InputIconContainer, {
412
343
  disabled: disabled
413
344
  }, React__default['default'].createElement(editNote.SvgEditNote, {
414
345
  className: padding === 'small' ? 'smallPadingIcon' : undefined
@@ -417,39 +348,34 @@ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forw
417
348
  hasPlaceholder: Boolean(placeholder),
418
349
  hasIcon: Boolean(icon),
419
350
  inputIsEmpty: inputIsEmpty
420
- }, label, required && ' *'), typeof description === 'string' && description.length > 0 && React__default['default'].createElement(Description, {
351
+ }, label, required && ' *'), description && React__default['default'].createElement(Description, {
421
352
  type: type
422
- }, description), maxContentRows > rows && showMore && React__default['default'].createElement(ShowMoreText, {
423
- onClick: showMore ? handleTextAreaShowLess : undefined,
353
+ }, description), showMore && showMoreVisible && React__default['default'].createElement(ShowMoreText, {
354
+ onClick: handleTextAreaShowLess,
424
355
  expanded: expanded
425
- }, !expanded ? showMoreText : expanded ? showLessText : null));
356
+ }, !expanded ? showMoreText : showLessText));
426
357
  };
427
358
 
428
359
  if (hidden) return null;
429
- return React__default['default'].createElement(React__default['default'].Fragment, null, !memoizedDescriptionToolTip && input(), memoizedDescriptionToolTip && React__default['default'].createElement("div", null, React__default['default'].createElement(Tooltip.Tooltip, {
430
- content: memoizedDescriptionToolTip,
431
- key: "tooltipTextArea1",
360
+ return React__default['default'].createElement(React__default['default'].Fragment, null, !descriptionToolTip ? input() : React__default['default'].createElement(Tooltip.Tooltip, {
361
+ content: descriptionToolTip,
432
362
  placement: "bottom-end",
433
- trigger: 'mouseenter',
363
+ trigger: "mouseenter",
434
364
  zIndex: 999999
435
- }, input())));
365
+ }, input()));
436
366
  });
437
367
  TextArea.defaultProps = {
438
368
  rows: 4,
439
369
  noBorder: false,
440
370
  readOnly: false,
441
- edit: false,
442
371
  hidden: false,
443
372
  showMore: false,
444
- showMoreText: '',
445
- showLessText: '',
373
+ showMoreText: 'Show More',
374
+ showLessText: 'Show Less',
446
375
  type: '',
447
376
  padding: 'medium',
448
- instructionsTextArea: false,
449
377
  descriptionToolTip: '',
450
- isExpanded: function isExpanded() {},
451
- onChange: function onChange() {},
452
- resetExpansion: ''
378
+ onChange: function onChange() {}
453
379
  };
454
380
  TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
455
381
  value: defaultTheme.PropTypes.string,
@@ -484,7 +410,7 @@ TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
484
410
  loadingIcon: defaultTheme.PropTypes.element,
485
411
  successIcon: defaultTheme.PropTypes.element,
486
412
  descriptionToolTip: defaultTheme.PropTypes.string,
487
- resetExpansion: defaultTheme.PropTypes.string
413
+ resetExpansion: defaultTheme.PropTypes.number
488
414
  } : {};
489
415
 
490
416
  exports.TextArea = TextArea;
@@ -1,11 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var TextArea = require('../../TextArea-1c89fe55.js');
3
+ var TextArea = require('../../TextArea-734991c9.js');
4
4
  require('../../defaultTheme-ea44e34a.js');
5
5
  require('styled-components');
6
6
  require('react');
7
- require('../../useMergedRefs-b6d2f8fc.js');
8
- require('nanoid');
9
7
  require('../../Alert-13b75102.js');
10
8
  require('lodash');
11
9
  require('../../Badge-aec841c8.js');
@@ -18,6 +16,8 @@ require('../../Tab-f499ecbc.js');
18
16
  require('../../Tabs-ea48ce3e.js');
19
17
  require('../../Tooltip-66daf6e3.js');
20
18
  require('../../VerificationStatusIcon-6fe95a92.js');
19
+ require('nanoid');
20
+ require('../../useMergedRefs-b6d2f8fc.js');
21
21
  require('../../edit-note-c47d292e.js');
22
22
 
23
23
 
package/inputs/index.js CHANGED
@@ -10,7 +10,7 @@ var CompactStarRating = require('../CompactStarRating-a754fc6f.js');
10
10
  var CompactTextInput = require('../CompactTextInput-baf13d5c.js');
11
11
  var MultiSelect = require('../MultiSelect-4b8d3d0d.js');
12
12
  var Radio = require('../Radio-32d0513a.js');
13
- var TextArea = require('../TextArea-1c89fe55.js');
13
+ var TextArea = require('../TextArea-734991c9.js');
14
14
  var TextInput = require('../TextInput-0d109708.js');
15
15
  var Switch = require('../Switch-4a41585f.js');
16
16
  var MultiLevelCheckboxSelect = require('../MultiLevelCheckboxSelect-24c88aaa.js');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "1.2.0-rc.71",
3
+ "version": "1.2.0-rc.73",
4
4
  "description": "NTBs common front-end design utilities and React components.",
5
5
  "scripts": {
6
6
  "build": "cross-env NODE_ENV=production rollup -c",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var AssetGallery = require('../../AssetGallery-12ff227b.js');
3
+ var AssetGallery = require('../../AssetGallery-6064e6df.js');
4
4
  require('../../defaultTheme-ea44e34a.js');
5
5
  require('styled-components');
6
6
  require('lodash');
@@ -41,7 +41,7 @@ require('../../CompactStarRating-a754fc6f.js');
41
41
  require('../../CompactTextInput-baf13d5c.js');
42
42
  require('../../MultiSelect-4b8d3d0d.js');
43
43
  require('../../Radio-32d0513a.js');
44
- require('../../TextArea-1c89fe55.js');
44
+ require('../../TextArea-734991c9.js');
45
45
  require('../../Switch-4a41585f.js');
46
46
  require('../../ContextMenuItem-ba2b697e.js');
47
47
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Instructions = require('../../Instructions-ae40a489.js');
3
+ var Instructions = require('../../Instructions-242c8df0.js');
4
4
  require('../../defaultTheme-ea44e34a.js');
5
5
  require('styled-components');
6
6
  require('lodash');
@@ -25,7 +25,7 @@ require('../../react-select-creatable.esm-2f23d6c6.js');
25
25
  require('react-dom');
26
26
  require('../../close-ebf2f3cf.js');
27
27
  require('../../expand-more-94585605.js');
28
- require('../../TextArea-1c89fe55.js');
28
+ require('../../TextArea-734991c9.js');
29
29
  require('../../useMergedRefs-b6d2f8fc.js');
30
30
  require('../../edit-note-c47d292e.js');
31
31
 
package/widgets/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var AssetGallery = require('../AssetGallery-12ff227b.js');
5
+ var AssetGallery = require('../AssetGallery-6064e6df.js');
6
6
  var ContextMenu = require('../ContextMenu-4ec3d9f3.js');
7
7
  var AssetPreviewTopBar = require('../AssetPreviewTopBar-c28715f7.js');
8
- var Instructions = require('../Instructions-ae40a489.js');
8
+ var Instructions = require('../Instructions-242c8df0.js');
9
9
  require('../defaultTheme-ea44e34a.js');
10
10
  require('styled-components');
11
11
  require('lodash');
@@ -45,7 +45,7 @@ require('../CompactStarRating-a754fc6f.js');
45
45
  require('../CompactTextInput-baf13d5c.js');
46
46
  require('../MultiSelect-4b8d3d0d.js');
47
47
  require('../Radio-32d0513a.js');
48
- require('../TextArea-1c89fe55.js');
48
+ require('../TextArea-734991c9.js');
49
49
  require('../Switch-4a41585f.js');
50
50
  require('../ContextMenuItem-ba2b697e.js');
51
51