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

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 (36) hide show
  1. package/{AssetGallery-9bf4cd82.js → AssetGallery-7ff60131.js} +9 -6
  2. package/Button-00ce7d0f.js +298 -0
  3. package/CompactStarRating-f9997240.js +242 -0
  4. package/{CompactTextInput-24126cf9.js → CompactTextInput-f00e46a3.js} +11 -22
  5. package/ContextMenu-a68d4f28.js +32 -0
  6. package/InputGroup-66dd343c.js +28 -0
  7. package/{Popover-d3e2f6c0.js → Popover-616682bf.js} +39 -9
  8. package/Tab-06b7a58d.js +30 -0
  9. package/Tabs-cfbf45fe.js +99 -0
  10. package/{TextArea-52cf4c0a.js → TextArea-06d9e80b.js} +51 -20
  11. package/{TextInput-a7c32f5f.js → TextInput-e4c6d536.js} +42 -22
  12. package/{Tooltip-f95a39f4.js → Tooltip-860530ff.js} +1 -1
  13. package/data/Popover/index.js +1 -1
  14. package/data/Tab/index.js +10 -0
  15. package/data/Tabs/index.js +12 -0
  16. package/data/index.js +6 -2
  17. package/edit-note-c47d292e.js +41 -0
  18. package/icons/delete-context-menu.svg +4 -0
  19. package/icons/design-services.svg +4 -0
  20. package/icons/expand-more.svg +4 -0
  21. package/icons/star-filled.svg +3 -0
  22. package/icons/star.svg +3 -0
  23. package/icons/triangle-right.svg +4 -0
  24. package/inputs/Button/index.js +6 -1
  25. package/inputs/CompactStarRating/index.js +11 -0
  26. package/inputs/CompactTextInput/index.js +6 -3
  27. package/inputs/TextArea/index.js +2 -1
  28. package/inputs/TextInput/index.js +2 -1
  29. package/inputs/index.js +13 -7
  30. package/layout/InputGroup/index.js +10 -0
  31. package/layout/index.js +2 -0
  32. package/package.json +1 -1
  33. package/widgets/AssetGallery/index.js +13 -8
  34. package/widgets/ContextMenu/index.js +10 -0
  35. package/widgets/index.js +14 -8
  36. package/Button-0d728b52.js +0 -156
@@ -3,18 +3,21 @@
3
3
  var defaultTheme = require('./defaultTheme-870f7df1.js');
4
4
  var React = require('react');
5
5
  var lodash = require('lodash');
6
- var TextInput = require('./TextInput-a7c32f5f.js');
6
+ var TextInput = require('./TextInput-e4c6d536.js');
7
7
  var ResizeObserver = require('resize-observer-polyfill');
8
8
  var reactLazyLoadImageComponent = require('react-lazy-load-image-component');
9
9
  var ActionButton = require('./ActionButton-90485300.js');
10
- require('./Button-0d728b52.js');
10
+ require('./Button-00ce7d0f.js');
11
11
  require('./Checkbox-50f1f3c7.js');
12
- require('./CompactTextInput-24126cf9.js');
12
+ require('./CompactStarRating-f9997240.js');
13
+ require('./CompactTextInput-f00e46a3.js');
13
14
  require('./Radio-0b46b2a8.js');
14
- require('./TextArea-52cf4c0a.js');
15
+ require('./TextArea-06d9e80b.js');
15
16
  require('./Switch-aa384260.js');
16
- require('./Popover-d3e2f6c0.js');
17
- var Tooltip = require('./Tooltip-f95a39f4.js');
17
+ require('./Popover-616682bf.js');
18
+ var Tooltip = require('./Tooltip-860530ff.js');
19
+ require('./Tab-06b7a58d.js');
20
+ require('./Tabs-cfbf45fe.js');
18
21
  require('./Badge-86593df4.js');
19
22
  var styled = require('styled-components');
20
23
  var polished = require('polished');
@@ -0,0 +1,298 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var Popover = require('./Popover-616682bf.js');
7
+ var ContextMenu = require('./ContextMenu-a68d4f28.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () {
21
+ return e[k];
22
+ }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n['default'] = e;
28
+ return Object.freeze(n);
29
+ }
30
+
31
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
34
+
35
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28;
36
+ var Button$1 = styled__default['default'].button.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n border-radius: 3px;\n font-family: inherit;\n font-size: 0.875rem;\n font-weight: 400;\n padding: 12px 16px;\n cursor: pointer;\n background: ", ";\n border: 2px solid ", ";\n transition: all 250ms, opacity 200ms;\n\n &:hover,\n &.dropdown-is-active {\n background: #296c58;\n border-color: #296c58;\n }\n\n ", "\n\n && {\n ", ";\n }\n\n && {\n ", ";\n }\n\n && {\n ", ";\n }\n\n && {\n ", ";\n }\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (props) {
37
+ return props.theme.getColor('emerald-500');
38
+ }, function (props) {
39
+ return props.theme.getColor('emerald-500');
40
+ }, function (props) {
41
+ return props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('white'));
42
+ }, function (props) {
43
+ return props.secondary && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n background: ", ";\n border-color: ", ";\n\n ", "\n\n &:hover,\n &.dropdown-is-active {\n background: ", ";\n border-color: ", ";\n }\n "])), function (props) {
44
+ return props.theme.getColor('gray-200');
45
+ }, function (props) {
46
+ return props.theme.getColor('gray-200');
47
+ }, props.theme.themeProp('color', props.theme.getColor('gray-700'), props.theme.getColor('gray-700')), function (props) {
48
+ return props.theme.getColor('gray-300');
49
+ }, function (props) {
50
+ return props.theme.getColor('gray-300');
51
+ });
52
+ }, function (props) {
53
+ return props.outlined && styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n background: transparent;\n transition: none;\n\n ", "\n\n ", "\n\n &:hover,\n &.dropdown-is-active {\n background-color: #296c58;\n\n ", "\n\n ", "\n }\n "])), props.theme.themeProp('border-color', props.theme.getColor('emerald-400'), props.theme.getColor('emerald-500')), props.theme.themeProp('color', props.theme.getColor('emerald-400'), props.theme.getColor('emerald-500')), props.theme.themeProp('border-color', props.theme.getColor('emerald-400'), '#296c58'), props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-200')));
54
+ }, function (props) {
55
+ return props.outlined && props.secondary && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n\n &:hover,\n &.dropdown-is-active {\n background: ", ";\n\n ", "\n\n ", "\n }\n "])), props.theme.themeProp('border-color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700')), props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700')), props.theme.getColor('gray-300'), props.theme.themeProp('border-color', props.theme.getColor('gray-300'), props.theme.getColor('gray-300')), props.theme.themeProp('color', props.theme.getColor('gray-700'), props.theme.getColor('gray-700')));
56
+ }, function (props) {
57
+ return props.outlined && props.secondary && props.dropdownItems && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n &:hover,\n &.dropdown-is-active {\n ", "\n }\n "])), props.theme.themeProp('border-color', props.theme.getColor('gray-300'), props.theme.getColor('gray-700')));
58
+ }, function (props) {
59
+ return props.block && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n width: 100%;\n "])));
60
+ }, function (props) {
61
+ return props.disabled && styled.css(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n "])));
62
+ }, function (props) {
63
+ return props.size === 'x-small' && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n padding: 1px 16px;\n height: 24px;\n "])));
64
+ }, function (props) {
65
+ return props.size === 'small' && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n padding: 6px 16px;\n "])));
66
+ }, function (props) {
67
+ return props.size === 'large' && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n padding: 16px 16px;\n "])));
68
+ }, function (props) {
69
+ return props.singleAction && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 34px;\n border-radius: 3px !important;\n transition: all 250ms, opacity 200ms;\n "])));
70
+ });
71
+ var ButtonContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n transform: scale(1);\n opacity: 1;\n transition: all 200ms;\n\n > svg {\n width: 100%;\n max-width: 16px;\n max-height: 16px;\n margin-right: 8px;\n\n ", ";\n\n ", ";\n }\n\n ", "\n\n ", ";\n"])), function (props) {
72
+ return props.size === 'small' && styled.css(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n max-width: 13px;\n max-height: 13px;\n "])));
73
+ }, function (props) {
74
+ return props.size === 'x-small' && styled.css(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n max-width: 11px;\n max-height: 11px;\n "])));
75
+ }, function (props) {
76
+ return props.$loading && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n transform: scale(0.95);\n opacity: 0;\n "])));
77
+ }, function (props) {
78
+ return props.singleAction && styled.css(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n svg {\n width: 100% !important;\n height: 100% !important;\n margin-right: 24px;\n }\n "])));
79
+ });
80
+ var LoadingIndicator = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n padding: 4px;\n background: inherit;\n opacity: 0;\n transition: opacity 200ms;\n box-sizing: border-box;\n\n ", "\n"])), function (props) {
81
+ return props.$loading && styled.css(_templateObject18 || (_templateObject18 = defaultTheme._taggedTemplateLiteral(["\n opacity: 1;\n "])));
82
+ });
83
+ var LoadingIndicatorSvg = styled__default['default'].svg.attrs(defaultTheme.applyDefaultTheme)(_templateObject19 || (_templateObject19 = defaultTheme._taggedTemplateLiteral(["\n height: 100%;\n color: inherit;\n transform: rotate(-88deg);\n"])));
84
+ var LoadingIndicatorSvgCircle = styled__default['default'].circle.attrs(defaultTheme.applyDefaultTheme)(_templateObject20 || (_templateObject20 = defaultTheme._taggedTemplateLiteral(["\n transition: stroke-dashoffset 300ms linear;\n stroke-dasharray: 113;\n"])));
85
+ var ButtonWrapper = styled__default['default'].span.attrs(defaultTheme.applyDefaultTheme)(_templateObject21 || (_templateObject21 = defaultTheme._taggedTemplateLiteral(["\n white-space: nowrap;\n"])));
86
+ var MainButtonContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject22 || (_templateObject22 = defaultTheme._taggedTemplateLiteral(["\n display: inline-block;\n button {\n ", ";\n\n ", ";\n }\n"])), function (props) {
87
+ return props.dropdownItems && styled.css(_templateObject23 || (_templateObject23 = defaultTheme._taggedTemplateLiteral(["\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n "])));
88
+ }, function (props) {
89
+ return props.dropdownItems && props.outlined && styled.css(_templateObject24 || (_templateObject24 = defaultTheme._taggedTemplateLiteral(["\n border-right: none;\n "])));
90
+ });
91
+ var MainButtonContainerSingle = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject25 || (_templateObject25 = defaultTheme._taggedTemplateLiteral(["\n display: inline-block;\n ", ";\n\n button {\n ", ";\n }\n"])), function (props) {
92
+ return props.singleAction && styled.css(_templateObject26 || (_templateObject26 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n border-radius: 3px !important;\n transition: all 250ms, opacity 200ms;\n "])));
93
+ }, function (props) {
94
+ return props.dropdownItems && styled.css(_templateObject27 || (_templateObject27 = defaultTheme._taggedTemplateLiteral(["\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n "])));
95
+ });
96
+ var DropdownButtonContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject28 || (_templateObject28 = defaultTheme._taggedTemplateLiteral(["\n display: inline-block;\n\n button {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n\n ", ";\n }\n\n svg {\n color: inherit;\n height: 7px;\n width: 12px;\n\n ", ";\n }\n"])), function (props) {
97
+ return !props.singleAction && 'border-left: none';
98
+ }, function (props) {
99
+ return !props.singleAction && 'margin-bottom: 1px';
100
+ });
101
+
102
+ 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); }
103
+
104
+ var _ref = /*#__PURE__*/React__namespace.createElement("path", {
105
+ fill: "currentColor",
106
+ d: "M12 14.15l-12-12L2.15 0 12 9.9 21.85.05 24 2.2 12 14.15z"
107
+ });
108
+
109
+ function SvgExpandMore(props) {
110
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
111
+ xmlns: "http://www.w3.org/2000/svg",
112
+ viewBox: "0 0 24 14.15"
113
+ }, props), _ref);
114
+ }
115
+
116
+ var Button = React__default['default'].forwardRef(function Button(_ref, forwardedRef) {
117
+ var onClickEffect = _ref.onClickEffect,
118
+ singleAction = _ref.singleAction,
119
+ dropdownItems = _ref.dropdownItems,
120
+ secondary = _ref.secondary,
121
+ outlined = _ref.outlined,
122
+ block = _ref.block,
123
+ icon = _ref.icon,
124
+ size = _ref.size,
125
+ disabled = _ref.disabled,
126
+ loading = _ref.loading,
127
+ className = _ref.className,
128
+ children = _ref.children,
129
+ props = defaultTheme._objectWithoutProperties(_ref, ["onClickEffect", "singleAction", "dropdownItems", "secondary", "outlined", "block", "icon", "size", "disabled", "loading", "className", "children"]);
130
+
131
+ var _useState = React.useState(loading || false),
132
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
133
+ loadingState = _useState2[0],
134
+ setLoadingState = _useState2[1];
135
+
136
+ var _useState3 = React.useState(113),
137
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
138
+ loadingStep = _useState4[0],
139
+ setLoadingStep = _useState4[1];
140
+
141
+ var loadingInterval = React.useRef(0);
142
+
143
+ var _useState5 = React.useState(false),
144
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
145
+ dropdownIsActive = _useState6[0],
146
+ setDropdownIsActive = _useState6[1];
147
+
148
+ var enableLoading = function enableLoading() {
149
+ loadingInterval.current = setInterval(function () {
150
+ setLoadingStep(function (currentLoadingStep) {
151
+ var newLoadingStep = Math.round(currentLoadingStep - 15 * currentLoadingStep / 100);
152
+
153
+ if (newLoadingStep === currentLoadingStep) {
154
+ clearInterval(loadingInterval.current);
155
+ }
156
+
157
+ return newLoadingStep;
158
+ });
159
+ }, 300);
160
+ setLoadingState(true);
161
+ };
162
+
163
+ var disableLoading = function disableLoading() {
164
+ clearInterval(loadingInterval.current);
165
+ setLoadingStep(0);
166
+ setTimeout(function () {
167
+ setLoadingState(false);
168
+ setLoadingStep(113);
169
+ }, 500);
170
+ };
171
+
172
+ React.useEffect(function () {
173
+ if (loading) {
174
+ enableLoading();
175
+ } else {
176
+ disableLoading();
177
+ }
178
+
179
+ return function () {
180
+ return clearInterval(loadingInterval.current);
181
+ };
182
+ }, [loading]);
183
+
184
+ var handleDropdownButtonClick = function handleDropdownButtonClick() {
185
+ setDropdownIsActive(true);
186
+ };
187
+
188
+ var handleDropdownClose = function handleDropdownClose() {
189
+ setDropdownIsActive(false);
190
+ };
191
+
192
+ return React__default['default'].createElement(ButtonWrapper, null, !singleAction ? React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(MainButtonContainer, {
193
+ dropdownItems: dropdownItems,
194
+ secondary: secondary,
195
+ outlined: outlined
196
+ }, React__default['default'].createElement(Button$1, defaultTheme._extends({
197
+ ref: forwardedRef,
198
+ onClick: onClickEffect,
199
+ singleAction: singleAction,
200
+ dropdownItems: dropdownItems,
201
+ secondary: secondary,
202
+ outlined: outlined,
203
+ block: block,
204
+ size: size,
205
+ disabled: disabled,
206
+ className: className,
207
+ "aria-busy": disabled
208
+ }, props), React__default['default'].createElement(ButtonContent, {
209
+ $loading: loadingState,
210
+ size: size
211
+ }, icon, children), React__default['default'].createElement(LoadingIndicator, {
212
+ $loading: loadingState,
213
+ style: {
214
+ opacity: loadingState ? 1 : 0
215
+ }
216
+ }, React__default['default'].createElement(LoadingIndicatorSvg, {
217
+ viewBox: "22 22 44 44"
218
+ }, React__default['default'].createElement(LoadingIndicatorSvgCircle, {
219
+ cx: "44",
220
+ cy: "44",
221
+ r: "18",
222
+ fill: "none",
223
+ strokeWidth: "4",
224
+ stroke: "currentColor",
225
+ style: {
226
+ strokeDashoffset: "".concat(loadingStep, "px")
227
+ }
228
+ }))))), dropdownItems && React__default['default'].createElement(DropdownButtonContainer, {
229
+ dropdownItems: dropdownItems,
230
+ secondary: secondary,
231
+ outlined: outlined
232
+ }, React__default['default'].createElement(Popover.Popover, {
233
+ content: React__default['default'].createElement(ContextMenu.ContextMenu, null, dropdownItems),
234
+ placement: 'bottom-end',
235
+ arrow: false,
236
+ contextMenu: true,
237
+ onHide: handleDropdownClose
238
+ }, React__default['default'].createElement(Button$1, {
239
+ ref: forwardedRef,
240
+ singleAction: singleAction,
241
+ dropdownItems: dropdownItems,
242
+ secondary: secondary,
243
+ outlined: outlined,
244
+ block: block,
245
+ size: size,
246
+ disabled: disabled,
247
+ onClick: handleDropdownButtonClick,
248
+ className: dropdownIsActive ? 'dropdown-is-active' : ''
249
+ }, React__default['default'].createElement(SvgExpandMore, null))))) : React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(MainButtonContainerSingle, {
250
+ dropdownItems: dropdownItems,
251
+ secondary: secondary,
252
+ outlined: outlined,
253
+ className: className
254
+ }, React__default['default'].createElement(DropdownButtonContainer, {
255
+ singleAction: singleAction
256
+ }, React__default['default'].createElement(Popover.Popover, {
257
+ content: React__default['default'].createElement(ContextMenu.ContextMenu, null, dropdownItems),
258
+ placement: 'bottom-end',
259
+ arrow: false,
260
+ contextMenu: true,
261
+ onHide: handleDropdownClose
262
+ }, React__default['default'].createElement(Button$1, {
263
+ ref: forwardedRef,
264
+ singleAction: singleAction,
265
+ dropdownItems: dropdownItems,
266
+ secondary: secondary,
267
+ outlined: outlined,
268
+ block: block,
269
+ size: size,
270
+ disabled: disabled,
271
+ onClick: handleDropdownButtonClick,
272
+ className: dropdownIsActive ? 'dropdown-is-active' : ''
273
+ }, React__default['default'].createElement(ButtonContent, {
274
+ $loading: loadingState,
275
+ size: size,
276
+ singleAction: singleAction
277
+ }, icon, children), React__default['default'].createElement(SvgExpandMore, null)))))));
278
+ });
279
+ Button.propTypes = process.env.NODE_ENV !== "production" ? {
280
+ onClickEffect: defaultTheme.PropTypes.func,
281
+ singleAction: defaultTheme.PropTypes.bool,
282
+ dropdownItems: defaultTheme.PropTypes.node,
283
+ secondary: defaultTheme.PropTypes.bool,
284
+ outlined: defaultTheme.PropTypes.bool,
285
+ block: defaultTheme.PropTypes.bool,
286
+ icon: defaultTheme.PropTypes.element,
287
+ size: defaultTheme.PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),
288
+ disabled: defaultTheme.PropTypes.bool,
289
+ loading: defaultTheme.PropTypes.bool,
290
+ className: defaultTheme.PropTypes.string,
291
+ children: defaultTheme.PropTypes.any.isRequired
292
+ } : {};
293
+ Button.defaultProps = {
294
+ size: 'normal',
295
+ singleHover: false
296
+ };
297
+
298
+ exports.Button = Button;
@@ -0,0 +1,242 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var lodash = require('lodash');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () {
20
+ return e[k];
21
+ }
22
+ });
23
+ }
24
+ });
25
+ }
26
+ n['default'] = e;
27
+ return Object.freeze(n);
28
+ }
29
+
30
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
32
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
33
+
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
35
+ var CompactStarRating$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 500;\n height: 24px;\n width: 100%;\n display: flex;\n align-items: center;\n\n ", "\n"])), function (props) {
36
+ return props.theme.primaryFontFamily;
37
+ }, function (props) {
38
+ return props.disabled && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n button {\n cursor: not-allowed;\n }\n > * {\n cursor: not-allowed;\n }\n "])));
39
+ });
40
+ var labelWidth = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n width: 33.3%;\n display: flex;\n align-items: center;\n text-align: left;\n font: normal normal normal 14px/16px Roboto;\n letter-spacing: 0px;\n padding: 0;\n height: 19px;\n\n ", "\n"])), function (props) {
41
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
42
+ });
43
+ var starsWidth = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n width: 66.6%;\n border-radius: 3px;\n height: 24px;\n\n ", "\n\n ", "\n"])), function (props) {
44
+ return props.error && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n "])), props.theme.themeProp('background', '#7F1B1B', '#FBEAE6'));
45
+ }, function (props) {
46
+ return props.warning && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n "])), props.theme.themeProp('background', '#634E01', '#FFFDE8'));
47
+ });
48
+ var Star = styled__default['default'].button.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n\n svg {\n height: 12px;\n padding-left: 4px;\n transition: color 250ms;\n }\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (props) {
49
+ return props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('black'));
50
+ }, function (props) {
51
+ return props.error && props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('black'));
52
+ }, function (props) {
53
+ return props.warning && props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('black'));
54
+ }, function (props) {
55
+ return props.hover && props.theme.themeProp('color', props.theme.getColor('orange-500'), props.theme.getColor('orange-500'));
56
+ });
57
+ var StarFill = styled__default['default'].button.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n\n svg {\n height: 12px;\n padding-left: 4px;\n transition: color 250ms;\n }\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (props) {
58
+ return props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('black'));
59
+ }, function (props) {
60
+ return props.error && props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('black'));
61
+ }, function (props) {
62
+ return props.warning && props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('black'));
63
+ }, function (props) {
64
+ return props.hover && props.theme.themeProp('color', props.theme.getColor('orange-500'), props.theme.getColor('orange-500'));
65
+ });
66
+
67
+ 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); }
68
+
69
+ var _ref$1 = /*#__PURE__*/React__namespace.createElement("path", {
70
+ fill: "currentColor",
71
+ d: "M12.2 31.8l7.8-4.7 7.9 4.8-2.1-8.9 6.9-6-9.1-.8L20 7.7l-3.5 8.4-9.1.8 6.9 6-2.1 8.9zM7.7 38L11 24 0 14.5l14.4-1.2L20 0l5.6 13.2L40 14.5 29.1 24l3.3 14L20 30.6 7.7 38z"
72
+ });
73
+
74
+ function SvgStar(props) {
75
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
76
+ xmlns: "http://www.w3.org/2000/svg",
77
+ viewBox: "0 0 40 38"
78
+ }, props), _ref$1);
79
+ }
80
+
81
+ 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); }
82
+
83
+ var _ref = /*#__PURE__*/React__namespace.createElement("path", {
84
+ fill: "currentColor",
85
+ d: "M7.65 38l3.25-14.05L0 14.5l14.4-1.25L20 0l5.6 13.25L40 14.5l-10.9 9.45L32.35 38 20 30.55 7.65 38z"
86
+ });
87
+
88
+ function SvgStarFilled(props) {
89
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
90
+ xmlns: "http://www.w3.org/2000/svg",
91
+ viewBox: "0 0 40 38"
92
+ }, props), _ref);
93
+ }
94
+
95
+ var CompactStarRating = React__default['default'].forwardRef(function CompactStarRating(_ref, forwardedRef) {
96
+ var label = _ref.label,
97
+ icon = _ref.icon,
98
+ iconFill = _ref.iconFill,
99
+ max = _ref.max,
100
+ defaultValue = _ref.defaultValue,
101
+ value = _ref.value,
102
+ viewEmpty = _ref.viewEmpty,
103
+ onChange = _ref.onChange,
104
+ onBlur = _ref.onBlur,
105
+ error = _ref.error,
106
+ warning = _ref.warning,
107
+ readOnly = _ref.readOnly,
108
+ props = defaultTheme._objectWithoutProperties(_ref, ["label", "icon", "iconFill", "max", "defaultValue", "value", "viewEmpty", "onChange", "onBlur", "error", "warning", "readOnly"]);
109
+
110
+ var stars = Array.from(Array(max).keys());
111
+
112
+ var _useState = React.useState(defaultValue),
113
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
114
+ rating = _useState2[0],
115
+ setRating = _useState2[1];
116
+
117
+ var _useState3 = React.useState(false),
118
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
119
+ hover = _useState4[0],
120
+ setHover = _useState4[1];
121
+
122
+ var _useState5 = React.useState(0),
123
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
124
+ tempRating = _useState6[0],
125
+ setTempRating = _useState6[1];
126
+
127
+ var inputRef = React.useRef();
128
+ React.useEffect(function () {
129
+ setRating(value);
130
+ }, [value]);
131
+ var hasError = React.useMemo(function () {
132
+ if (lodash.isBoolean(error)) {
133
+ return error;
134
+ }
135
+
136
+ return !lodash.isEmpty(error);
137
+ }, [error]);
138
+ var hasWarning = React.useMemo(function () {
139
+ if (lodash.isBoolean(warning)) {
140
+ return warning;
141
+ }
142
+
143
+ return !lodash.isEmpty(warning);
144
+ }, [warning]);
145
+ React.useEffect(function () {
146
+ var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
147
+ nativeInputValueSetter.call(inputRef.current, String(rating));
148
+ var ev2 = new Event('input', {
149
+ bubbles: true
150
+ });
151
+ ev2.simulated = true;
152
+ inputRef.current.dispatchEvent(ev2);
153
+ }, [rating]);
154
+
155
+ var starIconRender = function starIconRender(key) {
156
+ if (rating > 0 && rating >= key + 1) {
157
+ return React__default['default'].createElement(StarFill, {
158
+ disabled: readOnly,
159
+ onClick: function onClick() {
160
+ if (key + 1 > 1) {
161
+ return setRating(key + 1);
162
+ } else if (key + 1 == 1) {
163
+ setRating(function (current) {
164
+ return current === 1 ? 0 : key + 1;
165
+ });
166
+ }
167
+ },
168
+ onMouseEnter: function onMouseEnter() {
169
+ setTempRating(key + 1);
170
+ setHover(true);
171
+ },
172
+ onMouseLeave: function onMouseLeave() {
173
+ setTempRating(0);
174
+ setHover(false);
175
+ },
176
+ hover: hover && key + 1 <= tempRating,
177
+ warning: warning,
178
+ error: error,
179
+ key: key
180
+ }, iconFill);
181
+ } else if (viewEmpty) {
182
+ return React__default['default'].createElement(Star, {
183
+ disabled: readOnly,
184
+ onClick: function onClick() {
185
+ setRating(key + 1);
186
+ },
187
+ onMouseEnter: function onMouseEnter() {
188
+ setTempRating(key + 1);
189
+ setHover(true);
190
+ },
191
+ onMouseLeave: function onMouseLeave() {
192
+ setTempRating(0);
193
+ setHover(false);
194
+ },
195
+ hover: hover && key + 1 <= tempRating,
196
+ warning: warning,
197
+ error: error,
198
+ key: key
199
+ }, icon);
200
+ }
201
+ };
202
+
203
+ return React__default['default'].createElement(CompactStarRating$1, defaultTheme._extends({
204
+ disabled: readOnly,
205
+ ref: forwardedRef
206
+ }, props), React__default['default'].createElement(labelWidth, null, label), React__default['default'].createElement("input", {
207
+ type: "hidden",
208
+ ref: inputRef,
209
+ onChange: onChange,
210
+ onBlur: onBlur
211
+ }), React__default['default'].createElement(starsWidth, {
212
+ error: hasError,
213
+ warning: hasWarning
214
+ }, stars.map(function (key) {
215
+ return starIconRender(key);
216
+ })));
217
+ });
218
+ CompactStarRating.defaultProps = {
219
+ label: 'Rating',
220
+ max: 5,
221
+ value: 0,
222
+ defaultValue: 0,
223
+ viewEmpty: true,
224
+ icon: React__default['default'].createElement(SvgStar, null),
225
+ iconFill: React__default['default'].createElement(SvgStarFilled, null)
226
+ };
227
+ CompactStarRating.propTypes = process.env.NODE_ENV !== "production" ? {
228
+ value: defaultTheme.PropTypes.number,
229
+ defaultValue: defaultTheme.PropTypes.number,
230
+ label: defaultTheme.PropTypes.string,
231
+ icon: defaultTheme.PropTypes.element,
232
+ iconFill: defaultTheme.PropTypes.element,
233
+ max: defaultTheme.PropTypes.number,
234
+ viewEmpty: defaultTheme.PropTypes.bool,
235
+ onChange: defaultTheme.PropTypes.func,
236
+ onBlur: defaultTheme.PropTypes.func,
237
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
238
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
239
+ readOnly: defaultTheme.PropTypes.bool
240
+ } : {};
241
+
242
+ exports.CompactStarRating = CompactStarRating;
@@ -5,8 +5,11 @@ var React = require('react');
5
5
  var nanoid = require('nanoid');
6
6
  var lodash = require('lodash');
7
7
  var styled = require('styled-components');
8
- var Popover = require('./Popover-d3e2f6c0.js');
9
- var Tooltip = require('./Tooltip-f95a39f4.js');
8
+ var editNote = require('./edit-note-c47d292e.js');
9
+ var Popover = require('./Popover-616682bf.js');
10
+ var Tooltip = require('./Tooltip-860530ff.js');
11
+ require('./Tab-06b7a58d.js');
12
+ require('./Tabs-cfbf45fe.js');
10
13
  require('./Badge-86593df4.js');
11
14
 
12
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -36,13 +39,13 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
36
39
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
37
40
 
38
41
  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) {
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) {
40
43
  return props.theme.primaryFontFamily;
41
44
  });
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) {
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) {
43
46
  return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
44
47
  });
45
- var InputContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n flex-basis: ", ";\n"])), function (props) {
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) {
46
49
  return props.$hasLabel ? '66.66%' : '100%';
47
50
  });
48
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) {
@@ -58,7 +61,7 @@ var InputIconContainer = styled__default['default'].div.attrs(defaultTheme.apply
58
61
  }, function (props) {
59
62
  return props.error && props.theme.themeProp('color', '#CB968F', '#CB968F');
60
63
  });
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) {
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 ", ";\n\n ", ";\n }\n\n ", "\n"])), function (props) {
62
65
  return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
63
66
  }, function (props) {
64
67
  return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
@@ -91,7 +94,7 @@ var Input = styled__default['default'].input.attrs(defaultTheme.applyDefaultThem
91
94
  return props.theme.getColor('red-500');
92
95
  });
93
96
  }, function (props) {
94
- return props.theme.themeProp('color', props.theme.getColor('gray-600'), props.theme.getColor('gray-600'), 1);
97
+ return props.theme.themeProp('color', props.theme.getColor('gray-600'), props.theme.getColor('gray-600'));
95
98
  }, function (props) {
96
99
  return props.theme.themeProp('opacity', 0.6, 0.5, 1);
97
100
  }, function (props) {
@@ -101,20 +104,6 @@ var LinkPopoverContainer = styled__default['default'].div.attrs(defaultTheme.app
101
104
  return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('emerald-500'), 1);
102
105
  });
103
106
 
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
107
  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
108
 
120
109
  var _ref = /*#__PURE__*/React__namespace.createElement("path", {
@@ -247,7 +236,7 @@ var CompactTextInput = React__default['default'].forwardRef(function CompactText
247
236
  }), !readOnly && React__default['default'].createElement(InputIconContainer, {
248
237
  error: error,
249
238
  warning: warning
250
- }, React__default['default'].createElement(SvgEditNote, null))))));
239
+ }, React__default['default'].createElement(editNote.SvgEditNote, null))))));
251
240
  });
252
241
  CompactTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
253
242
  label: defaultTheme.PropTypes.string,