@propellerads/tags-input 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 || function (target) {
21
- for (var i = 1; i < arguments.length; i++) {
22
- var source = arguments[i];
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
- return target;
32
- };
33
-
34
- return _extends.apply(this, arguments);
25
+ return n;
26
+ }, _extends.apply(null, arguments);
35
27
  }
36
-
37
- function _objectWithoutPropertiesLoose(source, excluded) {
38
- if (source == null) return {};
39
- var target = {};
40
- var sourceKeys = Object.keys(source);
41
- var key, i;
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
- function _taggedTemplateLiteralLoose(strings, raw) {
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
- isDisabled = _ref.isDisabled;
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; // eslint-disable-next-line no-restricted-syntax
248
-
249
- for (var _iterator = _createForOfIteratorHelperLoose(REGEXPS), _step; !(_step = _iterator()).done;) {
250
- var regex = _step.value;
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
- } // special case. Need handle in special way
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
- splits = _splitString.splits,
273
- specialHandle = _splitString.specialHandle;
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
- getStyles = props.getStyles,
317
- _props$innerProps = props.innerProps,
318
- ref = _props$innerProps.ref,
319
- restInnerProps = _objectWithoutPropertiesLoose(_props$innerProps, ["ref"]);
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
- showMinLenTip = _useState[0],
337
- setShowMinLenTip = _useState[1];
338
-
242
+ showMinLenTip = _useState[0],
243
+ setShowMinLenTip = _useState[1];
339
244
  var _props$components = props.components,
340
- components = _props$components === void 0 ? {} : _props$components,
341
- _props$customStyles = props.customStyles,
342
- customStyles = _props$customStyles === void 0 ? {} : _props$customStyles,
343
- elementId = props.elementId,
344
- _props$errors = props.errors,
345
- errors = _props$errors === void 0 ? [] : _props$errors,
346
- _props$isAsync = props.isAsync,
347
- isAsync = _props$isAsync === void 0 ? false : _props$isAsync,
348
- _props$isErrorLabelVi = props.isErrorLabelVisible,
349
- isErrorLabelVisible = _props$isErrorLabelVi === void 0 ? false : _props$isErrorLabelVi,
350
- onChange = props.onChange,
351
- _props$onInputChange = props.onInputChange,
352
- onInputChange = _props$onInputChange === void 0 ? null : _props$onInputChange,
353
- _props$filterOption = props.filterOption,
354
- filterOption = _props$filterOption === void 0 ? null : _props$filterOption,
355
- _props$options = props.options,
356
- options = _props$options === void 0 ? [] : _props$options,
357
- _props$promiseOptions = props.promiseOptions,
358
- promiseOptions = _props$promiseOptions === void 0 ? function () {
359
- return Promise.resolve();
360
- } : _props$promiseOptions,
361
- _props$searchableKeys = props.searchableKeys,
362
- searchableKeys = _props$searchableKeys === void 0 ? ['label'] : _props$searchableKeys,
363
- _props$value = props.value,
364
- value = _props$value === void 0 ? [] : _props$value,
365
- _props$actionColor = props.actionColor,
366
- actionColor = _props$actionColor === void 0 ? '' : _props$actionColor,
367
- _props$isCreatable = props.isCreatable,
368
- isCreatable = _props$isCreatable === void 0 ? false : _props$isCreatable,
369
- _props$isLoading = props.isLoading,
370
- isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
371
- _props$loadingMessage = props.loadingMessage,
372
- loadingMessage = _props$loadingMessage === void 0 ? function () {
373
- return 'Loading...';
374
- } : _props$loadingMessage,
375
- _props$minHeightInput = props.minHeightInput,
376
- minHeightInput = _props$minHeightInput === void 0 ? 36 : _props$minHeightInput,
377
- _props$createOptionPl = props.createOptionPlaceholder,
378
- createOptionPlaceholder = _props$createOptionPl === void 0 ? 'Create ' : _props$createOptionPl,
379
- _props$onCreateOption = props.onCreateOption,
380
- _onCreateOption = _props$onCreateOption === void 0 ? function () {
381
- return null;
382
- } : _props$onCreateOption;
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAV,iCAArB;AAIA,IAAMC,eAAe,gBAAGF,MAAM,CAACC,GAAV,mCAMTE,yBANS,CAArB;;AAUA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,iBAAD;AACpB,MAAMC,SAAS,GAAGD,iBAAiB,IAAIE,0BAAvC;AACA,SAAO;AACLC,IAAAA,OAAO,EAAE,iBAACC,MAAD;AAAA,UAAUC,SAAV,QAAUA,SAAV;AAAA,UAAqBC,UAArB,QAAqBA,UAArB;AAAA,0BACJF,MADI;AAEPG,QAAAA,YAAY,EAAZA,2BAFO;AAGPC,QAAAA,eAAe,EAAEF,UAAU,GAAG,SAAH,GAAe,MAHnC;AAIPG,QAAAA,SAAS,EAAKX,yBAAL,OAJF;AAKPY,QAAAA,WAAW,EAAE,CALN;AAMPC,QAAAA,SAAS,EAAE,MANJ;AAOPC,QAAAA,WAAW,EAAEP,SAAS,GAAGJ,SAAH,GAAeY;AAP9B;AAAA,KADJ;AAULC,IAAAA,cAAc,EAAE,wBAACV,MAAD;AAAA,0BACXA,MADW;AAEdW,QAAAA,QAAQ,EAAE,QAFI;AAGdC,QAAAA,OAAO,EAAE,iBAHK;AAIdC,QAAAA,cAAc,EAAE;AAJF;AAAA,KAVX;AAgBLC,IAAAA,WAAW,EAAE;AAAA,aAAO;AAClBC,QAAAA,KAAK,EAAE,SADW;AAElBC,QAAAA,UAAU,EAAE,GAFM;AAGlBC,QAAAA,WAAW,EAAE,KAHK;AAIlBC,QAAAA,QAAQ,EAAE;AAJQ,OAAP;AAAA,KAhBR;AAsBLC,IAAAA,cAAc,EAAE;AAAA,aAAO;AACrBJ,QAAAA,KAAK,EAAE,SADc;AAErBK,QAAAA,OAAO,EAAE,aAFY;AAGrBC,QAAAA,WAAW,EAAE;AAHQ,OAAP;AAAA,KAtBX;AA2BLC,IAAAA,iBAAiB,EAAE;AAAA,aAAO;AACxBF,QAAAA,OAAO,EAAE;AADe,OAAP;AAAA,KA3Bd;AA8BLG,IAAAA,kBAAkB,EAAE;AAAA,aAAO;AACzBH,QAAAA,OAAO,EAAE;AADgB,OAAP;AAAA,KA9Bf;AAiCLI,IAAAA,UAAU,EAAE,oBAACxB,MAAD;AAAA,UAAUyB,IAAV,SAAUA,IAAV;AAAA,0BACPzB,MADO;AAEVI,QAAAA,eAAe,EAAEqB,IAAI,CAACC,WAAL,GAAmBC,yBAAnB,GAAgC9B,SAFvC;AAGVkB,QAAAA,KAAK,EAAEa,oBAHG;AAIVzB,QAAAA,YAAY,EAAKA,2BAAY,GAAG,CAApB,OAJF;AAKV0B,QAAAA,MAAM,EAAE,MALE;AAMVT,QAAAA,OAAO,EAAE,MANC;AAOVU,QAAAA,UAAU,EAAE,QAPF;AAQVC,QAAAA,MAAM,EAAE;AARE;AAAA,KAjCP;AA2CLC,IAAAA,eAAe,EAAE,yBAAChC,MAAD;AAAA,0BACZA,MADY;AAEfe,QAAAA,KAAK,EAAEa,oBAFQ;AAGfhB,QAAAA,OAAO,EAAE,WAHM;AAIfqB,QAAAA,QAAQ,EAAE,MAJK;AAKf9B,QAAAA,YAAY,EAAE,CALC;AAMfiB,QAAAA,OAAO,EAAE,aANM;AAOf1B,QAAAA,UAAU,EAAE;AAPG;AAAA,KA3CZ;AAoDLwC,IAAAA,gBAAgB,EAAE,0BAAClC,MAAD;AAAA,UAAUyB,IAAV,SAAUA,IAAV;AAAA,0BACbzB,MADa;AAEhBY,QAAAA,OAAO,EAAE,CAFO;AAGhBmB,QAAAA,MAAM,EAAE,aAHQ;AAIhB3B,QAAAA,eAAe,EAAEqB,IAAI,CAACC,WAAL,GAAmBC,yBAAnB,GAAgC9B,SAJjC;AAKhBsC,QAAAA,MAAM,EAAE,SALQ;AAMhB,kBAAU;AACR/B,UAAAA,eAAe,EAAEqB,IAAI,CAACC,WAAL,GAAmBC,yBAAnB,GAAgC9B,SADzC;AAERkB,UAAAA,KAAK,EAAE;AAFC;AANM;AAAA,KApDb;AA+DLqB,IAAAA,IAAI,EAAE,cAACpC,MAAD;AAAA,0BACDA,MADC;AAEJ+B,QAAAA,MAAM,EAAE,CAFJ;AAGJ5B,QAAAA,YAAY,EAAE,CAHV;AAIJkC,QAAAA,MAAM,EAAE;AAJJ;AAAA,KA/DD;AAqELC,IAAAA,QAAQ,EAAE,kBAACtC,MAAD;AAAA,0BACLA,MADK;AAER,+BAAuB;AACrBuC,UAAAA,KAAK,EAAE;AADc,SAFf;AAKR,qCAA6B;AAC3BpC,UAAAA,YAAY,EAAE,KADa;AAE3BC,UAAAA,eAAe,EAAE,mBAFU;AAG3BG,UAAAA,SAAS,EAAE;AAHgB;AALrB;AAAA,KArEL;AAgFLiC,IAAAA,MAAM,EAAE,gBAACxC,MAAD;AAAA,UAAUC,SAAV,SAAUA,SAAV;AAAA,aAA0B;AAChCG,QAAAA,eAAe,EAAEH,SAAS,GAAGJ,SAAH,GAAe,IADT;AAEhCe,QAAAA,OAAO,EAAE,UAFuB;AAGhCqB,QAAAA,QAAQ,EAAE,MAHsB;AAIhClB,QAAAA,KAAK,EAAEd,SAAS,GAAG2B,oBAAH,GAAWa;AAJK,OAA1B;AAAA,KAhFH;AAsFLC,IAAAA,KAAK,EAAE,eAAC1C,MAAD;AAAA,0BACFA,MADE;AAEL6B,QAAAA,MAAM,EAAE;AAFH;AAAA;AAtFF,GAAP;AA2FD,CA7FD;;ACLA,IAAMc,OAAO,GAAG,CAAC,gBAAD,EAAmB,gBAAnB,EAAqC,eAArC,CAAhB;;AAOA,SAASC,WAAT,CAAqBC,KAArB;AACE,MAAIC,MAAM,GAAa,EAAvB;AAEA,MAAIC,aAAa,GAAG,KAApB;;AAEA,uDAAoBJ,OAApB,wCAA6B;AAAA,QAAlBK,KAAkB;AAC3BF,IAAAA,MAAM,GAAGD,KAAK,CAACI,KAAN,CAAYD,KAAZ,CAAT;;AACA,QAAIF,MAAM,CAACI,MAAP,GAAgB,CAApB,EAAuB;AACrB;AACD;AACF;;;AAGD,MAAIJ,MAAM,CAACI,MAAP,KAAkB,CAAtB,EAAyB;AACvBJ,IAAAA,MAAM,GAAGD,KAAK,CAACI,KAAN,CAAY,SAAZ,CAAT;AACAF,IAAAA,aAAa,GAAGD,MAAM,CAACI,MAAP,GAAgB,CAAhC;AACD;;AAED,SAAO;AACLJ,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,aAAa,EAAbA;AAFK,GAAP;AAID;;AAED,SAASI,qBAAT,CAA+BC,WAA/B,EAA4CC,gBAA5C,EAA8DC,cAA9D;qBACkCV,WAAW,CAACQ,WAAD;MAApCN,sBAAAA;MAAQC,6BAAAA;;AAEf,MAAIA,aAAJ,EAAmB;AACjB,QAAIQ,eAAe,GAAGT,MAAM,CAACU,IAAP,CAAY,GAAZ,EAAiBC,WAAjB,EAAtB;AAEA,WAAOJ,gBAAgB,CACpBK,IADI,CACC,UAACC,OAAD,EAAUC,QAAV;AACJ,UAAID,OAAO,CAACE,KAAR,CAAcX,MAAd,GAAuBU,QAAQ,CAACC,KAAT,CAAeX,MAA1C,EAAkD;AAChD,eAAO,CAAC,CAAR;AACD;;AACD,UAAIS,OAAO,CAACE,KAAR,CAAcX,MAAd,GAAuBU,QAAQ,CAACC,KAAT,CAAeX,MAA1C,EAAkD;AAChD,eAAO,CAAP;AACD;;AAED,aAAO,CAAP;AACD,KAVI,EAWJY,MAXI,CAWG,UAACtB,MAAD;AAAA,aACNc,cAAc,CAACS,MAAf,CAAsB,UAACC,SAAD,EAAYC,SAAZ;AACpB,YAAMC,WAAW,GAAGC,MAAM,CAAC3B,MAAM,CAACyB,SAAD,CAAP,CAAN,CAA0BR,WAA1B,EAApB;AACA,YAAMvC,QAAQ,GAAGqC,eAAe,CAACa,MAAhB,CAAuBF,WAAvB,CAAjB;AACA,YAAMG,SAAS,GAAGnD,QAAQ,KAAK,CAAC,CAAhC;;AACA,YAAImD,SAAJ,EAAe;AACbd,UAAAA,eAAe,GAAGA,eAAe,CAACe,OAAhB,CAAwBJ,WAAxB,EAAqC,EAArC,CAAlB;AACD;;AAED,eAAOF,SAAS,IAAIK,SAApB;AACD,OATD,EASG,KATH,CADM;AAAA,KAXH,CAAP;AAuBD;;AAED,SAAOvB,MAAM,CACVyB,GADI,CACA,UAACC,UAAD;AAAA,WACHnB,gBAAgB,CAACoB,IAAjB,CAAsB,UAACjC,MAAD;AACpB,UAAMkC,eAAe,GAAGF,UAAU,CAACG,IAAX,GAAkBlB,WAAlB,EAAxB;AAEA,aAAOH,cAAc,CAACS,MAAf,CAAsB,UAACC,SAAD,EAAYC,SAAZ;AAC3B,YAAMC,WAAW,GAAGC,MAAM,CAAC3B,MAAM,CAACyB,SAAD,CAAP,CAAN,CAA0BR,WAA1B,EAApB;AACA,YAAMY,SAAS,GAAGH,WAAW,KAAKQ,eAAlC;AAEA,eAAOV,SAAS,IAAIK,SAApB;AACD,OALM,EAKJ,KALI,CAAP;AAMD,KATD,CADG;AAAA,GADA,EAaJP,MAbI,CAaGc,OAbH,CAAP;AAcD;;AAWD,IAAMC,eAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD;MAEnBC,YAGED,MAHFC;MACAC,YAEEF,MAFFE;0BAEEF,MADFG;MAAaC,wBAAAA;MAAQC;;AAGvB,SACEC,4BAAA,MAAA,oBAASD;AAAgBD,IAAAA,GAAG,EAAEA;AAAKG,IAAAA,KAAK,EAAEL,SAAS,CAAC,gBAAD,EAAmBF,KAAnB;AAA2BQ,IAAAA,EAAE,EAAKP,SAAL;IAAhF,EACEK,4BAAA,CAACG,UAAD;AAAOxE,IAAAA,KAAK,EAAEyE,UAAK,CAACC;AAAWC,IAAAA,UAAU,EAAEF,UAAK,CAACG;AAAOC,IAAAA,IAAI,EAAEC,SAAI,CAACC;GAAnE,CADF,CADF;AAKD,CAZD;;AAcA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACjB,KAAD;AAChB,MAAMkB,kBAAkB,GAAGC,YAAM,CAAM,IAAN,CAAjC;;kBAC0CC,cAAQ,CAAC,KAAD;MAA3CC;MAAeC;;0BA+BlBtB,MA5BFuB;MAAAA,4CAAa;4BA4BXvB,MA3BFwB;MAAAA,gDAAe;MACfvB,YA0BED,MA1BFC;sBA0BED,MAzBFyB;MAAAA,oCAAS;uBAyBPzB,MAxBF0B;MAAAA,sCAAU;8BAwBR1B,MAvBF2B;MAAAA,yDAAsB;MACtBC,WAsBE5B,MAtBF4B;6BAsBE5B,MArBF6B;MAAAA,kDAAgB;4BAqBd7B,MApBF8B;MAAAA,gDAAe;uBAoBb9B,MAnBF+B;MAAAA,sCAAU;8BAmBR/B,MAlBFgC;MAAAA,oDAAiB;AAAA,WAAMC,OAAO,CAACC,OAAR,EAAN;AAAA;8BAkBflC,MAjBFxB;MAAAA,oDAAiB,CAAC,OAAD;qBAiBfwB,MAhBFjC;MAAAA,kCAAQ;2BAgBNiC,MAfFhF;MAAAA,8CAAc;2BAeZgF,MAbFmC;MAAAA,8CAAc;yBAaZnC,MAXFoC;MAAAA,0CAAY;8BAWVpC,MAJFqC;MAAAA,oDAAiB;AAAA,WAAM,YAAN;AAAA;8BAIfrC,MAHFsC;MAAAA,oDAAiB;8BAGftC,MAFFuC;MAAAA,6DAA0B;8BAExBvC,MADFwC;MAAAA,qDAAiB;AAAA,WAAM,IAAN;AAAA;;AAGnB,MAAMC,YAAY,GAAG1E,KAArB;;AAEA,MAAM2E,cAAc,gBACf7H,aAAa,CAACG,WAAD,CADE,EAEfwG,YAFe;AAGlBvG,IAAAA,OAAO,EAAE,iBAAC0H,IAAD,EAAOC,KAAP;AACP,UAAM1H,MAAM,GAAGsG,YAAY,CAACvG,OAAb,IAAwB4H,UAAU,CAACrB,YAAY,CAACvG,OAAd,CAAlC,GAA2DuG,YAAY,CAACvG,OAAb,CAAqB0H,IAArB,EAA2BC,KAA3B,CAA3D,GAA+F,EAA9G;AAEA,0BACK/H,aAAa,CAACG,WAAD,CAAb,CAA2BC,OAA3B,CAAmC0H,IAAnC,EAAyCC,KAAzC,CADL,EAEK1H,MAFL;AAGE4H,QAAAA,MAAM,EAAErB,MAAM,CAACrD,MAAP,GAAgB,mBAAhB,GAAsCvD,aAAa,CAACG,WAAD,CAAb,CAA2BC,OAA3B,CAAmC0H,IAAnC,EAAyCC,KAAzC,EAAgDE,MAHhG;AAIEvH,QAAAA,SAAS,EAAE+G;AAJb;AAMD;AAZiB,IAApB;;AAeA,MAAMS,MAAM,gBACP/C,KADO;AAEVQ,IAAAA,EAAE,EAAEP,SAFM;AAGV2B,IAAAA,QAAQ,EAARA;AAHU,KAINC,aAAa,IAAI;AAACA,IAAAA,aAAa,EAAbA;AAAD,GAJX,EAKNC,YAAY,IAAI;AAACA,IAAAA,YAAY,EAAZA;AAAD,GALV;AAMV5G,IAAAA,MAAM,EAAEwH,cANE;AAOVL,IAAAA,cAAc,EAAEhB,aAAa,GAAG;AAAA,aAAM,8BAAN;AAAA,KAAH,GAA0CgB,cAP7D;AAQVd,IAAAA,UAAU;AACRxB,MAAAA,cAAc,EAAE,wBAACiD,mBAAD;AAAA,eAAyB1C,4BAAA,CAACP,eAAD,oBAAoBiD;AAAqB/C,UAAAA,SAAS,EAAEA;UAApD,CAAzB;AAAA;AADR,OAELsB,UAFK;AARA,IAAZ;;AAcA,MAAM0B,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD;AACzB,QAAI,CAACA,QAAQ,CAAC9E,MAAV,IAAoB8E,QAAQ,CAAC9E,MAAT,GAAkB,CAA1C,EAA6C;AAC3CkD,MAAAA,gBAAgB,CAAC,IAAD,CAAhB;AAEA,aAAO,IAAP;AACD;;AAED,QAAID,aAAJ,EAAmB;AACjBC,MAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;;AAED,WAAOU,cAAc,CAACkB,QAAD,CAArB;AACD,GAZD;;AAcA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD;AACd,QAAMC,SAAS,GAAGD,CAAC,CAACE,aAAF,CAAgBC,OAAhB,CAAwB,YAAxB,CAAlB;AAEA,QAAMC,aAAa,GAAGnF,qBAAqB,CAACgF,SAAD,EAAYtB,OAAZ,EAAqBvD,cAArB,CAA3C;AAEA,QAAMiF,eAAe,GAAGD,aAAa,CAACvE,MAAd,CAAqB,UAACyE,GAAD,EAAMC,MAAN;AAC3C,UAAI,CAACD,GAAG,CAAC/D,IAAJ,CAAS,UAACiE,EAAD;AAAA,eAAQA,EAAE,CAAC7F,KAAH,KAAa4F,MAAM,CAAC5F,KAA5B;AAAA,OAAT,CAAL,EAAkD;AAChD2F,QAAAA,GAAG,CAACG,IAAJ,CAASF,MAAT;AACD;;AAED,aAAOD,GAAP;AACD,KANuB,EAMrBjB,YANqB,CAAxB;;AAQA,QAAIe,aAAa,CAACpF,MAAd,KAAyB,CAA7B,EAAgC;AAC9BwD,MAAAA,QAAQ,CAAC6B,eAAD,CAAR;AACAK,MAAAA,UAAU,CAAC;AACT5C,QAAAA,kBAAkB,CAAC6C,OAAnB,CAA2BC,MAA3B,CAAkCC,IAAlC;AACD,OAFS,EAEP,CAFO,CAAV;AAGD;AACF,GAnBD;;AAqBA,MAAMC,aAAa,GAAGxC,OAAO,GAC3BpB,4BAAA,CAAC6D,gBAAD,oBAAsBpB;AAAQqB,IAAAA,WAAW,EAAE,qBAAClB,QAAD;AAAA,aAAcD,kBAAkB,CAACC,QAAD,CAAhC;AAAA;IAA3C,CAD2B,GAG3B5C,4BAAA,MAAA;AAAK6C,IAAAA,OAAO,EAAEA;GAAd,EACE7C,4BAAA,CAAC+D,oBAAD,oBAAiBtB;AAAQ3C,IAAAA,GAAG,EAAEc;AAAoBa,IAAAA,OAAO,EAAEA;IAA3D,CADF,CAHF;AAQA,MAAMiC,MAAM,GAAG7B,WAAW,GACxB7B,4BAAA,CAACgE,eAAD;AACEC,IAAAA,iBAAiB,EAAE,2BAACrB,QAAD;AAAA,aAAiBX,uBAAjB,UAA4CW,QAA5C;AAAA;AACnBd,IAAAA,SAAS,EAAEA;AACXI,IAAAA,cAAc,EAAE,wBAACgC,SAAD;AAAA,aAAehC,eAAc,CAACgC,SAAD,CAA7B;AAAA;KACZzB;AACJ3C,IAAAA,GAAG,EAAEc;AACLa,IAAAA,OAAO,EAAEA;IANX,CADwB,GAUxBmC,aAVF;AAaA,SACE5D,4BAAA,CAAC9F,eAAD,MAAA,EACGwJ,MADH,EAEGvC,MAAM,IAAIA,MAAM,CAACrD,MAAP,GAAgB,CAA1B,IAA+BuD,mBAA/B,IACCrB,4BAAA,CAAC3F,eAAD,MAAA,EACE2F,4BAAA,CAACmE,UAAD;AAAYxE,IAAAA,SAAS,EAAEA;AAAWwB,IAAAA,MAAM,EAAEA;GAA1C,CADF,CAHJ,CADF;AAUD,CApID;;;;;;;;;;"}
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"),n=e(r),t=require("react-select"),o=e(t),i=e(require("lodash.isfunction")),l=e(require("react-select/lib/Async")),a=e(require("@propellerads/error-label")),u=e(require("react-select/lib/Creatable")),c=require("@propellerads/icon"),s=e(require("styled-components")),d=require("@propellerads/stylevariables");function p(){return(p=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}function f(e,r){return r||(r=e.slice(0)),e.raw=r,e}function b(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function g(){var e=f(["\n position: absolute;\n display: flex;\n flex-direction: row;\n right: 1px;\n top: 0;\n height: ","px;\n align-items: center;\n"]);return g=function(){return e},e}function v(){var e=f(["\n position: relative;\n"]);return v=function(){return e},e}var h=s.div(v()),m=s.div(g(),d.lineHeight),x=function(e){var r=e||d.actionColor;return{control:function(e,n){return p({},e,{borderRadius:d.borderRadius,backgroundColor:n.isDisabled?"#ededed":"#fff",minHeight:d.lineHeight+"px",borderWidth:1,boxShadow:"none",borderColor:n.isFocused?r:d.gray80})},valueContainer:function(e){return p({},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,n){return p({},e,{backgroundColor:n.data.isException?d.errorColor:r,color:d.white,borderRadius:d.borderRadius/2+"px",height:"22px",display:"flex",alignItems:"center",margin:"2px 0 0 2px"})},multiValueLabel:function(e){return p({},e,{color:d.white,padding:"0 0 0 5px",fontSize:"12px",borderRadius:0,display:"inline-flex",lineHeight:"1"})},multiValueRemove:function(e,n){var t=n.data;return p({},e,{padding:0,margin:"0 4px 0 2px",backgroundColor:t.isException?d.errorColor:r,cursor:"pointer",":hover":{backgroundColor:t.isException?d.errorColor:r,color:"white"}})},menu:function(e){return p({},e,{margin:0,borderRadius:0,zIndex:10})},menuList:function(e){return p({},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,n){var t=n.isFocused;return{backgroundColor:t?r:null,padding:"5px 10px",fontSize:"14px",color:t?d.white:d.black}},input:function(e){return p({},e,{height:"16px"})}}},y=[/(?:\b|\B)\n+\b/,/(?:\b|\B),\s\b/,/(?:\b|\B),+\b/],C=function(e){var r=e.elementId,t=e.getStyles,o=e.innerProps,i=o.ref,l=function(e,r){if(null==e)return{};var n,t,o={},i=Object.keys(e);for(t=0;t<i.length;t++)r.indexOf(n=i[t])>=0||(o[n]=e[n]);return o}(o,["ref"]);return n.createElement("div",Object.assign({},l,{ref:i,style:t("clearIndicator",e),id:r+"-clear"}),n.createElement(c.Close,{color:c.COLOR.GRAY_DARK,hoverColor:c.COLOR.BLACK,size:c.SIZE.MEDIUM_SMALL}))};Object.defineProperty(exports,"components",{enumerable:!0,get:function(){return t.components}}),exports.default=function(e){var t=r.useRef(null),c=r.useState(!1),s=c[0],d=c[1],f=e.components,g=void 0===f?{}:f,v=e.customStyles,O=void 0===v?{}:v,w=e.elementId,E=e.errors,I=void 0===E?[]:E,S=e.isAsync,L=void 0!==S&&S,j=e.isErrorLabelVisible,R=void 0!==j&&j,A=e.onChange,k=e.onInputChange,q=void 0===k?null:k,H=e.filterOption,M=void 0===H?null:H,P=e.options,B=void 0===P?[]:P,D=e.promiseOptions,z=void 0===D?function(){return Promise.resolve()}:D,V=e.searchableKeys,_=void 0===V?["label"]:V,K=e.value,F=e.actionColor,T=void 0===F?"":F,U=e.isCreatable,W=void 0!==U&&U,G=e.isLoading,Y=void 0!==G&&G,Z=e.loadingMessage,$=void 0===Z?function(){return"Loading..."}:Z,J=e.minHeightInput,N=void 0===J?36:J,Q=e.createOptionPlaceholder,X=void 0===Q?"Create ":Q,ee=e.onCreateOption,re=void 0===ee?function(){return null}:ee,ne=void 0===K?[]:K,te=p({},x(T),O,{control:function(e,r){var n=O.control&&i(O.control)?O.control(e,r):{};return p({},x(T).control(e,r),n,{border:I.length?"1px solid #ed3030":x(T).control(e,r).border,minHeight:N})}}),oe=p({},e,{id:w,onChange:A},q&&{onInputChange:q},M&&{filterOption:M},{styles:te,loadingMessage:s?function(){return"Enter two or more characters"}:$,components:p({ClearIndicator:function(e){return n.createElement(C,Object.assign({},e,{elementId:w}))}},g)}),ie=L?n.createElement(l,Object.assign({},oe,{loadOptions:function(e){return function(e){return!e.length||e.length<2?(d(!0),null):(s&&d(!1),z(e))}(e)}})):n.createElement("div",{onPaste:function(e){var r=function(e,r,n){var t=function(e){for(var r,n=[],t=!1,o=function(e,r){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return b(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,void 0):void 0}}(e))){n&&(e=n);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}(y);!((r=o()).done||(n=e.split(r.value)).length>1););return 1===n.length&&(t=(n=e.split(/\b\s+\b/)).length>1),{splits:n,specialHandle:t}}(e),o=t.splits;if(t.specialHandle){var i=o.join(" ").toLowerCase();return r.sort((function(e,r){return e.label.length>r.label.length?-1:e.label.length<r.label.length?1:0})).filter((function(e){return n.reduce((function(r,n){var t=String(e[n]).toLowerCase(),o=-1!==i.search(t);return o&&(i=i.replace(t,"")),r||o}),!1)}))}return o.map((function(e){return r.find((function(r){var t=e.trim().toLowerCase();return n.reduce((function(e,n){var o=String(r[n]).toLowerCase();return e||o===t}),!1)}))})).filter(Boolean)}(e.clipboardData.getData("text/plain"),B,_),n=r.reduce((function(e,r){return e.find((function(e){return e.value===r.value}))||e.push(r),e}),ne);0!==r.length&&(A(n),setTimeout((function(){t.current.select.blur()}),0))}},n.createElement(o,Object.assign({},oe,{ref:t,options:B}))),le=W?n.createElement(u,Object.assign({formatCreateLabel:function(e){return X+'"'+e+'"'},isLoading:Y,onCreateOption:function(e){return re(e)}},oe,{ref:t,options:B})):ie;return n.createElement(h,null,le,I&&I.length>0&&R&&n.createElement(m,null,n.createElement(a,{elementId:w,errors:I})))};
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":"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"}
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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"}
@@ -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 || function (target) {
14
- for (var i = 1; i < arguments.length; i++) {
15
- var source = arguments[i];
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
- return target;
25
- };
26
-
27
- return _extends.apply(this, arguments);
18
+ return n;
19
+ }, _extends.apply(null, arguments);
28
20
  }
29
-
30
- function _objectWithoutPropertiesLoose(source, excluded) {
31
- if (source == null) return {};
32
- var target = {};
33
- var sourceKeys = Object.keys(source);
34
- var key, i;
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
- function _taggedTemplateLiteralLoose(strings, raw) {
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
- isDisabled = _ref.isDisabled;
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; // eslint-disable-next-line no-restricted-syntax
241
-
242
- for (var _iterator = _createForOfIteratorHelperLoose(REGEXPS), _step; !(_step = _iterator()).done;) {
243
- var regex = _step.value;
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
- } // special case. Need handle in special way
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
- splits = _splitString.splits,
266
- specialHandle = _splitString.specialHandle;
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
- getStyles = props.getStyles,
310
- _props$innerProps = props.innerProps,
311
- ref = _props$innerProps.ref,
312
- restInnerProps = _objectWithoutPropertiesLoose(_props$innerProps, ["ref"]);
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
- showMinLenTip = _useState[0],
330
- setShowMinLenTip = _useState[1];
331
-
235
+ showMinLenTip = _useState[0],
236
+ setShowMinLenTip = _useState[1];
332
237
  var _props$components = props.components,
333
- components = _props$components === void 0 ? {} : _props$components,
334
- _props$customStyles = props.customStyles,
335
- customStyles = _props$customStyles === void 0 ? {} : _props$customStyles,
336
- elementId = props.elementId,
337
- _props$errors = props.errors,
338
- errors = _props$errors === void 0 ? [] : _props$errors,
339
- _props$isAsync = props.isAsync,
340
- isAsync = _props$isAsync === void 0 ? false : _props$isAsync,
341
- _props$isErrorLabelVi = props.isErrorLabelVisible,
342
- isErrorLabelVisible = _props$isErrorLabelVi === void 0 ? false : _props$isErrorLabelVi,
343
- onChange = props.onChange,
344
- _props$onInputChange = props.onInputChange,
345
- onInputChange = _props$onInputChange === void 0 ? null : _props$onInputChange,
346
- _props$filterOption = props.filterOption,
347
- filterOption = _props$filterOption === void 0 ? null : _props$filterOption,
348
- _props$options = props.options,
349
- options = _props$options === void 0 ? [] : _props$options,
350
- _props$promiseOptions = props.promiseOptions,
351
- promiseOptions = _props$promiseOptions === void 0 ? function () {
352
- return Promise.resolve();
353
- } : _props$promiseOptions,
354
- _props$searchableKeys = props.searchableKeys,
355
- searchableKeys = _props$searchableKeys === void 0 ? ['label'] : _props$searchableKeys,
356
- _props$value = props.value,
357
- value = _props$value === void 0 ? [] : _props$value,
358
- _props$actionColor = props.actionColor,
359
- actionColor = _props$actionColor === void 0 ? '' : _props$actionColor,
360
- _props$isCreatable = props.isCreatable,
361
- isCreatable = _props$isCreatable === void 0 ? false : _props$isCreatable,
362
- _props$isLoading = props.isLoading,
363
- isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
364
- _props$loadingMessage = props.loadingMessage,
365
- loadingMessage = _props$loadingMessage === void 0 ? function () {
366
- return 'Loading...';
367
- } : _props$loadingMessage,
368
- _props$minHeightInput = props.minHeightInput,
369
- minHeightInput = _props$minHeightInput === void 0 ? 36 : _props$minHeightInput,
370
- _props$createOptionPl = props.createOptionPlaceholder,
371
- createOptionPlaceholder = _props$createOptionPl === void 0 ? 'Create ' : _props$createOptionPl,
372
- _props$onCreateOption = props.onCreateOption,
373
- _onCreateOption = _props$onCreateOption === void 0 ? function () {
374
- return null;
375
- } : _props$onCreateOption;
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAV,iCAArB;AAIA,IAAMC,eAAe,gBAAGF,MAAM,CAACC,GAAV,mCAMTE,UANS,CAArB;;AAUA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,iBAAD;AACpB,MAAMC,SAAS,GAAGD,iBAAiB,IAAIE,WAAvC;AACA,SAAO;AACLC,IAAAA,OAAO,EAAE,iBAACC,MAAD;AAAA,UAAUC,SAAV,QAAUA,SAAV;AAAA,UAAqBC,UAArB,QAAqBA,UAArB;AAAA,0BACJF,MADI;AAEPG,QAAAA,YAAY,EAAZA,YAFO;AAGPC,QAAAA,eAAe,EAAEF,UAAU,GAAG,SAAH,GAAe,MAHnC;AAIPG,QAAAA,SAAS,EAAKX,UAAL,OAJF;AAKPY,QAAAA,WAAW,EAAE,CALN;AAMPC,QAAAA,SAAS,EAAE,MANJ;AAOPC,QAAAA,WAAW,EAAEP,SAAS,GAAGJ,SAAH,GAAeY;AAP9B;AAAA,KADJ;AAULC,IAAAA,cAAc,EAAE,wBAACV,MAAD;AAAA,0BACXA,MADW;AAEdW,QAAAA,QAAQ,EAAE,QAFI;AAGdC,QAAAA,OAAO,EAAE,iBAHK;AAIdC,QAAAA,cAAc,EAAE;AAJF;AAAA,KAVX;AAgBLC,IAAAA,WAAW,EAAE;AAAA,aAAO;AAClBC,QAAAA,KAAK,EAAE,SADW;AAElBC,QAAAA,UAAU,EAAE,GAFM;AAGlBC,QAAAA,WAAW,EAAE,KAHK;AAIlBC,QAAAA,QAAQ,EAAE;AAJQ,OAAP;AAAA,KAhBR;AAsBLC,IAAAA,cAAc,EAAE;AAAA,aAAO;AACrBJ,QAAAA,KAAK,EAAE,SADc;AAErBK,QAAAA,OAAO,EAAE,aAFY;AAGrBC,QAAAA,WAAW,EAAE;AAHQ,OAAP;AAAA,KAtBX;AA2BLC,IAAAA,iBAAiB,EAAE;AAAA,aAAO;AACxBF,QAAAA,OAAO,EAAE;AADe,OAAP;AAAA,KA3Bd;AA8BLG,IAAAA,kBAAkB,EAAE;AAAA,aAAO;AACzBH,QAAAA,OAAO,EAAE;AADgB,OAAP;AAAA,KA9Bf;AAiCLI,IAAAA,UAAU,EAAE,oBAACxB,MAAD;AAAA,UAAUyB,IAAV,SAAUA,IAAV;AAAA,0BACPzB,MADO;AAEVI,QAAAA,eAAe,EAAEqB,IAAI,CAACC,WAAL,GAAmBC,UAAnB,GAAgC9B,SAFvC;AAGVkB,QAAAA,KAAK,EAAEa,KAHG;AAIVzB,QAAAA,YAAY,EAAKA,YAAY,GAAG,CAApB,OAJF;AAKV0B,QAAAA,MAAM,EAAE,MALE;AAMVT,QAAAA,OAAO,EAAE,MANC;AAOVU,QAAAA,UAAU,EAAE,QAPF;AAQVC,QAAAA,MAAM,EAAE;AARE;AAAA,KAjCP;AA2CLC,IAAAA,eAAe,EAAE,yBAAChC,MAAD;AAAA,0BACZA,MADY;AAEfe,QAAAA,KAAK,EAAEa,KAFQ;AAGfhB,QAAAA,OAAO,EAAE,WAHM;AAIfqB,QAAAA,QAAQ,EAAE,MAJK;AAKf9B,QAAAA,YAAY,EAAE,CALC;AAMfiB,QAAAA,OAAO,EAAE,aANM;AAOf1B,QAAAA,UAAU,EAAE;AAPG;AAAA,KA3CZ;AAoDLwC,IAAAA,gBAAgB,EAAE,0BAAClC,MAAD;AAAA,UAAUyB,IAAV,SAAUA,IAAV;AAAA,0BACbzB,MADa;AAEhBY,QAAAA,OAAO,EAAE,CAFO;AAGhBmB,QAAAA,MAAM,EAAE,aAHQ;AAIhB3B,QAAAA,eAAe,EAAEqB,IAAI,CAACC,WAAL,GAAmBC,UAAnB,GAAgC9B,SAJjC;AAKhBsC,QAAAA,MAAM,EAAE,SALQ;AAMhB,kBAAU;AACR/B,UAAAA,eAAe,EAAEqB,IAAI,CAACC,WAAL,GAAmBC,UAAnB,GAAgC9B,SADzC;AAERkB,UAAAA,KAAK,EAAE;AAFC;AANM;AAAA,KApDb;AA+DLqB,IAAAA,IAAI,EAAE,cAACpC,MAAD;AAAA,0BACDA,MADC;AAEJ+B,QAAAA,MAAM,EAAE,CAFJ;AAGJ5B,QAAAA,YAAY,EAAE,CAHV;AAIJkC,QAAAA,MAAM,EAAE;AAJJ;AAAA,KA/DD;AAqELC,IAAAA,QAAQ,EAAE,kBAACtC,MAAD;AAAA,0BACLA,MADK;AAER,+BAAuB;AACrBuC,UAAAA,KAAK,EAAE;AADc,SAFf;AAKR,qCAA6B;AAC3BpC,UAAAA,YAAY,EAAE,KADa;AAE3BC,UAAAA,eAAe,EAAE,mBAFU;AAG3BG,UAAAA,SAAS,EAAE;AAHgB;AALrB;AAAA,KArEL;AAgFLiC,IAAAA,MAAM,EAAE,gBAACxC,MAAD;AAAA,UAAUC,SAAV,SAAUA,SAAV;AAAA,aAA0B;AAChCG,QAAAA,eAAe,EAAEH,SAAS,GAAGJ,SAAH,GAAe,IADT;AAEhCe,QAAAA,OAAO,EAAE,UAFuB;AAGhCqB,QAAAA,QAAQ,EAAE,MAHsB;AAIhClB,QAAAA,KAAK,EAAEd,SAAS,GAAG2B,KAAH,GAAWa;AAJK,OAA1B;AAAA,KAhFH;AAsFLC,IAAAA,KAAK,EAAE,eAAC1C,MAAD;AAAA,0BACFA,MADE;AAEL6B,QAAAA,MAAM,EAAE;AAFH;AAAA;AAtFF,GAAP;AA2FD,CA7FD;;ACLA,IAAMc,OAAO,GAAG,CAAC,gBAAD,EAAmB,gBAAnB,EAAqC,eAArC,CAAhB;;AAOA,SAASC,WAAT,CAAqBC,KAArB;AACE,MAAIC,MAAM,GAAa,EAAvB;AAEA,MAAIC,aAAa,GAAG,KAApB;;AAEA,uDAAoBJ,OAApB,wCAA6B;AAAA,QAAlBK,KAAkB;AAC3BF,IAAAA,MAAM,GAAGD,KAAK,CAACI,KAAN,CAAYD,KAAZ,CAAT;;AACA,QAAIF,MAAM,CAACI,MAAP,GAAgB,CAApB,EAAuB;AACrB;AACD;AACF;;;AAGD,MAAIJ,MAAM,CAACI,MAAP,KAAkB,CAAtB,EAAyB;AACvBJ,IAAAA,MAAM,GAAGD,KAAK,CAACI,KAAN,CAAY,SAAZ,CAAT;AACAF,IAAAA,aAAa,GAAGD,MAAM,CAACI,MAAP,GAAgB,CAAhC;AACD;;AAED,SAAO;AACLJ,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,aAAa,EAAbA;AAFK,GAAP;AAID;;AAED,SAASI,qBAAT,CAA+BC,WAA/B,EAA4CC,gBAA5C,EAA8DC,cAA9D;qBACkCV,WAAW,CAACQ,WAAD;MAApCN,sBAAAA;MAAQC,6BAAAA;;AAEf,MAAIA,aAAJ,EAAmB;AACjB,QAAIQ,eAAe,GAAGT,MAAM,CAACU,IAAP,CAAY,GAAZ,EAAiBC,WAAjB,EAAtB;AAEA,WAAOJ,gBAAgB,CACpBK,IADI,CACC,UAACC,OAAD,EAAUC,QAAV;AACJ,UAAID,OAAO,CAACE,KAAR,CAAcX,MAAd,GAAuBU,QAAQ,CAACC,KAAT,CAAeX,MAA1C,EAAkD;AAChD,eAAO,CAAC,CAAR;AACD;;AACD,UAAIS,OAAO,CAACE,KAAR,CAAcX,MAAd,GAAuBU,QAAQ,CAACC,KAAT,CAAeX,MAA1C,EAAkD;AAChD,eAAO,CAAP;AACD;;AAED,aAAO,CAAP;AACD,KAVI,EAWJY,MAXI,CAWG,UAACtB,MAAD;AAAA,aACNc,cAAc,CAACS,MAAf,CAAsB,UAACC,SAAD,EAAYC,SAAZ;AACpB,YAAMC,WAAW,GAAGC,MAAM,CAAC3B,MAAM,CAACyB,SAAD,CAAP,CAAN,CAA0BR,WAA1B,EAApB;AACA,YAAMvC,QAAQ,GAAGqC,eAAe,CAACa,MAAhB,CAAuBF,WAAvB,CAAjB;AACA,YAAMG,SAAS,GAAGnD,QAAQ,KAAK,CAAC,CAAhC;;AACA,YAAImD,SAAJ,EAAe;AACbd,UAAAA,eAAe,GAAGA,eAAe,CAACe,OAAhB,CAAwBJ,WAAxB,EAAqC,EAArC,CAAlB;AACD;;AAED,eAAOF,SAAS,IAAIK,SAApB;AACD,OATD,EASG,KATH,CADM;AAAA,KAXH,CAAP;AAuBD;;AAED,SAAOvB,MAAM,CACVyB,GADI,CACA,UAACC,UAAD;AAAA,WACHnB,gBAAgB,CAACoB,IAAjB,CAAsB,UAACjC,MAAD;AACpB,UAAMkC,eAAe,GAAGF,UAAU,CAACG,IAAX,GAAkBlB,WAAlB,EAAxB;AAEA,aAAOH,cAAc,CAACS,MAAf,CAAsB,UAACC,SAAD,EAAYC,SAAZ;AAC3B,YAAMC,WAAW,GAAGC,MAAM,CAAC3B,MAAM,CAACyB,SAAD,CAAP,CAAN,CAA0BR,WAA1B,EAApB;AACA,YAAMY,SAAS,GAAGH,WAAW,KAAKQ,eAAlC;AAEA,eAAOV,SAAS,IAAIK,SAApB;AACD,OALM,EAKJ,KALI,CAAP;AAMD,KATD,CADG;AAAA,GADA,EAaJP,MAbI,CAaGc,OAbH,CAAP;AAcD;;AAWD,IAAMC,eAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD;MAEnBC,YAGED,MAHFC;MACAC,YAEEF,MAFFE;0BAEEF,MADFG;MAAaC,wBAAAA;MAAQC;;AAGvB,SACEC,mBAAA,MAAA,oBAASD;AAAgBD,IAAAA,GAAG,EAAEA;AAAKG,IAAAA,KAAK,EAAEL,SAAS,CAAC,gBAAD,EAAmBF,KAAnB;AAA2BQ,IAAAA,EAAE,EAAKP,SAAL;IAAhF,EACEK,mBAAA,CAACG,KAAD;AAAOxE,IAAAA,KAAK,EAAEyE,KAAK,CAACC;AAAWC,IAAAA,UAAU,EAAEF,KAAK,CAACG;AAAOC,IAAAA,IAAI,EAAEC,IAAI,CAACC;GAAnE,CADF,CADF;AAKD,CAZD;;AAcA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACjB,KAAD;AAChB,MAAMkB,kBAAkB,GAAGC,MAAM,CAAM,IAAN,CAAjC;;kBAC0CC,QAAQ,CAAC,KAAD;MAA3CC;MAAeC;;0BA+BlBtB,MA5BFuB;MAAAA,4CAAa;4BA4BXvB,MA3BFwB;MAAAA,gDAAe;MACfvB,YA0BED,MA1BFC;sBA0BED,MAzBFyB;MAAAA,oCAAS;uBAyBPzB,MAxBF0B;MAAAA,sCAAU;8BAwBR1B,MAvBF2B;MAAAA,yDAAsB;MACtBC,WAsBE5B,MAtBF4B;6BAsBE5B,MArBF6B;MAAAA,kDAAgB;4BAqBd7B,MApBF8B;MAAAA,gDAAe;uBAoBb9B,MAnBF+B;MAAAA,sCAAU;8BAmBR/B,MAlBFgC;MAAAA,oDAAiB;AAAA,WAAMC,OAAO,CAACC,OAAR,EAAN;AAAA;8BAkBflC,MAjBFxB;MAAAA,oDAAiB,CAAC,OAAD;qBAiBfwB,MAhBFjC;MAAAA,kCAAQ;2BAgBNiC,MAfFhF;MAAAA,8CAAc;2BAeZgF,MAbFmC;MAAAA,8CAAc;yBAaZnC,MAXFoC;MAAAA,0CAAY;8BAWVpC,MAJFqC;MAAAA,oDAAiB;AAAA,WAAM,YAAN;AAAA;8BAIfrC,MAHFsC;MAAAA,oDAAiB;8BAGftC,MAFFuC;MAAAA,6DAA0B;8BAExBvC,MADFwC;MAAAA,qDAAiB;AAAA,WAAM,IAAN;AAAA;;AAGnB,MAAMC,YAAY,GAAG1E,KAArB;;AAEA,MAAM2E,cAAc,gBACf7H,aAAa,CAACG,WAAD,CADE,EAEfwG,YAFe;AAGlBvG,IAAAA,OAAO,EAAE,iBAAC0H,IAAD,EAAOC,KAAP;AACP,UAAM1H,MAAM,GAAGsG,YAAY,CAACvG,OAAb,IAAwB4H,UAAU,CAACrB,YAAY,CAACvG,OAAd,CAAlC,GAA2DuG,YAAY,CAACvG,OAAb,CAAqB0H,IAArB,EAA2BC,KAA3B,CAA3D,GAA+F,EAA9G;AAEA,0BACK/H,aAAa,CAACG,WAAD,CAAb,CAA2BC,OAA3B,CAAmC0H,IAAnC,EAAyCC,KAAzC,CADL,EAEK1H,MAFL;AAGE4H,QAAAA,MAAM,EAAErB,MAAM,CAACrD,MAAP,GAAgB,mBAAhB,GAAsCvD,aAAa,CAACG,WAAD,CAAb,CAA2BC,OAA3B,CAAmC0H,IAAnC,EAAyCC,KAAzC,EAAgDE,MAHhG;AAIEvH,QAAAA,SAAS,EAAE+G;AAJb;AAMD;AAZiB,IAApB;;AAeA,MAAMS,MAAM,gBACP/C,KADO;AAEVQ,IAAAA,EAAE,EAAEP,SAFM;AAGV2B,IAAAA,QAAQ,EAARA;AAHU,KAINC,aAAa,IAAI;AAACA,IAAAA,aAAa,EAAbA;AAAD,GAJX,EAKNC,YAAY,IAAI;AAACA,IAAAA,YAAY,EAAZA;AAAD,GALV;AAMV5G,IAAAA,MAAM,EAAEwH,cANE;AAOVL,IAAAA,cAAc,EAAEhB,aAAa,GAAG;AAAA,aAAM,8BAAN;AAAA,KAAH,GAA0CgB,cAP7D;AAQVd,IAAAA,UAAU;AACRxB,MAAAA,cAAc,EAAE,wBAACiD,mBAAD;AAAA,eAAyB1C,mBAAA,CAACP,eAAD,oBAAoBiD;AAAqB/C,UAAAA,SAAS,EAAEA;UAApD,CAAzB;AAAA;AADR,OAELsB,UAFK;AARA,IAAZ;;AAcA,MAAM0B,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,QAAD;AACzB,QAAI,CAACA,QAAQ,CAAC9E,MAAV,IAAoB8E,QAAQ,CAAC9E,MAAT,GAAkB,CAA1C,EAA6C;AAC3CkD,MAAAA,gBAAgB,CAAC,IAAD,CAAhB;AAEA,aAAO,IAAP;AACD;;AAED,QAAID,aAAJ,EAAmB;AACjBC,MAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;;AAED,WAAOU,cAAc,CAACkB,QAAD,CAArB;AACD,GAZD;;AAcA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD;AACd,QAAMC,SAAS,GAAGD,CAAC,CAACE,aAAF,CAAgBC,OAAhB,CAAwB,YAAxB,CAAlB;AAEA,QAAMC,aAAa,GAAGnF,qBAAqB,CAACgF,SAAD,EAAYtB,OAAZ,EAAqBvD,cAArB,CAA3C;AAEA,QAAMiF,eAAe,GAAGD,aAAa,CAACvE,MAAd,CAAqB,UAACyE,GAAD,EAAMC,MAAN;AAC3C,UAAI,CAACD,GAAG,CAAC/D,IAAJ,CAAS,UAACiE,EAAD;AAAA,eAAQA,EAAE,CAAC7F,KAAH,KAAa4F,MAAM,CAAC5F,KAA5B;AAAA,OAAT,CAAL,EAAkD;AAChD2F,QAAAA,GAAG,CAACG,IAAJ,CAASF,MAAT;AACD;;AAED,aAAOD,GAAP;AACD,KANuB,EAMrBjB,YANqB,CAAxB;;AAQA,QAAIe,aAAa,CAACpF,MAAd,KAAyB,CAA7B,EAAgC;AAC9BwD,MAAAA,QAAQ,CAAC6B,eAAD,CAAR;AACAK,MAAAA,UAAU,CAAC;AACT5C,QAAAA,kBAAkB,CAAC6C,OAAnB,CAA2BC,MAA3B,CAAkCC,IAAlC;AACD,OAFS,EAEP,CAFO,CAAV;AAGD;AACF,GAnBD;;AAqBA,MAAMC,aAAa,GAAGxC,OAAO,GAC3BpB,mBAAA,CAAC6D,gBAAD,oBAAsBpB;AAAQqB,IAAAA,WAAW,EAAE,qBAAClB,QAAD;AAAA,aAAcD,kBAAkB,CAACC,QAAD,CAAhC;AAAA;IAA3C,CAD2B,GAG3B5C,mBAAA,MAAA;AAAK6C,IAAAA,OAAO,EAAEA;GAAd,EACE7C,mBAAA,CAAC+D,WAAD,oBAAiBtB;AAAQ3C,IAAAA,GAAG,EAAEc;AAAoBa,IAAAA,OAAO,EAAEA;IAA3D,CADF,CAHF;AAQA,MAAMiC,MAAM,GAAG7B,WAAW,GACxB7B,mBAAA,CAACgE,eAAD;AACEC,IAAAA,iBAAiB,EAAE,2BAACrB,QAAD;AAAA,aAAiBX,uBAAjB,UAA4CW,QAA5C;AAAA;AACnBd,IAAAA,SAAS,EAAEA;AACXI,IAAAA,cAAc,EAAE,wBAACgC,SAAD;AAAA,aAAehC,eAAc,CAACgC,SAAD,CAA7B;AAAA;KACZzB;AACJ3C,IAAAA,GAAG,EAAEc;AACLa,IAAAA,OAAO,EAAEA;IANX,CADwB,GAUxBmC,aAVF;AAaA,SACE5D,mBAAA,CAAC9F,eAAD,MAAA,EACGwJ,MADH,EAEGvC,MAAM,IAAIA,MAAM,CAACrD,MAAP,GAAgB,CAA1B,IAA+BuD,mBAA/B,IACCrB,mBAAA,CAAC3F,eAAD,MAAA,EACE2F,mBAAA,CAACmE,UAAD;AAAYxE,IAAAA,SAAS,EAAEA;AAAWwB,IAAAA,MAAM,EAAEA;GAA1C,CADF,CAHJ,CADF;AAUD,CApID;;;;"}
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":"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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@propellerads/tags-input",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
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": "3.1.0",
11
- "@propellerads/icon": "^5.21.0",
12
- "@propellerads/stylevariables": "^1.3.0",
13
- "lodash.isfunction": "^3.0.9",
10
+ "@propellerads/error-label": "^4.0.1",
11
+ "@propellerads/icon": "^6.0.2",
12
+ "@propellerads/stylevariables": "^2.0.1",
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": "^0.13.2",
35
- "tslib": "^2.0.1",
36
- "typescript": "^4.9.5",
37
- "@types/react": ">=18 <19",
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
  }