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

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 (57) hide show
  1. package/{AssetGallery-2d26f3cf.js → AssetGallery-1a3e0374.js} +12 -5
  2. package/AssetPreviewTopBar-020a6f96.js +92 -0
  3. package/AutocompleteSelect-e82bd937.js +358 -0
  4. package/Badge-34ad2850.js +146 -0
  5. package/Button-e6a6139c.js +264 -0
  6. package/CompactStarRating-f7a58649.js +246 -0
  7. package/CompactTextInput-faf4ea96.js +265 -0
  8. package/ContextMenu-a68d4f28.js +32 -0
  9. package/InputGroup-66dd343c.js +28 -0
  10. package/MultiSelect-3eca3c3e.js +361 -0
  11. package/Popover-63d38274.js +127 -0
  12. package/SectionSeparator-12aff748.js +37 -0
  13. package/Tab-51124003.js +30 -0
  14. package/Tabs-452079b5.js +99 -0
  15. package/{TextArea-52cf4c0a.js → TextArea-efe4fa88.js} +64 -24
  16. package/{TextInput-a7c32f5f.js → TextInput-e4c6d536.js} +42 -22
  17. package/{Tooltip-f95a39f4.js → Tooltip-7c57004f.js} +12 -10
  18. package/close-ebf2f3cf.js +41 -0
  19. package/data/Badge/index.js +10 -0
  20. package/data/Popover/index.js +1 -1
  21. package/data/Tab/index.js +10 -0
  22. package/data/Tabs/index.js +12 -0
  23. package/data/index.js +8 -2
  24. package/edit-note-c47d292e.js +41 -0
  25. package/expand-more-94585605.js +41 -0
  26. package/icons/arrow-back.svg +4 -0
  27. package/icons/arrow-drop-down.svg +4 -0
  28. package/icons/close.svg +4 -0
  29. package/icons/delete-context-menu.svg +4 -0
  30. package/icons/design-services.svg +4 -0
  31. package/icons/edit-note.svg +4 -0
  32. package/icons/expand-more.svg +4 -0
  33. package/icons/link.svg +4 -0
  34. package/icons/star-filled.svg +3 -0
  35. package/icons/star.svg +3 -0
  36. package/icons/triangle-right.svg +4 -0
  37. package/inputs/AutocompleteSelect/index.js +18 -0
  38. package/inputs/Button/index.js +7 -1
  39. package/inputs/CompactStarRating/index.js +11 -0
  40. package/inputs/CompactTextInput/index.js +20 -0
  41. package/inputs/MultiSelect/index.js +15 -0
  42. package/inputs/TextArea/index.js +2 -1
  43. package/inputs/TextInput/index.js +2 -1
  44. package/inputs/index.js +25 -3
  45. package/layout/InputGroup/index.js +10 -0
  46. package/layout/SectionSeparator/index.js +10 -0
  47. package/layout/index.js +14 -0
  48. package/package.json +4 -2
  49. package/react-select-creatable.esm-eb462367.js +7622 -0
  50. package/widgets/AssetGallery/index.js +23 -8
  51. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +11 -0
  52. package/widgets/ContextMenu/ContextMenuItem/index.js +112 -0
  53. package/widgets/ContextMenu/ContextMenuItemsGroup/index.js +32 -0
  54. package/widgets/ContextMenu/index.js +10 -0
  55. package/widgets/index.js +26 -8
  56. package/Button-0d728b52.js +0 -156
  57. package/Popover-d3e2f6c0.js +0 -97
@@ -0,0 +1,265 @@
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 editNote = require('./edit-note-c47d292e.js');
9
+ var Popover = require('./Popover-63d38274.js');
10
+ var Tooltip = require('./Tooltip-7c57004f.js');
11
+ require('./Tab-51124003.js');
12
+ require('./Tabs-452079b5.js');
13
+ require('./Badge-34ad2850.js');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ function _interopNamespace(e) {
18
+ if (e && e.__esModule) return e;
19
+ var n = Object.create(null);
20
+ if (e) {
21
+ Object.keys(e).forEach(function (k) {
22
+ if (k !== 'default') {
23
+ var d = Object.getOwnPropertyDescriptor(e, k);
24
+ Object.defineProperty(n, k, d.get ? d : {
25
+ enumerable: true,
26
+ get: function () {
27
+ return e[k];
28
+ }
29
+ });
30
+ }
31
+ });
32
+ }
33
+ n['default'] = e;
34
+ return Object.freeze(n);
35
+ }
36
+
37
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
38
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
40
+
41
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
42
+ var CompactTextInput$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n height: 24px;\n font-family: ", ";\n"])), function (props) {
43
+ return props.theme.primaryFontFamily;
44
+ });
45
+ 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 height: 19px;\n display: flex;\n align-items: center;\n"])), function (props) {
46
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
47
+ });
48
+ var InputContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n height: 19px;\n flex-basis: ", ";\n"])), function (props) {
49
+ return props.$hasLabel ? '66.66%' : '100%';
50
+ });
51
+ 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) {
52
+ return props.theme.themeProp('background', styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n linear-gradient(-90deg,\n ", " 55%,\n transparent)\n "])), function (props) {
53
+ return props.error ? '#901d1d' : props.warning ? '#816600' : props.theme.getColor('gray-700');
54
+ }), styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n linear-gradient(-90deg,\n ", " 55%,\n transparent)\n "])), function (props) {
55
+ return props.error ? '#f7d5d0' : props.warning ? '#fffebf' : props.theme.getColor('gray-100');
56
+ }));
57
+ }, function (props) {
58
+ return props.theme.getColor('gray-400');
59
+ }, function (props) {
60
+ return props.warning && props.theme.themeProp('color', '#C3AF43', '#C3AF43');
61
+ }, function (props) {
62
+ return props.error && props.theme.themeProp('color', '#CB968F', '#CB968F');
63
+ });
64
+ var Input = styled__default['default'].input.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n box-sizing: border-box;\n height: 22px;\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 color: inherit;\n opacity: 0.6;\n}\n\n ", "\n"])), function (props) {
65
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
66
+ }, function (props) {
67
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
68
+ }, function (props) {
69
+ 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) {
70
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('emerald-500'));
71
+ });
72
+ }, function (props) {
73
+ return props.warning && props.theme.themeProp('background', '#634e01', '#fffde8');
74
+ }, function (props) {
75
+ return props.error && props.theme.themeProp('background', '#7f1b1b', '#fbeae6');
76
+ }, function (props) {
77
+ return !props.readOnly && props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
78
+ }, function (props) {
79
+ return props.warning && !props.readOnly && props.theme.themeProp('background', '#816600', '#fffebf');
80
+ }, function (props) {
81
+ return props.error && !props.readOnly && props.theme.themeProp('background', '#901d1d', '#f7d5d0');
82
+ }, InputIconContainer, function (props) {
83
+ return props.error && !props.readOnly && props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
84
+ }, function (props) {
85
+ return !props.readOnly && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), function (props) {
86
+ return props.theme.getColor('gray-600');
87
+ });
88
+ }, function (props) {
89
+ return props.warning && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), function (props) {
90
+ return props.theme.getColor('signal-yellow-500');
91
+ });
92
+ }, function (props) {
93
+ return props.error && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), function (props) {
94
+ return props.theme.getColor('red-500');
95
+ });
96
+ }, function (props) {
97
+ 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 "])));
98
+ });
99
+ 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) {
100
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('emerald-500'), 1);
101
+ });
102
+
103
+ 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); }
104
+
105
+ var _ref = /*#__PURE__*/React__namespace.createElement("path", {
106
+ fill: "currentColor",
107
+ 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"
108
+ });
109
+
110
+ function SvgLink(props) {
111
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
112
+ xmlns: "http://www.w3.org/2000/svg",
113
+ viewBox: "0 0 20 10"
114
+ }, props), _ref);
115
+ }
116
+
117
+ var ConditionalWrapper = function ConditionalWrapper(_ref) {
118
+ var condition = _ref.condition,
119
+ wrapper = _ref.wrapper,
120
+ children = _ref.children;
121
+ return condition ? wrapper(children) : children;
122
+ };
123
+
124
+ var CompactTextInput = React__default['default'].forwardRef(function CompactTextInput(_ref2, forwardedRef) {
125
+ var label = _ref2.label,
126
+ type = _ref2.type,
127
+ name = _ref2.name,
128
+ defaultValue = _ref2.defaultValue,
129
+ value = _ref2.value,
130
+ placeholder = _ref2.placeholder,
131
+ link = _ref2.link,
132
+ linkTarget = _ref2.linkTarget,
133
+ autoSelect = _ref2.autoSelect,
134
+ readOnly = _ref2.readOnly,
135
+ error = _ref2.error,
136
+ warning = _ref2.warning,
137
+ bold = _ref2.bold,
138
+ onChangeProp = _ref2.onChange,
139
+ onFocusProp = _ref2.onFocus,
140
+ onBlurProp = _ref2.onBlur,
141
+ props = defaultTheme._objectWithoutProperties(_ref2, ["label", "type", "name", "defaultValue", "value", "placeholder", "link", "linkTarget", "autoSelect", "readOnly", "error", "warning", "bold", "onChange", "onFocus", "onBlur"]);
142
+
143
+ var _useState = React.useState(nanoid.nanoid()),
144
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
145
+ uniqueId = _useState2[0];
146
+
147
+ var _useState3 = React.useState(defaultValue || value),
148
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
149
+ currentValue = _useState4[0],
150
+ setCurrentValue = _useState4[1];
151
+
152
+ var _useState5 = React.useState(false),
153
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
154
+ showPopover = _useState6[0],
155
+ setShowPopover = _useState6[1];
156
+
157
+ var onChange = React.useCallback(function (event) {
158
+ setCurrentValue(event.target.value);
159
+
160
+ if (lodash.isFunction(onChangeProp)) {
161
+ onChangeProp(event);
162
+ }
163
+ }, [onChangeProp]);
164
+ var onFocus = React.useCallback(function (event) {
165
+ if (autoSelect) {
166
+ event.target.select();
167
+ }
168
+
169
+ if (lodash.isFunction(onFocusProp)) {
170
+ onFocusProp(event);
171
+ }
172
+
173
+ setShowPopover(true);
174
+ }, [autoSelect, readOnly, onFocusProp]);
175
+ var onBlur = React.useCallback(function (event) {
176
+ if (lodash.isFunction(onBlurProp)) {
177
+ onBlurProp(event);
178
+ }
179
+
180
+ setShowPopover(false);
181
+ }, [onBlurProp]);
182
+ return React__default['default'].createElement(CompactTextInput$1, props, label && React__default['default'].createElement(Label, {
183
+ htmlFor: uniqueId
184
+ }, label), React__default['default'].createElement(ConditionalWrapper, {
185
+ wrapper: function wrapper(children) {
186
+ return React__default['default'].createElement(Tooltip.Tooltip, {
187
+ content: error || warning
188
+ }, children);
189
+ },
190
+ condition: lodash.isString(error) || lodash.isString(warning)
191
+ }, React__default['default'].createElement(ConditionalWrapper, {
192
+ wrapper: function wrapper(children) {
193
+ return readOnly ? React__default['default'].createElement("a", {
194
+ href: link,
195
+ target: linkTarget
196
+ }, children) : React__default['default'].createElement(Popover.Popover, {
197
+ arrow: false,
198
+ trigger: "manuel",
199
+ visible: showPopover,
200
+ placement: 'bottom-start',
201
+ offset: [4, 2],
202
+ content: React__default['default'].createElement(LinkPopoverContainer, {
203
+ onMouseDown: function onMouseDown(event) {
204
+ event.preventDefault();
205
+ }
206
+ }, React__default['default'].createElement("a", {
207
+ href: link,
208
+ target: "_blank",
209
+ rel: "noreferrer"
210
+ }, React__default['default'].createElement(SvgLink, null), currentValue))
211
+ }, children);
212
+ },
213
+ condition: !lodash.isEmpty(link)
214
+ }, React__default['default'].createElement(InputContainer, {
215
+ $hasLabel: !lodash.isEmpty(label)
216
+ }, React__default['default'].createElement(Input, {
217
+ ref: forwardedRef,
218
+ id: uniqueId,
219
+ type: type,
220
+ name: name,
221
+ readOnly: readOnly,
222
+ placeholder: placeholder,
223
+ defaultValue: defaultValue,
224
+ value: value,
225
+ error: error,
226
+ warning: warning,
227
+ bold: bold,
228
+ hasLink: !lodash.isEmpty(link),
229
+ onFocus: onFocus,
230
+ onChange: onChange,
231
+ onBlur: onBlur
232
+ }), !readOnly && React__default['default'].createElement(InputIconContainer, {
233
+ error: error,
234
+ warning: warning
235
+ }, React__default['default'].createElement(editNote.SvgEditNote, null))))));
236
+ });
237
+ CompactTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
238
+ label: defaultTheme.PropTypes.string,
239
+ type: defaultTheme.PropTypes.string,
240
+ name: defaultTheme.PropTypes.string,
241
+ defaultValue: defaultTheme.PropTypes.string,
242
+ value: defaultTheme.PropTypes.string,
243
+ placeholder: defaultTheme.PropTypes.string,
244
+ link: defaultTheme.PropTypes.string,
245
+ linkTarget: defaultTheme.PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
246
+ autoSelect: defaultTheme.PropTypes.bool,
247
+ readOnly: defaultTheme.PropTypes.bool,
248
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
249
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
250
+ bold: defaultTheme.PropTypes.bool,
251
+ onChange: defaultTheme.PropTypes.func,
252
+ onFocus: defaultTheme.PropTypes.func,
253
+ onBlur: defaultTheme.PropTypes.func
254
+ } : {};
255
+ CompactTextInput.defaultProps = {
256
+ type: 'text',
257
+ autoSelect: true,
258
+ linkTarget: '_self',
259
+ bold: false,
260
+ readOnly: false,
261
+ error: false,
262
+ warning: false
263
+ };
264
+
265
+ exports.CompactTextInput = CompactTextInput;
@@ -0,0 +1,32 @@
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 ContextMenu$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n padding: 3px 0;\n"])), function (props) {
14
+ return props.theme.primaryFontFamily;
15
+ });
16
+
17
+ var ContextMenu = React__default['default'].forwardRef(function ContextMenu(_ref, forwardedRef) {
18
+ var children = _ref.children,
19
+ props = defaultTheme._objectWithoutProperties(_ref, ["children"]);
20
+
21
+ return React__default['default'].createElement(ContextMenu$1, defaultTheme._extends({
22
+ ref: forwardedRef
23
+ }, props, {
24
+ role: "menu"
25
+ }), children);
26
+ });
27
+ ContextMenu.propTypes = process.env.NODE_ENV !== "production" ? {
28
+ children: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.node).isRequired
29
+ } : {};
30
+ ContextMenu.defaultProps = {};
31
+
32
+ exports.ContextMenu = ContextMenu;
@@ -0,0 +1,28 @@
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 InputGroup$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n margin: 8px 0;\n"])));
14
+
15
+ var InputGroup = React__default['default'].forwardRef(function InputGroup(_ref, forwardedRef) {
16
+ var children = _ref.children,
17
+ props = defaultTheme._objectWithoutProperties(_ref, ["children"]);
18
+
19
+ return React__default['default'].createElement(InputGroup$1, defaultTheme._extends({
20
+ ref: forwardedRef
21
+ }, props), children);
22
+ });
23
+ InputGroup.propTypes = process.env.NODE_ENV !== "production" ? {
24
+ children: defaultTheme.PropTypes.node
25
+ } : {};
26
+ InputGroup.defaultProps = {};
27
+
28
+ exports.InputGroup = InputGroup;