@ntbjs/react-components 0.0.1-beta.9 → 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.
Files changed (48) hide show
  1. package/ActionButton-90485300.js +43 -0
  2. package/AssetGallery-9bf4cd82.js +1403 -0
  3. package/AssetPreviewTopBar-a172fc5c.js +105 -0
  4. package/Badge-86593df4.js +146 -0
  5. package/Button-0d728b52.js +156 -0
  6. package/Checkbox-50f1f3c7.js +136 -0
  7. package/CompactTextInput-24126cf9.js +280 -0
  8. package/Popover-d3e2f6c0.js +97 -0
  9. package/README.md +1 -2
  10. package/Radio-0b46b2a8.js +83 -0
  11. package/SectionSeparator-12aff748.js +37 -0
  12. package/Switch-aa384260.js +104 -0
  13. package/TextArea-52cf4c0a.js +173 -0
  14. package/TextInput-a7c32f5f.js +250 -0
  15. package/Tooltip-f95a39f4.js +57 -0
  16. package/data/Badge/index.js +10 -0
  17. package/data/Popover/index.js +13 -5
  18. package/data/index.js +19 -6
  19. package/{defaultTheme-f1063879.js → defaultTheme-870f7df1.js} +15 -3
  20. package/icons/arrow-back.svg +4 -0
  21. package/icons/audio.svg +3 -0
  22. package/icons/check.svg +3 -0
  23. package/icons/close.svg +4 -0
  24. package/icons/edit-note.svg +4 -0
  25. package/icons/headset.svg +1 -0
  26. package/icons/library-add.svg +3 -0
  27. package/icons/link.svg +4 -0
  28. package/icons/search.svg +3 -0
  29. package/inputs/ActionButton/index.js +10 -4
  30. package/inputs/Button/index.js +10 -0
  31. package/inputs/Checkbox/index.js +12 -0
  32. package/inputs/CompactTextInput/index.js +17 -0
  33. package/inputs/Radio/index.js +12 -0
  34. package/inputs/Switch/index.js +12 -0
  35. package/inputs/TextArea/index.js +12 -0
  36. package/inputs/TextInput/index.js +12 -0
  37. package/inputs/index.js +33 -4
  38. package/layout/SectionSeparator/index.js +10 -0
  39. package/layout/index.js +12 -0
  40. package/package.json +13 -8
  41. package/ssr/index.js +14 -0
  42. package/widgets/AssetGallery/index.js +27 -10
  43. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +10 -0
  44. package/widgets/index.js +31 -10
  45. package/ActionButton-dfa33fb3.js +0 -36
  46. package/AssetGallery-92320d63.js +0 -970
  47. package/Popover-01b3e392.js +0 -80
  48. package/Tooltip-830b629b.js +0 -49
@@ -0,0 +1,173 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var nanoid = require('nanoid');
6
+ var styled = require('styled-components');
7
+ var lodash = require('lodash');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
+
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
15
+ var activeLabel = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n top: -7px;\n letter-spacing: 0.03em;\n left: 8px !important;\n opacity: 1 !important;\n"])));
16
+ var placeholderBaseStyle = styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n"])), function (props) {
17
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
18
+ }, function (props) {
19
+ return props.theme.themeProp('opacity', 0.6, 0.5);
20
+ });
21
+ var TextInputField = styled__default['default'].textarea.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n border-radius: 2px;\n padding: 13px 10px;\n resize: vertical;\n ", "\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n\n ", "\n ", "\n ", "\n\n &::placeholder {\n ", "\n\n ", "\n }\n\n :focus {\n outline: none;\n ", "\n }\n"])), function (props) {
22
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
23
+ }, function (props) {
24
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
25
+ }, function (props) {
26
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
27
+ }, function (props) {
28
+ return props.warning && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('orange-500'));
29
+ }, function (props) {
30
+ return props.error && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
31
+ }, function (props) {
32
+ return props.hasIcon && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 35px;\n "])));
33
+ }, function (props) {
34
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'), 1);
35
+ }, function (props) {
36
+ return props.theme.themeProp('opacity', 0.6, 0.5, 1);
37
+ }, function (props) {
38
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
39
+ });
40
+ var TextInputLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 13px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n\n ", ";\n\n ", "\n\n ", "\n\n content: \"\";\n\n ", "\n"])), placeholderBaseStyle, function (props) {
41
+ return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
42
+ }, function (props) {
43
+ return props.hasPlaceholder && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n ", "\n "])), activeLabel, props.error && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('red-500')));
44
+ }, function (props) {
45
+ return props.hasIcon && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n left: 35px;\n "])));
46
+ });
47
+ var TextInputFieldIcon = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n height: 2.625rem;\n display: flex;\n padding: 0 10px;\n\n svg {\n width: 15px;\n opacity: 0.6;\n transition: opacity 250ms;\n }\n"])));
48
+ var TextInput = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n\n &:focus-within {\n ", " {\n ", ";\n }\n\n ", " {\n svg {\n opacity: 1;\n }\n }\n }\n\n ", ":not(:placeholder-shown) + ", " {\n ", ";\n ", "\n // ", "\n ", "\n }\n\n ", "\n"])), TextInputLabel, activeLabel, TextInputFieldIcon, TextInputField, TextInputLabel, activeLabel, function (props) {
49
+ return props.error && props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'));
50
+ }, function (props) {
51
+ return props.error && styled.css(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n // color: ", " !important;\n //\n "])), props.theme.getColor('red-500'));
52
+ }, function (props) {
53
+ return props.warning && styled.css(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('orange-500'));
54
+ }, function (props) {
55
+ return props.disabled && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n\n > * {\n cursor: not-allowed;\n }\n "])));
56
+ });
57
+ var Description = styled__default['default'].p.attrs(defaultTheme.applyDefaultTheme)(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n margin: 8px 0 0 0;\n padding: 0 0.6875rem;\n font-size: 0.75rem;\n line-height: 1.333;\n\n ", ";\n\n ", "\n"])), function (props) {
58
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
59
+ }, function (props) {
60
+ return props.error && styled.css(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n content: 'error';\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
61
+ });
62
+
63
+ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forwardedRef) {
64
+ var value = _ref.value,
65
+ defaultValue = _ref.defaultValue,
66
+ name = _ref.name,
67
+ label = _ref.label,
68
+ placeholder = _ref.placeholder,
69
+ required = _ref.required,
70
+ disabled = _ref.disabled,
71
+ readOnly = _ref.readOnly,
72
+ autoComplete = _ref.autoComplete,
73
+ description = _ref.description,
74
+ error = _ref.error,
75
+ warning = _ref.warning,
76
+ icon = _ref.icon,
77
+ rows = _ref.rows,
78
+ className = _ref.className,
79
+ style = _ref.style,
80
+ onChange = _ref.onChange,
81
+ onBlur = _ref.onBlur,
82
+ rest = defaultTheme._objectWithoutProperties(_ref, ["value", "defaultValue", "name", "label", "placeholder", "required", "disabled", "readOnly", "autoComplete", "description", "error", "warning", "icon", "rows", "className", "style", "onChange", "onBlur"]);
83
+
84
+ var _useState = React.useState(nanoid.nanoid()),
85
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
86
+ uniqueId = _useState2[0];
87
+
88
+ var hasError = React.useMemo(function () {
89
+ if (lodash.isBoolean(error)) {
90
+ return error;
91
+ }
92
+
93
+ return !lodash.isEmpty(error);
94
+ }, [error]);
95
+ var hasWarning = React.useMemo(function () {
96
+ if (lodash.isBoolean(warning)) {
97
+ return warning;
98
+ }
99
+
100
+ return !lodash.isEmpty(warning);
101
+ }, [warning]);
102
+ var descriptionText = React.useMemo(function () {
103
+ if (!lodash.isEmpty(error)) {
104
+ return error;
105
+ }
106
+
107
+ if (!lodash.isEmpty(warning)) {
108
+ return warning;
109
+ }
110
+
111
+ if (!lodash.isEmpty(description)) {
112
+ return description;
113
+ }
114
+
115
+ return null;
116
+ }, [description, error, warning]);
117
+ return React__default['default'].createElement(TextInput, {
118
+ disabled: disabled || readOnly,
119
+ error: hasError,
120
+ warning: hasWarning,
121
+ className: className,
122
+ style: style
123
+ }, typeof icon !== 'undefined' && React__default['default'].createElement(TextInputFieldIcon, null, icon), React__default['default'].createElement(TextInputField, defaultTheme._extends({
124
+ ref: forwardedRef,
125
+ rows: rows,
126
+ value: value,
127
+ defaultValue: defaultValue,
128
+ name: name,
129
+ placeholder: placeholder || ' ',
130
+ required: required,
131
+ disabled: disabled || readOnly,
132
+ readOnly: readOnly,
133
+ autoComplete: autoComplete,
134
+ hasIcon: Boolean(icon),
135
+ error: hasError,
136
+ warning: hasWarning,
137
+ id: "text-input-".concat(uniqueId),
138
+ onChange: onChange,
139
+ onBlur: onBlur
140
+ }, rest)), label && React__default['default'].createElement(TextInputLabel, {
141
+ htmlFor: "text-input-".concat(uniqueId),
142
+ hasPlaceholder: Boolean(placeholder),
143
+ hasIcon: Boolean(icon),
144
+ error: hasError
145
+ }, label, required && ' *'), typeof descriptionText === 'string' && descriptionText.length > 0 && React__default['default'].createElement(Description, {
146
+ error: hasError
147
+ }, descriptionText));
148
+ });
149
+ TextArea.defaultProps = {
150
+ rows: 4
151
+ };
152
+ TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
153
+ value: defaultTheme.PropTypes.string,
154
+ defaultValue: defaultTheme.PropTypes.string,
155
+ name: defaultTheme.PropTypes.string,
156
+ label: defaultTheme.PropTypes.string,
157
+ placeholder: defaultTheme.PropTypes.string,
158
+ required: defaultTheme.PropTypes.bool,
159
+ disabled: defaultTheme.PropTypes.bool,
160
+ readOnly: defaultTheme.PropTypes.bool,
161
+ autoComplete: defaultTheme.PropTypes.string,
162
+ description: defaultTheme.PropTypes.string,
163
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
164
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
165
+ icon: defaultTheme.PropTypes.element,
166
+ rows: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.number, defaultTheme.PropTypes.string]),
167
+ className: defaultTheme.PropTypes.string,
168
+ style: defaultTheme.PropTypes.object,
169
+ onChange: defaultTheme.PropTypes.func,
170
+ onBlur: defaultTheme.PropTypes.func
171
+ } : {};
172
+
173
+ exports.TextArea = TextArea;
@@ -0,0 +1,250 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var nanoid = require('nanoid');
6
+ var styled = require('styled-components');
7
+ var lodash = require('lodash');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
+
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22;
15
+ var activeLabel = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n top: -7px;\n letter-spacing: 0.03em;\n left: 8px !important;\n opacity: 1 !important;\n"])));
16
+ var Adornment = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n flex-shrink: 0;\n font-family: inherit;\n font-size: 0.875rem;\n line-height: initial;\n padding: 13px 10px;\n ", "\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n z-index: 1;\n ", "\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n height: 2.75rem;\n\n ", "\n ", "\n"])), function (props) {
17
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
18
+ }, function (props) {
19
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
20
+ }, function (props) {
21
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
22
+ }, function (props) {
23
+ return props.isPrefix ? styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n padding-right: 0;\n margin-right: -3px;\n border-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n "]))) : styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 0;\n margin-left: -3px;\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n "])));
24
+ }, function (props) {
25
+ return props.warning && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('orange-500'));
26
+ }, function (props) {
27
+ return props.error && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
28
+ });
29
+ var TextInputWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-content: center;\n\n &:focus-within {\n ", " {\n outline: none;\n ", "\n }\n }\n"])), Adornment, function (props) {
30
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'), 1);
31
+ });
32
+ var TextInputField = styled__default['default'].input.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n line-height: 1;\n padding: 13px 10px;\n ", "\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n height: 2.75rem !important; // important is needed to override the default Foundation styling used in the Mediebank\n margin-bottom: 0; // needed to override the default Foundation styling used in the Mediebank\n\n ", "\n ", "\n ", "\n\n &::placeholder {\n ", "\n\n ", "\n }\n\n :focus {\n outline: none;\n ", "\n }\n"])), function (props) {
33
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
34
+ }, function (props) {
35
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
36
+ }, function (props) {
37
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
38
+ }, function (props) {
39
+ return props.warning && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('orange-500'));
40
+ }, function (props) {
41
+ return props.error && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
42
+ }, function (props) {
43
+ return props.hasIcon && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 35px;\n "])));
44
+ }, function (props) {
45
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'), 1);
46
+ }, function (props) {
47
+ return props.theme.themeProp('opacity', 0.6, 0.5, 1);
48
+ }, function (props) {
49
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
50
+ });
51
+ var TextInputLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n z-index: 1;\n top: 15px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n content: \"\";\n\n ", "\n"])), function (props) {
52
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
53
+ }, function (props) {
54
+ return props.theme.themeProp('opacity', 0.6, 0.5);
55
+ }, function (props) {
56
+ return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
57
+ }, function (props) {
58
+ return (props.hasPlaceholder || props.hasAdornments) && styled.css(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n ", "\n "])), activeLabel, props.error && styled.css(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('red-500')));
59
+ }, function (props) {
60
+ return props.hasIcon && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n left: 35px;\n "])));
61
+ });
62
+ var TextInputFieldIcon = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n height: 2.625rem;\n display: flex;\n padding: 0 10px;\n\n svg {\n width: 15px;\n opacity: 0.6;\n transition: opacity 250ms;\n }\n"])));
63
+ var TextInput$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n\n &:focus-within {\n ", " {\n ", ";\n }\n\n ", " {\n svg {\n opacity: 1;\n }\n }\n }\n\n ", ":not(:placeholder-shown) + ", " {\n ", ";\n ", "\n // ", "\n ", "\n }\n\n ", "\n"])), TextInputLabel, activeLabel, TextInputFieldIcon, TextInputField, TextInputLabel, activeLabel, function (props) {
64
+ return props.error && props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'));
65
+ }, function (props) {
66
+ return props.error && styled.css(_templateObject18 || (_templateObject18 = defaultTheme._taggedTemplateLiteral(["\n // color: ", " !important;\n //\n "])), props.theme.getColor('red-500'));
67
+ }, function (props) {
68
+ return props.warning && styled.css(_templateObject19 || (_templateObject19 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('orange-500'));
69
+ }, function (props) {
70
+ return props.disabled && styled.css(_templateObject20 || (_templateObject20 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n\n > * {\n cursor: not-allowed;\n }\n "])));
71
+ });
72
+ var Description = styled__default['default'].p.attrs(defaultTheme.applyDefaultTheme)(_templateObject21 || (_templateObject21 = defaultTheme._taggedTemplateLiteral(["\n margin: 8px 0 0 0;\n padding: 0 0.6875rem;\n font-size: 0.75rem;\n line-height: 1.333;\n\n ", ";\n\n ", "\n"])), function (props) {
73
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
74
+ }, function (props) {
75
+ return props.error && styled.css(_templateObject22 || (_templateObject22 = defaultTheme._taggedTemplateLiteral(["\n content: 'error';\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
76
+ });
77
+
78
+ var toFnRef = function toFnRef(ref) {
79
+ return !ref || typeof ref === 'function' ? ref : function (value) {
80
+ ref.current = value;
81
+ };
82
+ };
83
+
84
+ function mergeRefs(refA, refB) {
85
+ var a = toFnRef(refA);
86
+ var b = toFnRef(refB);
87
+ return function (value) {
88
+ if (a) a(value);
89
+ if (b) b(value);
90
+ };
91
+ }
92
+ /**
93
+ * Create and returns a single callback ref composed from two other Refs.
94
+ *
95
+ * ```tsx
96
+ * const Button = React.forwardRef((props, ref) => {
97
+ * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();
98
+ * const mergedRef = useMergedRefs(ref, attachRef);
99
+ *
100
+ * return <button ref={mergedRef} {...props}/>
101
+ * })
102
+ * ```
103
+ *
104
+ * @param refA A Callback or mutable Ref
105
+ * @param refB A Callback or mutable Ref
106
+ * @category refs
107
+ */
108
+
109
+ function useMergedRefs(refA, refB) {
110
+ return React.useMemo(function () {
111
+ return mergeRefs(refA, refB);
112
+ }, [refA, refB]);
113
+ }
114
+
115
+ var TextInput = React__default['default'].forwardRef(function TextInput(_ref, forwardedRef) {
116
+ var value = _ref.value,
117
+ defaultValue = _ref.defaultValue,
118
+ name = _ref.name,
119
+ label = _ref.label,
120
+ placeholder = _ref.placeholder,
121
+ type = _ref.type,
122
+ required = _ref.required,
123
+ disabled = _ref.disabled,
124
+ readOnly = _ref.readOnly,
125
+ autoComplete = _ref.autoComplete,
126
+ description = _ref.description,
127
+ error = _ref.error,
128
+ warning = _ref.warning,
129
+ icon = _ref.icon,
130
+ adornments = _ref.adornments,
131
+ className = _ref.className,
132
+ style = _ref.style,
133
+ onChange = _ref.onChange,
134
+ onBlur = _ref.onBlur,
135
+ rest = defaultTheme._objectWithoutProperties(_ref, ["value", "defaultValue", "name", "label", "placeholder", "type", "required", "disabled", "readOnly", "autoComplete", "description", "error", "warning", "icon", "adornments", "className", "style", "onChange", "onBlur"]);
136
+
137
+ var textInputDomNode = React.useRef(null);
138
+ var textInputRef = useMergedRefs(forwardedRef, textInputDomNode);
139
+
140
+ var _useState = React.useState(nanoid.nanoid()),
141
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
142
+ uniqueId = _useState2[0];
143
+
144
+ var hasError = React.useMemo(function () {
145
+ if (lodash.isBoolean(error)) {
146
+ return error;
147
+ }
148
+
149
+ return !lodash.isEmpty(error);
150
+ }, [error]);
151
+ var hasWarning = React.useMemo(function () {
152
+ if (lodash.isBoolean(warning)) {
153
+ return warning;
154
+ }
155
+
156
+ return !lodash.isEmpty(warning);
157
+ }, [warning]);
158
+ var descriptionText = React.useMemo(function () {
159
+ if (!lodash.isEmpty(error)) {
160
+ return error;
161
+ }
162
+
163
+ if (!lodash.isEmpty(warning)) {
164
+ return warning;
165
+ }
166
+
167
+ if (!lodash.isEmpty(description)) {
168
+ return description;
169
+ }
170
+
171
+ return null;
172
+ }, [description, error, warning]);
173
+ return React__default['default'].createElement(TextInput$1, {
174
+ disabled: disabled || readOnly,
175
+ error: hasError,
176
+ warning: hasWarning,
177
+ className: className,
178
+ style: style
179
+ }, typeof icon !== 'undefined' && React__default['default'].createElement(TextInputFieldIcon, null, icon), React__default['default'].createElement(TextInputWrapper, null, typeof (adornments === null || adornments === void 0 ? void 0 : adornments.prefix) === 'string' && adornments.prefix.length > 0 && React__default['default'].createElement(Adornment, {
180
+ htmlFor: "text-input-".concat(uniqueId),
181
+ error: hasError,
182
+ warning: hasWarning,
183
+ isPrefix: true,
184
+ onClick: function onClick() {
185
+ return textInputDomNode.current.focus();
186
+ }
187
+ }, adornments.prefix), React__default['default'].createElement(TextInputField, defaultTheme._extends({
188
+ ref: textInputRef,
189
+ value: value,
190
+ defaultValue: defaultValue,
191
+ name: name,
192
+ placeholder: placeholder || ' ',
193
+ type: type,
194
+ required: required,
195
+ disabled: disabled || readOnly,
196
+ readOnly: readOnly,
197
+ autoComplete: autoComplete,
198
+ hasIcon: Boolean(icon),
199
+ error: hasError,
200
+ warning: hasWarning,
201
+ id: "text-input-".concat(uniqueId),
202
+ onChange: onChange,
203
+ onBlur: onBlur
204
+ }, rest)), label && React__default['default'].createElement(TextInputLabel, {
205
+ htmlFor: "text-input-".concat(uniqueId),
206
+ hasPlaceholder: Boolean(placeholder),
207
+ hasAdornments: Boolean(typeof (adornments === null || adornments === void 0 ? void 0 : adornments.prefix) === 'string' && adornments.prefix.length > 0 || typeof (adornments === null || adornments === void 0 ? void 0 : adornments.suffix) === 'string' && adornments.suffix.length > 0),
208
+ hasIcon: Boolean(icon),
209
+ error: hasError
210
+ }, label, required && ' *'), typeof (adornments === null || adornments === void 0 ? void 0 : adornments.suffix) === 'string' && adornments.suffix.length > 0 && React__default['default'].createElement(Adornment, {
211
+ error: hasError,
212
+ warning: hasWarning,
213
+ isPrefix: false,
214
+ onClick: function onClick() {
215
+ return textInputDomNode.current.focus();
216
+ }
217
+ }, adornments.suffix)), typeof descriptionText === 'string' && descriptionText.length > 0 && React__default['default'].createElement(Description, {
218
+ error: hasError
219
+ }, descriptionText));
220
+ });
221
+ TextInput.defaultProps = {
222
+ type: 'text'
223
+ };
224
+ TextInput.propTypes = process.env.NODE_ENV !== "production" ? {
225
+ value: defaultTheme.PropTypes.string,
226
+ defaultValue: defaultTheme.PropTypes.string,
227
+ name: defaultTheme.PropTypes.string,
228
+ label: defaultTheme.PropTypes.string,
229
+ placeholder: defaultTheme.PropTypes.string,
230
+ type: defaultTheme.PropTypes.string,
231
+ required: defaultTheme.PropTypes.bool,
232
+ disabled: defaultTheme.PropTypes.bool,
233
+ readOnly: defaultTheme.PropTypes.bool,
234
+ autoComplete: defaultTheme.PropTypes.string,
235
+ description: defaultTheme.PropTypes.string,
236
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
237
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
238
+ icon: defaultTheme.PropTypes.element,
239
+ adornments: defaultTheme.PropTypes.shape({
240
+ prefix: defaultTheme.PropTypes.string,
241
+ suffix: defaultTheme.PropTypes.string
242
+ }),
243
+ className: defaultTheme.PropTypes.string,
244
+ style: defaultTheme.PropTypes.object,
245
+ onChange: defaultTheme.PropTypes.func,
246
+ onBlur: defaultTheme.PropTypes.func
247
+ } : {};
248
+
249
+ exports.TextInput = TextInput;
250
+ exports.useMergedRefs = useMergedRefs;
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var TippyTooltip = require('@tippyjs/react');
7
+ require('./Popover-d3e2f6c0.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
+ var TippyTooltip__default = /*#__PURE__*/_interopDefaultLegacy(TippyTooltip);
14
+
15
+ var _templateObject;
16
+ var Tooltip$1 = styled__default['default'](TippyTooltip__default['default']).attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 400;\n background: ", ";\n border-radius: 3px;\n\n .tippy-content {\n padding: 9px 12px;\n }\n\n .tippy-arrow {\n color: ", ";\n }\n\n a {\n color: inherit;\n }\n"])), function (props) {
17
+ return props.theme.primaryFontFamily;
18
+ }, function (props) {
19
+ return props.theme.getColor('gray-700');
20
+ }, function (props) {
21
+ return props.theme.getColor('gray-700');
22
+ });
23
+
24
+ var Tooltip = React__default['default'].forwardRef(function Tooltip(_ref, ref) {
25
+ var content = _ref.content,
26
+ interactive = _ref.interactive,
27
+ placement = _ref.placement,
28
+ duration = _ref.duration,
29
+ children = _ref.children,
30
+ props = defaultTheme._objectWithoutProperties(_ref, ["content", "interactive", "placement", "duration", "children"]);
31
+
32
+ return React__default['default'].createElement(Tooltip$1, defaultTheme._extends({
33
+ ref: ref,
34
+ content: content,
35
+ interactive: interactive,
36
+ placement: placement,
37
+ duration: duration,
38
+ animation: 'shift-away-subtle'
39
+ }, props), children);
40
+ });
41
+ Tooltip.propTypes = process.env.NODE_ENV !== "production" ? {
42
+ content: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.string, defaultTheme.PropTypes.element]).isRequired,
43
+ interactive: defaultTheme.PropTypes.bool,
44
+ placement: defaultTheme.PropTypes.oneOf(['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'auto', 'auto-start', 'auto-end']),
45
+ duration: defaultTheme.PropTypes.number,
46
+ trigger: defaultTheme.PropTypes.string,
47
+ children: defaultTheme.PropTypes.node.isRequired
48
+ } : {};
49
+ Tooltip.defaultProps = {
50
+ content: 'Tooltip',
51
+ interactive: false,
52
+ placement: 'top',
53
+ duration: 350,
54
+ trigger: 'mouseenter focus'
55
+ };
56
+
57
+ exports.Tooltip = Tooltip;
@@ -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;
@@ -1,5 +1,13 @@
1
- export { P as default } from '../../Popover-01b3e392.js';
2
- import '../../defaultTheme-f1063879.js';
3
- import 'styled-components';
4
- import 'react';
5
- import '@tippyjs/react';
1
+ 'use strict';
2
+
3
+ var Popover = require('../../Popover-d3e2f6c0.js');
4
+ require('../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+ require('lodash');
8
+ require('polished');
9
+ require('@tippyjs/react');
10
+
11
+
12
+
13
+ module.exports = Popover.Popover;
package/data/index.js CHANGED
@@ -1,6 +1,19 @@
1
- export { P as Popover } from '../Popover-01b3e392.js';
2
- export { T as Tooltip } from '../Tooltip-830b629b.js';
3
- import '../defaultTheme-f1063879.js';
4
- import 'styled-components';
5
- import 'react';
6
- import '@tippyjs/react';
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Popover = require('../Popover-d3e2f6c0.js');
6
+ var Tooltip = require('../Tooltip-f95a39f4.js');
7
+ var Badge = require('../Badge-86593df4.js');
8
+ require('../defaultTheme-870f7df1.js');
9
+ require('styled-components');
10
+ require('react');
11
+ require('lodash');
12
+ require('polished');
13
+ require('@tippyjs/react');
14
+
15
+
16
+
17
+ exports.Popover = Popover.Popover;
18
+ exports.Tooltip = Tooltip.Tooltip;
19
+ exports.Badge = Badge.Badge;
@@ -1,4 +1,6 @@
1
- import { css } from 'styled-components';
1
+ 'use strict';
2
+
3
+ var styled = require('styled-components');
2
4
 
3
5
  function ownKeys(object, enumerableOnly) {
4
6
  var keys = Object.keys(object);
@@ -1319,7 +1321,9 @@ var defaultTheme = {
1319
1321
  };
1320
1322
 
1321
1323
  function themeProp(property, darkMode, lightMode) {
1322
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n body.dark-theme & {\n ", ": ", ";\n }\n\n body.light-theme & {\n ", ": ", ";\n }\n\n body:not(.light-theme):not(.dark-theme) & {\n ", ": ", ";\n\n @media (prefers-color-scheme: dark) {\n ", ": ", ";\n }\n }\n "])), property, darkMode, property, lightMode, property, lightMode, property, darkMode);
1324
+ var specificity = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;
1325
+ var specificityString = Array(specificity).fill("&").join("");
1326
+ return styled.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n body.dark-theme ", " {\n ", ": ", ";\n }\n\n body.light-theme ", " {\n ", ": ", ";\n }\n\n body:not(.light-theme):not(.dark-theme) ", " {\n ", ": ", ";\n\n @media (prefers-color-scheme: dark) {\n ", ": ", ";\n }\n }\n "])), specificityString, property, darkMode, specificityString, property, lightMode, specificityString, property, lightMode, property, darkMode);
1323
1327
  }
1324
1328
 
1325
1329
  function applyDefaultTheme(_ref) {
@@ -1332,4 +1336,12 @@ function applyDefaultTheme(_ref) {
1332
1336
  });
1333
1337
  }
1334
1338
 
1335
- export { PropTypes as P, _taggedTemplateLiteral as _, applyDefaultTheme as a, _objectWithoutProperties as b, _extends as c, _objectSpread2 as d, _slicedToArray as e, _toConsumableArray as f, styleInject as s };
1339
+ exports.PropTypes = PropTypes;
1340
+ exports._extends = _extends;
1341
+ exports._objectSpread2 = _objectSpread2;
1342
+ exports._objectWithoutProperties = _objectWithoutProperties;
1343
+ exports._slicedToArray = _slicedToArray;
1344
+ exports._taggedTemplateLiteral = _taggedTemplateLiteral;
1345
+ exports._toConsumableArray = _toConsumableArray;
1346
+ exports.applyDefaultTheme = applyDefaultTheme;
1347
+ exports.styleInject = styleInject;
@@ -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,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.86 24">
2
+ <path fill="currentColor" d="M10 21q-1.65 0-2.825-1.175Q6 18.65 6 17q0-1.65 1.175-2.825Q8.35 13 10 13q.575 0 1.062.137.488.138.938.413V3h6v4h-4v10q0 1.65-1.175 2.825Q11.65 21 10 21Z"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 18.2968">
2
+ <path fill="currentColor" d="M7.6271,14.4355l-5.69-5.69L0,10.67l7.6271,7.6271L24,1.9238,22.0762,0Z"/>
3
+ </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>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"><path d="M9 21H5q-.825 0-1.413-.587Q3 19.825 3 19v-7q0-1.875.712-3.513.713-1.637 1.926-2.85 1.212-1.212 2.85-1.925Q10.125 3 12 3t3.513.712q1.637.713 2.85 1.925 1.212 1.213 1.925 2.85Q21 10.125 21 12v7q0 .825-.587 1.413Q19.825 21 19 21h-4v-8h4v-1q0-2.925-2.038-4.963Q14.925 5 12 5T7.038 7.037Q5 9.075 5 12v1h4Zm-2-6H5v4h2Zm10 0v4h2v-4Zm0 0h2-2ZM7 15H5Z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path fill="currentColor" d="M2.4,4.8H0V21.6A2.4071,2.4071,0,0,0,2.4,24H19.2V21.6H2.4ZM21.6,0H7.2A2.4071,2.4071,0,0,0,4.8,2.4V16.8a2.4071,2.4071,0,0,0,2.4,2.4H21.6A2.4071,2.4071,0,0,0,24,16.8V2.4A2.4071,2.4071,0,0,0,21.6,0Zm0,16.8H7.2V2.4H21.6Zm-8.4-2.4h2.4V10.8h3.6V8.4H15.6V4.8H13.2V8.4H9.6v2.4h3.6Z"/>
3
+ </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,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path fill="currentColor" d="M17.1527,15.0943H16.0686l-.3842-.37a8.933,8.933,0,1,0-.9606.9606l.37.3842v1.0841L21.9554,24,24,21.9554Zm-8.2333,0a6.175,6.175,0,1,1,6.1749-6.1749A6.1667,6.1667,0,0,1,8.9194,15.0943Z"/>
3
+ </svg>
@@ -1,4 +1,10 @@
1
- export { A as default } from '../../ActionButton-dfa33fb3.js';
2
- import '../../defaultTheme-f1063879.js';
3
- import 'styled-components';
4
- import 'react';
1
+ 'use strict';
2
+
3
+ var ActionButton = require('../../ActionButton-90485300.js');
4
+ require('../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+
8
+
9
+
10
+ module.exports = ActionButton.ActionButton;