@ntbjs/react-components 0.0.1-beta.29 → 0.0.1-beta.32

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.
@@ -8,6 +8,7 @@ var ActionButton = require('./ActionButton-10a681b9.js');
8
8
  require('./Button-89056918.js');
9
9
  require('./Checkbox-791a409f.js');
10
10
  require('./Radio-9271a4b6.js');
11
+ require('./TextArea-70a74014.js');
11
12
  require('./TextInput-72ce7e10.js');
12
13
  require('./Popover-0ff13419.js');
13
14
  var Tooltip = require('./Tooltip-85e7d561.js');
@@ -296,7 +297,8 @@ var AssetGalleryCompactCard = function AssetGalleryCompactCard(props) {
296
297
  extendedSelectMode = props.extendedSelectMode,
297
298
  onAssetSelected = props.onAssetSelected,
298
299
  onAssetUnselected = props.onAssetUnselected,
299
- component = props.component;
300
+ component = props.component,
301
+ scrollPosition = props.scrollPosition;
300
302
 
301
303
  function onClick(event) {
302
304
  if (extendedSelectMode) {
@@ -410,7 +412,9 @@ var AssetGalleryCompactCard = function AssetGalleryCompactCard(props) {
410
412
  extendedSelectMode: extendedSelectMode,
411
413
  onMouseEnter: onMouseEnter,
412
414
  onMouseLeave: onMouseLeave
413
- }, asset.previewUrl && (['video'].includes(asset.fileType) ? React__default['default'].createElement(reactLazyLoadImageComponent.LazyLoadComponent, null, React__default['default'].createElement("video", {
415
+ }, asset.previewUrl && (['video'].includes(asset.fileType) ? React__default['default'].createElement(reactLazyLoadImageComponent.LazyLoadComponent, {
416
+ scrollPosition: scrollPosition
417
+ }, React__default['default'].createElement("video", {
414
418
  ref: videoPlayerRef,
415
419
  loop: true,
416
420
  muted: true
@@ -425,7 +429,8 @@ var AssetGalleryCompactCard = function AssetGalleryCompactCard(props) {
425
429
  height: "100%",
426
430
  width: "100%",
427
431
  effect: "opacity",
428
- threshold: 700
432
+ threshold: 1000,
433
+ scrollPosition: scrollPosition
429
434
  }))), React__default['default'].createElement(Overlay, {
430
435
  ref: cardRef
431
436
  }, React__default['default'].createElement(OverlayBackdrop, null), React__default['default'].createElement(OverlayInfo, null, React__default['default'].createElement("div", null, React__default['default'].createElement(OverlayInfoTopTitleAndFileType, null, React__default['default'].createElement(OverlayInfoTopTitle, {
@@ -465,15 +470,16 @@ AssetGalleryCompactCard.propTypes = process.env.NODE_ENV !== "production" ? {
465
470
  extendedSelectMode: defaultTheme.PropTypes.bool,
466
471
  onAssetSelected: defaultTheme.PropTypes.func.isRequired,
467
472
  onAssetUnselected: defaultTheme.PropTypes.func.isRequired,
468
- component: defaultTheme.PropTypes.func
473
+ component: defaultTheme.PropTypes.func,
474
+ scrollPosition: defaultTheme.PropTypes.number
469
475
  } : {};
470
476
  AssetGalleryCompactCard.defaultProps = {};
471
- var AssetGalleryCompactCard$1 = React__default['default'].memo(AssetGalleryCompactCard, function (prevProps, nextProps) {
477
+ var AssetGalleryCompactCard$1 = reactLazyLoadImageComponent.trackWindowScroll(React__default['default'].memo(AssetGalleryCompactCard, function (prevProps, nextProps) {
472
478
  var reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'asset.previewUrl', 'asset.overlay', 'hasHeightAndWidth'];
473
479
  return reactiveProps.every(function (propKey) {
474
480
  return lodash.get(prevProps, propKey) === lodash.get(nextProps, propKey);
475
481
  });
476
- });
482
+ }));
477
483
 
478
484
  var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19;
479
485
  var AssetGalleryGridCard$2 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject$1 || (_templateObject$1 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n height: 100%;\n margin: 0;\n ", "\n border: 1px solid;\n ", ";\n ", "\n box-sizing: border-box;\n text-decoration: none;\n"])), function (props) {
@@ -569,7 +575,8 @@ var AssetGalleryGridCard = function AssetGalleryGridCard(props) {
569
575
  extendedSelectMode = props.extendedSelectMode,
570
576
  onAssetSelected = props.onAssetSelected,
571
577
  onAssetUnselected = props.onAssetUnselected,
572
- component = props.component;
578
+ component = props.component,
579
+ scrollPosition = props.scrollPosition;
573
580
  var videoPlayerRef = React.useRef();
574
581
  var cardRef = React.useRef();
575
582
 
@@ -659,7 +666,9 @@ var AssetGalleryGridCard = function AssetGalleryGridCard(props) {
659
666
  title: asset.note.title
660
667
  }, asset.note.icon ? asset.note.icon : React__default['default'].createElement(SvgWarningCircle, null), React__default['default'].createElement(NoteTitle, null, asset.note.title)), React__default['default'].createElement(Asset, {
661
668
  "data-id": "ss"
662
- }, asset.previewUrl && (['video'].includes(asset.fileType) ? React__default['default'].createElement(reactLazyLoadImageComponent.LazyLoadComponent, null, React__default['default'].createElement("video", {
669
+ }, asset.previewUrl && (['video'].includes(asset.fileType) ? React__default['default'].createElement(reactLazyLoadImageComponent.LazyLoadComponent, {
670
+ scrollPosition: scrollPosition
671
+ }, React__default['default'].createElement("video", {
663
672
  ref: videoPlayerRef,
664
673
  loop: true,
665
674
  muted: true
@@ -672,7 +681,8 @@ var AssetGalleryGridCard = function AssetGalleryGridCard(props) {
672
681
  height: "100%",
673
682
  width: "100%",
674
683
  effect: "opacity",
675
- threshold: 700
684
+ threshold: 1000,
685
+ scrollPosition: scrollPosition
676
686
  })))), React__default['default'].createElement(Info, null, React__default['default'].createElement("div", {
677
687
  style: {
678
688
  display: 'flex'
@@ -714,15 +724,16 @@ AssetGalleryGridCard.propTypes = process.env.NODE_ENV !== "production" ? {
714
724
  extendedSelectMode: defaultTheme.PropTypes.bool,
715
725
  onAssetSelected: defaultTheme.PropTypes.func.isRequired,
716
726
  onAssetUnselected: defaultTheme.PropTypes.func.isRequired,
717
- component: defaultTheme.PropTypes.func
727
+ component: defaultTheme.PropTypes.func,
728
+ scrollPosition: defaultTheme.PropTypes.number
718
729
  } : {};
719
730
  AssetGalleryGridCard.defaultProps = {};
720
- var AssetGalleryGridCard$1 = React__default['default'].memo(AssetGalleryGridCard, function (prevProps, nextProps) {
731
+ var AssetGalleryGridCard$1 = reactLazyLoadImageComponent.trackWindowScroll(React__default['default'].memo(AssetGalleryGridCard, function (prevProps, nextProps) {
721
732
  var reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'asset.previewUrl', 'asset.overlay', 'asset.layout'];
722
733
  return reactiveProps.every(function (propKey) {
723
734
  return lodash.get(prevProps, propKey) === lodash.get(nextProps, propKey);
724
735
  });
725
- });
736
+ }));
726
737
 
727
738
  var _templateObject, _templateObject2, _templateObject3;
728
739
  var AssetGalleryBase$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n"])));
@@ -760,8 +771,8 @@ var AssetGalleryBase = React__default['default'].forwardRef(function AssetGaller
760
771
  }, [viewMode, thumbnailMaxHeight]);
761
772
  var SPACE_BETWEEN_ASSETS = 8;
762
773
  var SPACE_UNDER_ASSETS = 8;
763
- var PRIMARY_SCROLL_BUFFER_HEIGHT = 700;
764
- var SECONDARY_SCROLL_BUFFER_HEIGHT = 300;
774
+ var PRIMARY_SCROLL_BUFFER_HEIGHT = 1500;
775
+ var SECONDARY_SCROLL_BUFFER_HEIGHT = 500;
765
776
  var GRID_VIEW_MODE_ASSET_MIN_WIDTH = 300;
766
777
  var GRID_VIEW_MODE_ASSET_HEIGHT = 403;
767
778
  var MISSING_WIDTH_PLACEHOLDER = 1920;
@@ -1006,7 +1017,7 @@ var AssetGalleryBase = React__default['default'].forwardRef(function AssetGaller
1006
1017
  }
1007
1018
  }, viewMode === 'grid' ? React__default['default'].createElement(AssetGalleryGridCard$1, {
1008
1019
  asset: asset,
1009
- selectable: "selectable" in asset ? asset.selectable : selectable,
1020
+ selectable: 'selectable' in asset ? asset.selectable : selectable,
1010
1021
  selected: selectedAssetKeys.includes(asset.key),
1011
1022
  extendedSelectMode: Boolean(selectedAssetKeys.length),
1012
1023
  onAssetSelected: onAssetSelected,
@@ -1015,7 +1026,7 @@ var AssetGalleryBase = React__default['default'].forwardRef(function AssetGaller
1015
1026
  }) : React__default['default'].createElement(AssetGalleryCompactCard$1, {
1016
1027
  asset: asset,
1017
1028
  hasHeightAndWidth: asset.layout.hasHeightAndWidth,
1018
- selectable: "selectable" in asset ? asset.selectable : selectable,
1029
+ selectable: 'selectable' in asset ? asset.selectable : selectable,
1019
1030
  selected: selectedAssetKeys.includes(asset.key),
1020
1031
  extendedSelectMode: Boolean(selectedAssetKeys.length),
1021
1032
  onAssetSelected: onAssetSelected,
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-18d7c1ee.js');
4
+ var React = require('react');
5
+ var nanoid = require('nanoid');
6
+ var lodash = require('lodash');
7
+ var styled = require('styled-components');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
+
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
15
+ var activeLabel = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n ", "\n top: -7px;\n left: 7px;\n opacity: 1;\n"])), function (props) {
16
+ return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
17
+ });
18
+ var placeholderBaseStyle = styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n color: inherit;\n opacity: 0.7;\n"])));
19
+ var TextAreaLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 13px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n ", "\n\n ", "\n"])), placeholderBaseStyle, function (props) {
20
+ var _props$inputValue;
21
+
22
+ return (props.placeholderVisible || ((_props$inputValue = props.inputValue) === null || _props$inputValue === void 0 ? void 0 : _props$inputValue.length)) && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), activeLabel);
23
+ });
24
+ var TextArea$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n margin-top: 8px;\n\n &:focus-within {\n ", " {\n ", "\n }\n }\n\n ", "\n"])), TextAreaLabel, activeLabel, function (props) {
25
+ return props.disabled && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n > * {\n cursor: not-allowed;\n }\n "])));
26
+ });
27
+ var TextAreaField = styled__default['default'].textarea.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n border-radius: 2px;\n padding: 12px 10px;\n margin: 0 0 1.07143rem;\n color: inherit;\n resize: vertical;\n overflow: auto;\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n\n ", "\n\n &::placeholder {\n ", "\n }\n\n :focus {\n outline: none;\n ", "\n }\n"])), function (props) {
28
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
29
+ }, function (props) {
30
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
31
+ }, function (props) {
32
+ return props.error && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
33
+ }, placeholderBaseStyle, function (props) {
34
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
35
+ });
36
+
37
+ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forwardedRef) {
38
+ var value = _ref.value,
39
+ defaultValue = _ref.defaultValue,
40
+ name = _ref.name,
41
+ label = _ref.label,
42
+ rows = _ref.rows,
43
+ placeholder = _ref.placeholder,
44
+ required = _ref.required,
45
+ disabled = _ref.disabled,
46
+ error = _ref.error,
47
+ onChange = _ref.onChange,
48
+ onBlur = _ref.onBlur;
49
+
50
+ var _useState = React.useState(nanoid.nanoid()),
51
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
52
+ uniqueId = _useState2[0];
53
+
54
+ var _useState3 = React.useState(value || defaultValue || ''),
55
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
56
+ controlledValue = _useState4[0],
57
+ setControlledValue = _useState4[1];
58
+
59
+ React.useEffect(function () {
60
+ if (value !== undefined) {
61
+ setControlledValue(value);
62
+ }
63
+ }, [value]);
64
+
65
+ var onInputChange = function onInputChange(event) {
66
+ if (lodash.isFunction(onChange)) {
67
+ onChange(event);
68
+ }
69
+
70
+ setControlledValue(event.target.value);
71
+ };
72
+
73
+ return React__default['default'].createElement(TextArea$1, {
74
+ disabled: disabled
75
+ }, label && React__default['default'].createElement(TextAreaLabel, {
76
+ htmlFor: "text-area-".concat(uniqueId),
77
+ placeholderVisible: Boolean(placeholder),
78
+ inputValue: controlledValue
79
+ }, label, required && ' *'), React__default['default'].createElement(TextAreaField, {
80
+ rows: rows,
81
+ ref: forwardedRef,
82
+ value: controlledValue,
83
+ name: name,
84
+ placeholder: placeholder,
85
+ required: required,
86
+ disabled: disabled,
87
+ error: error,
88
+ id: "text-area-".concat(uniqueId),
89
+ onChange: onInputChange,
90
+ onBlur: onBlur
91
+ }));
92
+ });
93
+ TextArea.defaultProps = {
94
+ rows: 4
95
+ };
96
+ TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
97
+ value: defaultTheme.PropTypes.string,
98
+ defaultValue: defaultTheme.PropTypes.string,
99
+ name: defaultTheme.PropTypes.string,
100
+ label: defaultTheme.PropTypes.string,
101
+ rows: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.number, defaultTheme.PropTypes.string]),
102
+ placeholder: defaultTheme.PropTypes.string,
103
+ required: defaultTheme.PropTypes.bool,
104
+ disabled: defaultTheme.PropTypes.bool,
105
+ error: defaultTheme.PropTypes.bool,
106
+ onChange: defaultTheme.PropTypes.func,
107
+ onBlur: defaultTheme.PropTypes.func
108
+ } : {};
109
+
110
+ exports.TextArea = TextArea;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var TextArea = require('../../TextArea-70a74014.js');
4
+ require('../../defaultTheme-18d7c1ee.js');
5
+ require('styled-components');
6
+ require('react');
7
+ require('nanoid');
8
+ require('lodash');
9
+
10
+
11
+
12
+ module.exports = TextArea.TextArea;
package/inputs/index.js CHANGED
@@ -6,6 +6,7 @@ var ActionButton = require('../ActionButton-10a681b9.js');
6
6
  var Button = require('../Button-89056918.js');
7
7
  var Checkbox = require('../Checkbox-791a409f.js');
8
8
  var Radio = require('../Radio-9271a4b6.js');
9
+ var TextArea = require('../TextArea-70a74014.js');
9
10
  var TextInput = require('../TextInput-72ce7e10.js');
10
11
  require('../defaultTheme-18d7c1ee.js');
11
12
  require('styled-components');
@@ -20,4 +21,5 @@ exports.ActionButton = ActionButton.ActionButton;
20
21
  exports.Button = Button.Button;
21
22
  exports.Checkbox = Checkbox.Checkbox;
22
23
  exports.Radio = Radio.Radio;
24
+ exports.TextArea = TextArea.TextArea;
23
25
  exports.TextInput = TextInput.TextInput;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "0.0.1-beta.29",
3
+ "version": "0.0.1-beta.32",
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-591cb40a.js');
3
+ var AssetGallery = require('../../AssetGallery-7b7c9ce2.js');
4
4
  require('../../defaultTheme-18d7c1ee.js');
5
5
  require('styled-components');
6
6
  require('react');
@@ -12,6 +12,7 @@ require('../../Checkbox-791a409f.js');
12
12
  require('nanoid');
13
13
  require('../../Radio-9271a4b6.js');
14
14
  require('polished');
15
+ require('../../TextArea-70a74014.js');
15
16
  require('../../TextInput-72ce7e10.js');
16
17
  require('../../Popover-0ff13419.js');
17
18
  require('@tippyjs/react');
package/widgets/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var AssetGallery = require('../AssetGallery-591cb40a.js');
5
+ var AssetGallery = require('../AssetGallery-7b7c9ce2.js');
6
6
  require('../defaultTheme-18d7c1ee.js');
7
7
  require('styled-components');
8
8
  require('react');
@@ -14,6 +14,7 @@ require('../Checkbox-791a409f.js');
14
14
  require('nanoid');
15
15
  require('../Radio-9271a4b6.js');
16
16
  require('polished');
17
+ require('../TextArea-70a74014.js');
17
18
  require('../TextInput-72ce7e10.js');
18
19
  require('../Popover-0ff13419.js');
19
20
  require('@tippyjs/react');