@ntbjs/react-components 1.0.0 → 1.1.0-beta.1

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.
@@ -9,11 +9,13 @@ var reactLazyLoadImageComponent = require('react-lazy-load-image-component');
9
9
  var ActionButton = require('./ActionButton-90485300.js');
10
10
  require('./Button-0d728b52.js');
11
11
  require('./Checkbox-50f1f3c7.js');
12
+ require('./CompactTextInput-24126cf9.js');
12
13
  require('./Radio-0b46b2a8.js');
13
14
  require('./TextArea-52cf4c0a.js');
14
15
  require('./Switch-aa384260.js');
15
16
  require('./Popover-d3e2f6c0.js');
16
17
  var Tooltip = require('./Tooltip-f95a39f4.js');
18
+ require('./Badge-86593df4.js');
17
19
  var styled = require('styled-components');
18
20
  var polished = require('polished');
19
21
 
@@ -0,0 +1,105 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () {
19
+ return e[k];
20
+ }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n['default'] = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
32
+
33
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
34
+ var AssetPreviewTopBar$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n box-sizing: border-box;\n align-items: center;\n border-bottom: 1px solid;\n clip-path: inset(0px 0px -10px 0px);\n color: inherit;\n display: flex;\n font-family: ", ";\n font-weight: 400;\n min-height: 72px;\n padding: 0 24px;\n width: 100%;\n\n ", "\n\n ", "\n"])), function (props) {
35
+ return props.theme.primaryFontFamily;
36
+ }, function (props) {
37
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-800'), props.theme.getColor('gray-200'));
38
+ }, function (props) {
39
+ return props.shadow && props.theme.themeProp('box-shadow', '0 -2px 12px #505050', '0 -3px 12px #b0b6b9');
40
+ });
41
+ var BackButtonContainer = styled__default['default'].a.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n font-size: 1.125rem;\n color: inherit;\n\n &:hover {\n cursor: pointer;\n }\n\n > svg {\n height: 24px;\n margin-right: 16px;\n width: 24px;\n }\n"])));
42
+ var LeftText = styled__default['default'].span.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n font-size: 1.125rem;\n margin-left: 16px;\n\n ", ";\n"])), function (props) {
43
+ return props.theme.themeProp('color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
44
+ });
45
+ var ButtonsContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n margin-left: auto;\n\n > span {\n margin-left: 16px;\n }\n"])));
46
+
47
+ function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
48
+
49
+ var _ref$1 = /*#__PURE__*/React__namespace.createElement("path", {
50
+ fill: "currentColor",
51
+ d: "M16 32L0 16 16 0l2.1 2.1L5.7 14.5H32v3H5.7l12.4 12.4L16 32z"
52
+ });
53
+
54
+ function SvgArrowBack(props) {
55
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
56
+ xmlns: "http://www.w3.org/2000/svg",
57
+ viewBox: "0 0 32 32"
58
+ }, props), _ref$1);
59
+ }
60
+
61
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
62
+
63
+ var _ref = /*#__PURE__*/React__namespace.createElement("path", {
64
+ fill: "currentColor",
65
+ d: "M2.1 27.3L0 25.2l11.55-11.55L0 2.1 2.1 0l11.55 11.55L25.2 0l2.1 2.1-11.55 11.55L27.3 25.2l-2.1 2.1-11.55-11.55L2.1 27.3z"
66
+ });
67
+
68
+ function SvgClose(props) {
69
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
70
+ xmlns: "http://www.w3.org/2000/svg",
71
+ viewBox: "0 0 27.3 27.3"
72
+ }, props), _ref);
73
+ }
74
+
75
+ var AssetPreviewTopBar = React__default['default'].forwardRef(function AssetPreviewTopBar(_ref, forwardedRef) {
76
+ var onBackButtonClick = _ref.onBackButtonClick,
77
+ backButtonText = _ref.backButtonText,
78
+ backButtonAsClose = _ref.backButtonAsClose,
79
+ leftText = _ref.leftText,
80
+ buttons = _ref.buttons,
81
+ shadow = _ref.shadow,
82
+ props = defaultTheme._objectWithoutProperties(_ref, ["onBackButtonClick", "backButtonText", "backButtonAsClose", "leftText", "buttons", "shadow"]);
83
+
84
+ return React__default['default'].createElement(AssetPreviewTopBar$1, defaultTheme._extends({
85
+ ref: forwardedRef,
86
+ shadow: shadow
87
+ }, props), React__default['default'].createElement(BackButtonContainer, {
88
+ onClick: onBackButtonClick
89
+ }, backButtonAsClose ? React__default['default'].createElement(SvgClose, null) : React__default['default'].createElement(SvgArrowBack, null), backButtonText), leftText && React__default['default'].createElement(LeftText, null, leftText), Array.isArray(buttons) && React__default['default'].createElement(ButtonsContainer, null, buttons.map(function (button, index) {
90
+ return React__default['default'].createElement("span", {
91
+ key: 'topBarButton-' + index
92
+ }, button);
93
+ })));
94
+ });
95
+ AssetPreviewTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
96
+ onBackButtonClick: defaultTheme.PropTypes.func.isRequired,
97
+ backButtonText: defaultTheme.PropTypes.string.isRequired,
98
+ backButtonAsClose: defaultTheme.PropTypes.bool,
99
+ leftText: defaultTheme.PropTypes.string,
100
+ shadow: defaultTheme.PropTypes.bool,
101
+ buttons: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.node)
102
+ } : {};
103
+ AssetPreviewTopBar.defaultProps = {};
104
+
105
+ exports.AssetPreviewTopBar = AssetPreviewTopBar;
@@ -0,0 +1,146 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
+
12
+ var _templateObject, _templateObject2, _templateObject3;
13
+ var Badge$1 = styled__default['default'].span.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n align-content: center;\n display: ", ";\n font-family: ", ";\n font-size: 1rem;\n font-weight: 500;\n min-height: 26px;\n position: relative;\n width: ", ";\n"])), function (props) {
14
+ return props.elevated || !props.hasChildren ? 'inline-flex' : 'flex';
15
+ }, function (props) {
16
+ return props.theme.primaryFontFamily;
17
+ }, function (props) {
18
+ return props.elevated ? 'fit-content' : 'initial';
19
+ });
20
+ var BadgeChildrenContainer = styled__default['default'].span.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n align-self: center;\n height: fit-content;\n margin-right: 8px;\n"])));
21
+ var BadgeLabel = styled__default['default'].span.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n border-radius: ", ";\n display: inline-block;\n font-size: ", ";\n font-weight: normal;\n height: fit-content;\n letter-spacing: 0.32px;\n margin-left: ", ";\n padding ", ";\n position: ", ";\n right: 0;\n transform: ", ";\n\n ", "\n\n ", "\n"])), function (props) {
22
+ return props.elevated ? '12px' : '14px';
23
+ }, function (props) {
24
+ return props.elevated ? '0.625rem' : '0.750rem';
25
+ }, function (props) {
26
+ return props.elevated ? '15px' : 'auto';
27
+ }, function (props) {
28
+ return props.elevated ? '4px 7px' : '6px 10px';
29
+ }, function (props) {
30
+ return props.elevated ? 'absolute' : 'initial';
31
+ }, function (props) {
32
+ return props.elevated ? 'translate(33%, -8px)' : 'initial';
33
+ }, function (props) {
34
+ return props.theme.themeProp('background', function () {
35
+ var active = props.active;
36
+ var error = props.error;
37
+ var warning = props.warning;
38
+
39
+ switch (true) {
40
+ case !error && !warning && !active:
41
+ return props.theme.getColor('gray-600');
42
+
43
+ case !error && !warning && active:
44
+ return props.theme.getColor('gray-700');
45
+
46
+ case error && active:
47
+ return props.theme.getColor('red-500');
48
+
49
+ case error:
50
+ return props.theme.getColor('red-200');
51
+
52
+ case warning && active:
53
+ return props.theme.getColor('signal-yellow-500');
54
+
55
+ case warning:
56
+ return props.theme.getColor('signal-yellow-400');
57
+
58
+ default:
59
+ return props.theme.getColor('gray-600');
60
+ }
61
+ }, function () {
62
+ var active = props.active;
63
+ var error = props.error;
64
+ var warning = props.warning;
65
+
66
+ switch (true) {
67
+ case !error && !warning && !active:
68
+ return props.theme.getColor('gray-200');
69
+
70
+ case !error && !warning && active:
71
+ return props.theme.getColor('white');
72
+
73
+ case error && active:
74
+ return props.theme.getColor('red-500');
75
+
76
+ case error:
77
+ return props.theme.getColor('red-200');
78
+
79
+ case warning && active:
80
+ return props.theme.getColor('signal-yellow-500');
81
+
82
+ case warning:
83
+ return props.theme.getColor('signal-yellow-400');
84
+
85
+ default:
86
+ return props.theme.getColor('gray-200');
87
+ }
88
+ });
89
+ }, function (props) {
90
+ return props.theme.themeProp('color', function () {
91
+ if (props.warning && !props.error || props.error && !props.active) {
92
+ return props.theme.getColor('gray-900');
93
+ } else {
94
+ return props.theme.getColor('white');
95
+ }
96
+ }, function () {
97
+ if (props.error && props.active) {
98
+ return props.theme.getColor('white');
99
+ } else {
100
+ return props.theme.getColor('gray-900');
101
+ }
102
+ });
103
+ });
104
+
105
+ var Badge = React__default['default'].forwardRef(function Badge(_ref, forwardedRef) {
106
+ var badgeContent = _ref.badgeContent,
107
+ children = _ref.children,
108
+ elevated = _ref.elevated,
109
+ active = _ref.active,
110
+ error = _ref.error,
111
+ warning = _ref.warning,
112
+ props = defaultTheme._objectWithoutProperties(_ref, ["badgeContent", "children", "elevated", "active", "error", "warning"]);
113
+
114
+ if (typeof badgeContent === 'number') {
115
+ badgeContent = Intl.NumberFormat('en', {
116
+ notation: 'compact'
117
+ }).format(badgeContent);
118
+ }
119
+
120
+ return React__default['default'].createElement(Badge$1, defaultTheme._extends({
121
+ ref: forwardedRef,
122
+ elevated: elevated,
123
+ hasChildren: Boolean(children)
124
+ }, props), children && React__default['default'].createElement(BadgeChildrenContainer, null, children), badgeContent && React__default['default'].createElement(BadgeLabel, {
125
+ elevated: elevated,
126
+ active: active,
127
+ error: error,
128
+ warning: warning
129
+ }, badgeContent));
130
+ });
131
+ Badge.propTypes = process.env.NODE_ENV !== "production" ? {
132
+ badgeContent: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.string, defaultTheme.PropTypes.number]).isRequired,
133
+ children: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.node, defaultTheme.PropTypes.string]),
134
+ elevated: defaultTheme.PropTypes.bool,
135
+ active: defaultTheme.PropTypes.bool,
136
+ error: defaultTheme.PropTypes.bool,
137
+ warning: defaultTheme.PropTypes.bool
138
+ } : {};
139
+ Badge.defaultProps = {
140
+ elevated: false,
141
+ active: false,
142
+ error: false,
143
+ warning: false
144
+ };
145
+
146
+ exports.Badge = Badge;
@@ -0,0 +1,280 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var nanoid = require('nanoid');
6
+ var lodash = require('lodash');
7
+ var styled = require('styled-components');
8
+ var Popover = require('./Popover-d3e2f6c0.js');
9
+ var Tooltip = require('./Tooltip-f95a39f4.js');
10
+ require('./Badge-86593df4.js');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ function _interopNamespace(e) {
15
+ if (e && e.__esModule) return e;
16
+ var n = Object.create(null);
17
+ if (e) {
18
+ Object.keys(e).forEach(function (k) {
19
+ if (k !== 'default') {
20
+ var d = Object.getOwnPropertyDescriptor(e, k);
21
+ Object.defineProperty(n, k, d.get ? d : {
22
+ enumerable: true,
23
+ get: function () {
24
+ return e[k];
25
+ }
26
+ });
27
+ }
28
+ });
29
+ }
30
+ n['default'] = e;
31
+ return Object.freeze(n);
32
+ }
33
+
34
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
35
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
36
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
37
+
38
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
39
+ var CompactTextInput$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n font-family: ", ";\n"])), function (props) {
40
+ return props.theme.primaryFontFamily;
41
+ });
42
+ var Label = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n flex-basis: 33.33%;\n font-size: 0.875rem;\n line-height: 1rem;\n cursor: pointer;\n"])), function (props) {
43
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
44
+ });
45
+ var InputContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n flex-basis: ", ";\n"])), function (props) {
46
+ return props.$hasLabel ? '66.66%' : '100%';
47
+ });
48
+ var InputIconContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0;\n pointer-events: none;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n padding-right: 4px;\n ", ";\n padding-left: 30px;\n display: flex;\n align-items: center;\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n color: ", ";\n\n ", "\n\n ", "\n\n > svg {\n width: 12px;\n }\n"])), function (props) {
49
+ return props.theme.themeProp('background', styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n linear-gradient(-90deg,\n ", " 55%,\n transparent)\n "])), function (props) {
50
+ return props.error ? '#901d1d' : props.warning ? '#816600' : props.theme.getColor('gray-700');
51
+ }), styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n linear-gradient(-90deg,\n ", " 55%,\n transparent)\n "])), function (props) {
52
+ return props.error ? '#f7d5d0' : props.warning ? '#fffebf' : props.theme.getColor('gray-100');
53
+ }));
54
+ }, function (props) {
55
+ return props.theme.getColor('gray-400');
56
+ }, function (props) {
57
+ return props.warning && props.theme.themeProp('color', '#C3AF43', '#C3AF43');
58
+ }, function (props) {
59
+ return props.error && props.theme.themeProp('color', '#CB968F', '#CB968F');
60
+ });
61
+ var Input = styled__default['default'].input.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: block;\n font-size: 0.875rem;\n line-height: 1rem;\n font-family: inherit;\n ", "\n padding: 1px 4px;\n ", ";\n border-radius: 3px;\n border: 1px solid transparent;\n text-overflow: ellipsis;\n\n ", ";\n\n &&:not(:hover):not(:focus) {\n ", ";\n ", ";\n }\n\n &&:hover:not(:focus) {\n ", ";\n\n ", ";\n\n ", ";\n\n & + ", " {\n opacity: 1;\n }\n }\n\n &&:focus {\n ", ";\n\n ", ";\n outline: none;\n\n ", ";\n\n ", ";\n }\n\n &::placeholder {\n ", ";\n\n ", ";\n }\n\n ", "\n"])), function (props) {
62
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
63
+ }, function (props) {
64
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
65
+ }, function (props) {
66
+ return props.hasLink && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n &&:not(:focus),\n &&:read-only {\n text-decoration: underline;\n ", "\n }\n\n &&:read-only {\n cursor: pointer;\n }\n "])), function (props) {
67
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('emerald-500'));
68
+ });
69
+ }, function (props) {
70
+ return props.warning && props.theme.themeProp('background', '#634e01', '#fffde8');
71
+ }, function (props) {
72
+ return props.error && props.theme.themeProp('background', '#7f1b1b', '#fbeae6');
73
+ }, function (props) {
74
+ return !props.readOnly && props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
75
+ }, function (props) {
76
+ return props.warning && !props.readOnly && props.theme.themeProp('background', '#816600', '#fffebf');
77
+ }, function (props) {
78
+ return props.error && !props.readOnly && props.theme.themeProp('background', '#901d1d', '#f7d5d0');
79
+ }, InputIconContainer, function (props) {
80
+ return props.error && !props.readOnly && props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
81
+ }, function (props) {
82
+ return !props.readOnly && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), function (props) {
83
+ return props.theme.getColor('gray-600');
84
+ });
85
+ }, function (props) {
86
+ return props.warning && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), function (props) {
87
+ return props.theme.getColor('signal-yellow-500');
88
+ });
89
+ }, function (props) {
90
+ return props.error && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), function (props) {
91
+ return props.theme.getColor('red-500');
92
+ });
93
+ }, function (props) {
94
+ return props.theme.themeProp('color', props.theme.getColor('gray-600'), props.theme.getColor('gray-600'), 1);
95
+ }, function (props) {
96
+ return props.theme.themeProp('opacity', 0.6, 0.5, 1);
97
+ }, function (props) {
98
+ return props.bold && styled.css(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.0625;\n padding-top: 3px;\n padding-bottom: 2px;\n "])));
99
+ });
100
+ var LinkPopoverContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n padding: 5px 8px;\n\n a {\n font-size: 0.875rem;\n ", ";\n }\n\n svg {\n width: 18px;\n margin-right: 8px;\n }\n"])), function (props) {
101
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('emerald-500'), 1);
102
+ });
103
+
104
+ function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
105
+
106
+ var _ref$1 = /*#__PURE__*/React__namespace.createElement("path", {
107
+ fill: "currentColor",
108
+ d: "M7 12v-1.77l4.42-4.42 1.77 1.77L8.77 12H7zM0 7.75v-1.5h6v1.5H0zM13.77 7L12 5.23l.67-.67c.15-.15.33-.23.53-.23s.38.08.53.23l.71.71c.15.15.23.33.23.53s-.08.38-.23.53l-.67.67zM0 4.63v-1.5h9v1.5H0zM0 1.5V0h9v1.5H0z"
109
+ });
110
+
111
+ function SvgEditNote(props) {
112
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
113
+ xmlns: "http://www.w3.org/2000/svg",
114
+ viewBox: "0 0 14.67 12"
115
+ }, props), _ref$1);
116
+ }
117
+
118
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
119
+
120
+ var _ref = /*#__PURE__*/React__namespace.createElement("path", {
121
+ fill: "currentColor",
122
+ d: "M9 10H5c-1.38 0-2.56-.49-3.54-1.46S0 6.39 0 5s.49-2.56 1.46-3.54S3.62 0 5 0h4v2H5c-.83 0-1.54.29-2.13.88s-.88 1.29-.88 2.13.29 1.54.88 2.13 1.29.88 2.13.88h4v2zM6 6V4h8v2H6zm5 4V8h4c.83 0 1.54-.29 2.13-.88s.88-1.29.88-2.13-.29-1.54-.88-2.13-1.29-.88-2.13-.88h-4V0h4c1.38 0 2.56.49 3.54 1.46S20 3.61 20 5s-.49 2.56-1.46 3.54S16.39 10 15 10h-4z"
123
+ });
124
+
125
+ function SvgLink(props) {
126
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
127
+ xmlns: "http://www.w3.org/2000/svg",
128
+ viewBox: "0 0 20 10"
129
+ }, props), _ref);
130
+ }
131
+
132
+ var ConditionalWrapper = function ConditionalWrapper(_ref) {
133
+ var condition = _ref.condition,
134
+ wrapper = _ref.wrapper,
135
+ children = _ref.children;
136
+ return condition ? wrapper(children) : children;
137
+ };
138
+
139
+ var CompactTextInput = React__default['default'].forwardRef(function CompactTextInput(_ref2, forwardedRef) {
140
+ var label = _ref2.label,
141
+ type = _ref2.type,
142
+ name = _ref2.name,
143
+ defaultValue = _ref2.defaultValue,
144
+ value = _ref2.value,
145
+ placeholder = _ref2.placeholder,
146
+ link = _ref2.link,
147
+ linkTarget = _ref2.linkTarget,
148
+ autoSelect = _ref2.autoSelect,
149
+ readOnly = _ref2.readOnly,
150
+ error = _ref2.error,
151
+ warning = _ref2.warning,
152
+ bold = _ref2.bold,
153
+ onChangeProp = _ref2.onChange,
154
+ onFocusProp = _ref2.onFocus,
155
+ onBlurProp = _ref2.onBlur,
156
+ props = defaultTheme._objectWithoutProperties(_ref2, ["label", "type", "name", "defaultValue", "value", "placeholder", "link", "linkTarget", "autoSelect", "readOnly", "error", "warning", "bold", "onChange", "onFocus", "onBlur"]);
157
+
158
+ var _useState = React.useState(nanoid.nanoid()),
159
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
160
+ uniqueId = _useState2[0];
161
+
162
+ var _useState3 = React.useState(defaultValue || value),
163
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
164
+ currentValue = _useState4[0],
165
+ setCurrentValue = _useState4[1];
166
+
167
+ var _useState5 = React.useState(false),
168
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
169
+ showPopover = _useState6[0],
170
+ setShowPopover = _useState6[1];
171
+
172
+ var onChange = React.useCallback(function (event) {
173
+ setCurrentValue(event.target.value);
174
+
175
+ if (lodash.isFunction(onChangeProp)) {
176
+ onChangeProp(event);
177
+ }
178
+ }, [onChangeProp]);
179
+ var onFocus = React.useCallback(function (event) {
180
+ if (autoSelect) {
181
+ event.target.select();
182
+ }
183
+
184
+ if (lodash.isFunction(onFocusProp)) {
185
+ onFocusProp(event);
186
+ }
187
+
188
+ setShowPopover(true);
189
+ }, [autoSelect, readOnly, onFocusProp]);
190
+ var onBlur = React.useCallback(function (event) {
191
+ if (lodash.isFunction(onBlurProp)) {
192
+ onBlurProp(event);
193
+ }
194
+
195
+ setShowPopover(false);
196
+ }, [onBlurProp]);
197
+ return React__default['default'].createElement(CompactTextInput$1, props, label && React__default['default'].createElement(Label, {
198
+ htmlFor: uniqueId
199
+ }, label), React__default['default'].createElement(ConditionalWrapper, {
200
+ wrapper: function wrapper(children) {
201
+ return React__default['default'].createElement(Tooltip.Tooltip, {
202
+ content: error || warning
203
+ }, children);
204
+ },
205
+ condition: lodash.isString(error) || lodash.isString(warning)
206
+ }, React__default['default'].createElement(ConditionalWrapper, {
207
+ wrapper: function wrapper(children) {
208
+ return readOnly ? React__default['default'].createElement("a", {
209
+ href: link,
210
+ target: linkTarget
211
+ }, children) : React__default['default'].createElement(Popover.Popover, {
212
+ arrow: false,
213
+ trigger: "manuel",
214
+ visible: showPopover,
215
+ placement: 'bottom-start',
216
+ offset: [4, 2],
217
+ content: React__default['default'].createElement(LinkPopoverContainer, {
218
+ onMouseDown: function onMouseDown(event) {
219
+ event.preventDefault();
220
+ }
221
+ }, React__default['default'].createElement("a", {
222
+ href: link,
223
+ target: "_blank",
224
+ rel: "noreferrer"
225
+ }, React__default['default'].createElement(SvgLink, null), currentValue))
226
+ }, children);
227
+ },
228
+ condition: !lodash.isEmpty(link)
229
+ }, React__default['default'].createElement(InputContainer, {
230
+ $hasLabel: !lodash.isEmpty(label)
231
+ }, React__default['default'].createElement(Input, {
232
+ ref: forwardedRef,
233
+ id: uniqueId,
234
+ type: type,
235
+ name: name,
236
+ readOnly: readOnly,
237
+ placeholder: placeholder,
238
+ defaultValue: defaultValue,
239
+ value: value,
240
+ error: error,
241
+ warning: warning,
242
+ bold: bold,
243
+ hasLink: !lodash.isEmpty(link),
244
+ onFocus: onFocus,
245
+ onChange: onChange,
246
+ onBlur: onBlur
247
+ }), !readOnly && React__default['default'].createElement(InputIconContainer, {
248
+ error: error,
249
+ warning: warning
250
+ }, React__default['default'].createElement(SvgEditNote, null))))));
251
+ });
252
+ CompactTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
253
+ label: defaultTheme.PropTypes.string,
254
+ type: defaultTheme.PropTypes.string,
255
+ name: defaultTheme.PropTypes.string,
256
+ defaultValue: defaultTheme.PropTypes.string,
257
+ value: defaultTheme.PropTypes.string,
258
+ placeholder: defaultTheme.PropTypes.string,
259
+ link: defaultTheme.PropTypes.string,
260
+ linkTarget: defaultTheme.PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
261
+ autoSelect: defaultTheme.PropTypes.bool,
262
+ readOnly: defaultTheme.PropTypes.bool,
263
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
264
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
265
+ bold: defaultTheme.PropTypes.bool,
266
+ onChange: defaultTheme.PropTypes.func,
267
+ onFocus: defaultTheme.PropTypes.func,
268
+ onBlur: defaultTheme.PropTypes.func
269
+ } : {};
270
+ CompactTextInput.defaultProps = {
271
+ type: 'text',
272
+ autoSelect: true,
273
+ linkTarget: '_self',
274
+ bold: false,
275
+ readOnly: false,
276
+ error: false,
277
+ warning: false
278
+ };
279
+
280
+ exports.CompactTextInput = CompactTextInput;
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
+
12
+ var _templateObject;
13
+ var SectionSeparator$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n height: ", ";\n width: ", ";\n\n ", "\n"])), function (props) {
14
+ return props.vertical ? '100%' : '1px';
15
+ }, function (props) {
16
+ return props.vertical ? '1px' : '100%';
17
+ }, function (props) {
18
+ return props.theme.themeProp('background-color', props.theme.getColor('gray-800'), props.theme.getColor('gray-200'));
19
+ });
20
+
21
+ var SectionSeparator = React__default['default'].forwardRef(function SectionSeparator(_ref, forwardedRef) {
22
+ var vertical = _ref.vertical,
23
+ props = defaultTheme._objectWithoutProperties(_ref, ["vertical"]);
24
+
25
+ return React__default['default'].createElement(SectionSeparator$1, defaultTheme._extends({
26
+ vertical: vertical,
27
+ ref: forwardedRef
28
+ }, props));
29
+ });
30
+ SectionSeparator.propTypes = process.env.NODE_ENV !== "production" ? {
31
+ vertical: defaultTheme.PropTypes.bool
32
+ } : {};
33
+ SectionSeparator.defaultProps = {
34
+ vertical: false
35
+ };
36
+
37
+ exports.SectionSeparator = SectionSeparator;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var Badge = require('../../Badge-86593df4.js');
4
+ require('../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+
8
+
9
+
10
+ module.exports = Badge.Badge;
package/data/index.js CHANGED
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var Popover = require('../Popover-d3e2f6c0.js');
6
6
  var Tooltip = require('../Tooltip-f95a39f4.js');
7
+ var Badge = require('../Badge-86593df4.js');
7
8
  require('../defaultTheme-870f7df1.js');
8
9
  require('styled-components');
9
10
  require('react');
@@ -15,3 +16,4 @@ require('@tippyjs/react');
15
16
 
16
17
  exports.Popover = Popover.Popover;
17
18
  exports.Tooltip = Tooltip.Tooltip;
19
+ exports.Badge = Badge.Badge;
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
3
+ <path fill="currentColor" d="m16,32L0,16,16,0l2.1,2.1L5.7,14.5h26.3v3H5.7l12.4,12.4-2.1,2.1Z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27.3 27.3">
3
+ <path fill="currentColor" d="m2.1,27.3l-2.1-2.1,11.55-11.55L0,2.1,2.1,0l11.55,11.55L25.2,0l2.1,2.1-11.55,11.55,11.55,11.55-2.1,2.1-11.55-11.55L2.1,27.3Z"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.67 12">
3
+ <path fill="currentColor" d="m7,12v-1.77l4.42-4.42,1.77,1.77-4.42,4.42h-1.77ZM0,7.75v-1.5h6v1.5H0Zm13.77-.75l-1.77-1.77.67-.67c.15-.15.33-.23.53-.23s.38.08.53.23l.71.71c.15.15.23.33.23.53s-.08.38-.23.53l-.67.67ZM0,4.63v-1.5h9v1.5H0ZM0,1.5V0h9v1.5H0Z"/>
4
+ </svg>
package/icons/link.svg ADDED
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 10">
3
+ <path fill="currentColor" d="m9,10h-4c-1.38,0-2.56-.49-3.54-1.46s-1.46-2.15-1.46-3.54S.49,2.44,1.46,1.46,3.62,0,5,0h4v2h-4c-.83,0-1.54.29-2.13.88s-.88,1.29-.88,2.13.29,1.54.88,2.13,1.29.88,2.13.88h4v2Zm-3-4v-2h8v2H6Zm5,4v-2h4c.83,0,1.54-.29,2.13-.88s.88-1.29.88-2.13-.29-1.54-.88-2.13-1.29-.88-2.13-.88h-4V0h4c1.38,0,2.56.49,3.54,1.46s1.46,2.15,1.46,3.54-.49,2.56-1.46,3.54-2.15,1.46-3.54,1.46h-4Z"/>
4
+ </svg>
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var CompactTextInput = require('../../CompactTextInput-24126cf9.js');
4
+ require('../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+ require('nanoid');
8
+ require('lodash');
9
+ require('../../Popover-d3e2f6c0.js');
10
+ require('polished');
11
+ require('@tippyjs/react');
12
+ require('../../Tooltip-f95a39f4.js');
13
+ require('../../Badge-86593df4.js');
14
+
15
+
16
+
17
+ module.exports = CompactTextInput.CompactTextInput;
package/inputs/index.js CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var ActionButton = require('../ActionButton-90485300.js');
6
6
  var Button = require('../Button-0d728b52.js');
7
7
  var Checkbox = require('../Checkbox-50f1f3c7.js');
8
+ var CompactTextInput = require('../CompactTextInput-24126cf9.js');
8
9
  var Radio = require('../Radio-0b46b2a8.js');
9
10
  var TextArea = require('../TextArea-52cf4c0a.js');
10
11
  var TextInput = require('../TextInput-a7c32f5f.js');
@@ -14,13 +15,18 @@ require('styled-components');
14
15
  require('react');
15
16
  require('nanoid');
16
17
  require('lodash');
18
+ require('../Popover-d3e2f6c0.js');
17
19
  require('polished');
20
+ require('@tippyjs/react');
21
+ require('../Tooltip-f95a39f4.js');
22
+ require('../Badge-86593df4.js');
18
23
 
19
24
 
20
25
 
21
26
  exports.ActionButton = ActionButton.ActionButton;
22
27
  exports.Button = Button.Button;
23
28
  exports.Checkbox = Checkbox.Checkbox;
29
+ exports.CompactTextInput = CompactTextInput.CompactTextInput;
24
30
  exports.Radio = Radio.Radio;
25
31
  exports.TextArea = TextArea.TextArea;
26
32
  exports.TextInput = TextInput.TextInput;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var SectionSeparator = require('../../SectionSeparator-12aff748.js');
4
+ require('../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+
8
+
9
+
10
+ module.exports = SectionSeparator.SectionSeparator;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var SectionSeparator = require('../SectionSeparator-12aff748.js');
6
+ require('../defaultTheme-870f7df1.js');
7
+ require('styled-components');
8
+ require('react');
9
+
10
+
11
+
12
+ exports.SectionSeparator = SectionSeparator.SectionSeparator;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "1.0.0",
3
+ "version": "1.1.0-beta.1",
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-2d26f3cf.js');
3
+ var AssetGallery = require('../../AssetGallery-9bf4cd82.js');
4
4
  require('../../defaultTheme-870f7df1.js');
5
5
  require('styled-components');
6
6
  require('react');
@@ -12,13 +12,15 @@ require('react-lazy-load-image-component');
12
12
  require('../../ActionButton-90485300.js');
13
13
  require('../../Button-0d728b52.js');
14
14
  require('../../Checkbox-50f1f3c7.js');
15
- require('../../Radio-0b46b2a8.js');
16
- require('polished');
17
- require('../../TextArea-52cf4c0a.js');
18
- require('../../Switch-aa384260.js');
15
+ require('../../CompactTextInput-24126cf9.js');
19
16
  require('../../Popover-d3e2f6c0.js');
17
+ require('polished');
20
18
  require('@tippyjs/react');
21
19
  require('../../Tooltip-f95a39f4.js');
20
+ require('../../Badge-86593df4.js');
21
+ require('../../Radio-0b46b2a8.js');
22
+ require('../../TextArea-52cf4c0a.js');
23
+ require('../../Switch-aa384260.js');
22
24
 
23
25
 
24
26
 
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var AssetPreviewTopBar = require('../../../AssetPreviewTopBar-a172fc5c.js');
4
+ require('../../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+
8
+
9
+
10
+ module.exports = AssetPreviewTopBar.AssetPreviewTopBar;
package/widgets/index.js CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var AssetGallery = require('../AssetGallery-2d26f3cf.js');
5
+ var AssetGallery = require('../AssetGallery-9bf4cd82.js');
6
+ var AssetPreviewTopBar = require('../AssetPreviewTopBar-a172fc5c.js');
6
7
  require('../defaultTheme-870f7df1.js');
7
8
  require('styled-components');
8
9
  require('react');
@@ -14,14 +15,17 @@ require('react-lazy-load-image-component');
14
15
  require('../ActionButton-90485300.js');
15
16
  require('../Button-0d728b52.js');
16
17
  require('../Checkbox-50f1f3c7.js');
17
- require('../Radio-0b46b2a8.js');
18
- require('polished');
19
- require('../TextArea-52cf4c0a.js');
20
- require('../Switch-aa384260.js');
18
+ require('../CompactTextInput-24126cf9.js');
21
19
  require('../Popover-d3e2f6c0.js');
20
+ require('polished');
22
21
  require('@tippyjs/react');
23
22
  require('../Tooltip-f95a39f4.js');
23
+ require('../Badge-86593df4.js');
24
+ require('../Radio-0b46b2a8.js');
25
+ require('../TextArea-52cf4c0a.js');
26
+ require('../Switch-aa384260.js');
24
27
 
25
28
 
26
29
 
27
30
  exports.AssetGallery = AssetGallery.AssetGallery;
31
+ exports.AssetPreviewTopBar = AssetPreviewTopBar.AssetPreviewTopBar;