@propellerads/tags-input 5.0.0 → 5.0.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.
- package/dist/tags-input.cjs.development.js +78 -183
- package/dist/tags-input.cjs.development.js.map +1 -1
- package/dist/tags-input.cjs.production.min.js +1 -1
- package/dist/tags-input.cjs.production.min.js.map +1 -1
- package/dist/tags-input.esm.js +78 -183
- package/dist/tags-input.esm.js.map +1 -1
- package/package.json +9 -10
|
@@ -17,117 +17,36 @@ var styled = _interopDefault(require('styled-components'));
|
|
|
17
17
|
var stylevariables = require('@propellerads/stylevariables');
|
|
18
18
|
|
|
19
19
|
function _extends() {
|
|
20
|
-
_extends = Object.assign
|
|
21
|
-
for (var
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
for (var key in source) {
|
|
25
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
26
|
-
target[key] = source[key];
|
|
27
|
-
}
|
|
28
|
-
}
|
|
20
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
21
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
22
|
+
var t = arguments[e];
|
|
23
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
29
24
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
return _extends.apply(this, arguments);
|
|
25
|
+
return n;
|
|
26
|
+
}, _extends.apply(null, arguments);
|
|
35
27
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
44
|
-
key = sourceKeys[i];
|
|
45
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
46
|
-
target[key] = source[key];
|
|
28
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
29
|
+
if (null == r) return {};
|
|
30
|
+
var t = {};
|
|
31
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
32
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
33
|
+
t[n] = r[n];
|
|
47
34
|
}
|
|
48
|
-
|
|
49
|
-
return target;
|
|
35
|
+
return t;
|
|
50
36
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (!raw) {
|
|
54
|
-
raw = strings.slice(0);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
strings.raw = raw;
|
|
58
|
-
return strings;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
62
|
-
if (!o) return;
|
|
63
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
64
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
65
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
66
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
67
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function _arrayLikeToArray(arr, len) {
|
|
71
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
72
|
-
|
|
73
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
74
|
-
|
|
75
|
-
return arr2;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
79
|
-
var it;
|
|
80
|
-
|
|
81
|
-
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
|
|
82
|
-
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
83
|
-
if (it) o = it;
|
|
84
|
-
var i = 0;
|
|
85
|
-
return function () {
|
|
86
|
-
if (i >= o.length) return {
|
|
87
|
-
done: true
|
|
88
|
-
};
|
|
89
|
-
return {
|
|
90
|
-
done: false,
|
|
91
|
-
value: o[i++]
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
it = o[Symbol.iterator]();
|
|
100
|
-
return it.next.bind(it);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function _templateObject2() {
|
|
104
|
-
var data = _taggedTemplateLiteralLoose(["\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ", "px;\n align-items: center;\n"]);
|
|
105
|
-
|
|
106
|
-
_templateObject2 = function _templateObject2() {
|
|
107
|
-
return data;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
return data;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function _templateObject() {
|
|
114
|
-
var data = _taggedTemplateLiteralLoose(["\n position: relative;\n"]);
|
|
115
|
-
|
|
116
|
-
_templateObject = function _templateObject() {
|
|
117
|
-
return data;
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
return data;
|
|
37
|
+
function _taggedTemplateLiteralLoose(e, t) {
|
|
38
|
+
return t || (t = e.slice(0)), e.raw = t, e;
|
|
121
39
|
}
|
|
122
|
-
var StyledTagsInput = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject());
|
|
123
|
-
var TagsInputErrors = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject2(), stylevariables.lineHeight);
|
|
124
40
|
|
|
41
|
+
var _templateObject, _templateObject2;
|
|
42
|
+
var StyledTagsInput = /*#__PURE__*/styled.div(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n"])));
|
|
43
|
+
var TagsInputErrors = /*#__PURE__*/styled.div(_templateObject2 || (_templateObject2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ", "px;\n align-items: center;\n"])), stylevariables.lineHeight);
|
|
125
44
|
var prepareStyles = function prepareStyles(customActionColor) {
|
|
126
45
|
var mainColor = customActionColor || stylevariables.actionColor;
|
|
127
46
|
return {
|
|
128
47
|
control: function control(styles, _ref) {
|
|
129
48
|
var isFocused = _ref.isFocused,
|
|
130
|
-
|
|
49
|
+
isDisabled = _ref.isDisabled;
|
|
131
50
|
return _extends({}, styles, {
|
|
132
51
|
borderRadius: stylevariables.borderRadius,
|
|
133
52
|
backgroundColor: isDisabled ? '#ededed' : '#fff',
|
|
@@ -240,65 +159,56 @@ var prepareStyles = function prepareStyles(customActionColor) {
|
|
|
240
159
|
};
|
|
241
160
|
};
|
|
242
161
|
|
|
162
|
+
var _excluded = ["ref"];
|
|
163
|
+
// regexps by priority
|
|
243
164
|
var REGEXPS = [/(?:\b|\B)\n+\b/, /(?:\b|\B),\s\b/, /(?:\b|\B),+\b/];
|
|
244
|
-
|
|
245
165
|
function splitString(value) {
|
|
246
166
|
var splits = [];
|
|
247
|
-
var specialHandle = false;
|
|
248
|
-
|
|
249
|
-
for (var
|
|
250
|
-
var regex =
|
|
167
|
+
var specialHandle = false;
|
|
168
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
169
|
+
for (var _i = 0, _REGEXPS = REGEXPS; _i < _REGEXPS.length; _i++) {
|
|
170
|
+
var regex = _REGEXPS[_i];
|
|
251
171
|
splits = value.split(regex);
|
|
252
|
-
|
|
253
172
|
if (splits.length > 1) {
|
|
254
173
|
break;
|
|
255
174
|
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
|
|
175
|
+
}
|
|
176
|
+
// special case. Need handle in special way
|
|
259
177
|
if (splits.length === 1) {
|
|
260
178
|
splits = value.split(/\b\s+\b/);
|
|
261
179
|
specialHandle = splits.length > 1;
|
|
262
180
|
}
|
|
263
|
-
|
|
264
181
|
return {
|
|
265
182
|
splits: splits,
|
|
266
183
|
specialHandle: specialHandle
|
|
267
184
|
};
|
|
268
185
|
}
|
|
269
|
-
|
|
270
186
|
function searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {
|
|
271
187
|
var _splitString = splitString(pastedValue),
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
188
|
+
splits = _splitString.splits,
|
|
189
|
+
specialHandle = _splitString.specialHandle;
|
|
275
190
|
if (specialHandle) {
|
|
276
191
|
var rawPastedString = splits.join(' ').toLowerCase();
|
|
277
192
|
return availableOptions.sort(function (firstEl, secondEl) {
|
|
278
193
|
if (firstEl.label.length > secondEl.label.length) {
|
|
279
194
|
return -1;
|
|
280
195
|
}
|
|
281
|
-
|
|
282
196
|
if (firstEl.label.length < secondEl.label.length) {
|
|
283
197
|
return 1;
|
|
284
198
|
}
|
|
285
|
-
|
|
286
199
|
return 0;
|
|
287
200
|
}).filter(function (option) {
|
|
288
201
|
return searchableKeys.reduce(function (prevValue, currValue) {
|
|
289
202
|
var optionValue = String(option[currValue]).toLowerCase();
|
|
290
203
|
var position = rawPastedString.search(optionValue);
|
|
291
204
|
var condition = position !== -1;
|
|
292
|
-
|
|
293
205
|
if (condition) {
|
|
294
206
|
rawPastedString = rawPastedString.replace(optionValue, '');
|
|
295
207
|
}
|
|
296
|
-
|
|
297
208
|
return prevValue || condition;
|
|
298
209
|
}, false);
|
|
299
210
|
});
|
|
300
211
|
}
|
|
301
|
-
|
|
302
212
|
return splits.map(function (splitValue) {
|
|
303
213
|
return availableOptions.find(function (option) {
|
|
304
214
|
var comparableValue = splitValue.trim().toLowerCase();
|
|
@@ -310,14 +220,12 @@ function searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {
|
|
|
310
220
|
});
|
|
311
221
|
}).filter(Boolean);
|
|
312
222
|
}
|
|
313
|
-
|
|
314
223
|
var _ClearIndicator = function ClearIndicator(props) {
|
|
315
224
|
var elementId = props.elementId,
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
225
|
+
getStyles = props.getStyles,
|
|
226
|
+
_props$innerProps = props.innerProps,
|
|
227
|
+
ref = _props$innerProps.ref,
|
|
228
|
+
restInnerProps = _objectWithoutPropertiesLoose(_props$innerProps, _excluded);
|
|
321
229
|
return React__default.createElement("div", Object.assign({}, restInnerProps, {
|
|
322
230
|
ref: ref,
|
|
323
231
|
style: getStyles('clearIndicator', props),
|
|
@@ -328,61 +236,56 @@ var _ClearIndicator = function ClearIndicator(props) {
|
|
|
328
236
|
size: icon.SIZE.MEDIUM_SMALL
|
|
329
237
|
}));
|
|
330
238
|
};
|
|
331
|
-
|
|
332
239
|
var TagsInput = function TagsInput(props) {
|
|
333
240
|
var reactSelectElement = React.useRef(null);
|
|
334
|
-
|
|
335
241
|
var _useState = React.useState(false),
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
242
|
+
showMinLenTip = _useState[0],
|
|
243
|
+
setShowMinLenTip = _useState[1];
|
|
339
244
|
var _props$components = props.components,
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
245
|
+
components = _props$components === void 0 ? {} : _props$components,
|
|
246
|
+
_props$customStyles = props.customStyles,
|
|
247
|
+
customStyles = _props$customStyles === void 0 ? {} : _props$customStyles,
|
|
248
|
+
elementId = props.elementId,
|
|
249
|
+
_props$errors = props.errors,
|
|
250
|
+
errors = _props$errors === void 0 ? [] : _props$errors,
|
|
251
|
+
_props$isAsync = props.isAsync,
|
|
252
|
+
isAsync = _props$isAsync === void 0 ? false : _props$isAsync,
|
|
253
|
+
_props$isErrorLabelVi = props.isErrorLabelVisible,
|
|
254
|
+
isErrorLabelVisible = _props$isErrorLabelVi === void 0 ? false : _props$isErrorLabelVi,
|
|
255
|
+
onChange = props.onChange,
|
|
256
|
+
_props$onInputChange = props.onInputChange,
|
|
257
|
+
onInputChange = _props$onInputChange === void 0 ? null : _props$onInputChange,
|
|
258
|
+
_props$filterOption = props.filterOption,
|
|
259
|
+
filterOption = _props$filterOption === void 0 ? null : _props$filterOption,
|
|
260
|
+
_props$options = props.options,
|
|
261
|
+
options = _props$options === void 0 ? [] : _props$options,
|
|
262
|
+
_props$promiseOptions = props.promiseOptions,
|
|
263
|
+
promiseOptions = _props$promiseOptions === void 0 ? function () {
|
|
264
|
+
return Promise.resolve();
|
|
265
|
+
} : _props$promiseOptions,
|
|
266
|
+
_props$searchableKeys = props.searchableKeys,
|
|
267
|
+
searchableKeys = _props$searchableKeys === void 0 ? ['label'] : _props$searchableKeys,
|
|
268
|
+
_props$value = props.value,
|
|
269
|
+
value = _props$value === void 0 ? [] : _props$value,
|
|
270
|
+
_props$actionColor = props.actionColor,
|
|
271
|
+
actionColor = _props$actionColor === void 0 ? '' : _props$actionColor,
|
|
272
|
+
_props$isCreatable = props.isCreatable,
|
|
273
|
+
isCreatable = _props$isCreatable === void 0 ? false : _props$isCreatable,
|
|
274
|
+
_props$isLoading = props.isLoading,
|
|
275
|
+
isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
|
|
276
|
+
_props$loadingMessage = props.loadingMessage,
|
|
277
|
+
loadingMessage = _props$loadingMessage === void 0 ? function () {
|
|
278
|
+
return 'Loading...';
|
|
279
|
+
} : _props$loadingMessage,
|
|
280
|
+
_props$minHeightInput = props.minHeightInput,
|
|
281
|
+
minHeightInput = _props$minHeightInput === void 0 ? 36 : _props$minHeightInput,
|
|
282
|
+
_props$createOptionPl = props.createOptionPlaceholder,
|
|
283
|
+
createOptionPlaceholder = _props$createOptionPl === void 0 ? 'Create ' : _props$createOptionPl,
|
|
284
|
+
_props$onCreateOption = props.onCreateOption,
|
|
285
|
+
_onCreateOption = _props$onCreateOption === void 0 ? function () {
|
|
286
|
+
return null;
|
|
287
|
+
} : _props$onCreateOption;
|
|
384
288
|
var currentValue = value;
|
|
385
|
-
|
|
386
289
|
var preparedStyled = _extends({}, prepareStyles(actionColor), customStyles, {
|
|
387
290
|
control: function control(base, state) {
|
|
388
291
|
var styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};
|
|
@@ -392,7 +295,6 @@ var TagsInput = function TagsInput(props) {
|
|
|
392
295
|
});
|
|
393
296
|
}
|
|
394
297
|
});
|
|
395
|
-
|
|
396
298
|
var config = _extends({}, props, {
|
|
397
299
|
id: elementId,
|
|
398
300
|
onChange: onChange
|
|
@@ -413,20 +315,16 @@ var TagsInput = function TagsInput(props) {
|
|
|
413
315
|
}
|
|
414
316
|
}, components)
|
|
415
317
|
});
|
|
416
|
-
|
|
417
318
|
var handleAsyncRequest = function handleAsyncRequest(newValue) {
|
|
418
319
|
if (!newValue.length || newValue.length < 2) {
|
|
419
320
|
setShowMinLenTip(true);
|
|
420
321
|
return null;
|
|
421
322
|
}
|
|
422
|
-
|
|
423
323
|
if (showMinLenTip) {
|
|
424
324
|
setShowMinLenTip(false);
|
|
425
325
|
}
|
|
426
|
-
|
|
427
326
|
return promiseOptions(newValue);
|
|
428
327
|
};
|
|
429
|
-
|
|
430
328
|
var onPaste = function onPaste(e) {
|
|
431
329
|
var pasteData = e.clipboardData.getData('text/plain');
|
|
432
330
|
var pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);
|
|
@@ -436,10 +334,8 @@ var TagsInput = function TagsInput(props) {
|
|
|
436
334
|
})) {
|
|
437
335
|
acc.push(curVal);
|
|
438
336
|
}
|
|
439
|
-
|
|
440
337
|
return acc;
|
|
441
338
|
}, currentValue);
|
|
442
|
-
|
|
443
339
|
if (pastedOptions.length !== 0) {
|
|
444
340
|
onChange(newInputOptions);
|
|
445
341
|
setTimeout(function () {
|
|
@@ -447,7 +343,6 @@ var TagsInput = function TagsInput(props) {
|
|
|
447
343
|
}, 0);
|
|
448
344
|
}
|
|
449
345
|
};
|
|
450
|
-
|
|
451
346
|
var regularSelect = isAsync ? React__default.createElement(ReactAsyncSelect, Object.assign({}, config, {
|
|
452
347
|
loadOptions: function loadOptions(newValue) {
|
|
453
348
|
return handleAsyncRequest(newValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-input.cjs.development.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {lineHeight, actionColor, borderRadius, gray80, errorColor, black, white} from '@propellerads/stylevariables';\n\nconst StyledTagsInput = styled.div`\n position: relative;\n`;\n\nconst TagsInputErrors = styled.div`\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ${lineHeight}px;\n align-items: center;\n`;\n\nconst prepareStyles = (customActionColor: string) => {\n const mainColor = customActionColor || actionColor;\n return {\n control: (styles, {isFocused, isDisabled}) => ({\n ...styles,\n borderRadius,\n backgroundColor: isDisabled ? '#ededed' : '#fff',\n minHeight: `${lineHeight}px`,\n borderWidth: 1,\n boxShadow: 'none',\n borderColor: isFocused ? mainColor : gray80,\n }),\n valueContainer: (styles) => ({\n ...styles,\n overflow: 'hidden',\n padding: '2px 2px 4px 2px',\n justifyContent: 'flex-start',\n }),\n placeholder: () => ({\n color: '#c0c0c0',\n fontWeight: 100,\n paddingLeft: '4px',\n position: 'absolute',\n }),\n clearIndicator: () => ({\n color: '#c0c0c0',\n display: 'inline-flex',\n marginRight: '4px',\n }),\n dropdownIndicator: () => ({\n display: 'none',\n }),\n indicatorSeparator: () => ({\n display: 'none',\n }),\n multiValue: (styles, {data}) => ({\n ...styles,\n backgroundColor: data.isException ? errorColor : mainColor,\n color: white,\n borderRadius: `${borderRadius / 2}px`,\n height: '22px',\n display: 'flex',\n alignItems: 'center',\n margin: '2px 0 0 2px',\n }),\n multiValueLabel: (styles) => ({\n ...styles,\n color: white,\n padding: '0 0 0 5px',\n fontSize: '12px',\n borderRadius: 0,\n display: 'inline-flex',\n lineHeight: '1',\n }),\n multiValueRemove: (styles, {data}) => ({\n ...styles,\n padding: 0,\n margin: '0 4px 0 2px',\n backgroundColor: data.isException ? errorColor : mainColor,\n cursor: 'pointer',\n ':hover': {\n backgroundColor: data.isException ? errorColor : mainColor,\n color: 'white',\n },\n }),\n menu: (styles) => ({\n ...styles,\n margin: 0,\n borderRadius: 0,\n zIndex: 10,\n }),\n menuList: (styles) => ({\n ...styles,\n '::-webkit-scrollbar': {\n width: '7px',\n },\n '::-webkit-scrollbar-thumb': {\n borderRadius: '4px',\n backgroundColor: 'rgba(0, 0, 0, .5)',\n boxShadow: '0 0 1px rgba(255, 255, 255, .5)',\n },\n }),\n option: (styles, {isFocused}) => ({\n backgroundColor: isFocused ? mainColor : null,\n padding: '5px 10px',\n fontSize: '14px',\n color: isFocused ? white : black,\n }),\n input: (styles) => ({\n ...styles,\n height: '16px',\n }),\n };\n};\n\nexport {prepareStyles, StyledTagsInput, TagsInputErrors};\n","import React, {useRef, useState} from 'react';\nimport ReactSelect, {components as reactSelectComponents} from 'react-select';\nimport isFunction from 'lodash.isfunction';\nimport ReactAsyncSelect from 'react-select/lib/Async';\nimport ErrorLabel from '@propellerads/error-label';\nimport CreatableSelect from 'react-select/lib/Creatable';\nimport {Close, SIZE, COLOR} from '@propellerads/icon';\n\nimport {TagsInputProps} from './types';\nimport {prepareStyles, StyledTagsInput, TagsInputErrors} from './style';\n\n// regexps by priority\nconst REGEXPS = [/(?:\\b|\\B)\\n+\\b/, /(?:\\b|\\B),\\s\\b/, /(?:\\b|\\B),+\\b/];\n\ninterface SplitStringReturnValue {\n splits: string[];\n specialHandle: boolean;\n}\n\nfunction splitString(value: string): SplitStringReturnValue {\n let splits: string[] = [];\n\n let specialHandle = false;\n // eslint-disable-next-line no-restricted-syntax\n for (const regex of REGEXPS) {\n splits = value.split(regex);\n if (splits.length > 1) {\n break;\n }\n }\n\n // special case. Need handle in special way\n if (splits.length === 1) {\n splits = value.split(/\\b\\s+\\b/);\n specialHandle = splits.length > 1;\n }\n\n return {\n splits,\n specialHandle,\n };\n}\n\nfunction searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {\n const {splits, specialHandle} = splitString(pastedValue);\n\n if (specialHandle) {\n let rawPastedString = splits.join(' ').toLowerCase();\n\n return availableOptions\n .sort((firstEl, secondEl) => {\n if (firstEl.label.length > secondEl.label.length) {\n return -1;\n }\n if (firstEl.label.length < secondEl.label.length) {\n return 1;\n }\n\n return 0;\n })\n .filter((option) =>\n searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const position = rawPastedString.search(optionValue);\n const condition = position !== -1;\n if (condition) {\n rawPastedString = rawPastedString.replace(optionValue, '');\n }\n\n return prevValue || condition;\n }, false),\n );\n }\n\n return splits\n .map((splitValue) =>\n availableOptions.find((option) => {\n const comparableValue = splitValue.trim().toLowerCase();\n\n return searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const condition = optionValue === comparableValue;\n\n return prevValue || condition;\n }, false);\n }),\n )\n .filter(Boolean);\n}\n\ninterface ClearIndicatorProps {\n // eslint-disable-next-line @typescript-eslint/ban-types\n getStyles: (clearIndicator: string, props: any) => {};\n innerProps: {\n ref: React.Ref<HTMLDivElement>;\n };\n elementId: string;\n}\n\nconst ClearIndicator = (props: ClearIndicatorProps) => {\n const {\n elementId,\n getStyles,\n innerProps: {ref, ...restInnerProps},\n } = props;\n\n return (\n <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)} id={`${elementId}-clear`}>\n <Close color={COLOR.GRAY_DARK} hoverColor={COLOR.BLACK} size={SIZE.MEDIUM_SMALL} />\n </div>\n );\n};\n\nconst TagsInput = (props: TagsInputProps) => {\n const reactSelectElement = useRef<any>(null);\n const [showMinLenTip, setShowMinLenTip] = useState(false);\n\n const {\n components = {},\n customStyles = {},\n elementId,\n errors = [],\n isAsync = false,\n isErrorLabelVisible = false,\n onChange,\n onInputChange = null,\n filterOption = null,\n options = [],\n promiseOptions = () => Promise.resolve(),\n searchableKeys = ['label'],\n value = [],\n actionColor = '',\n isClearable = true,\n isCreatable = false,\n isDisabled = false,\n isLoading = false,\n isRtl = false,\n isMulti = true,\n isSearchable = true,\n cacheOptions = false,\n placeholder = 'Start typing...',\n noOptionsMessage = () => 'No options...',\n loadingMessage = () => 'Loading...',\n minHeightInput = 36,\n createOptionPlaceholder = 'Create ',\n onCreateOption = () => null,\n } = props;\n\n const currentValue = value;\n\n const preparedStyled = {\n ...prepareStyles(actionColor),\n ...customStyles,\n control: (base, state) => {\n const styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};\n\n return {\n ...prepareStyles(actionColor).control(base, state),\n ...styles,\n border: errors.length ? '1px solid #ed3030' : prepareStyles(actionColor).control(base, state).border,\n minHeight: minHeightInput,\n };\n },\n };\n\n const config = {\n ...props,\n id: elementId,\n onChange,\n ...(onInputChange && {onInputChange}),\n ...(filterOption && {filterOption}),\n styles: preparedStyled,\n loadingMessage: showMinLenTip ? () => 'Enter two or more characters' : loadingMessage,\n components: {\n ClearIndicator: (clearIndicatorProps) => <ClearIndicator {...clearIndicatorProps} elementId={elementId} />,\n ...components,\n },\n };\n\n const handleAsyncRequest = (newValue: any) => {\n if (!newValue.length || newValue.length < 2) {\n setShowMinLenTip(true);\n\n return null;\n }\n\n if (showMinLenTip) {\n setShowMinLenTip(false);\n }\n\n return promiseOptions(newValue);\n };\n\n const onPaste = (e) => {\n const pasteData = e.clipboardData.getData('text/plain');\n\n const pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);\n\n const newInputOptions = pastedOptions.reduce((acc, curVal) => {\n if (!acc.find((el) => el.value === curVal.value)) {\n acc.push(curVal);\n }\n\n return acc;\n }, currentValue);\n\n if (pastedOptions.length !== 0) {\n onChange(newInputOptions);\n setTimeout(() => {\n reactSelectElement.current.select.blur();\n }, 0);\n }\n };\n\n const regularSelect = isAsync ? (\n <ReactAsyncSelect {...config} loadOptions={(newValue) => handleAsyncRequest(newValue)} />\n ) : (\n <div onPaste={onPaste}>\n <ReactSelect {...config} ref={reactSelectElement} options={options} />\n </div>\n );\n\n const select = isCreatable ? (\n <CreatableSelect\n formatCreateLabel={(newValue) => `${createOptionPlaceholder}\"${newValue}\"`}\n isLoading={isLoading}\n onCreateOption={(newOption) => onCreateOption(newOption)}\n {...config}\n ref={reactSelectElement}\n options={options}\n />\n ) : (\n regularSelect\n );\n\n return (\n <StyledTagsInput>\n {select}\n {errors && errors.length > 0 && isErrorLabelVisible && (\n <TagsInputErrors>\n <ErrorLabel elementId={elementId} errors={errors} />\n </TagsInputErrors>\n )}\n </StyledTagsInput>\n );\n};\n\nexport {reactSelectComponents as components};\n\nexport default TagsInput;\n"],"names":["StyledTagsInput","styled","div","TagsInputErrors","lineHeight","prepareStyles","customActionColor","mainColor","actionColor","control","styles","isFocused","isDisabled","borderRadius","backgroundColor","minHeight","borderWidth","boxShadow","borderColor","gray80","valueContainer","overflow","padding","justifyContent","placeholder","color","fontWeight","paddingLeft","position","clearIndicator","display","marginRight","dropdownIndicator","indicatorSeparator","multiValue","data","isException","errorColor","white","height","alignItems","margin","multiValueLabel","fontSize","multiValueRemove","cursor","menu","zIndex","menuList","width","option","black","input","REGEXPS","splitString","value","splits","specialHandle","regex","split","length","searchSuitableOptions","pastedValue","availableOptions","searchableKeys","rawPastedString","join","toLowerCase","sort","firstEl","secondEl","label","filter","reduce","prevValue","currValue","optionValue","String","search","condition","replace","map","splitValue","find","comparableValue","trim","Boolean","ClearIndicator","props","elementId","getStyles","innerProps","ref","restInnerProps","React","style","id","Close","COLOR","GRAY_DARK","hoverColor","BLACK","size","SIZE","MEDIUM_SMALL","TagsInput","reactSelectElement","useRef","useState","showMinLenTip","setShowMinLenTip","components","customStyles","errors","isAsync","isErrorLabelVisible","onChange","onInputChange","filterOption","options","promiseOptions","Promise","resolve","isCreatable","isLoading","loadingMessage","minHeightInput","createOptionPlaceholder","onCreateOption","currentValue","preparedStyled","base","state","isFunction","border","config","clearIndicatorProps","handleAsyncRequest","newValue","onPaste","e","pasteData","clipboardData","getData","pastedOptions","newInputOptions","acc","curVal","el","push","setTimeout","current","select","blur","regularSelect","ReactAsyncSelect","loadOptions","ReactSelect","CreatableSelect","formatCreateLabel","newOption","ErrorLabel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tags-input.cjs.development.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {lineHeight, actionColor, borderRadius, gray80, errorColor, black, white} from '@propellerads/stylevariables';\n\nconst StyledTagsInput = styled.div`\n position: relative;\n`;\n\nconst TagsInputErrors = styled.div`\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ${lineHeight}px;\n align-items: center;\n`;\n\nconst prepareStyles = (customActionColor: string) => {\n const mainColor = customActionColor || actionColor;\n return {\n control: (styles, {isFocused, isDisabled}) => ({\n ...styles,\n borderRadius,\n backgroundColor: isDisabled ? '#ededed' : '#fff',\n minHeight: `${lineHeight}px`,\n borderWidth: 1,\n boxShadow: 'none',\n borderColor: isFocused ? mainColor : gray80,\n }),\n valueContainer: (styles) => ({\n ...styles,\n overflow: 'hidden',\n padding: '2px 2px 4px 2px',\n justifyContent: 'flex-start',\n }),\n placeholder: () => ({\n color: '#c0c0c0',\n fontWeight: 100,\n paddingLeft: '4px',\n position: 'absolute',\n }),\n clearIndicator: () => ({\n color: '#c0c0c0',\n display: 'inline-flex',\n marginRight: '4px',\n }),\n dropdownIndicator: () => ({\n display: 'none',\n }),\n indicatorSeparator: () => ({\n display: 'none',\n }),\n multiValue: (styles, {data}) => ({\n ...styles,\n backgroundColor: data.isException ? errorColor : mainColor,\n color: white,\n borderRadius: `${borderRadius / 2}px`,\n height: '22px',\n display: 'flex',\n alignItems: 'center',\n margin: '2px 0 0 2px',\n }),\n multiValueLabel: (styles) => ({\n ...styles,\n color: white,\n padding: '0 0 0 5px',\n fontSize: '12px',\n borderRadius: 0,\n display: 'inline-flex',\n lineHeight: '1',\n }),\n multiValueRemove: (styles, {data}) => ({\n ...styles,\n padding: 0,\n margin: '0 4px 0 2px',\n backgroundColor: data.isException ? errorColor : mainColor,\n cursor: 'pointer',\n ':hover': {\n backgroundColor: data.isException ? errorColor : mainColor,\n color: 'white',\n },\n }),\n menu: (styles) => ({\n ...styles,\n margin: 0,\n borderRadius: 0,\n zIndex: 10,\n }),\n menuList: (styles) => ({\n ...styles,\n '::-webkit-scrollbar': {\n width: '7px',\n },\n '::-webkit-scrollbar-thumb': {\n borderRadius: '4px',\n backgroundColor: 'rgba(0, 0, 0, .5)',\n boxShadow: '0 0 1px rgba(255, 255, 255, .5)',\n },\n }),\n option: (styles, {isFocused}) => ({\n backgroundColor: isFocused ? mainColor : null,\n padding: '5px 10px',\n fontSize: '14px',\n color: isFocused ? white : black,\n }),\n input: (styles) => ({\n ...styles,\n height: '16px',\n }),\n };\n};\n\nexport {prepareStyles, StyledTagsInput, TagsInputErrors};\n","import React, {useRef, useState} from 'react';\nimport ReactSelect, {components as reactSelectComponents} from 'react-select';\nimport isFunction from 'lodash.isfunction';\nimport ReactAsyncSelect from 'react-select/lib/Async';\nimport ErrorLabel from '@propellerads/error-label';\nimport CreatableSelect from 'react-select/lib/Creatable';\nimport {Close, SIZE, COLOR} from '@propellerads/icon';\n\nimport {TagsInputProps} from './types';\nimport {prepareStyles, StyledTagsInput, TagsInputErrors} from './style';\n\n// regexps by priority\nconst REGEXPS = [/(?:\\b|\\B)\\n+\\b/, /(?:\\b|\\B),\\s\\b/, /(?:\\b|\\B),+\\b/];\n\ninterface SplitStringReturnValue {\n splits: string[];\n specialHandle: boolean;\n}\n\nfunction splitString(value: string): SplitStringReturnValue {\n let splits: string[] = [];\n\n let specialHandle = false;\n // eslint-disable-next-line no-restricted-syntax\n for (const regex of REGEXPS) {\n splits = value.split(regex);\n if (splits.length > 1) {\n break;\n }\n }\n\n // special case. Need handle in special way\n if (splits.length === 1) {\n splits = value.split(/\\b\\s+\\b/);\n specialHandle = splits.length > 1;\n }\n\n return {\n splits,\n specialHandle,\n };\n}\n\nfunction searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {\n const {splits, specialHandle} = splitString(pastedValue);\n\n if (specialHandle) {\n let rawPastedString = splits.join(' ').toLowerCase();\n\n return availableOptions\n .sort((firstEl, secondEl) => {\n if (firstEl.label.length > secondEl.label.length) {\n return -1;\n }\n if (firstEl.label.length < secondEl.label.length) {\n return 1;\n }\n\n return 0;\n })\n .filter((option) =>\n searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const position = rawPastedString.search(optionValue);\n const condition = position !== -1;\n if (condition) {\n rawPastedString = rawPastedString.replace(optionValue, '');\n }\n\n return prevValue || condition;\n }, false),\n );\n }\n\n return splits\n .map((splitValue) =>\n availableOptions.find((option) => {\n const comparableValue = splitValue.trim().toLowerCase();\n\n return searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const condition = optionValue === comparableValue;\n\n return prevValue || condition;\n }, false);\n }),\n )\n .filter(Boolean);\n}\n\ninterface ClearIndicatorProps {\n // eslint-disable-next-line @typescript-eslint/ban-types\n getStyles: (clearIndicator: string, props: any) => {};\n innerProps: {\n ref: React.Ref<HTMLDivElement>;\n };\n elementId: string;\n}\n\nconst ClearIndicator = (props: ClearIndicatorProps) => {\n const {\n elementId,\n getStyles,\n innerProps: {ref, ...restInnerProps},\n } = props;\n\n return (\n <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)} id={`${elementId}-clear`}>\n <Close color={COLOR.GRAY_DARK} hoverColor={COLOR.BLACK} size={SIZE.MEDIUM_SMALL} />\n </div>\n );\n};\n\nconst TagsInput = (props: TagsInputProps) => {\n const reactSelectElement = useRef<any>(null);\n const [showMinLenTip, setShowMinLenTip] = useState(false);\n\n const {\n components = {},\n customStyles = {},\n elementId,\n errors = [],\n isAsync = false,\n isErrorLabelVisible = false,\n onChange,\n onInputChange = null,\n filterOption = null,\n options = [],\n promiseOptions = () => Promise.resolve(),\n searchableKeys = ['label'],\n value = [],\n actionColor = '',\n isClearable = true,\n isCreatable = false,\n isDisabled = false,\n isLoading = false,\n isRtl = false,\n isMulti = true,\n isSearchable = true,\n cacheOptions = false,\n placeholder = 'Start typing...',\n noOptionsMessage = () => 'No options...',\n loadingMessage = () => 'Loading...',\n minHeightInput = 36,\n createOptionPlaceholder = 'Create ',\n onCreateOption = () => null,\n } = props;\n\n const currentValue = value;\n\n const preparedStyled = {\n ...prepareStyles(actionColor),\n ...customStyles,\n control: (base, state) => {\n const styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};\n\n return {\n ...prepareStyles(actionColor).control(base, state),\n ...styles,\n border: errors.length ? '1px solid #ed3030' : prepareStyles(actionColor).control(base, state).border,\n minHeight: minHeightInput,\n };\n },\n };\n\n const config = {\n ...props,\n id: elementId,\n onChange,\n ...(onInputChange && {onInputChange}),\n ...(filterOption && {filterOption}),\n styles: preparedStyled,\n loadingMessage: showMinLenTip ? () => 'Enter two or more characters' : loadingMessage,\n components: {\n ClearIndicator: (clearIndicatorProps) => <ClearIndicator {...clearIndicatorProps} elementId={elementId} />,\n ...components,\n },\n };\n\n const handleAsyncRequest = (newValue: any) => {\n if (!newValue.length || newValue.length < 2) {\n setShowMinLenTip(true);\n\n return null;\n }\n\n if (showMinLenTip) {\n setShowMinLenTip(false);\n }\n\n return promiseOptions(newValue);\n };\n\n const onPaste = (e) => {\n const pasteData = e.clipboardData.getData('text/plain');\n\n const pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);\n\n const newInputOptions = pastedOptions.reduce((acc, curVal) => {\n if (!acc.find((el) => el.value === curVal.value)) {\n acc.push(curVal);\n }\n\n return acc;\n }, currentValue);\n\n if (pastedOptions.length !== 0) {\n onChange(newInputOptions);\n setTimeout(() => {\n reactSelectElement.current.select.blur();\n }, 0);\n }\n };\n\n const regularSelect = isAsync ? (\n <ReactAsyncSelect {...config} loadOptions={(newValue) => handleAsyncRequest(newValue)} />\n ) : (\n <div onPaste={onPaste}>\n <ReactSelect {...config} ref={reactSelectElement} options={options} />\n </div>\n );\n\n const select = isCreatable ? (\n <CreatableSelect\n formatCreateLabel={(newValue) => `${createOptionPlaceholder}\"${newValue}\"`}\n isLoading={isLoading}\n onCreateOption={(newOption) => onCreateOption(newOption)}\n {...config}\n ref={reactSelectElement}\n options={options}\n />\n ) : (\n regularSelect\n );\n\n return (\n <StyledTagsInput>\n {select}\n {errors && errors.length > 0 && isErrorLabelVisible && (\n <TagsInputErrors>\n <ErrorLabel elementId={elementId} errors={errors} />\n </TagsInputErrors>\n )}\n </StyledTagsInput>\n );\n};\n\nexport {reactSelectComponents as components};\n\nexport default TagsInput;\n"],"names":["StyledTagsInput","styled","div","_templateObject","_taggedTemplateLiteralLoose","TagsInputErrors","_templateObject2","lineHeight","prepareStyles","customActionColor","mainColor","actionColor","control","styles","_ref","isFocused","isDisabled","_extends","borderRadius","backgroundColor","minHeight","borderWidth","boxShadow","borderColor","gray80","valueContainer","overflow","padding","justifyContent","placeholder","color","fontWeight","paddingLeft","position","clearIndicator","display","marginRight","dropdownIndicator","indicatorSeparator","multiValue","_ref2","data","isException","errorColor","white","height","alignItems","margin","multiValueLabel","fontSize","multiValueRemove","_ref3","cursor","menu","zIndex","menuList","width","option","_ref4","black","input","REGEXPS","splitString","value","splits","specialHandle","_i","_REGEXPS","length","regex","split","searchSuitableOptions","pastedValue","availableOptions","searchableKeys","_splitString","rawPastedString","join","toLowerCase","sort","firstEl","secondEl","label","filter","reduce","prevValue","currValue","optionValue","String","search","condition","replace","map","splitValue","find","comparableValue","trim","Boolean","ClearIndicator","props","elementId","getStyles","_props$innerProps","innerProps","ref","restInnerProps","_objectWithoutPropertiesLoose","_excluded","React","style","id","Close","COLOR","GRAY_DARK","hoverColor","BLACK","size","SIZE","MEDIUM_SMALL","TagsInput","reactSelectElement","useRef","_useState","useState","showMinLenTip","setShowMinLenTip","_props$components","components","_props$customStyles","customStyles","_props$errors","errors","_props$isAsync","isAsync","_props$isErrorLabelVi","isErrorLabelVisible","onChange","_props$onInputChange","onInputChange","_props$filterOption","filterOption","_props$options","options","_props$promiseOptions","promiseOptions","Promise","resolve","_props$searchableKeys","_props$value","_props$actionColor","_props$isClearable","_props$isCreatable","isCreatable","_props$isDisabled","_props$isLoading","isLoading","_props$isRtl","_props$loadingMessage","loadingMessage","_props$minHeightInput","minHeightInput","_props$createOptionPl","createOptionPlaceholder","_props$onCreateOption","onCreateOption","currentValue","preparedStyled","base","state","isFunction","border","config","clearIndicatorProps","handleAsyncRequest","newValue","onPaste","e","pasteData","clipboardData","getData","pastedOptions","newInputOptions","acc","curVal","el","push","setTimeout","current","select","blur","regularSelect","ReactAsyncSelect","loadOptions","ReactSelect","CreatableSelect","formatCreateLabel","newOption","ErrorLabel"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r=require("react"),
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n,r,t=require("react"),o=e(t),i=require("react-select"),l=e(i),a=e(require("lodash.isfunction")),u=e(require("react-select/lib/Async")),c=e(require("@propellerads/error-label")),s=e(require("react-select/lib/Creatable")),d=require("@propellerads/icon"),p=e(require("styled-components")),f=require("@propellerads/stylevariables");function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(null,arguments)}function b(e,n){return n||(n=e.slice(0)),e.raw=n,e}var h=p.div(n||(n=b(["\n position: relative;\n"]))),v=p.div(r||(r=b(["\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ","px;\n align-items: center;\n"])),f.lineHeight),m=function(e){var n=e||f.actionColor;return{control:function(e,r){return g({},e,{borderRadius:f.borderRadius,backgroundColor:r.isDisabled?"#ededed":"#fff",minHeight:f.lineHeight+"px",borderWidth:1,boxShadow:"none",borderColor:r.isFocused?n:f.gray80})},valueContainer:function(e){return g({},e,{overflow:"hidden",padding:"2px 2px 4px 2px",justifyContent:"flex-start"})},placeholder:function(){return{color:"#c0c0c0",fontWeight:100,paddingLeft:"4px",position:"absolute"}},clearIndicator:function(){return{color:"#c0c0c0",display:"inline-flex",marginRight:"4px"}},dropdownIndicator:function(){return{display:"none"}},indicatorSeparator:function(){return{display:"none"}},multiValue:function(e,r){return g({},e,{backgroundColor:r.data.isException?f.errorColor:n,color:f.white,borderRadius:f.borderRadius/2+"px",height:"22px",display:"flex",alignItems:"center",margin:"2px 0 0 2px"})},multiValueLabel:function(e){return g({},e,{color:f.white,padding:"0 0 0 5px",fontSize:"12px",borderRadius:0,display:"inline-flex",lineHeight:"1"})},multiValueRemove:function(e,r){var t=r.data;return g({},e,{padding:0,margin:"0 4px 0 2px",backgroundColor:t.isException?f.errorColor:n,cursor:"pointer",":hover":{backgroundColor:t.isException?f.errorColor:n,color:"white"}})},menu:function(e){return g({},e,{margin:0,borderRadius:0,zIndex:10})},menuList:function(e){return g({},e,{"::-webkit-scrollbar":{width:"7px"},"::-webkit-scrollbar-thumb":{borderRadius:"4px",backgroundColor:"rgba(0, 0, 0, .5)",boxShadow:"0 0 1px rgba(255, 255, 255, .5)"}})},option:function(e,r){var t=r.isFocused;return{backgroundColor:t?n:null,padding:"5px 10px",fontSize:"14px",color:t?f.white:f.black}},input:function(e){return g({},e,{height:"16px"})}}},x=["ref"],C=[/(?:\b|\B)\n+\b/,/(?:\b|\B),\s\b/,/(?:\b|\B),+\b/],y=function(e){var n=e.elementId,r=e.getStyles,t=e.innerProps,i=t.ref,l=function(e,n){if(null==e)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(-1!==n.indexOf(t))continue;r[t]=e[t]}return r}(t,x);return o.createElement("div",Object.assign({},l,{ref:i,style:r("clearIndicator",e),id:n+"-clear"}),o.createElement(d.Close,{color:d.COLOR.GRAY_DARK,hoverColor:d.COLOR.BLACK,size:d.SIZE.MEDIUM_SMALL}))};Object.defineProperty(exports,"components",{enumerable:!0,get:function(){return i.components}}),exports.default=function(e){var n=t.useRef(null),r=t.useState(!1),i=r[0],d=r[1],p=e.components,f=void 0===p?{}:p,b=e.customStyles,x=void 0===b?{}:b,O=e.elementId,w=e.errors,E=void 0===w?[]:w,L=e.isAsync,I=void 0!==L&&L,R=e.isErrorLabelVisible,j=void 0!==R&&R,S=e.onChange,k=e.onInputChange,q=void 0===k?null:k,H=e.filterOption,P=void 0===H?null:H,A=e.options,M=void 0===A?[]:A,B=e.promiseOptions,D=void 0===B?function(){return Promise.resolve()}:B,z=e.searchableKeys,V=void 0===z?["label"]:z,_=e.value,K=e.actionColor,F=void 0===K?"":K,W=e.isCreatable,G=void 0!==W&&W,T=e.isLoading,U=void 0!==T&&T,Y=e.loadingMessage,Z=void 0===Y?function(){return"Loading..."}:Y,J=e.minHeightInput,N=void 0===J?36:J,Q=e.createOptionPlaceholder,X=void 0===Q?"Create ":Q,$=e.onCreateOption,ee=void 0===$?function(){return null}:$,ne=void 0===_?[]:_,re=g({},m(F),x,{control:function(e,n){var r=x.control&&a(x.control)?x.control(e,n):{};return g({},m(F).control(e,n),r,{border:E.length?"1px solid #ed3030":m(F).control(e,n).border,minHeight:N})}}),te=g({},e,{id:O,onChange:S},q&&{onInputChange:q},P&&{filterOption:P},{styles:re,loadingMessage:i?function(){return"Enter two or more characters"}:Z,components:g({ClearIndicator:function(e){return o.createElement(y,Object.assign({},e,{elementId:O}))}},f)}),oe=I?o.createElement(u,Object.assign({},te,{loadOptions:function(e){return function(e){return!e.length||e.length<2?(d(!0),null):(i&&d(!1),D(e))}(e)}})):o.createElement("div",{onPaste:function(e){var r=function(e,n,r){var t=function(e){for(var n=[],r=!1,t=0,o=C;t<o.length&&!((n=e.split(o[t])).length>1);t++);return 1===n.length&&(r=(n=e.split(/\b\s+\b/)).length>1),{splits:n,specialHandle:r}}(e),o=t.splits;if(t.specialHandle){var i=o.join(" ").toLowerCase();return n.sort((function(e,n){return e.label.length>n.label.length?-1:e.label.length<n.label.length?1:0})).filter((function(e){return r.reduce((function(n,r){var t=String(e[r]).toLowerCase(),o=-1!==i.search(t);return o&&(i=i.replace(t,"")),n||o}),!1)}))}return o.map((function(e){return n.find((function(n){var t=e.trim().toLowerCase();return r.reduce((function(e,r){var o=String(n[r]).toLowerCase();return e||o===t}),!1)}))})).filter(Boolean)}(e.clipboardData.getData("text/plain"),M,V),t=r.reduce((function(e,n){return e.find((function(e){return e.value===n.value}))||e.push(n),e}),ne);0!==r.length&&(S(t),setTimeout((function(){n.current.select.blur()}),0))}},o.createElement(l,Object.assign({},te,{ref:n,options:M}))),ie=G?o.createElement(s,Object.assign({formatCreateLabel:function(e){return X+'"'+e+'"'},isLoading:U,onCreateOption:function(e){return ee(e)}},te,{ref:n,options:M})):oe;return o.createElement(h,null,ie,E&&E.length>0&&j&&o.createElement(v,null,o.createElement(c,{elementId:O,errors:E})))};
|
|
2
2
|
//# sourceMappingURL=tags-input.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-input.cjs.production.min.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {lineHeight, actionColor, borderRadius, gray80, errorColor, black, white} from '@propellerads/stylevariables';\n\nconst StyledTagsInput = styled.div`\n position: relative;\n`;\n\nconst TagsInputErrors = styled.div`\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ${lineHeight}px;\n align-items: center;\n`;\n\nconst prepareStyles = (customActionColor: string) => {\n const mainColor = customActionColor || actionColor;\n return {\n control: (styles, {isFocused, isDisabled}) => ({\n ...styles,\n borderRadius,\n backgroundColor: isDisabled ? '#ededed' : '#fff',\n minHeight: `${lineHeight}px`,\n borderWidth: 1,\n boxShadow: 'none',\n borderColor: isFocused ? mainColor : gray80,\n }),\n valueContainer: (styles) => ({\n ...styles,\n overflow: 'hidden',\n padding: '2px 2px 4px 2px',\n justifyContent: 'flex-start',\n }),\n placeholder: () => ({\n color: '#c0c0c0',\n fontWeight: 100,\n paddingLeft: '4px',\n position: 'absolute',\n }),\n clearIndicator: () => ({\n color: '#c0c0c0',\n display: 'inline-flex',\n marginRight: '4px',\n }),\n dropdownIndicator: () => ({\n display: 'none',\n }),\n indicatorSeparator: () => ({\n display: 'none',\n }),\n multiValue: (styles, {data}) => ({\n ...styles,\n backgroundColor: data.isException ? errorColor : mainColor,\n color: white,\n borderRadius: `${borderRadius / 2}px`,\n height: '22px',\n display: 'flex',\n alignItems: 'center',\n margin: '2px 0 0 2px',\n }),\n multiValueLabel: (styles) => ({\n ...styles,\n color: white,\n padding: '0 0 0 5px',\n fontSize: '12px',\n borderRadius: 0,\n display: 'inline-flex',\n lineHeight: '1',\n }),\n multiValueRemove: (styles, {data}) => ({\n ...styles,\n padding: 0,\n margin: '0 4px 0 2px',\n backgroundColor: data.isException ? errorColor : mainColor,\n cursor: 'pointer',\n ':hover': {\n backgroundColor: data.isException ? errorColor : mainColor,\n color: 'white',\n },\n }),\n menu: (styles) => ({\n ...styles,\n margin: 0,\n borderRadius: 0,\n zIndex: 10,\n }),\n menuList: (styles) => ({\n ...styles,\n '::-webkit-scrollbar': {\n width: '7px',\n },\n '::-webkit-scrollbar-thumb': {\n borderRadius: '4px',\n backgroundColor: 'rgba(0, 0, 0, .5)',\n boxShadow: '0 0 1px rgba(255, 255, 255, .5)',\n },\n }),\n option: (styles, {isFocused}) => ({\n backgroundColor: isFocused ? mainColor : null,\n padding: '5px 10px',\n fontSize: '14px',\n color: isFocused ? white : black,\n }),\n input: (styles) => ({\n ...styles,\n height: '16px',\n }),\n };\n};\n\nexport {prepareStyles, StyledTagsInput, TagsInputErrors};\n","import React, {useRef, useState} from 'react';\nimport ReactSelect, {components as reactSelectComponents} from 'react-select';\nimport isFunction from 'lodash.isfunction';\nimport ReactAsyncSelect from 'react-select/lib/Async';\nimport ErrorLabel from '@propellerads/error-label';\nimport CreatableSelect from 'react-select/lib/Creatable';\nimport {Close, SIZE, COLOR} from '@propellerads/icon';\n\nimport {TagsInputProps} from './types';\nimport {prepareStyles, StyledTagsInput, TagsInputErrors} from './style';\n\n// regexps by priority\nconst REGEXPS = [/(?:\\b|\\B)\\n+\\b/, /(?:\\b|\\B),\\s\\b/, /(?:\\b|\\B),+\\b/];\n\ninterface SplitStringReturnValue {\n splits: string[];\n specialHandle: boolean;\n}\n\nfunction splitString(value: string): SplitStringReturnValue {\n let splits: string[] = [];\n\n let specialHandle = false;\n // eslint-disable-next-line no-restricted-syntax\n for (const regex of REGEXPS) {\n splits = value.split(regex);\n if (splits.length > 1) {\n break;\n }\n }\n\n // special case. Need handle in special way\n if (splits.length === 1) {\n splits = value.split(/\\b\\s+\\b/);\n specialHandle = splits.length > 1;\n }\n\n return {\n splits,\n specialHandle,\n };\n}\n\nfunction searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {\n const {splits, specialHandle} = splitString(pastedValue);\n\n if (specialHandle) {\n let rawPastedString = splits.join(' ').toLowerCase();\n\n return availableOptions\n .sort((firstEl, secondEl) => {\n if (firstEl.label.length > secondEl.label.length) {\n return -1;\n }\n if (firstEl.label.length < secondEl.label.length) {\n return 1;\n }\n\n return 0;\n })\n .filter((option) =>\n searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const position = rawPastedString.search(optionValue);\n const condition = position !== -1;\n if (condition) {\n rawPastedString = rawPastedString.replace(optionValue, '');\n }\n\n return prevValue || condition;\n }, false),\n );\n }\n\n return splits\n .map((splitValue) =>\n availableOptions.find((option) => {\n const comparableValue = splitValue.trim().toLowerCase();\n\n return searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const condition = optionValue === comparableValue;\n\n return prevValue || condition;\n }, false);\n }),\n )\n .filter(Boolean);\n}\n\ninterface ClearIndicatorProps {\n // eslint-disable-next-line @typescript-eslint/ban-types\n getStyles: (clearIndicator: string, props: any) => {};\n innerProps: {\n ref: React.Ref<HTMLDivElement>;\n };\n elementId: string;\n}\n\nconst ClearIndicator = (props: ClearIndicatorProps) => {\n const {\n elementId,\n getStyles,\n innerProps: {ref, ...restInnerProps},\n } = props;\n\n return (\n <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)} id={`${elementId}-clear`}>\n <Close color={COLOR.GRAY_DARK} hoverColor={COLOR.BLACK} size={SIZE.MEDIUM_SMALL} />\n </div>\n );\n};\n\nconst TagsInput = (props: TagsInputProps) => {\n const reactSelectElement = useRef<any>(null);\n const [showMinLenTip, setShowMinLenTip] = useState(false);\n\n const {\n components = {},\n customStyles = {},\n elementId,\n errors = [],\n isAsync = false,\n isErrorLabelVisible = false,\n onChange,\n onInputChange = null,\n filterOption = null,\n options = [],\n promiseOptions = () => Promise.resolve(),\n searchableKeys = ['label'],\n value = [],\n actionColor = '',\n isClearable = true,\n isCreatable = false,\n isDisabled = false,\n isLoading = false,\n isRtl = false,\n isMulti = true,\n isSearchable = true,\n cacheOptions = false,\n placeholder = 'Start typing...',\n noOptionsMessage = () => 'No options...',\n loadingMessage = () => 'Loading...',\n minHeightInput = 36,\n createOptionPlaceholder = 'Create ',\n onCreateOption = () => null,\n } = props;\n\n const currentValue = value;\n\n const preparedStyled = {\n ...prepareStyles(actionColor),\n ...customStyles,\n control: (base, state) => {\n const styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};\n\n return {\n ...prepareStyles(actionColor).control(base, state),\n ...styles,\n border: errors.length ? '1px solid #ed3030' : prepareStyles(actionColor).control(base, state).border,\n minHeight: minHeightInput,\n };\n },\n };\n\n const config = {\n ...props,\n id: elementId,\n onChange,\n ...(onInputChange && {onInputChange}),\n ...(filterOption && {filterOption}),\n styles: preparedStyled,\n loadingMessage: showMinLenTip ? () => 'Enter two or more characters' : loadingMessage,\n components: {\n ClearIndicator: (clearIndicatorProps) => <ClearIndicator {...clearIndicatorProps} elementId={elementId} />,\n ...components,\n },\n };\n\n const handleAsyncRequest = (newValue: any) => {\n if (!newValue.length || newValue.length < 2) {\n setShowMinLenTip(true);\n\n return null;\n }\n\n if (showMinLenTip) {\n setShowMinLenTip(false);\n }\n\n return promiseOptions(newValue);\n };\n\n const onPaste = (e) => {\n const pasteData = e.clipboardData.getData('text/plain');\n\n const pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);\n\n const newInputOptions = pastedOptions.reduce((acc, curVal) => {\n if (!acc.find((el) => el.value === curVal.value)) {\n acc.push(curVal);\n }\n\n return acc;\n }, currentValue);\n\n if (pastedOptions.length !== 0) {\n onChange(newInputOptions);\n setTimeout(() => {\n reactSelectElement.current.select.blur();\n }, 0);\n }\n };\n\n const regularSelect = isAsync ? (\n <ReactAsyncSelect {...config} loadOptions={(newValue) => handleAsyncRequest(newValue)} />\n ) : (\n <div onPaste={onPaste}>\n <ReactSelect {...config} ref={reactSelectElement} options={options} />\n </div>\n );\n\n const select = isCreatable ? (\n <CreatableSelect\n formatCreateLabel={(newValue) => `${createOptionPlaceholder}\"${newValue}\"`}\n isLoading={isLoading}\n onCreateOption={(newOption) => onCreateOption(newOption)}\n {...config}\n ref={reactSelectElement}\n options={options}\n />\n ) : (\n regularSelect\n );\n\n return (\n <StyledTagsInput>\n {select}\n {errors && errors.length > 0 && isErrorLabelVisible && (\n <TagsInputErrors>\n <ErrorLabel elementId={elementId} errors={errors} />\n </TagsInputErrors>\n )}\n </StyledTagsInput>\n );\n};\n\nexport {reactSelectComponents as components};\n\nexport default TagsInput;\n"],"names":["StyledTagsInput","styled","div","TagsInputErrors","lineHeight","prepareStyles","customActionColor","mainColor","actionColor","control","styles","borderRadius","backgroundColor","isDisabled","minHeight","borderWidth","boxShadow","borderColor","isFocused","gray80","valueContainer","overflow","padding","justifyContent","placeholder","color","fontWeight","paddingLeft","position","clearIndicator","display","marginRight","dropdownIndicator","indicatorSeparator","multiValue","data","isException","errorColor","white","height","alignItems","margin","multiValueLabel","fontSize","multiValueRemove","cursor","menu","zIndex","menuList","width","option","black","input","REGEXPS","ClearIndicator","props","elementId","getStyles","innerProps","ref","restInnerProps","React","style","id","Close","COLOR","GRAY_DARK","hoverColor","BLACK","size","SIZE","MEDIUM_SMALL","reactSelectElement","useRef","useState","showMinLenTip","setShowMinLenTip","components","customStyles","errors","isAsync","isErrorLabelVisible","onChange","onInputChange","filterOption","options","promiseOptions","Promise","resolve","searchableKeys","value","isCreatable","isLoading","loadingMessage","minHeightInput","createOptionPlaceholder","onCreateOption","currentValue","preparedStyled","base","state","isFunction","border","length","config","clearIndicatorProps","regularSelect","ReactAsyncSelect","loadOptions","newValue","handleAsyncRequest","onPaste","e","pastedOptions","pastedValue","availableOptions","splits","specialHandle","split","splitString","rawPastedString","join","toLowerCase","sort","firstEl","secondEl","label","filter","reduce","prevValue","currValue","optionValue","String","condition","search","replace","map","splitValue","find","comparableValue","trim","Boolean","searchSuitableOptions","clipboardData","getData","newInputOptions","acc","curVal","el","push","setTimeout","current","select","blur","ReactSelect","CreatableSelect","formatCreateLabel","newOption","ErrorLabel"],"mappings":"qlCAGA,IAAMA,EAAkBC,EAAOC,SAIzBC,EAAkBF,EAAOC,QAMnBE,cAINC,EAAgB,SAACC,OACfC,EAAYD,GAAqBE,oBAChC,CACLC,QAAS,SAACC,iBACLA,GACHC,aAAAA,eACAC,kBAH4BC,WAGE,UAAY,OAC1CC,UAAcV,kBACdW,YAAa,EACbC,UAAW,OACXC,cAPiBC,UAOQX,EAAYY,YAEvCC,eAAgB,SAACV,eACZA,GACHW,SAAU,SACVC,QAAS,kBACTC,eAAgB,gBAElBC,YAAa,iBAAO,CAClBC,MAAO,UACPC,WAAY,IACZC,YAAa,MACbC,SAAU,aAEZC,eAAgB,iBAAO,CACrBJ,MAAO,UACPK,QAAS,cACTC,YAAa,QAEfC,kBAAmB,iBAAO,CACxBF,QAAS,SAEXG,mBAAoB,iBAAO,CACzBH,QAAS,SAEXI,WAAY,SAACxB,iBACRA,GACHE,kBAFoBuB,KAEEC,YAAcC,aAAa9B,EACjDkB,MAAOa,QACP3B,aAAiBA,eAAe,OAChC4B,OAAQ,OACRT,QAAS,OACTU,WAAY,SACZC,OAAQ,iBAEVC,gBAAiB,SAAChC,eACbA,GACHe,MAAOa,QACPhB,QAAS,YACTqB,SAAU,OACVhC,aAAc,EACdmB,QAAS,cACT1B,WAAY,OAEdwC,iBAAkB,SAAClC,SAASyB,IAAAA,iBACvBzB,GACHY,QAAS,EACTmB,OAAQ,cACR7B,gBAAiBuB,EAAKC,YAAcC,aAAa9B,EACjDsC,OAAQ,mBACE,CACRjC,gBAAiBuB,EAAKC,YAAcC,aAAa9B,EACjDkB,MAAO,YAGXqB,KAAM,SAACpC,eACFA,GACH+B,OAAQ,EACR9B,aAAc,EACdoC,OAAQ,MAEVC,SAAU,SAACtC,eACNA,yBACoB,CACrBuC,MAAO,mCAEoB,CAC3BtC,aAAc,MACdC,gBAAiB,oBACjBI,UAAW,sCAGfkC,OAAQ,SAACxC,SAASQ,IAAAA,gBAAgB,CAChCN,gBAAiBM,EAAYX,EAAY,KACzCe,QAAS,WACTqB,SAAU,OACVlB,MAAOP,EAAYoB,QAAQa,UAE7BC,MAAO,SAAC1C,eACHA,GACH6B,OAAQ,YC/FRc,EAAU,CAAC,iBAAkB,iBAAkB,iBAuF/CC,EAAiB,SAACC,OAEpBC,EAGED,EAHFC,UACAC,EAEEF,EAFFE,YAEEF,EADFG,WAAaC,IAAAA,IAAQC,uJAIrBC,uCAASD,GAAgBD,IAAKA,EAAKG,MAAOL,EAAU,iBAAkBF,GAAQQ,GAAOP,aACnFK,gBAACG,SAAMvC,MAAOwC,QAAMC,UAAWC,WAAYF,QAAMG,MAAOC,KAAMC,OAAKC,iIAKvD,SAAChB,OACXiB,EAAqBC,SAAY,QACGC,YAAS,GAA5CC,OAAeC,SA+BlBrB,EA5BFsB,WAAAA,aAAa,OA4BXtB,EA3BFuB,aAAAA,aAAe,KACftB,EA0BED,EA1BFC,YA0BED,EAzBFwB,OAAAA,aAAS,OAyBPxB,EAxBFyB,QAAAA,kBAwBEzB,EAvBF0B,oBAAAA,gBACAC,EAsBE3B,EAtBF2B,WAsBE3B,EArBF4B,cAAAA,aAAgB,SAqBd5B,EApBF6B,aAAAA,aAAe,SAoBb7B,EAnBF8B,QAAAA,aAAU,OAmBR9B,EAlBF+B,eAAAA,aAAiB,kBAAMC,QAAQC,eAkB7BjC,EAjBFkC,eAAAA,aAAiB,CAAC,aAiBhBlC,EAhBFmC,QAgBEnC,EAfF/C,YAAAA,aAAc,OAeZ+C,EAbFoC,YAAAA,kBAaEpC,EAXFqC,UAAAA,kBAWErC,EAJFsC,eAAAA,aAAiB,iBAAM,kBAIrBtC,EAHFuC,eAAAA,aAAiB,OAGfvC,EAFFwC,wBAAAA,aAA0B,eAExBxC,EADFyC,eAAAA,eAAiB,kBAAM,SAGnBC,cAlBI,KAoBJC,QACD7F,EAAcG,GACdsE,GACHrE,QAAS,SAAC0F,EAAMC,OACR1F,EAASoE,EAAarE,SAAW4F,EAAWvB,EAAarE,SAAWqE,EAAarE,QAAQ0F,EAAMC,GAAS,eAGzG/F,EAAcG,GAAaC,QAAQ0F,EAAMC,GACzC1F,GACH4F,OAAQvB,EAAOwB,OAAS,oBAAsBlG,EAAcG,GAAaC,QAAQ0F,EAAMC,GAAOE,OAC9FxF,UAAWgF,OAKXU,QACDjD,GACHQ,GAAIP,EACJ0B,SAAAA,GACIC,GAAiB,CAACA,cAAAA,GAClBC,GAAgB,CAACA,aAAAA,IACrB1E,OAAQwF,GACRL,eAAgBlB,EAAgB,iBAAM,gCAAiCkB,EACvEhB,cACEvB,eAAgB,SAACmD,UAAwB5C,gBAACP,mBAAmBmD,GAAqBjD,UAAWA,OAC1FqB,KAuCD6B,GAAgB1B,EACpBnB,gBAAC8C,mBAAqBH,IAAQI,YAAa,SAACC,UApCnB,SAACA,UACrBA,EAASN,QAAUM,EAASN,OAAS,GACxC3B,GAAiB,GAEV,OAGLD,GACFC,GAAiB,GAGZU,EAAeuB,IAyBmCC,CAAmBD,OAE5EhD,uBAAKkD,QAxBS,SAACC,OAGTC,EAzJV,SAA+BC,EAAaC,EAAkB1B,SAxB9D,SAAqBC,aACf0B,EAAmB,GAEnBC,GAAgB,urBAEAhE,oBAClB+D,EAAS1B,EAAM4B,gBACJf,OAAS,YAMA,IAAlBa,EAAOb,SAETc,GADAD,EAAS1B,EAAM4B,MAAM,YACEf,OAAS,GAG3B,CACLa,OAAAA,EACAC,cAAAA,GAK8BE,CAAYL,GAArCE,IAAAA,YAAQC,cAEI,KACbG,EAAkBJ,EAAOK,KAAK,KAAKC,qBAEhCP,EACJQ,MAAK,SAACC,EAASC,UACVD,EAAQE,MAAMvB,OAASsB,EAASC,MAAMvB,QAChC,EAENqB,EAAQE,MAAMvB,OAASsB,EAASC,MAAMvB,OACjC,EAGF,KAERwB,QAAO,SAAC7E,UACPuC,EAAeuC,QAAO,SAACC,EAAWC,OAC1BC,EAAcC,OAAOlF,EAAOgF,IAAYR,cAExCW,GAA0B,IADfb,EAAgBc,OAAOH,UAEpCE,IACFb,EAAkBA,EAAgBe,QAAQJ,EAAa,KAGlDF,GAAaI,KACnB,aAIFjB,EACJoB,KAAI,SAACC,UACJtB,EAAiBuB,MAAK,SAACxF,OACfyF,EAAkBF,EAAWG,OAAOlB,qBAEnCjC,EAAeuC,QAAO,SAACC,EAAWC,OACjCC,EAAcC,OAAOlF,EAAOgF,IAAYR,qBAGvCO,GAFWE,IAAgBQ,KAGjC,SAGNZ,OAAOc,SA6GcC,CAFJ9B,EAAE+B,cAAcC,QAAQ,cAEa3D,EAASI,GAE1DwD,EAAkBhC,EAAce,QAAO,SAACkB,EAAKC,UAC5CD,EAAIR,MAAK,SAACU,UAAOA,EAAG1D,QAAUyD,EAAOzD,UACxCwD,EAAIG,KAAKF,GAGJD,IACNjD,IAE0B,IAAzBgB,EAAcV,SAChBrB,EAAS+D,GACTK,YAAW,WACT9E,EAAmB+E,QAAQC,OAAOC,SACjC,MAQH5F,gBAAC6F,mBAAgBlD,IAAQ7C,IAAKa,EAAoBa,QAASA,MAIzDmE,GAAS7D,EACb9B,gBAAC8F,iBACCC,kBAAmB,SAAC/C,UAAgBd,MAA2Bc,OAC/DjB,UAAWA,EACXI,eAAgB,SAAC6D,UAAc7D,GAAe6D,KAC1CrD,IACJ7C,IAAKa,EACLa,QAASA,KAGXqB,UAIA7C,gBAAC7D,OACEwJ,GACAzE,GAAUA,EAAOwB,OAAS,GAAKtB,GAC9BpB,gBAAC1D,OACC0D,gBAACiG,GAAWtG,UAAWA,EAAWuB,OAAQA"}
|
|
1
|
+
{"version":3,"file":"tags-input.cjs.production.min.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {lineHeight, actionColor, borderRadius, gray80, errorColor, black, white} from '@propellerads/stylevariables';\n\nconst StyledTagsInput = styled.div`\n position: relative;\n`;\n\nconst TagsInputErrors = styled.div`\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ${lineHeight}px;\n align-items: center;\n`;\n\nconst prepareStyles = (customActionColor: string) => {\n const mainColor = customActionColor || actionColor;\n return {\n control: (styles, {isFocused, isDisabled}) => ({\n ...styles,\n borderRadius,\n backgroundColor: isDisabled ? '#ededed' : '#fff',\n minHeight: `${lineHeight}px`,\n borderWidth: 1,\n boxShadow: 'none',\n borderColor: isFocused ? mainColor : gray80,\n }),\n valueContainer: (styles) => ({\n ...styles,\n overflow: 'hidden',\n padding: '2px 2px 4px 2px',\n justifyContent: 'flex-start',\n }),\n placeholder: () => ({\n color: '#c0c0c0',\n fontWeight: 100,\n paddingLeft: '4px',\n position: 'absolute',\n }),\n clearIndicator: () => ({\n color: '#c0c0c0',\n display: 'inline-flex',\n marginRight: '4px',\n }),\n dropdownIndicator: () => ({\n display: 'none',\n }),\n indicatorSeparator: () => ({\n display: 'none',\n }),\n multiValue: (styles, {data}) => ({\n ...styles,\n backgroundColor: data.isException ? errorColor : mainColor,\n color: white,\n borderRadius: `${borderRadius / 2}px`,\n height: '22px',\n display: 'flex',\n alignItems: 'center',\n margin: '2px 0 0 2px',\n }),\n multiValueLabel: (styles) => ({\n ...styles,\n color: white,\n padding: '0 0 0 5px',\n fontSize: '12px',\n borderRadius: 0,\n display: 'inline-flex',\n lineHeight: '1',\n }),\n multiValueRemove: (styles, {data}) => ({\n ...styles,\n padding: 0,\n margin: '0 4px 0 2px',\n backgroundColor: data.isException ? errorColor : mainColor,\n cursor: 'pointer',\n ':hover': {\n backgroundColor: data.isException ? errorColor : mainColor,\n color: 'white',\n },\n }),\n menu: (styles) => ({\n ...styles,\n margin: 0,\n borderRadius: 0,\n zIndex: 10,\n }),\n menuList: (styles) => ({\n ...styles,\n '::-webkit-scrollbar': {\n width: '7px',\n },\n '::-webkit-scrollbar-thumb': {\n borderRadius: '4px',\n backgroundColor: 'rgba(0, 0, 0, .5)',\n boxShadow: '0 0 1px rgba(255, 255, 255, .5)',\n },\n }),\n option: (styles, {isFocused}) => ({\n backgroundColor: isFocused ? mainColor : null,\n padding: '5px 10px',\n fontSize: '14px',\n color: isFocused ? white : black,\n }),\n input: (styles) => ({\n ...styles,\n height: '16px',\n }),\n };\n};\n\nexport {prepareStyles, StyledTagsInput, TagsInputErrors};\n","import React, {useRef, useState} from 'react';\nimport ReactSelect, {components as reactSelectComponents} from 'react-select';\nimport isFunction from 'lodash.isfunction';\nimport ReactAsyncSelect from 'react-select/lib/Async';\nimport ErrorLabel from '@propellerads/error-label';\nimport CreatableSelect from 'react-select/lib/Creatable';\nimport {Close, SIZE, COLOR} from '@propellerads/icon';\n\nimport {TagsInputProps} from './types';\nimport {prepareStyles, StyledTagsInput, TagsInputErrors} from './style';\n\n// regexps by priority\nconst REGEXPS = [/(?:\\b|\\B)\\n+\\b/, /(?:\\b|\\B),\\s\\b/, /(?:\\b|\\B),+\\b/];\n\ninterface SplitStringReturnValue {\n splits: string[];\n specialHandle: boolean;\n}\n\nfunction splitString(value: string): SplitStringReturnValue {\n let splits: string[] = [];\n\n let specialHandle = false;\n // eslint-disable-next-line no-restricted-syntax\n for (const regex of REGEXPS) {\n splits = value.split(regex);\n if (splits.length > 1) {\n break;\n }\n }\n\n // special case. Need handle in special way\n if (splits.length === 1) {\n splits = value.split(/\\b\\s+\\b/);\n specialHandle = splits.length > 1;\n }\n\n return {\n splits,\n specialHandle,\n };\n}\n\nfunction searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {\n const {splits, specialHandle} = splitString(pastedValue);\n\n if (specialHandle) {\n let rawPastedString = splits.join(' ').toLowerCase();\n\n return availableOptions\n .sort((firstEl, secondEl) => {\n if (firstEl.label.length > secondEl.label.length) {\n return -1;\n }\n if (firstEl.label.length < secondEl.label.length) {\n return 1;\n }\n\n return 0;\n })\n .filter((option) =>\n searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const position = rawPastedString.search(optionValue);\n const condition = position !== -1;\n if (condition) {\n rawPastedString = rawPastedString.replace(optionValue, '');\n }\n\n return prevValue || condition;\n }, false),\n );\n }\n\n return splits\n .map((splitValue) =>\n availableOptions.find((option) => {\n const comparableValue = splitValue.trim().toLowerCase();\n\n return searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const condition = optionValue === comparableValue;\n\n return prevValue || condition;\n }, false);\n }),\n )\n .filter(Boolean);\n}\n\ninterface ClearIndicatorProps {\n // eslint-disable-next-line @typescript-eslint/ban-types\n getStyles: (clearIndicator: string, props: any) => {};\n innerProps: {\n ref: React.Ref<HTMLDivElement>;\n };\n elementId: string;\n}\n\nconst ClearIndicator = (props: ClearIndicatorProps) => {\n const {\n elementId,\n getStyles,\n innerProps: {ref, ...restInnerProps},\n } = props;\n\n return (\n <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)} id={`${elementId}-clear`}>\n <Close color={COLOR.GRAY_DARK} hoverColor={COLOR.BLACK} size={SIZE.MEDIUM_SMALL} />\n </div>\n );\n};\n\nconst TagsInput = (props: TagsInputProps) => {\n const reactSelectElement = useRef<any>(null);\n const [showMinLenTip, setShowMinLenTip] = useState(false);\n\n const {\n components = {},\n customStyles = {},\n elementId,\n errors = [],\n isAsync = false,\n isErrorLabelVisible = false,\n onChange,\n onInputChange = null,\n filterOption = null,\n options = [],\n promiseOptions = () => Promise.resolve(),\n searchableKeys = ['label'],\n value = [],\n actionColor = '',\n isClearable = true,\n isCreatable = false,\n isDisabled = false,\n isLoading = false,\n isRtl = false,\n isMulti = true,\n isSearchable = true,\n cacheOptions = false,\n placeholder = 'Start typing...',\n noOptionsMessage = () => 'No options...',\n loadingMessage = () => 'Loading...',\n minHeightInput = 36,\n createOptionPlaceholder = 'Create ',\n onCreateOption = () => null,\n } = props;\n\n const currentValue = value;\n\n const preparedStyled = {\n ...prepareStyles(actionColor),\n ...customStyles,\n control: (base, state) => {\n const styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};\n\n return {\n ...prepareStyles(actionColor).control(base, state),\n ...styles,\n border: errors.length ? '1px solid #ed3030' : prepareStyles(actionColor).control(base, state).border,\n minHeight: minHeightInput,\n };\n },\n };\n\n const config = {\n ...props,\n id: elementId,\n onChange,\n ...(onInputChange && {onInputChange}),\n ...(filterOption && {filterOption}),\n styles: preparedStyled,\n loadingMessage: showMinLenTip ? () => 'Enter two or more characters' : loadingMessage,\n components: {\n ClearIndicator: (clearIndicatorProps) => <ClearIndicator {...clearIndicatorProps} elementId={elementId} />,\n ...components,\n },\n };\n\n const handleAsyncRequest = (newValue: any) => {\n if (!newValue.length || newValue.length < 2) {\n setShowMinLenTip(true);\n\n return null;\n }\n\n if (showMinLenTip) {\n setShowMinLenTip(false);\n }\n\n return promiseOptions(newValue);\n };\n\n const onPaste = (e) => {\n const pasteData = e.clipboardData.getData('text/plain');\n\n const pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);\n\n const newInputOptions = pastedOptions.reduce((acc, curVal) => {\n if (!acc.find((el) => el.value === curVal.value)) {\n acc.push(curVal);\n }\n\n return acc;\n }, currentValue);\n\n if (pastedOptions.length !== 0) {\n onChange(newInputOptions);\n setTimeout(() => {\n reactSelectElement.current.select.blur();\n }, 0);\n }\n };\n\n const regularSelect = isAsync ? (\n <ReactAsyncSelect {...config} loadOptions={(newValue) => handleAsyncRequest(newValue)} />\n ) : (\n <div onPaste={onPaste}>\n <ReactSelect {...config} ref={reactSelectElement} options={options} />\n </div>\n );\n\n const select = isCreatable ? (\n <CreatableSelect\n formatCreateLabel={(newValue) => `${createOptionPlaceholder}\"${newValue}\"`}\n isLoading={isLoading}\n onCreateOption={(newOption) => onCreateOption(newOption)}\n {...config}\n ref={reactSelectElement}\n options={options}\n />\n ) : (\n regularSelect\n );\n\n return (\n <StyledTagsInput>\n {select}\n {errors && errors.length > 0 && isErrorLabelVisible && (\n <TagsInputErrors>\n <ErrorLabel elementId={elementId} errors={errors} />\n </TagsInputErrors>\n )}\n </StyledTagsInput>\n );\n};\n\nexport {reactSelectComponents as components};\n\nexport default TagsInput;\n"],"names":["StyledTagsInput","styled","div","_templateObject","_taggedTemplateLiteralLoose","TagsInputErrors","_templateObject2","lineHeight","prepareStyles","customActionColor","mainColor","actionColor","control","styles","_ref","_extends","borderRadius","backgroundColor","isDisabled","minHeight","borderWidth","boxShadow","borderColor","isFocused","gray80","valueContainer","overflow","padding","justifyContent","placeholder","color","fontWeight","paddingLeft","position","clearIndicator","display","marginRight","dropdownIndicator","indicatorSeparator","multiValue","_ref2","data","isException","errorColor","white","height","alignItems","margin","multiValueLabel","fontSize","multiValueRemove","_ref3","cursor",":hover","menu","zIndex","menuList","::-webkit-scrollbar","width","::-webkit-scrollbar-thumb","option","_ref4","black","input","REGEXPS","ClearIndicator","props","elementId","getStyles","_props$innerProps","innerProps","ref","restInnerProps","_objectWithoutPropertiesLoose","_excluded","React","style","id","Close","COLOR","GRAY_DARK","hoverColor","BLACK","size","SIZE","MEDIUM_SMALL","reactSelectElement","useRef","_useState","useState","showMinLenTip","setShowMinLenTip","_props$components","components","_props$customStyles","customStyles","_props$errors","errors","_props$isAsync","isAsync","_props$isErrorLabelVi","isErrorLabelVisible","onChange","_props$onInputChange","onInputChange","_props$filterOption","filterOption","_props$options","options","_props$promiseOptions","promiseOptions","Promise","resolve","_props$searchableKeys","searchableKeys","_props$value","value","_props$actionColor","_props$isClearable","isCreatable","_props$isCreatable","_props$isDisabled","isLoading","_props$isLoading","_props$isRtl","loadingMessage","_props$loadingMessage","_props$minHeightInput","minHeightInput","_props$createOptionPl","createOptionPlaceholder","_props$onCreateOption","onCreateOption","currentValue","preparedStyled","base","state","isFunction","border","length","config","clearIndicatorProps","regularSelect","ReactAsyncSelect","loadOptions","newValue","handleAsyncRequest","onPaste","e","pastedOptions","pastedValue","availableOptions","_splitString","splits","specialHandle","_i","_REGEXPS","split","splitString","rawPastedString","join","toLowerCase","sort","firstEl","secondEl","label","filter","reduce","prevValue","currValue","optionValue","String","condition","search","replace","map","splitValue","find","comparableValue","trim","Boolean","searchSuitableOptions","clipboardData","getData","newInputOptions","acc","curVal","el","push","setTimeout","current","select","blur","ReactSelect","CreatableSelect","formatCreateLabel","newOption","ErrorLabel"],"mappings":"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"}
|
package/dist/tags-input.esm.js
CHANGED
|
@@ -10,117 +10,36 @@ import styled from 'styled-components';
|
|
|
10
10
|
import { borderRadius, lineHeight, gray80, errorColor, white, black, actionColor } from '@propellerads/stylevariables';
|
|
11
11
|
|
|
12
12
|
function _extends() {
|
|
13
|
-
_extends = Object.assign
|
|
14
|
-
for (var
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
for (var key in source) {
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
19
|
-
target[key] = source[key];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
13
|
+
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
14
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
15
|
+
var t = arguments[e];
|
|
16
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
22
17
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
return _extends.apply(this, arguments);
|
|
18
|
+
return n;
|
|
19
|
+
}, _extends.apply(null, arguments);
|
|
28
20
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
37
|
-
key = sourceKeys[i];
|
|
38
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
39
|
-
target[key] = source[key];
|
|
21
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
22
|
+
if (null == r) return {};
|
|
23
|
+
var t = {};
|
|
24
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
25
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
26
|
+
t[n] = r[n];
|
|
40
27
|
}
|
|
41
|
-
|
|
42
|
-
return target;
|
|
28
|
+
return t;
|
|
43
29
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (!raw) {
|
|
47
|
-
raw = strings.slice(0);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
strings.raw = raw;
|
|
51
|
-
return strings;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
55
|
-
if (!o) return;
|
|
56
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
57
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
58
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
59
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
|
60
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function _arrayLikeToArray(arr, len) {
|
|
64
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
65
|
-
|
|
66
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
67
|
-
|
|
68
|
-
return arr2;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
72
|
-
var it;
|
|
73
|
-
|
|
74
|
-
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
|
|
75
|
-
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
76
|
-
if (it) o = it;
|
|
77
|
-
var i = 0;
|
|
78
|
-
return function () {
|
|
79
|
-
if (i >= o.length) return {
|
|
80
|
-
done: true
|
|
81
|
-
};
|
|
82
|
-
return {
|
|
83
|
-
done: false,
|
|
84
|
-
value: o[i++]
|
|
85
|
-
};
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
it = o[Symbol.iterator]();
|
|
93
|
-
return it.next.bind(it);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function _templateObject2() {
|
|
97
|
-
var data = _taggedTemplateLiteralLoose(["\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ", "px;\n align-items: center;\n"]);
|
|
98
|
-
|
|
99
|
-
_templateObject2 = function _templateObject2() {
|
|
100
|
-
return data;
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
return data;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function _templateObject() {
|
|
107
|
-
var data = _taggedTemplateLiteralLoose(["\n position: relative;\n"]);
|
|
108
|
-
|
|
109
|
-
_templateObject = function _templateObject() {
|
|
110
|
-
return data;
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
return data;
|
|
30
|
+
function _taggedTemplateLiteralLoose(e, t) {
|
|
31
|
+
return t || (t = e.slice(0)), e.raw = t, e;
|
|
114
32
|
}
|
|
115
|
-
var StyledTagsInput = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject());
|
|
116
|
-
var TagsInputErrors = /*#__PURE__*/styled.div( /*#__PURE__*/_templateObject2(), lineHeight);
|
|
117
33
|
|
|
34
|
+
var _templateObject, _templateObject2;
|
|
35
|
+
var StyledTagsInput = /*#__PURE__*/styled.div(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n"])));
|
|
36
|
+
var TagsInputErrors = /*#__PURE__*/styled.div(_templateObject2 || (_templateObject2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ", "px;\n align-items: center;\n"])), lineHeight);
|
|
118
37
|
var prepareStyles = function prepareStyles(customActionColor) {
|
|
119
38
|
var mainColor = customActionColor || actionColor;
|
|
120
39
|
return {
|
|
121
40
|
control: function control(styles, _ref) {
|
|
122
41
|
var isFocused = _ref.isFocused,
|
|
123
|
-
|
|
42
|
+
isDisabled = _ref.isDisabled;
|
|
124
43
|
return _extends({}, styles, {
|
|
125
44
|
borderRadius: borderRadius,
|
|
126
45
|
backgroundColor: isDisabled ? '#ededed' : '#fff',
|
|
@@ -233,65 +152,56 @@ var prepareStyles = function prepareStyles(customActionColor) {
|
|
|
233
152
|
};
|
|
234
153
|
};
|
|
235
154
|
|
|
155
|
+
var _excluded = ["ref"];
|
|
156
|
+
// regexps by priority
|
|
236
157
|
var REGEXPS = [/(?:\b|\B)\n+\b/, /(?:\b|\B),\s\b/, /(?:\b|\B),+\b/];
|
|
237
|
-
|
|
238
158
|
function splitString(value) {
|
|
239
159
|
var splits = [];
|
|
240
|
-
var specialHandle = false;
|
|
241
|
-
|
|
242
|
-
for (var
|
|
243
|
-
var regex =
|
|
160
|
+
var specialHandle = false;
|
|
161
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
162
|
+
for (var _i = 0, _REGEXPS = REGEXPS; _i < _REGEXPS.length; _i++) {
|
|
163
|
+
var regex = _REGEXPS[_i];
|
|
244
164
|
splits = value.split(regex);
|
|
245
|
-
|
|
246
165
|
if (splits.length > 1) {
|
|
247
166
|
break;
|
|
248
167
|
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
168
|
+
}
|
|
169
|
+
// special case. Need handle in special way
|
|
252
170
|
if (splits.length === 1) {
|
|
253
171
|
splits = value.split(/\b\s+\b/);
|
|
254
172
|
specialHandle = splits.length > 1;
|
|
255
173
|
}
|
|
256
|
-
|
|
257
174
|
return {
|
|
258
175
|
splits: splits,
|
|
259
176
|
specialHandle: specialHandle
|
|
260
177
|
};
|
|
261
178
|
}
|
|
262
|
-
|
|
263
179
|
function searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {
|
|
264
180
|
var _splitString = splitString(pastedValue),
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
181
|
+
splits = _splitString.splits,
|
|
182
|
+
specialHandle = _splitString.specialHandle;
|
|
268
183
|
if (specialHandle) {
|
|
269
184
|
var rawPastedString = splits.join(' ').toLowerCase();
|
|
270
185
|
return availableOptions.sort(function (firstEl, secondEl) {
|
|
271
186
|
if (firstEl.label.length > secondEl.label.length) {
|
|
272
187
|
return -1;
|
|
273
188
|
}
|
|
274
|
-
|
|
275
189
|
if (firstEl.label.length < secondEl.label.length) {
|
|
276
190
|
return 1;
|
|
277
191
|
}
|
|
278
|
-
|
|
279
192
|
return 0;
|
|
280
193
|
}).filter(function (option) {
|
|
281
194
|
return searchableKeys.reduce(function (prevValue, currValue) {
|
|
282
195
|
var optionValue = String(option[currValue]).toLowerCase();
|
|
283
196
|
var position = rawPastedString.search(optionValue);
|
|
284
197
|
var condition = position !== -1;
|
|
285
|
-
|
|
286
198
|
if (condition) {
|
|
287
199
|
rawPastedString = rawPastedString.replace(optionValue, '');
|
|
288
200
|
}
|
|
289
|
-
|
|
290
201
|
return prevValue || condition;
|
|
291
202
|
}, false);
|
|
292
203
|
});
|
|
293
204
|
}
|
|
294
|
-
|
|
295
205
|
return splits.map(function (splitValue) {
|
|
296
206
|
return availableOptions.find(function (option) {
|
|
297
207
|
var comparableValue = splitValue.trim().toLowerCase();
|
|
@@ -303,14 +213,12 @@ function searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {
|
|
|
303
213
|
});
|
|
304
214
|
}).filter(Boolean);
|
|
305
215
|
}
|
|
306
|
-
|
|
307
216
|
var _ClearIndicator = function ClearIndicator(props) {
|
|
308
217
|
var elementId = props.elementId,
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
218
|
+
getStyles = props.getStyles,
|
|
219
|
+
_props$innerProps = props.innerProps,
|
|
220
|
+
ref = _props$innerProps.ref,
|
|
221
|
+
restInnerProps = _objectWithoutPropertiesLoose(_props$innerProps, _excluded);
|
|
314
222
|
return React.createElement("div", Object.assign({}, restInnerProps, {
|
|
315
223
|
ref: ref,
|
|
316
224
|
style: getStyles('clearIndicator', props),
|
|
@@ -321,61 +229,56 @@ var _ClearIndicator = function ClearIndicator(props) {
|
|
|
321
229
|
size: SIZE.MEDIUM_SMALL
|
|
322
230
|
}));
|
|
323
231
|
};
|
|
324
|
-
|
|
325
232
|
var TagsInput = function TagsInput(props) {
|
|
326
233
|
var reactSelectElement = useRef(null);
|
|
327
|
-
|
|
328
234
|
var _useState = useState(false),
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
235
|
+
showMinLenTip = _useState[0],
|
|
236
|
+
setShowMinLenTip = _useState[1];
|
|
332
237
|
var _props$components = props.components,
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
238
|
+
components = _props$components === void 0 ? {} : _props$components,
|
|
239
|
+
_props$customStyles = props.customStyles,
|
|
240
|
+
customStyles = _props$customStyles === void 0 ? {} : _props$customStyles,
|
|
241
|
+
elementId = props.elementId,
|
|
242
|
+
_props$errors = props.errors,
|
|
243
|
+
errors = _props$errors === void 0 ? [] : _props$errors,
|
|
244
|
+
_props$isAsync = props.isAsync,
|
|
245
|
+
isAsync = _props$isAsync === void 0 ? false : _props$isAsync,
|
|
246
|
+
_props$isErrorLabelVi = props.isErrorLabelVisible,
|
|
247
|
+
isErrorLabelVisible = _props$isErrorLabelVi === void 0 ? false : _props$isErrorLabelVi,
|
|
248
|
+
onChange = props.onChange,
|
|
249
|
+
_props$onInputChange = props.onInputChange,
|
|
250
|
+
onInputChange = _props$onInputChange === void 0 ? null : _props$onInputChange,
|
|
251
|
+
_props$filterOption = props.filterOption,
|
|
252
|
+
filterOption = _props$filterOption === void 0 ? null : _props$filterOption,
|
|
253
|
+
_props$options = props.options,
|
|
254
|
+
options = _props$options === void 0 ? [] : _props$options,
|
|
255
|
+
_props$promiseOptions = props.promiseOptions,
|
|
256
|
+
promiseOptions = _props$promiseOptions === void 0 ? function () {
|
|
257
|
+
return Promise.resolve();
|
|
258
|
+
} : _props$promiseOptions,
|
|
259
|
+
_props$searchableKeys = props.searchableKeys,
|
|
260
|
+
searchableKeys = _props$searchableKeys === void 0 ? ['label'] : _props$searchableKeys,
|
|
261
|
+
_props$value = props.value,
|
|
262
|
+
value = _props$value === void 0 ? [] : _props$value,
|
|
263
|
+
_props$actionColor = props.actionColor,
|
|
264
|
+
actionColor = _props$actionColor === void 0 ? '' : _props$actionColor,
|
|
265
|
+
_props$isCreatable = props.isCreatable,
|
|
266
|
+
isCreatable = _props$isCreatable === void 0 ? false : _props$isCreatable,
|
|
267
|
+
_props$isLoading = props.isLoading,
|
|
268
|
+
isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
|
|
269
|
+
_props$loadingMessage = props.loadingMessage,
|
|
270
|
+
loadingMessage = _props$loadingMessage === void 0 ? function () {
|
|
271
|
+
return 'Loading...';
|
|
272
|
+
} : _props$loadingMessage,
|
|
273
|
+
_props$minHeightInput = props.minHeightInput,
|
|
274
|
+
minHeightInput = _props$minHeightInput === void 0 ? 36 : _props$minHeightInput,
|
|
275
|
+
_props$createOptionPl = props.createOptionPlaceholder,
|
|
276
|
+
createOptionPlaceholder = _props$createOptionPl === void 0 ? 'Create ' : _props$createOptionPl,
|
|
277
|
+
_props$onCreateOption = props.onCreateOption,
|
|
278
|
+
_onCreateOption = _props$onCreateOption === void 0 ? function () {
|
|
279
|
+
return null;
|
|
280
|
+
} : _props$onCreateOption;
|
|
377
281
|
var currentValue = value;
|
|
378
|
-
|
|
379
282
|
var preparedStyled = _extends({}, prepareStyles(actionColor), customStyles, {
|
|
380
283
|
control: function control(base, state) {
|
|
381
284
|
var styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};
|
|
@@ -385,7 +288,6 @@ var TagsInput = function TagsInput(props) {
|
|
|
385
288
|
});
|
|
386
289
|
}
|
|
387
290
|
});
|
|
388
|
-
|
|
389
291
|
var config = _extends({}, props, {
|
|
390
292
|
id: elementId,
|
|
391
293
|
onChange: onChange
|
|
@@ -406,20 +308,16 @@ var TagsInput = function TagsInput(props) {
|
|
|
406
308
|
}
|
|
407
309
|
}, components)
|
|
408
310
|
});
|
|
409
|
-
|
|
410
311
|
var handleAsyncRequest = function handleAsyncRequest(newValue) {
|
|
411
312
|
if (!newValue.length || newValue.length < 2) {
|
|
412
313
|
setShowMinLenTip(true);
|
|
413
314
|
return null;
|
|
414
315
|
}
|
|
415
|
-
|
|
416
316
|
if (showMinLenTip) {
|
|
417
317
|
setShowMinLenTip(false);
|
|
418
318
|
}
|
|
419
|
-
|
|
420
319
|
return promiseOptions(newValue);
|
|
421
320
|
};
|
|
422
|
-
|
|
423
321
|
var onPaste = function onPaste(e) {
|
|
424
322
|
var pasteData = e.clipboardData.getData('text/plain');
|
|
425
323
|
var pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);
|
|
@@ -429,10 +327,8 @@ var TagsInput = function TagsInput(props) {
|
|
|
429
327
|
})) {
|
|
430
328
|
acc.push(curVal);
|
|
431
329
|
}
|
|
432
|
-
|
|
433
330
|
return acc;
|
|
434
331
|
}, currentValue);
|
|
435
|
-
|
|
436
332
|
if (pastedOptions.length !== 0) {
|
|
437
333
|
onChange(newInputOptions);
|
|
438
334
|
setTimeout(function () {
|
|
@@ -440,7 +336,6 @@ var TagsInput = function TagsInput(props) {
|
|
|
440
336
|
}, 0);
|
|
441
337
|
}
|
|
442
338
|
};
|
|
443
|
-
|
|
444
339
|
var regularSelect = isAsync ? React.createElement(ReactAsyncSelect, Object.assign({}, config, {
|
|
445
340
|
loadOptions: function loadOptions(newValue) {
|
|
446
341
|
return handleAsyncRequest(newValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-input.esm.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {lineHeight, actionColor, borderRadius, gray80, errorColor, black, white} from '@propellerads/stylevariables';\n\nconst StyledTagsInput = styled.div`\n position: relative;\n`;\n\nconst TagsInputErrors = styled.div`\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ${lineHeight}px;\n align-items: center;\n`;\n\nconst prepareStyles = (customActionColor: string) => {\n const mainColor = customActionColor || actionColor;\n return {\n control: (styles, {isFocused, isDisabled}) => ({\n ...styles,\n borderRadius,\n backgroundColor: isDisabled ? '#ededed' : '#fff',\n minHeight: `${lineHeight}px`,\n borderWidth: 1,\n boxShadow: 'none',\n borderColor: isFocused ? mainColor : gray80,\n }),\n valueContainer: (styles) => ({\n ...styles,\n overflow: 'hidden',\n padding: '2px 2px 4px 2px',\n justifyContent: 'flex-start',\n }),\n placeholder: () => ({\n color: '#c0c0c0',\n fontWeight: 100,\n paddingLeft: '4px',\n position: 'absolute',\n }),\n clearIndicator: () => ({\n color: '#c0c0c0',\n display: 'inline-flex',\n marginRight: '4px',\n }),\n dropdownIndicator: () => ({\n display: 'none',\n }),\n indicatorSeparator: () => ({\n display: 'none',\n }),\n multiValue: (styles, {data}) => ({\n ...styles,\n backgroundColor: data.isException ? errorColor : mainColor,\n color: white,\n borderRadius: `${borderRadius / 2}px`,\n height: '22px',\n display: 'flex',\n alignItems: 'center',\n margin: '2px 0 0 2px',\n }),\n multiValueLabel: (styles) => ({\n ...styles,\n color: white,\n padding: '0 0 0 5px',\n fontSize: '12px',\n borderRadius: 0,\n display: 'inline-flex',\n lineHeight: '1',\n }),\n multiValueRemove: (styles, {data}) => ({\n ...styles,\n padding: 0,\n margin: '0 4px 0 2px',\n backgroundColor: data.isException ? errorColor : mainColor,\n cursor: 'pointer',\n ':hover': {\n backgroundColor: data.isException ? errorColor : mainColor,\n color: 'white',\n },\n }),\n menu: (styles) => ({\n ...styles,\n margin: 0,\n borderRadius: 0,\n zIndex: 10,\n }),\n menuList: (styles) => ({\n ...styles,\n '::-webkit-scrollbar': {\n width: '7px',\n },\n '::-webkit-scrollbar-thumb': {\n borderRadius: '4px',\n backgroundColor: 'rgba(0, 0, 0, .5)',\n boxShadow: '0 0 1px rgba(255, 255, 255, .5)',\n },\n }),\n option: (styles, {isFocused}) => ({\n backgroundColor: isFocused ? mainColor : null,\n padding: '5px 10px',\n fontSize: '14px',\n color: isFocused ? white : black,\n }),\n input: (styles) => ({\n ...styles,\n height: '16px',\n }),\n };\n};\n\nexport {prepareStyles, StyledTagsInput, TagsInputErrors};\n","import React, {useRef, useState} from 'react';\nimport ReactSelect, {components as reactSelectComponents} from 'react-select';\nimport isFunction from 'lodash.isfunction';\nimport ReactAsyncSelect from 'react-select/lib/Async';\nimport ErrorLabel from '@propellerads/error-label';\nimport CreatableSelect from 'react-select/lib/Creatable';\nimport {Close, SIZE, COLOR} from '@propellerads/icon';\n\nimport {TagsInputProps} from './types';\nimport {prepareStyles, StyledTagsInput, TagsInputErrors} from './style';\n\n// regexps by priority\nconst REGEXPS = [/(?:\\b|\\B)\\n+\\b/, /(?:\\b|\\B),\\s\\b/, /(?:\\b|\\B),+\\b/];\n\ninterface SplitStringReturnValue {\n splits: string[];\n specialHandle: boolean;\n}\n\nfunction splitString(value: string): SplitStringReturnValue {\n let splits: string[] = [];\n\n let specialHandle = false;\n // eslint-disable-next-line no-restricted-syntax\n for (const regex of REGEXPS) {\n splits = value.split(regex);\n if (splits.length > 1) {\n break;\n }\n }\n\n // special case. Need handle in special way\n if (splits.length === 1) {\n splits = value.split(/\\b\\s+\\b/);\n specialHandle = splits.length > 1;\n }\n\n return {\n splits,\n specialHandle,\n };\n}\n\nfunction searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {\n const {splits, specialHandle} = splitString(pastedValue);\n\n if (specialHandle) {\n let rawPastedString = splits.join(' ').toLowerCase();\n\n return availableOptions\n .sort((firstEl, secondEl) => {\n if (firstEl.label.length > secondEl.label.length) {\n return -1;\n }\n if (firstEl.label.length < secondEl.label.length) {\n return 1;\n }\n\n return 0;\n })\n .filter((option) =>\n searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const position = rawPastedString.search(optionValue);\n const condition = position !== -1;\n if (condition) {\n rawPastedString = rawPastedString.replace(optionValue, '');\n }\n\n return prevValue || condition;\n }, false),\n );\n }\n\n return splits\n .map((splitValue) =>\n availableOptions.find((option) => {\n const comparableValue = splitValue.trim().toLowerCase();\n\n return searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const condition = optionValue === comparableValue;\n\n return prevValue || condition;\n }, false);\n }),\n )\n .filter(Boolean);\n}\n\ninterface ClearIndicatorProps {\n // eslint-disable-next-line @typescript-eslint/ban-types\n getStyles: (clearIndicator: string, props: any) => {};\n innerProps: {\n ref: React.Ref<HTMLDivElement>;\n };\n elementId: string;\n}\n\nconst ClearIndicator = (props: ClearIndicatorProps) => {\n const {\n elementId,\n getStyles,\n innerProps: {ref, ...restInnerProps},\n } = props;\n\n return (\n <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)} id={`${elementId}-clear`}>\n <Close color={COLOR.GRAY_DARK} hoverColor={COLOR.BLACK} size={SIZE.MEDIUM_SMALL} />\n </div>\n );\n};\n\nconst TagsInput = (props: TagsInputProps) => {\n const reactSelectElement = useRef<any>(null);\n const [showMinLenTip, setShowMinLenTip] = useState(false);\n\n const {\n components = {},\n customStyles = {},\n elementId,\n errors = [],\n isAsync = false,\n isErrorLabelVisible = false,\n onChange,\n onInputChange = null,\n filterOption = null,\n options = [],\n promiseOptions = () => Promise.resolve(),\n searchableKeys = ['label'],\n value = [],\n actionColor = '',\n isClearable = true,\n isCreatable = false,\n isDisabled = false,\n isLoading = false,\n isRtl = false,\n isMulti = true,\n isSearchable = true,\n cacheOptions = false,\n placeholder = 'Start typing...',\n noOptionsMessage = () => 'No options...',\n loadingMessage = () => 'Loading...',\n minHeightInput = 36,\n createOptionPlaceholder = 'Create ',\n onCreateOption = () => null,\n } = props;\n\n const currentValue = value;\n\n const preparedStyled = {\n ...prepareStyles(actionColor),\n ...customStyles,\n control: (base, state) => {\n const styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};\n\n return {\n ...prepareStyles(actionColor).control(base, state),\n ...styles,\n border: errors.length ? '1px solid #ed3030' : prepareStyles(actionColor).control(base, state).border,\n minHeight: minHeightInput,\n };\n },\n };\n\n const config = {\n ...props,\n id: elementId,\n onChange,\n ...(onInputChange && {onInputChange}),\n ...(filterOption && {filterOption}),\n styles: preparedStyled,\n loadingMessage: showMinLenTip ? () => 'Enter two or more characters' : loadingMessage,\n components: {\n ClearIndicator: (clearIndicatorProps) => <ClearIndicator {...clearIndicatorProps} elementId={elementId} />,\n ...components,\n },\n };\n\n const handleAsyncRequest = (newValue: any) => {\n if (!newValue.length || newValue.length < 2) {\n setShowMinLenTip(true);\n\n return null;\n }\n\n if (showMinLenTip) {\n setShowMinLenTip(false);\n }\n\n return promiseOptions(newValue);\n };\n\n const onPaste = (e) => {\n const pasteData = e.clipboardData.getData('text/plain');\n\n const pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);\n\n const newInputOptions = pastedOptions.reduce((acc, curVal) => {\n if (!acc.find((el) => el.value === curVal.value)) {\n acc.push(curVal);\n }\n\n return acc;\n }, currentValue);\n\n if (pastedOptions.length !== 0) {\n onChange(newInputOptions);\n setTimeout(() => {\n reactSelectElement.current.select.blur();\n }, 0);\n }\n };\n\n const regularSelect = isAsync ? (\n <ReactAsyncSelect {...config} loadOptions={(newValue) => handleAsyncRequest(newValue)} />\n ) : (\n <div onPaste={onPaste}>\n <ReactSelect {...config} ref={reactSelectElement} options={options} />\n </div>\n );\n\n const select = isCreatable ? (\n <CreatableSelect\n formatCreateLabel={(newValue) => `${createOptionPlaceholder}\"${newValue}\"`}\n isLoading={isLoading}\n onCreateOption={(newOption) => onCreateOption(newOption)}\n {...config}\n ref={reactSelectElement}\n options={options}\n />\n ) : (\n regularSelect\n );\n\n return (\n <StyledTagsInput>\n {select}\n {errors && errors.length > 0 && isErrorLabelVisible && (\n <TagsInputErrors>\n <ErrorLabel elementId={elementId} errors={errors} />\n </TagsInputErrors>\n )}\n </StyledTagsInput>\n );\n};\n\nexport {reactSelectComponents as components};\n\nexport default TagsInput;\n"],"names":["StyledTagsInput","styled","div","TagsInputErrors","lineHeight","prepareStyles","customActionColor","mainColor","actionColor","control","styles","isFocused","isDisabled","borderRadius","backgroundColor","minHeight","borderWidth","boxShadow","borderColor","gray80","valueContainer","overflow","padding","justifyContent","placeholder","color","fontWeight","paddingLeft","position","clearIndicator","display","marginRight","dropdownIndicator","indicatorSeparator","multiValue","data","isException","errorColor","white","height","alignItems","margin","multiValueLabel","fontSize","multiValueRemove","cursor","menu","zIndex","menuList","width","option","black","input","REGEXPS","splitString","value","splits","specialHandle","regex","split","length","searchSuitableOptions","pastedValue","availableOptions","searchableKeys","rawPastedString","join","toLowerCase","sort","firstEl","secondEl","label","filter","reduce","prevValue","currValue","optionValue","String","search","condition","replace","map","splitValue","find","comparableValue","trim","Boolean","ClearIndicator","props","elementId","getStyles","innerProps","ref","restInnerProps","React","style","id","Close","COLOR","GRAY_DARK","hoverColor","BLACK","size","SIZE","MEDIUM_SMALL","TagsInput","reactSelectElement","useRef","useState","showMinLenTip","setShowMinLenTip","components","customStyles","errors","isAsync","isErrorLabelVisible","onChange","onInputChange","filterOption","options","promiseOptions","Promise","resolve","isCreatable","isLoading","loadingMessage","minHeightInput","createOptionPlaceholder","onCreateOption","currentValue","preparedStyled","base","state","isFunction","border","config","clearIndicatorProps","handleAsyncRequest","newValue","onPaste","e","pasteData","clipboardData","getData","pastedOptions","newInputOptions","acc","curVal","el","push","setTimeout","current","select","blur","regularSelect","ReactAsyncSelect","loadOptions","ReactSelect","CreatableSelect","formatCreateLabel","newOption","ErrorLabel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tags-input.esm.js","sources":["../src/style.tsx","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport {lineHeight, actionColor, borderRadius, gray80, errorColor, black, white} from '@propellerads/stylevariables';\n\nconst StyledTagsInput = styled.div`\n position: relative;\n`;\n\nconst TagsInputErrors = styled.div`\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ${lineHeight}px;\n align-items: center;\n`;\n\nconst prepareStyles = (customActionColor: string) => {\n const mainColor = customActionColor || actionColor;\n return {\n control: (styles, {isFocused, isDisabled}) => ({\n ...styles,\n borderRadius,\n backgroundColor: isDisabled ? '#ededed' : '#fff',\n minHeight: `${lineHeight}px`,\n borderWidth: 1,\n boxShadow: 'none',\n borderColor: isFocused ? mainColor : gray80,\n }),\n valueContainer: (styles) => ({\n ...styles,\n overflow: 'hidden',\n padding: '2px 2px 4px 2px',\n justifyContent: 'flex-start',\n }),\n placeholder: () => ({\n color: '#c0c0c0',\n fontWeight: 100,\n paddingLeft: '4px',\n position: 'absolute',\n }),\n clearIndicator: () => ({\n color: '#c0c0c0',\n display: 'inline-flex',\n marginRight: '4px',\n }),\n dropdownIndicator: () => ({\n display: 'none',\n }),\n indicatorSeparator: () => ({\n display: 'none',\n }),\n multiValue: (styles, {data}) => ({\n ...styles,\n backgroundColor: data.isException ? errorColor : mainColor,\n color: white,\n borderRadius: `${borderRadius / 2}px`,\n height: '22px',\n display: 'flex',\n alignItems: 'center',\n margin: '2px 0 0 2px',\n }),\n multiValueLabel: (styles) => ({\n ...styles,\n color: white,\n padding: '0 0 0 5px',\n fontSize: '12px',\n borderRadius: 0,\n display: 'inline-flex',\n lineHeight: '1',\n }),\n multiValueRemove: (styles, {data}) => ({\n ...styles,\n padding: 0,\n margin: '0 4px 0 2px',\n backgroundColor: data.isException ? errorColor : mainColor,\n cursor: 'pointer',\n ':hover': {\n backgroundColor: data.isException ? errorColor : mainColor,\n color: 'white',\n },\n }),\n menu: (styles) => ({\n ...styles,\n margin: 0,\n borderRadius: 0,\n zIndex: 10,\n }),\n menuList: (styles) => ({\n ...styles,\n '::-webkit-scrollbar': {\n width: '7px',\n },\n '::-webkit-scrollbar-thumb': {\n borderRadius: '4px',\n backgroundColor: 'rgba(0, 0, 0, .5)',\n boxShadow: '0 0 1px rgba(255, 255, 255, .5)',\n },\n }),\n option: (styles, {isFocused}) => ({\n backgroundColor: isFocused ? mainColor : null,\n padding: '5px 10px',\n fontSize: '14px',\n color: isFocused ? white : black,\n }),\n input: (styles) => ({\n ...styles,\n height: '16px',\n }),\n };\n};\n\nexport {prepareStyles, StyledTagsInput, TagsInputErrors};\n","import React, {useRef, useState} from 'react';\nimport ReactSelect, {components as reactSelectComponents} from 'react-select';\nimport isFunction from 'lodash.isfunction';\nimport ReactAsyncSelect from 'react-select/lib/Async';\nimport ErrorLabel from '@propellerads/error-label';\nimport CreatableSelect from 'react-select/lib/Creatable';\nimport {Close, SIZE, COLOR} from '@propellerads/icon';\n\nimport {TagsInputProps} from './types';\nimport {prepareStyles, StyledTagsInput, TagsInputErrors} from './style';\n\n// regexps by priority\nconst REGEXPS = [/(?:\\b|\\B)\\n+\\b/, /(?:\\b|\\B),\\s\\b/, /(?:\\b|\\B),+\\b/];\n\ninterface SplitStringReturnValue {\n splits: string[];\n specialHandle: boolean;\n}\n\nfunction splitString(value: string): SplitStringReturnValue {\n let splits: string[] = [];\n\n let specialHandle = false;\n // eslint-disable-next-line no-restricted-syntax\n for (const regex of REGEXPS) {\n splits = value.split(regex);\n if (splits.length > 1) {\n break;\n }\n }\n\n // special case. Need handle in special way\n if (splits.length === 1) {\n splits = value.split(/\\b\\s+\\b/);\n specialHandle = splits.length > 1;\n }\n\n return {\n splits,\n specialHandle,\n };\n}\n\nfunction searchSuitableOptions(pastedValue, availableOptions, searchableKeys) {\n const {splits, specialHandle} = splitString(pastedValue);\n\n if (specialHandle) {\n let rawPastedString = splits.join(' ').toLowerCase();\n\n return availableOptions\n .sort((firstEl, secondEl) => {\n if (firstEl.label.length > secondEl.label.length) {\n return -1;\n }\n if (firstEl.label.length < secondEl.label.length) {\n return 1;\n }\n\n return 0;\n })\n .filter((option) =>\n searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const position = rawPastedString.search(optionValue);\n const condition = position !== -1;\n if (condition) {\n rawPastedString = rawPastedString.replace(optionValue, '');\n }\n\n return prevValue || condition;\n }, false),\n );\n }\n\n return splits\n .map((splitValue) =>\n availableOptions.find((option) => {\n const comparableValue = splitValue.trim().toLowerCase();\n\n return searchableKeys.reduce((prevValue, currValue) => {\n const optionValue = String(option[currValue]).toLowerCase();\n const condition = optionValue === comparableValue;\n\n return prevValue || condition;\n }, false);\n }),\n )\n .filter(Boolean);\n}\n\ninterface ClearIndicatorProps {\n // eslint-disable-next-line @typescript-eslint/ban-types\n getStyles: (clearIndicator: string, props: any) => {};\n innerProps: {\n ref: React.Ref<HTMLDivElement>;\n };\n elementId: string;\n}\n\nconst ClearIndicator = (props: ClearIndicatorProps) => {\n const {\n elementId,\n getStyles,\n innerProps: {ref, ...restInnerProps},\n } = props;\n\n return (\n <div {...restInnerProps} ref={ref} style={getStyles('clearIndicator', props)} id={`${elementId}-clear`}>\n <Close color={COLOR.GRAY_DARK} hoverColor={COLOR.BLACK} size={SIZE.MEDIUM_SMALL} />\n </div>\n );\n};\n\nconst TagsInput = (props: TagsInputProps) => {\n const reactSelectElement = useRef<any>(null);\n const [showMinLenTip, setShowMinLenTip] = useState(false);\n\n const {\n components = {},\n customStyles = {},\n elementId,\n errors = [],\n isAsync = false,\n isErrorLabelVisible = false,\n onChange,\n onInputChange = null,\n filterOption = null,\n options = [],\n promiseOptions = () => Promise.resolve(),\n searchableKeys = ['label'],\n value = [],\n actionColor = '',\n isClearable = true,\n isCreatable = false,\n isDisabled = false,\n isLoading = false,\n isRtl = false,\n isMulti = true,\n isSearchable = true,\n cacheOptions = false,\n placeholder = 'Start typing...',\n noOptionsMessage = () => 'No options...',\n loadingMessage = () => 'Loading...',\n minHeightInput = 36,\n createOptionPlaceholder = 'Create ',\n onCreateOption = () => null,\n } = props;\n\n const currentValue = value;\n\n const preparedStyled = {\n ...prepareStyles(actionColor),\n ...customStyles,\n control: (base, state) => {\n const styles = customStyles.control && isFunction(customStyles.control) ? customStyles.control(base, state) : {};\n\n return {\n ...prepareStyles(actionColor).control(base, state),\n ...styles,\n border: errors.length ? '1px solid #ed3030' : prepareStyles(actionColor).control(base, state).border,\n minHeight: minHeightInput,\n };\n },\n };\n\n const config = {\n ...props,\n id: elementId,\n onChange,\n ...(onInputChange && {onInputChange}),\n ...(filterOption && {filterOption}),\n styles: preparedStyled,\n loadingMessage: showMinLenTip ? () => 'Enter two or more characters' : loadingMessage,\n components: {\n ClearIndicator: (clearIndicatorProps) => <ClearIndicator {...clearIndicatorProps} elementId={elementId} />,\n ...components,\n },\n };\n\n const handleAsyncRequest = (newValue: any) => {\n if (!newValue.length || newValue.length < 2) {\n setShowMinLenTip(true);\n\n return null;\n }\n\n if (showMinLenTip) {\n setShowMinLenTip(false);\n }\n\n return promiseOptions(newValue);\n };\n\n const onPaste = (e) => {\n const pasteData = e.clipboardData.getData('text/plain');\n\n const pastedOptions = searchSuitableOptions(pasteData, options, searchableKeys);\n\n const newInputOptions = pastedOptions.reduce((acc, curVal) => {\n if (!acc.find((el) => el.value === curVal.value)) {\n acc.push(curVal);\n }\n\n return acc;\n }, currentValue);\n\n if (pastedOptions.length !== 0) {\n onChange(newInputOptions);\n setTimeout(() => {\n reactSelectElement.current.select.blur();\n }, 0);\n }\n };\n\n const regularSelect = isAsync ? (\n <ReactAsyncSelect {...config} loadOptions={(newValue) => handleAsyncRequest(newValue)} />\n ) : (\n <div onPaste={onPaste}>\n <ReactSelect {...config} ref={reactSelectElement} options={options} />\n </div>\n );\n\n const select = isCreatable ? (\n <CreatableSelect\n formatCreateLabel={(newValue) => `${createOptionPlaceholder}\"${newValue}\"`}\n isLoading={isLoading}\n onCreateOption={(newOption) => onCreateOption(newOption)}\n {...config}\n ref={reactSelectElement}\n options={options}\n />\n ) : (\n regularSelect\n );\n\n return (\n <StyledTagsInput>\n {select}\n {errors && errors.length > 0 && isErrorLabelVisible && (\n <TagsInputErrors>\n <ErrorLabel elementId={elementId} errors={errors} />\n </TagsInputErrors>\n )}\n </StyledTagsInput>\n );\n};\n\nexport {reactSelectComponents as components};\n\nexport default TagsInput;\n"],"names":["StyledTagsInput","styled","div","_templateObject","_taggedTemplateLiteralLoose","TagsInputErrors","_templateObject2","lineHeight","prepareStyles","customActionColor","mainColor","actionColor","control","styles","_ref","isFocused","isDisabled","_extends","borderRadius","backgroundColor","minHeight","borderWidth","boxShadow","borderColor","gray80","valueContainer","overflow","padding","justifyContent","placeholder","color","fontWeight","paddingLeft","position","clearIndicator","display","marginRight","dropdownIndicator","indicatorSeparator","multiValue","_ref2","data","isException","errorColor","white","height","alignItems","margin","multiValueLabel","fontSize","multiValueRemove","_ref3","cursor","menu","zIndex","menuList","width","option","_ref4","black","input","REGEXPS","splitString","value","splits","specialHandle","_i","_REGEXPS","length","regex","split","searchSuitableOptions","pastedValue","availableOptions","searchableKeys","_splitString","rawPastedString","join","toLowerCase","sort","firstEl","secondEl","label","filter","reduce","prevValue","currValue","optionValue","String","search","condition","replace","map","splitValue","find","comparableValue","trim","Boolean","ClearIndicator","props","elementId","getStyles","_props$innerProps","innerProps","ref","restInnerProps","_objectWithoutPropertiesLoose","_excluded","React","style","id","Close","COLOR","GRAY_DARK","hoverColor","BLACK","size","SIZE","MEDIUM_SMALL","TagsInput","reactSelectElement","useRef","_useState","useState","showMinLenTip","setShowMinLenTip","_props$components","components","_props$customStyles","customStyles","_props$errors","errors","_props$isAsync","isAsync","_props$isErrorLabelVi","isErrorLabelVisible","onChange","_props$onInputChange","onInputChange","_props$filterOption","filterOption","_props$options","options","_props$promiseOptions","promiseOptions","Promise","resolve","_props$searchableKeys","_props$value","_props$actionColor","_props$isClearable","_props$isCreatable","isCreatable","_props$isDisabled","_props$isLoading","isLoading","_props$isRtl","_props$loadingMessage","loadingMessage","_props$minHeightInput","minHeightInput","_props$createOptionPl","createOptionPlaceholder","_props$onCreateOption","onCreateOption","currentValue","preparedStyled","base","state","isFunction","border","config","clearIndicatorProps","handleAsyncRequest","newValue","onPaste","e","pasteData","clipboardData","getData","pastedOptions","newInputOptions","acc","curVal","el","push","setTimeout","current","select","blur","regularSelect","ReactAsyncSelect","loadOptions","ReactSelect","CreatableSelect","formatCreateLabel","newOption","ErrorLabel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAG,CAAAC,eAAA,KAAAA,eAAA,gBAAAC,2BAAA,iCAEjC;AAED,IAAMC,eAAe,gBAAGJ,MAAM,CAACC,GAAG,CAAAI,gBAAA,KAAAA,gBAAA,gBAAAF,2BAAA,iJAMtBG,UAAU,CAErB;AAED,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,iBAAyB;EAC9C,IAAMC,SAAS,GAAGD,iBAAiB,IAAIE,WAAW;EAClD,OAAO;IACLC,OAAO,EAAE,SAATA,OAAOA,CAAGC,MAAM,EAAAC,IAAA;MAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;QAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;MAAA,OAAAC,QAAA,KACnCJ,MAAM;QACTK,YAAY,EAAZA,YAAY;QACZC,eAAe,EAAEH,UAAU,GAAG,SAAS,GAAG,MAAM;QAChDI,SAAS,EAAKb,UAAU,OAAI;QAC5Bc,WAAW,EAAE,CAAC;QACdC,SAAS,EAAE,MAAM;QACjBC,WAAW,EAAER,SAAS,GAAGL,SAAS,GAAGc;;KACrC;IACFC,cAAc,EAAE,SAAhBA,cAAcA,CAAGZ,MAAM;MAAA,OAAAI,QAAA,KAClBJ,MAAM;QACTa,QAAQ,EAAE,QAAQ;QAClBC,OAAO,EAAE,iBAAiB;QAC1BC,cAAc,EAAE;;KAChB;IACFC,WAAW,EAAE,SAAbA,WAAWA;MAAA,OAAS;QAClBC,KAAK,EAAE,SAAS;QAChBC,UAAU,EAAE,GAAG;QACfC,WAAW,EAAE,KAAK;QAClBC,QAAQ,EAAE;OACX;KAAC;IACFC,cAAc,EAAE,SAAhBA,cAAcA;MAAA,OAAS;QACrBJ,KAAK,EAAE,SAAS;QAChBK,OAAO,EAAE,aAAa;QACtBC,WAAW,EAAE;OACd;KAAC;IACFC,iBAAiB,EAAE,SAAnBA,iBAAiBA;MAAA,OAAS;QACxBF,OAAO,EAAE;OACV;KAAC;IACFG,kBAAkB,EAAE,SAApBA,kBAAkBA;MAAA,OAAS;QACzBH,OAAO,EAAE;OACV;KAAC;IACFI,UAAU,EAAE,SAAZA,UAAUA,CAAG1B,MAAM,EAAA2B,KAAA;MAAA,IAAGC,IAAI,GAAAD,KAAA,CAAJC,IAAI;MAAA,OAAAxB,QAAA,KACrBJ,MAAM;QACTM,eAAe,EAAEsB,IAAI,CAACC,WAAW,GAAGC,UAAU,GAAGjC,SAAS;QAC1DoB,KAAK,EAAEc,KAAK;QACZ1B,YAAY,EAAKA,YAAY,GAAG,CAAC,OAAI;QACrC2B,MAAM,EAAE,MAAM;QACdV,OAAO,EAAE,MAAM;QACfW,UAAU,EAAE,QAAQ;QACpBC,MAAM,EAAE;;KACR;IACFC,eAAe,EAAE,SAAjBA,eAAeA,CAAGnC,MAAM;MAAA,OAAAI,QAAA,KACnBJ,MAAM;QACTiB,KAAK,EAAEc,KAAK;QACZjB,OAAO,EAAE,WAAW;QACpBsB,QAAQ,EAAE,MAAM;QAChB/B,YAAY,EAAE,CAAC;QACfiB,OAAO,EAAE,aAAa;QACtB5B,UAAU,EAAE;;KACZ;IACF2C,gBAAgB,EAAE,SAAlBA,gBAAgBA,CAAGrC,MAAM,EAAAsC,KAAA;MAAA,IAAGV,IAAI,GAAAU,KAAA,CAAJV,IAAI;MAAA,OAAAxB,QAAA,KAC3BJ,MAAM;QACTc,OAAO,EAAE,CAAC;QACVoB,MAAM,EAAE,aAAa;QACrB5B,eAAe,EAAEsB,IAAI,CAACC,WAAW,GAAGC,UAAU,GAAGjC,SAAS;QAC1D0C,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE;UACRjC,eAAe,EAAEsB,IAAI,CAACC,WAAW,GAAGC,UAAU,GAAGjC,SAAS;UAC1DoB,KAAK,EAAE;;;KAET;IACFuB,IAAI,EAAE,SAANA,IAAIA,CAAGxC,MAAM;MAAA,OAAAI,QAAA,KACRJ,MAAM;QACTkC,MAAM,EAAE,CAAC;QACT7B,YAAY,EAAE,CAAC;QACfoC,MAAM,EAAE;;KACR;IACFC,QAAQ,EAAE,SAAVA,QAAQA,CAAG1C,MAAM;MAAA,OAAAI,QAAA,KACZJ,MAAM;QACT,qBAAqB,EAAE;UACrB2C,KAAK,EAAE;SACR;QACD,2BAA2B,EAAE;UAC3BtC,YAAY,EAAE,KAAK;UACnBC,eAAe,EAAE,mBAAmB;UACpCG,SAAS,EAAE;;;KAEb;IACFmC,MAAM,EAAE,SAARA,MAAMA,CAAG5C,MAAM,EAAA6C,KAAA;MAAA,IAAG3C,SAAS,GAAA2C,KAAA,CAAT3C,SAAS;MAAA,OAAO;QAChCI,eAAe,EAAEJ,SAAS,GAAGL,SAAS,GAAG,IAAI;QAC7CiB,OAAO,EAAE,UAAU;QACnBsB,QAAQ,EAAE,MAAM;QAChBnB,KAAK,EAAEf,SAAS,GAAG6B,KAAK,GAAGe;OAC5B;KAAC;IACFC,KAAK,EAAE,SAAPA,KAAKA,CAAG/C,MAAM;MAAA,OAAAI,QAAA,KACTJ,MAAM;QACTgC,MAAM,EAAE;;;GAEX;AACH,CAAC;;;AC9GD,AAWA;AACA,IAAMgB,OAAO,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,CAAC;AAOrE,SAASC,WAAWA,CAACC,KAAa;EAChC,IAAIC,MAAM,GAAa,EAAE;EAEzB,IAAIC,aAAa,GAAG,KAAK;;EAEzB,SAAAC,EAAA,MAAAC,QAAA,GAAoBN,OAAO,EAAAK,EAAA,GAAAC,QAAA,CAAAC,MAAA,EAAAF,EAAA,IAAE;IAAxB,IAAMG,KAAK,GAAAF,QAAA,CAAAD,EAAA;IACdF,MAAM,GAAGD,KAAK,CAACO,KAAK,CAACD,KAAK,CAAC;IAC3B,IAAIL,MAAM,CAACI,MAAM,GAAG,CAAC,EAAE;MACrB;;;;EAKJ,IAAIJ,MAAM,CAACI,MAAM,KAAK,CAAC,EAAE;IACvBJ,MAAM,GAAGD,KAAK,CAACO,KAAK,CAAC,SAAS,CAAC;IAC/BL,aAAa,GAAGD,MAAM,CAACI,MAAM,GAAG,CAAC;;EAGnC,OAAO;IACLJ,MAAM,EAANA,MAAM;IACNC,aAAa,EAAbA;GACD;AACH;AAEA,SAASM,qBAAqBA,CAACC,WAAW,EAAEC,gBAAgB,EAAEC,cAAc;EAC1E,IAAAC,YAAA,GAAgCb,WAAW,CAACU,WAAW,CAAC;IAAjDR,MAAM,GAAAW,YAAA,CAANX,MAAM;IAAEC,aAAa,GAAAU,YAAA,CAAbV,aAAa;EAE5B,IAAIA,aAAa,EAAE;IACjB,IAAIW,eAAe,GAAGZ,MAAM,CAACa,IAAI,CAAC,GAAG,CAAC,CAACC,WAAW,EAAE;IAEpD,OAAOL,gBAAgB,CACpBM,IAAI,CAAC,UAACC,OAAO,EAAEC,QAAQ;MACtB,IAAID,OAAO,CAACE,KAAK,CAACd,MAAM,GAAGa,QAAQ,CAACC,KAAK,CAACd,MAAM,EAAE;QAChD,OAAO,CAAC,CAAC;;MAEX,IAAIY,OAAO,CAACE,KAAK,CAACd,MAAM,GAAGa,QAAQ,CAACC,KAAK,CAACd,MAAM,EAAE;QAChD,OAAO,CAAC;;MAGV,OAAO,CAAC;KACT,CAAC,CACDe,MAAM,CAAC,UAAC1B,MAAM;MAAA,OACbiB,cAAc,CAACU,MAAM,CAAC,UAACC,SAAS,EAAEC,SAAS;QACzC,IAAMC,WAAW,GAAGC,MAAM,CAAC/B,MAAM,CAAC6B,SAAS,CAAC,CAAC,CAACR,WAAW,EAAE;QAC3D,IAAM7C,QAAQ,GAAG2C,eAAe,CAACa,MAAM,CAACF,WAAW,CAAC;QACpD,IAAMG,SAAS,GAAGzD,QAAQ,KAAK,CAAC,CAAC;QACjC,IAAIyD,SAAS,EAAE;UACbd,eAAe,GAAGA,eAAe,CAACe,OAAO,CAACJ,WAAW,EAAE,EAAE,CAAC;;QAG5D,OAAOF,SAAS,IAAIK,SAAS;OAC9B,EAAE,KAAK,CAAC;MACV;;EAGL,OAAO1B,MAAM,CACV4B,GAAG,CAAC,UAACC,UAAU;IAAA,OACdpB,gBAAgB,CAACqB,IAAI,CAAC,UAACrC,MAAM;MAC3B,IAAMsC,eAAe,GAAGF,UAAU,CAACG,IAAI,EAAE,CAAClB,WAAW,EAAE;MAEvD,OAAOJ,cAAc,CAACU,MAAM,CAAC,UAACC,SAAS,EAAEC,SAAS;QAChD,IAAMC,WAAW,GAAGC,MAAM,CAAC/B,MAAM,CAAC6B,SAAS,CAAC,CAAC,CAACR,WAAW,EAAE;QAC3D,IAAMY,SAAS,GAAGH,WAAW,KAAKQ,eAAe;QAEjD,OAAOV,SAAS,IAAIK,SAAS;OAC9B,EAAE,KAAK,CAAC;KACV,CAAC;IACH,CACAP,MAAM,CAACc,OAAO,CAAC;AACpB;AAWA,IAAMC,eAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAA0B;EAChD,IACEC,SAAS,GAGPD,KAAK,CAHPC,SAAS;IACTC,SAAS,GAEPF,KAAK,CAFPE,SAAS;IAAAC,iBAAA,GAEPH,KAAK,CADPI,UAAU;IAAGC,GAAG,GAAAF,iBAAA,CAAHE,GAAG;IAAKC,cAAc,GAAAC,6BAAA,CAAAJ,iBAAA,EAAAK,SAAA;EAGrC,OACEC,6CAASH,cAAc;IAAED,GAAG,EAAEA,GAAG;IAAEK,KAAK,EAAER,SAAS,CAAC,gBAAgB,EAAEF,KAAK,CAAC;IAAEW,EAAE,EAAKV,SAAS;MAC5FQ,oBAACG,KAAK;IAACjF,KAAK,EAAEkF,KAAK,CAACC,SAAS;IAAEC,UAAU,EAAEF,KAAK,CAACG,KAAK;IAAEC,IAAI,EAAEC,IAAI,CAACC;IAAgB,CAC/E;AAEV,CAAC;AAED,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIpB,KAAqB;EACtC,IAAMqB,kBAAkB,GAAGC,MAAM,CAAM,IAAI,CAAC;EAC5C,IAAAC,SAAA,GAA0CC,QAAQ,CAAC,KAAK,CAAC;IAAlDC,aAAa,GAAAF,SAAA;IAAEG,gBAAgB,GAAAH,SAAA;EAEtC,IAAAI,iBAAA,GA6BI3B,KAAK,CA5BP4B,UAAU;IAAVA,UAAU,GAAAD,iBAAA,cAAG,EAAE,GAAAA,iBAAA;IAAAE,mBAAA,GA4Bb7B,KAAK,CA3BP8B,YAAY;IAAZA,YAAY,GAAAD,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IACjB5B,SAAS,GA0BPD,KAAK,CA1BPC,SAAS;IAAA8B,aAAA,GA0BP/B,KAAK,CAzBPgC,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,cAAA,GAyBTjC,KAAK,CAxBPkC,OAAO;IAAPA,OAAO,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,qBAAA,GAwBbnC,KAAK,CAvBPoC,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAC3BE,QAAQ,GAsBNrC,KAAK,CAtBPqC,QAAQ;IAAAC,oBAAA,GAsBNtC,KAAK,CArBPuC,aAAa;IAAbA,aAAa,GAAAD,oBAAA,cAAG,IAAI,GAAAA,oBAAA;IAAAE,mBAAA,GAqBlBxC,KAAK,CApBPyC,YAAY;IAAZA,YAAY,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;IAAAE,cAAA,GAoBjB1C,KAAK,CAnBP2C,OAAO;IAAPA,OAAO,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAmBV5C,KAAK,CAlBP6C,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG;MAAA,OAAME,OAAO,CAACC,OAAO,EAAE;QAAAH,qBAAA;IAAAI,qBAAA,GAkBtChD,KAAK,CAjBPzB,cAAc;IAAdA,cAAc,GAAAyE,qBAAA,cAAG,CAAC,OAAO,CAAC,GAAAA,qBAAA;IAAAC,YAAA,GAiBxBjD,KAAK,CAhBPpC,KAAK;IAALA,KAAK,GAAAqF,YAAA,cAAG,EAAE,GAAAA,YAAA;IAAAC,kBAAA,GAgBRlD,KAAK,CAfPxF,WAAW;IAAXA,WAAW,GAAA0I,kBAAA,cAAG,EAAE,GAAAA,kBAAA;IAAAC,AACEC,kBAAA,GAchBpD,KAAK,CAbPqD,WAAW;IAAXA,WAAW,GAAAD,kBAAA,cAAG,KAAK,GAAAA,kBAAA;IAAAE,AACDC,gBAAA,GAYhBvD,KAAK,CAXPwD,SAAS;IAATA,SAAS,GAAAD,gBAAA,cAAG,KAAK,GAAAA,gBAAA;IAAAE,AAMuBC,qBAAA,GAKtC1D,KAAK,CAJP2D,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG;MAAA,OAAM,YAAY;QAAAA,qBAAA;IAAAE,qBAAA,GAIjC5D,KAAK,CAHP6D,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAGjB9D,KAAK,CAFP+D,uBAAuB;IAAvBA,uBAAuB,GAAAD,qBAAA,cAAG,SAAS,GAAAA,qBAAA;IAAAE,qBAAA,GAEjChE,KAAK,CADPiE,cAAc;IAAdA,eAAc,GAAAD,qBAAA,cAAG;MAAA,OAAM,IAAI;QAAAA,qBAAA;EAG7B,IAAME,YAAY,GAAGtG,KAAK;EAE1B,IAAMuG,cAAc,GAAArJ,QAAA,KACfT,aAAa,CAACG,WAAW,CAAC,EAC1BsH,YAAY;IACfrH,OAAO,EAAE,SAATA,OAAOA,CAAG2J,IAAI,EAAEC,KAAK;MACnB,IAAM3J,MAAM,GAAGoH,YAAY,CAACrH,OAAO,IAAI6J,UAAU,CAACxC,YAAY,CAACrH,OAAO,CAAC,GAAGqH,YAAY,CAACrH,OAAO,CAAC2J,IAAI,EAAEC,KAAK,CAAC,GAAG,EAAE;MAEhH,OAAAvJ,QAAA,KACKT,aAAa,CAACG,WAAW,CAAC,CAACC,OAAO,CAAC2J,IAAI,EAAEC,KAAK,CAAC,EAC/C3J,MAAM;QACT6J,MAAM,EAAEvC,MAAM,CAAC/D,MAAM,GAAG,mBAAmB,GAAG5D,aAAa,CAACG,WAAW,CAAC,CAACC,OAAO,CAAC2J,IAAI,EAAEC,KAAK,CAAC,CAACE,MAAM;QACpGtJ,SAAS,EAAE4I;;;IAGhB;EAED,IAAMW,MAAM,GAAA1J,QAAA,KACPkF,KAAK;IACRW,EAAE,EAAEV,SAAS;IACboC,QAAQ,EAARA;KACIE,aAAa,IAAI;IAACA,aAAa,EAAbA;GAAc,EAChCE,YAAY,IAAI;IAACA,YAAY,EAAZA;GAAa;IAClC/H,MAAM,EAAEyJ,cAAc;IACtBR,cAAc,EAAElC,aAAa,GAAG;MAAA,OAAM,8BAA8B;QAAGkC,cAAc;IACrF/B,UAAU,EAAA9G,QAAA;MACRiF,cAAc,EAAE,SAAhBA,cAAcA,CAAG0E,mBAAmB;QAAA,OAAKhE,oBAACV,eAAc,oBAAK0E,mBAAmB;UAAExE,SAAS,EAAEA;WAAa;;OACvG2B,UAAU;IAEhB;EAED,IAAM8C,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,QAAa;IACvC,IAAI,CAACA,QAAQ,CAAC1G,MAAM,IAAI0G,QAAQ,CAAC1G,MAAM,GAAG,CAAC,EAAE;MAC3CyD,gBAAgB,CAAC,IAAI,CAAC;MAEtB,OAAO,IAAI;;IAGb,IAAID,aAAa,EAAE;MACjBC,gBAAgB,CAAC,KAAK,CAAC;;IAGzB,OAAOmB,cAAc,CAAC8B,QAAQ,CAAC;GAChC;EAED,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,CAAC;IAChB,IAAMC,SAAS,GAAGD,CAAC,CAACE,aAAa,CAACC,OAAO,CAAC,YAAY,CAAC;IAEvD,IAAMC,aAAa,GAAG7G,qBAAqB,CAAC0G,SAAS,EAAEnC,OAAO,EAAEpE,cAAc,CAAC;IAE/E,IAAM2G,eAAe,GAAGD,aAAa,CAAChG,MAAM,CAAC,UAACkG,GAAG,EAAEC,MAAM;MACvD,IAAI,CAACD,GAAG,CAACxF,IAAI,CAAC,UAAC0F,EAAE;QAAA,OAAKA,EAAE,CAACzH,KAAK,KAAKwH,MAAM,CAACxH,KAAK;QAAC,EAAE;QAChDuH,GAAG,CAACG,IAAI,CAACF,MAAM,CAAC;;MAGlB,OAAOD,GAAG;KACX,EAAEjB,YAAY,CAAC;IAEhB,IAAIe,aAAa,CAAChH,MAAM,KAAK,CAAC,EAAE;MAC9BoE,QAAQ,CAAC6C,eAAe,CAAC;MACzBK,UAAU,CAAC;QACTlE,kBAAkB,CAACmE,OAAO,CAACC,MAAM,CAACC,IAAI,EAAE;OACzC,EAAE,CAAC,CAAC;;GAER;EAED,IAAMC,aAAa,GAAGzD,OAAO,GAC3BzB,oBAACmF,gBAAgB,oBAAKpB,MAAM;IAAEqB,WAAW,EAAE,SAAbA,WAAWA,CAAGlB,QAAQ;MAAA,OAAKD,kBAAkB,CAACC,QAAQ,CAAC;;KAAI,GAEzFlE;IAAKmE,OAAO,EAAEA;KACZnE,oBAACqF,WAAW,oBAAKtB,MAAM;IAAEnE,GAAG,EAAEgB,kBAAkB;IAAEsB,OAAO,EAAEA;KAAW,CAEzE;EAED,IAAM8C,MAAM,GAAGpC,WAAW,GACxB5C,oBAACsF,eAAe;IACdC,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGrB,QAAQ;MAAA,OAAQZ,uBAAuB,UAAIY,QAAQ;KAAG;IAC1EnB,SAAS,EAAEA,SAAS;IACpBS,cAAc,EAAE,SAAhBA,cAAcA,CAAGgC,SAAS;MAAA,OAAKhC,eAAc,CAACgC,SAAS,CAAC;;KACpDzB,MAAM;IACVnE,GAAG,EAAEgB,kBAAkB;IACvBsB,OAAO,EAAEA;KACT,GAEFgD,aACD;EAED,OACElF,oBAAC5G,eAAe,QACb4L,MAAM,EACNzD,MAAM,IAAIA,MAAM,CAAC/D,MAAM,GAAG,CAAC,IAAImE,mBAAmB,IACjD3B,oBAACvG,eAAe,QACduG,oBAACyF,UAAU;IAACjG,SAAS,EAAEA,SAAS;IAAE+B,MAAM,EAAEA;IAAU,CAEvD,CACe;AAEtB,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@propellerads/tags-input",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"repository": "https://github.com/propellerads/ui-components",
|
|
6
6
|
"author": "i.pasyuk@propellerads.net",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"private": false,
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@propellerads/error-label": "
|
|
11
|
-
"@propellerads/icon": "^
|
|
12
|
-
"@propellerads/stylevariables": "^
|
|
13
|
-
"lodash.isfunction": "
|
|
10
|
+
"@propellerads/error-label": "^5.0.0",
|
|
11
|
+
"@propellerads/icon": "^6.0.2",
|
|
12
|
+
"@propellerads/stylevariables": "^2.0.2",
|
|
13
|
+
"lodash.isfunction": "3.0.9",
|
|
14
14
|
"react-select": "2.4.3"
|
|
15
15
|
},
|
|
16
16
|
"typings": "dist/index.d.ts",
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
"node": ">=10"
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
|
24
|
-
"prepublishOnly": "tsdx build",
|
|
25
24
|
"start": "tsdx watch",
|
|
26
25
|
"build": "tsdx build"
|
|
27
26
|
},
|
|
@@ -31,10 +30,10 @@
|
|
|
31
30
|
},
|
|
32
31
|
"module": "dist/tags-input.esm.js",
|
|
33
32
|
"devDependencies": {
|
|
34
|
-
"tsdx": "
|
|
35
|
-
"tslib": "
|
|
36
|
-
"typescript": "
|
|
37
|
-
"@types/react": "
|
|
33
|
+
"tsdx": "0.13.3",
|
|
34
|
+
"tslib": "2.0.1",
|
|
35
|
+
"typescript": "4.9.5",
|
|
36
|
+
"@types/react": "18.3.24",
|
|
38
37
|
"@types/styled-components": "5.1.34"
|
|
39
38
|
}
|
|
40
39
|
}
|