@hitachivantara/uikit-react-core 3.53.0 → 3.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
  3. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js +207 -0
  4. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
  5. package/dist/Snackbar/SnackbarProvider/index.d.ts +2 -0
  6. package/dist/Snackbar/SnackbarProvider/index.js +49 -0
  7. package/dist/Snackbar/SnackbarProvider/index.js.map +1 -0
  8. package/dist/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
  9. package/dist/TagsInput/TagsInput.d.ts +33 -4
  10. package/dist/TagsInput/TagsInput.js +125 -19
  11. package/dist/TagsInput/TagsInput.js.map +1 -1
  12. package/dist/TagsInput/styles.js +12 -8
  13. package/dist/TagsInput/styles.js.map +1 -1
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.js +16 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
  18. package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.js +169 -0
  19. package/dist/legacy/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
  20. package/dist/legacy/Snackbar/SnackbarProvider/index.d.ts +2 -0
  21. package/dist/legacy/Snackbar/SnackbarProvider/index.js +3 -0
  22. package/dist/legacy/Snackbar/SnackbarProvider/index.js.map +1 -0
  23. package/dist/legacy/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
  24. package/dist/legacy/TagsInput/TagsInput.d.ts +33 -4
  25. package/dist/legacy/TagsInput/TagsInput.js +129 -25
  26. package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
  27. package/dist/legacy/TagsInput/styles.js +12 -8
  28. package/dist/legacy/TagsInput/styles.js.map +1 -1
  29. package/dist/legacy/index.d.ts +2 -0
  30. package/dist/legacy/index.js +1 -0
  31. package/dist/legacy/index.js.map +1 -1
  32. package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +30 -0
  33. package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.js +155 -0
  34. package/dist/modern/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -0
  35. package/dist/modern/Snackbar/SnackbarProvider/index.d.ts +2 -0
  36. package/dist/modern/Snackbar/SnackbarProvider/index.js +3 -0
  37. package/dist/modern/Snackbar/SnackbarProvider/index.js.map +1 -0
  38. package/dist/modern/Snackbar/stories/SnackbarProvider.stories.mdx +51 -0
  39. package/dist/modern/TagsInput/TagsInput.d.ts +33 -4
  40. package/dist/modern/TagsInput/TagsInput.js +108 -19
  41. package/dist/modern/TagsInput/TagsInput.js.map +1 -1
  42. package/dist/modern/TagsInput/styles.js +12 -8
  43. package/dist/modern/TagsInput/styles.js.map +1 -1
  44. package/dist/modern/index.d.ts +2 -0
  45. package/dist/modern/index.js +1 -0
  46. package/dist/modern/index.js.map +1 -1
  47. package/package.json +5 -4
@@ -1,7 +1,7 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["classes", "className", "id", "name", "value", "defaultValue", "readOnly", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "placeholder", "hideCounter", "middleCountLabel", "maxTagsQuantity", "autoFocus", "resizable", "inputProps", "countCharProps", "multiline"],
4
+ const _excluded = ["classes", "className", "id", "name", "value", "defaultValue", "readOnly", "disabled", "required", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "placeholder", "hideCounter", "middleCountLabel", "maxTagsQuantity", "autoFocus", "resizable", "inputProps", "countCharProps", "multiline", "status", "statusMessage", "validationMessages"],
5
5
  _excluded2 = ["label", "type"];
6
6
 
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -14,10 +14,12 @@ import PropTypes from "prop-types";
14
14
  import clsx from "clsx";
15
15
  import { withStyles } from "@material-ui/core";
16
16
  import { setId, useControlled } from "../utils";
17
- import { HvFormElement, HvListContainer, HvListItem, HvTag, HvInput, HvLabel, HvInfoMessage, HvCharCounter, useUniqueId } from "..";
17
+ import { HvFormElement, HvListContainer, HvListItem, HvTag, HvInput, HvLabel, HvInfoMessage, HvCharCounter, HvWarningText, useUniqueId } from "..";
18
+ import validationStates from "../Forms/FormElement/validationStates";
19
+ import { DEFAULT_ERROR_MESSAGES } from "../BaseInput/validations";
18
20
  import styles from "./styles";
19
21
  /**
20
- * A text area is a multiline text input box, with an optional character counter when there is a length limit.
22
+ * A tags input is a single or multiline control that allows the input of tags.
21
23
  */
22
24
 
23
25
  const HvTagsInput = props => {
@@ -30,6 +32,7 @@ const HvTagsInput = props => {
30
32
  defaultValue = [],
31
33
  readOnly = false,
32
34
  disabled = false,
35
+ required = false,
33
36
  label: textAreaLabel,
34
37
  "aria-label": ariaLabel,
35
38
  "aria-labelledby": ariaLabelledBy,
@@ -44,7 +47,10 @@ const HvTagsInput = props => {
44
47
  resizable = true,
45
48
  inputProps = {},
46
49
  countCharProps = {},
47
- multiline = false
50
+ multiline = false,
51
+ status,
52
+ statusMessage,
53
+ validationMessages
48
54
  } = props,
49
55
  others = _objectWithoutProperties(props, _excluded);
50
56
 
@@ -54,6 +60,9 @@ const HvTagsInput = props => {
54
60
  const [value, setValue] = useControlled(valueProp, defaultValue);
55
61
  const [tagInput, setTagInput] = useState("");
56
62
  const [tagCursorPos, setTagCursorPos] = useState(value.length);
63
+ const [validationState, setValidationState] = useControlled(status, validationStates.standBy);
64
+ const [validationMessage, setValidationMessage] = useControlled(statusMessage, "");
65
+ const [stateValid, setStateValid] = useState(true);
57
66
  const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;
58
67
  const hasCounter = maxTagsQuantity != null && !hideCounter;
59
68
  const isStateInvalid = useMemo(() => {
@@ -61,6 +70,20 @@ const HvTagsInput = props => {
61
70
  }, [hasCounter, maxTagsQuantity, value.length]);
62
71
  const inputRef = useRef();
63
72
  const containerRef = useRef();
73
+ const errorMessages = useMemo(() => _objectSpread(_objectSpread({}, DEFAULT_ERROR_MESSAGES), validationMessages), // eslint-disable-next-line react-hooks/exhaustive-deps
74
+ [validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.error, validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.requiredError, validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.minCharError, validationMessages === null || validationMessages === void 0 ? void 0 : validationMessages.maxCharError]);
75
+ const performValidation = useCallback(currValue => {
76
+ if (maxTagsQuantity !== null && currValue.length > maxTagsQuantity) {
77
+ setValidationState(validationStates.invalid);
78
+ setValidationMessage(errorMessages.maxCharError);
79
+ setStateValid(false);
80
+ } else {
81
+ setValidationState(validationStates.valid);
82
+ setValidationMessage("");
83
+ setStateValid(true);
84
+ }
85
+ }, [errorMessages.maxCharError, maxTagsQuantity, setValidationMessage, setValidationState]);
86
+ const canShowError = status !== undefined && status === "invalid" && statusMessage !== undefined || !stateValid;
64
87
  /**
65
88
  * Handler for the `onChange` event on the tag input
66
89
  */
@@ -96,6 +119,8 @@ const HvTagsInput = props => {
96
119
  */
97
120
 
98
121
  const onEnterHandler = useCallback((event, tag) => {
122
+ event.preventDefault();
123
+
99
124
  if (tag !== "") {
100
125
  const newTagsArr = [...value, {
101
126
  label: tag,
@@ -104,9 +129,10 @@ const HvTagsInput = props => {
104
129
  setValue(newTagsArr);
105
130
  setTagInput("");
106
131
  setTagCursorPos(newTagsArr.length);
107
- onChange === null || onChange === void 0 ? void 0 : onChange(newTagsArr);
132
+ performValidation(newTagsArr);
133
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
108
134
  }
109
- }, [onChange, setValue, value]);
135
+ }, [onChange, performValidation, setValue, value]);
110
136
  /**
111
137
  * Handler for the `onKeyDown` event on the list container.
112
138
  */
@@ -130,7 +156,8 @@ const HvTagsInput = props => {
130
156
  setValue(newTagsArr);
131
157
  setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);
132
158
  (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
133
- onChange === null || onChange === void 0 ? void 0 : onChange(newTagsArr);
159
+ performValidation(newTagsArr);
160
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
134
161
  } else {
135
162
  setTagCursorPos(value.length - 1);
136
163
  }
@@ -145,7 +172,8 @@ const HvTagsInput = props => {
145
172
  setValue(newTagsArr);
146
173
  setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);
147
174
  (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus();
148
- onChange === null || onChange === void 0 ? void 0 : onChange(newTagsArr);
175
+ performValidation(newTagsArr);
176
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
149
177
  }
150
178
 
151
179
  break;
@@ -154,20 +182,22 @@ const HvTagsInput = props => {
154
182
  break;
155
183
  }
156
184
  }
157
- }, [isTagSelected, onChange, setValue, tagCursorPos, tagInput, value]);
185
+ }, [isTagSelected, onChange, performValidation, setValue, tagCursorPos, tagInput, value]);
158
186
  /**
159
187
  * Handler for the `onDelete` event on the tag component
160
188
  */
161
189
 
162
- const onDeleteTagHandler = useCallback(i => {
190
+ const onDeleteTagHandler = useCallback((event, i) => {
163
191
  var _inputRef$current3;
164
192
 
165
193
  const newTagsArr = [...value.slice(0, i), ...value.slice(i + 1)];
194
+ setValidationState(validationStates.standBy);
166
195
  setValue(newTagsArr);
167
196
  setTagCursorPos(newTagsArr.length);
168
197
  (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
169
- onChange === null || onChange === void 0 ? void 0 : onChange(newTagsArr);
170
- }, [value, setValue, onChange]);
198
+ performValidation(newTagsArr);
199
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, newTagsArr);
200
+ }, [value, setValidationState, setValue, performValidation, onChange]);
171
201
  /**
172
202
  * Handler for the `onClick` event on the list container
173
203
  */
@@ -183,6 +213,8 @@ const HvTagsInput = props => {
183
213
  name: name,
184
214
  disabled: disabled,
185
215
  readOnly: readOnly,
216
+ status: validationState,
217
+ required: required,
186
218
  className: clsx(classes.root, className, disabled && classes.disabled)
187
219
  }, (hasLabel || hasDescription) && /*#__PURE__*/React.createElement("div", {
188
220
  className: classes.labelContainer
@@ -201,7 +233,7 @@ const HvTagsInput = props => {
201
233
  currentCharQuantity: value.length,
202
234
  maxCharQuantity: maxTagsQuantity
203
235
  }, countCharProps)), /*#__PURE__*/React.createElement(HvListContainer, {
204
- className: clsx(classes.tagsList, multiline ? resizable && classes.resizable : classes.singleLine, isStateInvalid && classes.invalid),
236
+ className: clsx(classes.tagsList, multiline ? resizable && classes.resizable : classes.singleLine, canShowError && classes.error, isStateInvalid && classes.invalid),
205
237
  onKeyDown: onKeyDownHandler,
206
238
  onClick: onContainerClickHandler,
207
239
  ref: containerRef
@@ -230,9 +262,12 @@ const HvTagsInput = props => {
230
262
  }, /*#__PURE__*/React.createElement(HvTag, _extends({
231
263
  label: label,
232
264
  className: clsx(i === tagCursorPos && classes.tagSelected),
265
+ classes: {
266
+ chipRoot: classes.chipRoot
267
+ },
233
268
  type: type
234
269
  }, !(readOnly || disabled || type === "categorical") && {
235
- onDelete: () => onDeleteTagHandler(i)
270
+ onDelete: event => onDeleteTagHandler(event, i)
236
271
  }, {
237
272
  deleteButtonProps: {
238
273
  tabIndex: -1
@@ -267,7 +302,11 @@ const HvTagsInput = props => {
267
302
  "aria-describedby": ariaDescribedBy != null ? ariaDescribedBy : description && setId(elementId, "description")
268
303
  }, inputProps),
269
304
  inputRef: inputRef
270
- }, others)))));
305
+ }, others)))), canShowError && /*#__PURE__*/React.createElement(HvWarningText, {
306
+ id: setId(elementId, "error"),
307
+ disableBorder: true,
308
+ className: classes.error
309
+ }, validationMessage));
271
310
  };
272
311
 
273
312
  process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
@@ -300,6 +339,11 @@ process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
300
339
  */
301
340
  root: PropTypes.string,
302
341
 
342
+ /**
343
+ *
344
+ */
345
+ chipRoot: PropTypes.string,
346
+
303
347
  /**
304
348
  * Style applied to the root when resizable is `true`.
305
349
  */
@@ -366,9 +410,14 @@ process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
366
410
  tagInputRootFocused: PropTypes.string,
367
411
 
368
412
  /**
369
- * Styles applied to the container when in single line mode§.
413
+ * Styles applied to the container when in single line mode.
370
414
  */
371
- singleLine: PropTypes.string
415
+ singleLine: PropTypes.string,
416
+
417
+ /**
418
+ * Styles applied to the tags list when an error occurred.
419
+ */
420
+ error: PropTypes.string
372
421
  }).isRequired,
373
422
 
374
423
  /**
@@ -429,6 +478,11 @@ process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
429
478
  */
430
479
  readOnly: PropTypes.bool,
431
480
 
481
+ /**
482
+ * Indicates that the form element is required.
483
+ */
484
+ required: PropTypes.bool,
485
+
432
486
  /**
433
487
  * The function that will be executed onChange.
434
488
  */
@@ -478,7 +532,42 @@ process.env.NODE_ENV !== "production" ? HvTagsInput.propTypes = {
478
532
  /**
479
533
  * If `true` the component is in multiline mode.
480
534
  */
481
- multiline: PropTypes.bool
535
+ multiline: PropTypes.bool,
536
+
537
+ /**
538
+ * The status of the form element.
539
+ */
540
+ status: PropTypes.string,
541
+
542
+ /**
543
+ * The error message to show when `status` is "invalid".
544
+ */
545
+ statusMessage: PropTypes.string,
546
+
547
+ /**
548
+ * An Object containing the various texts associated with the input.
549
+ */
550
+ validationMessages: PropTypes.shape({
551
+ /**
552
+ * The value when a validation fails.
553
+ */
554
+ error: PropTypes.string,
555
+
556
+ /**
557
+ * The message that appears when there are too many characters.
558
+ */
559
+ maxCharError: PropTypes.string,
560
+
561
+ /**
562
+ * The message that appears when there are too few characters.
563
+ */
564
+ minCharError: PropTypes.string,
565
+
566
+ /**
567
+ * The message that appears when the input is empty and required.
568
+ */
569
+ requiredError: PropTypes.string
570
+ })
482
571
  } : void 0;
483
572
  export default withStyles(styles, {
484
573
  name: "HvTagsInput"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/TagsInput/TagsInput.js"],"names":["React","useRef","useState","useCallback","useMemo","useEffect","PropTypes","clsx","withStyles","setId","useControlled","HvFormElement","HvListContainer","HvListItem","HvTag","HvInput","HvLabel","HvInfoMessage","HvCharCounter","useUniqueId","styles","HvTagsInput","props","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","others","elementId","hasLabel","hasDescription","setValue","tagInput","setTagInput","tagCursorPos","setTagCursorPos","length","isTagSelected","hasCounter","isStateInvalid","inputRef","containerRef","onChangeHandler","event","input","element","document","getElementById","offset","offsetWidth","current","scrollBy","tagId","setTimeout","scrollLeft","offsetLeft","getBoundingClientRect","width","focus","onEnterHandler","tag","newTagsArr","type","onKeyDownHandler","code","slice","onDeleteTagHandler","i","onContainerClickHandler","root","labelContainer","characterCounter","tagsList","singleLine","invalid","map","t","otherProps","gutters","listItemGutters","listItemRoot","tagSelected","onDelete","tabIndex","tagInputContainerRoot","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","propTypes","string","shape","isRequired","array","node","bool","func","number","instanceOf","Object"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useCallback, useMemo, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { setId, useControlled } from \"../utils\";\nimport {\n HvFormElement,\n HvListContainer,\n HvListItem,\n HvTag,\n HvInput,\n HvLabel,\n HvInfoMessage,\n HvCharCounter,\n useUniqueId,\n} from \"..\";\nimport styles from \"./styles\";\n\n/**\n * A text area is a multiline text input box, with an optional character counter when there is a length limit.\n */\nconst HvTagsInput = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n\n value: valueProp,\n defaultValue = [],\n\n readOnly = false,\n disabled = false,\n\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n placeholder,\n\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n\n autoFocus = false,\n resizable = true,\n\n inputProps = {},\n countCharProps = {},\n\n multiline = false,\n\n ...others\n } = props;\n\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const inputRef = useRef();\n const containerRef = useRef();\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback((event, input) => {\n setTagInput(input);\n }, []);\n\n useEffect(() => {\n // keep scroll focused on the input when the value changes\n if (!multiline) {\n const element = document.getElementById(\"tag-input\");\n const offset = element?.offsetWidth;\n containerRef?.current?.scrollBy?.(offset ?? 0, 0);\n }\n }, [multiline, value]);\n\n useEffect(() => {\n if (!multiline) {\n const tagId = `tag-${tagCursorPos}`;\n const element = document.getElementById(tagId);\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n containerRef.current.scrollLeft = element\n ? element.offsetLeft -\n containerRef.current.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tagCursorPos]);\n\n /**\n * Handler for the `onEnter` event on the tag input\n */\n const onEnterHandler = useCallback(\n (event, tag) => {\n if (tag !== \"\") {\n const newTagsArr = [...value, { label: tag, type: \"semantic\" }];\n setValue(newTagsArr);\n setTagInput(\"\");\n setTagCursorPos(newTagsArr.length);\n\n onChange?.(newTagsArr);\n }\n },\n [onChange, setValue, value]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(tagCursorPos < value.length ? tagCursorPos + 1 : value.length);\n break;\n case \"Backspace\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n onChange?.(newTagsArr);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n onChange?.(newTagsArr);\n }\n break;\n default:\n break;\n }\n }\n },\n [isTagSelected, onChange, setValue, tagCursorPos, tagInput, value]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (i) => {\n const newTagsArr = [...value.slice(0, i), ...value.slice(i + 1)];\n setValue(newTagsArr);\n setTagCursorPos(newTagsArr.length);\n inputRef.current?.focus();\n onChange?.(newTagsArr);\n },\n [value, setValue, onChange]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n setTagCursorPos(value.length);\n }, [value.length]);\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n className={clsx(classes.root, className, {\n [classes.disabled]: disabled,\n })}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n className={classes.label}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage className={classes.description} id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n {hasCounter && (\n <HvCharCounter\n id={setId(elementId, \"charCounter\")}\n className={classes.characterCounter}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <HvListContainer\n className={clsx(\n classes.tagsList,\n resizable && multiline && classes.resizable,\n isStateInvalid && classes.invalid,\n !multiline && classes.singleLine\n )}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <HvListItem\n // eslint-disable-next-line react/no-array-index-key\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n gutters: classes.listItemGutters,\n root: classes.listItemRoot,\n }}\n id={`tag-${i}`}\n >\n <HvTag\n label={label}\n className={clsx(i === tagCursorPos && classes.tagSelected)}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: () => onDeleteTagHandler(i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n {...otherProps}\n />\n </HvListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <HvListItem\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputContainerRoot,\n gutters: classes.listItemGutters,\n }}\n id={`tag-${value.length}`}\n >\n <HvInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onEnter={onEnterHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputRoot,\n input: classes.input,\n inputBorderContainer: classes.tagInputBorderContainer,\n inputRootFocused: classes.tagInputRootFocused,\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : description && setId(elementId, \"description\"),\n\n ...inputProps,\n }}\n inputRef={inputRef}\n {...others}\n />\n </HvListItem>\n )}\n </HvListContainer>\n </HvFormElement>\n );\n};\n\nHvTagsInput.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.PropTypes.shape({\n /**\n * Styles applied to the input element.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the list item gutters.\n */\n listItemGutters: PropTypes.string,\n /**\n * Styles applied to the list item element.\n */\n listItemRoot: PropTypes.string,\n /**\n * Styles applied to the root container of the textarea.\n */\n root: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n disabled: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n resizable: PropTypes.string,\n /**\n * Style applied to the root when invalid.\n */\n invalid: PropTypes.string,\n /**\n * Styles applied to text area container that holds the label, description and counter.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n description: PropTypes.string,\n /**\n * Style applied on the character counter.\n */\n characterCounter: PropTypes.string,\n /**\n * Styles applied to the tags list container element.\n */\n tagsList: PropTypes.string,\n /**\n * Styles applied to the tag input container element.\n */\n tagInputContainerRoot: PropTypes.string,\n /**\n * Styles applied to the tag input element.\n */\n tagInputRoot: PropTypes.string,\n /**\n * Styles applied to a tag element when selected\n */\n tagSelected: PropTypes.string,\n /**\n * Styles applied to the input element border.\n */\n tagInputBorderContainer: PropTypes.string,\n /**\n * Styles applied to the input element when focused.\n */\n tagInputRootFocused: PropTypes.string,\n /**\n * Styles applied to the container when in single line mode§.\n */\n singleLine: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n /**\n * The form element name.\n */\n name: PropTypes.string,\n /**\n * The value of the form element.\n */\n value: PropTypes.array,\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.array,\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the form element is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * The function that will be executed onChange.\n */\n onChange: PropTypes.func,\n /**\n * The placeholder value of the input.\n */\n placeholder: PropTypes.string,\n /**\n * If `true` the character counter isn't shown even if maxTagsQuantity is set.\n */\n hideCounter: PropTypes.bool,\n /**\n * Text between the current char counter and max value.\n */\n middleCountLabel: PropTypes.string,\n /**\n * The maximum allowed length of the characters, if this value is null no check\n * will be performed.\n */\n maxTagsQuantity: PropTypes.number,\n /**\n * Attributes applied to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n /**\n * If `true` it should autofocus.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true` the component is resizable.\n */\n resizable: PropTypes.bool,\n /**\n * Props passed to the HvCharCount component.\n */\n countCharProps: PropTypes.instanceOf(Object),\n /**\n * If `true` the component is in multiline mode.\n */\n multiline: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvTagsInput\" })(HvTagsInput);\n"],"file":"TagsInput.js"}
1
+ {"version":3,"sources":["../../../src/TagsInput/TagsInput.js"],"names":["React","useRef","useState","useCallback","useMemo","useEffect","PropTypes","clsx","withStyles","setId","useControlled","HvFormElement","HvListContainer","HvListItem","HvTag","HvInput","HvLabel","HvInfoMessage","HvCharCounter","HvWarningText","useUniqueId","validationStates","DEFAULT_ERROR_MESSAGES","styles","HvTagsInput","props","classes","className","id","name","value","valueProp","defaultValue","readOnly","disabled","required","label","textAreaLabel","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","others","elementId","hasLabel","hasDescription","setValue","tagInput","setTagInput","tagCursorPos","setTagCursorPos","length","validationState","setValidationState","standBy","validationMessage","setValidationMessage","stateValid","setStateValid","isTagSelected","hasCounter","isStateInvalid","inputRef","containerRef","errorMessages","error","requiredError","minCharError","maxCharError","performValidation","currValue","invalid","valid","canShowError","undefined","onChangeHandler","event","input","element","document","getElementById","offset","offsetWidth","current","scrollBy","tagId","setTimeout","scrollLeft","offsetLeft","getBoundingClientRect","width","focus","onEnterHandler","tag","preventDefault","newTagsArr","type","onKeyDownHandler","code","slice","onDeleteTagHandler","i","onContainerClickHandler","root","labelContainer","characterCounter","tagsList","singleLine","map","t","otherProps","gutters","listItemGutters","listItemRoot","tagSelected","chipRoot","onDelete","tabIndex","tagInputContainerRoot","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","propTypes","string","shape","isRequired","array","node","bool","func","number","instanceOf","Object"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useCallback, useMemo, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { setId, useControlled } from \"../utils\";\nimport {\n HvFormElement,\n HvListContainer,\n HvListItem,\n HvTag,\n HvInput,\n HvLabel,\n HvInfoMessage,\n HvCharCounter,\n HvWarningText,\n useUniqueId,\n} from \"..\";\nimport validationStates from \"../Forms/FormElement/validationStates\";\nimport { DEFAULT_ERROR_MESSAGES } from \"../BaseInput/validations\";\nimport styles from \"./styles\";\n\n/**\n * A tags input is a single or multiline control that allows the input of tags.\n */\nconst HvTagsInput = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n\n value: valueProp,\n defaultValue = [],\n\n readOnly = false,\n disabled = false,\n required = false,\n\n label: textAreaLabel,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n placeholder,\n\n hideCounter = false,\n middleCountLabel = \"/\",\n maxTagsQuantity,\n\n autoFocus = false,\n resizable = true,\n\n inputProps = {},\n countCharProps = {},\n\n multiline = false,\n\n status,\n statusMessage,\n\n validationMessages,\n\n ...others\n } = props;\n const elementId = useUniqueId(id, \"hvTagsInput\");\n\n const hasLabel = textAreaLabel != null;\n const hasDescription = description != null;\n\n const [value, setValue] = useControlled(valueProp, defaultValue);\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n\n const [validationState, setValidationState] = useControlled(status, validationStates.standBy);\n const [validationMessage, setValidationMessage] = useControlled(statusMessage, \"\");\n\n const [stateValid, setStateValid] = useState(true);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const inputRef = useRef();\n const containerRef = useRef();\n\n const errorMessages = useMemo(\n () => ({ ...DEFAULT_ERROR_MESSAGES, ...validationMessages }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n validationMessages?.error,\n validationMessages?.requiredError,\n validationMessages?.minCharError,\n validationMessages?.maxCharError,\n ]\n );\n\n const performValidation = useCallback(\n (currValue) => {\n if (maxTagsQuantity !== null && currValue.length > maxTagsQuantity) {\n setValidationState(validationStates.invalid);\n setValidationMessage(errorMessages.maxCharError);\n setStateValid(false);\n } else {\n setValidationState(validationStates.valid);\n setValidationMessage(\"\");\n setStateValid(true);\n }\n },\n [errorMessages.maxCharError, maxTagsQuantity, setValidationMessage, setValidationState]\n );\n\n const canShowError =\n (status !== undefined && status === \"invalid\" && statusMessage !== undefined) || !stateValid;\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback((event, input) => {\n setTagInput(input);\n }, []);\n\n useEffect(() => {\n // keep scroll focused on the input when the value changes\n if (!multiline) {\n const element = document.getElementById(\"tag-input\");\n const offset = element?.offsetWidth;\n containerRef?.current?.scrollBy?.(offset ?? 0, 0);\n }\n }, [multiline, value]);\n\n useEffect(() => {\n if (!multiline) {\n const tagId = `tag-${tagCursorPos}`;\n const element = document.getElementById(tagId);\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n containerRef.current.scrollLeft = element\n ? element.offsetLeft -\n containerRef.current.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tagCursorPos]);\n\n /**\n * Handler for the `onEnter` event on the tag input\n */\n const onEnterHandler = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTagsArr = [...value, { label: tag, type: \"semantic\" }];\n setValue(newTagsArr);\n setTagInput(\"\");\n setTagCursorPos(newTagsArr.length);\n performValidation(newTagsArr);\n\n onChange?.(event, newTagsArr);\n }\n },\n [onChange, performValidation, setValue, value]\n );\n\n /**\n * Handler for the `onKeyDown` event on the list container.\n */\n const onKeyDownHandler = useCallback(\n (event) => {\n if (tagInput === \"\") {\n switch (event.code) {\n case \"ArrowLeft\":\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n break;\n case \"ArrowRight\":\n setTagCursorPos(tagCursorPos < value.length ? tagCursorPos + 1 : value.length);\n break;\n case \"Backspace\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onChange?.(event, newTagsArr);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n const newTagsArr = [\n ...value.slice(0, tagCursorPos),\n ...value.slice(tagCursorPos + 1),\n ];\n setValue(newTagsArr);\n setTagCursorPos(tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onChange?.(event, newTagsArr);\n }\n break;\n default:\n break;\n }\n }\n },\n [isTagSelected, onChange, performValidation, setValue, tagCursorPos, tagInput, value]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n const newTagsArr = [...value.slice(0, i), ...value.slice(i + 1)];\n setValidationState(validationStates.standBy);\n setValue(newTagsArr);\n setTagCursorPos(newTagsArr.length);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onChange?.(event, newTagsArr);\n },\n [value, setValidationState, setValue, performValidation, onChange]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n setTagCursorPos(value.length);\n }, [value.length]);\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n className={clsx(classes.root, className, {\n [classes.disabled]: disabled,\n })}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n className={classes.label}\n id={setId(id, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={textAreaLabel}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage className={classes.description} id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n {hasCounter && (\n <HvCharCounter\n id={setId(elementId, \"charCounter\")}\n className={classes.characterCounter}\n separator={middleCountLabel}\n currentCharQuantity={value.length}\n maxCharQuantity={maxTagsQuantity}\n {...countCharProps}\n />\n )}\n\n <HvListContainer\n className={clsx(\n classes.tagsList,\n canShowError && classes.error,\n resizable && multiline && classes.resizable,\n isStateInvalid && classes.invalid,\n !multiline && classes.singleLine\n )}\n onKeyDown={onKeyDownHandler}\n onClick={onContainerClickHandler}\n ref={containerRef}\n >\n {value &&\n value.map((t, i) => {\n const tag =\n typeof t === \"string\"\n ? {\n label: t,\n type: \"semantic\",\n }\n : t;\n const { label, type, ...otherProps } = tag;\n return (\n <HvListItem\n // eslint-disable-next-line react/no-array-index-key\n key={`${tag.label}-${i}`}\n tabIndex={-1}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n gutters: classes.listItemGutters,\n root: classes.listItemRoot,\n }}\n id={`tag-${i}`}\n >\n <HvTag\n label={label}\n className={clsx(i === tagCursorPos && classes.tagSelected)}\n classes={{\n chipRoot: classes.chipRoot,\n }}\n type={type}\n {...(!(readOnly || disabled || type === \"categorical\") && {\n onDelete: (event) => onDeleteTagHandler(event, i),\n })}\n deleteButtonProps={{\n tabIndex: -1,\n }}\n {...otherProps}\n />\n </HvListItem>\n );\n })}\n {!(disabled || readOnly) && (\n <HvListItem\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputContainerRoot,\n gutters: classes.listItemGutters,\n }}\n id={`tag-${value.length}`}\n >\n <HvInput\n value={tagInput}\n disableClear\n onChange={onChangeHandler}\n onEnter={onEnterHandler}\n placeholder={value.length === 0 ? placeholder : \"\"}\n autoFocus={autoFocus}\n className={clsx(!multiline && classes.singleLine)}\n classes={{\n root: classes.tagInputRoot,\n input: classes.input,\n inputBorderContainer: classes.tagInputBorderContainer,\n inputRootFocused: classes.tagInputRootFocused,\n }}\n disabled={disabled}\n readOnly={readOnly || isTagSelected}\n inputProps={{\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\":\n ariaDescribedBy != null\n ? ariaDescribedBy\n : description && setId(elementId, \"description\"),\n\n ...inputProps,\n }}\n inputRef={inputRef}\n {...others}\n />\n </HvListItem>\n )}\n </HvListContainer>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvTagsInput.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.PropTypes.shape({\n /**\n * Styles applied to the input element.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the list item gutters.\n */\n listItemGutters: PropTypes.string,\n /**\n * Styles applied to the list item element.\n */\n listItemRoot: PropTypes.string,\n /**\n * Styles applied to the root container of the textarea.\n */\n root: PropTypes.string,\n /**\n *\n */\n chipRoot: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n disabled: PropTypes.string,\n /**\n * Style applied to the root when resizable is `true`.\n */\n resizable: PropTypes.string,\n /**\n * Style applied to the root when invalid.\n */\n invalid: PropTypes.string,\n /**\n * Styles applied to text area container that holds the label, description and counter.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n description: PropTypes.string,\n /**\n * Style applied on the character counter.\n */\n characterCounter: PropTypes.string,\n /**\n * Styles applied to the tags list container element.\n */\n tagsList: PropTypes.string,\n /**\n * Styles applied to the tag input container element.\n */\n tagInputContainerRoot: PropTypes.string,\n /**\n * Styles applied to the tag input element.\n */\n tagInputRoot: PropTypes.string,\n /**\n * Styles applied to a tag element when selected\n */\n tagSelected: PropTypes.string,\n /**\n * Styles applied to the input element border.\n */\n tagInputBorderContainer: PropTypes.string,\n /**\n * Styles applied to the input element when focused.\n */\n tagInputRootFocused: PropTypes.string,\n /**\n * Styles applied to the container when in single line mode.\n */\n singleLine: PropTypes.string,\n /**\n * Styles applied to the tags list when an error occurred.\n */\n error: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n /**\n * The form element name.\n */\n name: PropTypes.string,\n /**\n * The value of the form element.\n */\n value: PropTypes.array,\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.array,\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be inputted via inputProps.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the form element is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the form element is required.\n */\n required: PropTypes.bool,\n /**\n * The function that will be executed onChange.\n */\n onChange: PropTypes.func,\n /**\n * The placeholder value of the input.\n */\n placeholder: PropTypes.string,\n /**\n * If `true` the character counter isn't shown even if maxTagsQuantity is set.\n */\n hideCounter: PropTypes.bool,\n /**\n * Text between the current char counter and max value.\n */\n middleCountLabel: PropTypes.string,\n /**\n * The maximum allowed length of the characters, if this value is null no check\n * will be performed.\n */\n maxTagsQuantity: PropTypes.number,\n /**\n * Attributes applied to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n /**\n * If `true` it should autofocus.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true` the component is resizable.\n */\n resizable: PropTypes.bool,\n /**\n * Props passed to the HvCharCount component.\n */\n countCharProps: PropTypes.instanceOf(Object),\n /**\n * If `true` the component is in multiline mode.\n */\n multiline: PropTypes.bool,\n /**\n * The status of the form element.\n */\n status: PropTypes.string,\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage: PropTypes.string,\n\n /**\n * An Object containing the various texts associated with the input.\n */\n validationMessages: PropTypes.shape({\n /**\n * The value when a validation fails.\n */\n error: PropTypes.string,\n /**\n * The message that appears when there are too many characters.\n */\n maxCharError: PropTypes.string,\n /**\n * The message that appears when there are too few characters.\n */\n minCharError: PropTypes.string,\n /**\n * The message that appears when the input is empty and required.\n */\n requiredError: PropTypes.string,\n }),\n};\n\nexport default withStyles(styles, { name: \"HvTagsInput\" })(HvTagsInput);\n"],"file":"TagsInput.js"}
@@ -4,12 +4,18 @@ const styles = theme => {
4
4
  display: "inline-block",
5
5
  maxWidth: "100%"
6
6
  },
7
+ chipRoot: {
8
+ maxWidth: "none"
9
+ },
7
10
  resizable: {
8
11
  width: "auto",
9
12
  resize: "both",
10
13
  overflow: "auto"
11
14
  },
12
15
  disabled: {},
16
+ error: {
17
+ float: "left"
18
+ },
13
19
  invalid: {
14
20
  border: `1px solid ${theme.hv.palette.semantic.sema4}!important`
15
21
  },
@@ -75,21 +81,16 @@ const styles = theme => {
75
81
  border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,
76
82
  borderRadius: "2px",
77
83
  "&:hover": {
78
- cursor: "text"
79
- },
80
- "&:focus": {
81
- outline: "none"
84
+ cursor: "text",
85
+ border: `1px solid ${theme.hv.palette.accent.acce1}`
82
86
  },
83
- "&:focus-visible": {
87
+ "&:focus, &:focus-within, &:focus-visible": {
84
88
  outlineColor: "#52A8EC",
85
89
  outlineStyle: "solid",
86
90
  outlineWidth: "0px",
87
91
  outlineOffset: "-1px",
88
92
  boxShadow: "0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)"
89
93
  },
90
- "&:focus-within, &:hover": {
91
- border: `1px solid ${theme.hv.palette.accent.acce1}`
92
- },
93
94
  "&$disabled": {
94
95
  backgroundColor: theme.hv.palette.atmosphere.atmo3,
95
96
  border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,
@@ -104,6 +105,9 @@ const styles = theme => {
104
105
  display: "table-row",
105
106
  paddingTop: 0,
106
107
  paddingLeft: 4
108
+ },
109
+ "&$error": {
110
+ border: `1px solid ${theme.hv.palette.semantic.sema4}`
107
111
  }
108
112
  },
109
113
  tagInputContainerRoot: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/TagsInput/styles.js"],"names":["styles","theme","root","display","maxWidth","resizable","width","resize","overflow","disabled","invalid","border","hv","palette","semantic","sema4","input","marginLeft","marginRight","flex","minWidth","height","lineHeight","padding","listItemGutters","listItemRoot","marginBottom","paddingTop","labelContainer","float","alignItems","label","paddingBottom","description","characterCounter","textAlign","tagsList","alignContent","clear","position","flexDirection","flexWrap","backgroundColor","atmosphere","atmo1","atmo4","borderRadius","cursor","outline","outlineColor","outlineStyle","outlineWidth","outlineOffset","boxShadow","accent","acce1","atmo3","overflowX","overflowY","paddingLeft","tagInputContainerRoot","flexGrow","verticalAlign","tagInputRoot","background","tagInputRootFocused","tagSelected","tagInputBorderContainer","singleLine"],"mappings":"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","sourcesContent":["const styles = (theme) => {\n return {\n root: {\n display: \"inline-block\",\n maxWidth: \"100%\",\n },\n resizable: {\n width: \"auto\",\n resize: \"both\",\n overflow: \"auto\",\n },\n disabled: {},\n invalid: {\n border: `1px solid ${theme.hv.palette.semantic.sema4}!important`,\n },\n input: {\n marginLeft: 0,\n marginRight: 0,\n width: 0,\n flex: \"1 1 auto\",\n minWidth: 48,\n height: 24,\n lineHeight: \"24px\",\n padding: 0,\n },\n listItemGutters: {\n padding: \"0 5px\",\n },\n listItemRoot: {\n marginBottom: 2,\n height: 24,\n lineHeight: \"24px\",\n \"&:not(:last-child)\": {\n marginBottom: 2,\n },\n \"&$singleLine\": {\n display: \"table-cell\",\n paddingTop: 2,\n },\n },\n labelContainer: {\n float: \"left\",\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n display: \"block\",\n float: \"left\",\n paddingBottom: \"6px\",\n },\n description: {\n display: \"block\",\n float: \"left\",\n },\n characterCounter: {\n display: \"block\",\n float: \"right\",\n textAlign: \"right\",\n marginBottom: \"6px\",\n },\n tagsList: {\n display: \"flex\",\n alignContent: \"flex-start\",\n float: \"left\",\n clear: \"both\",\n width: \"100%\",\n maxWidth: \"100%\",\n height: \"100%\",\n padding: 5,\n overflow: \"auto\",\n position: \"relative\",\n\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n borderRadius: \"2px\",\n\n \"&:hover\": {\n cursor: \"text\",\n },\n\n \"&:focus\": {\n outline: \"none\",\n },\n\n \"&:focus-visible\": {\n outlineColor: \"#52A8EC\",\n outlineStyle: \"solid\",\n outlineWidth: \"0px\",\n outlineOffset: \"-1px\",\n boxShadow: \"0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)\",\n },\n\n \"&:focus-within, &:hover\": {\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n\n \"&$disabled\": {\n backgroundColor: theme.hv.palette.atmosphere.atmo3,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n \"&:focus-within, &:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n },\n\n \"&$singleLine\": {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n height: 32,\n display: \"table-row\",\n paddingTop: 0,\n paddingLeft: 4,\n },\n },\n tagInputContainerRoot: {\n display: \"flex\",\n flexGrow: 1,\n height: 24,\n lineHeight: \"24px\",\n \"&$singleLine\": {\n display: \"table-cell\",\n minWidth: 100,\n width: \"100%\",\n paddingTop: 3,\n verticalAlign: \"middle\",\n },\n },\n tagInputRoot: {\n width: \"100%\",\n \"&:hover $tagInputBorderContainer\": {\n background: \"none\",\n },\n \"&:focus-within $tagInputBorderContainer\": {\n background: \"none\",\n },\n \"&$singleLine\": {},\n },\n tagInputRootFocused: {\n outline: \"none\",\n boxShadow: \"none\",\n },\n tagSelected: {\n outlineColor: \"#52A8EC\",\n outlineStyle: \"solid\",\n outlineWidth: \"0px\",\n outlineOffset: \"-1px\",\n boxShadow: \"0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)\",\n },\n tagInputBorderContainer: {\n border: \"none\",\n background: \"none\",\n },\n singleLine: {},\n };\n};\n\nexport default styles;\n"],"file":"styles.js"}
1
+ {"version":3,"sources":["../../../src/TagsInput/styles.js"],"names":["styles","theme","root","display","maxWidth","chipRoot","resizable","width","resize","overflow","disabled","error","float","invalid","border","hv","palette","semantic","sema4","input","marginLeft","marginRight","flex","minWidth","height","lineHeight","padding","listItemGutters","listItemRoot","marginBottom","paddingTop","labelContainer","alignItems","label","paddingBottom","description","characterCounter","textAlign","tagsList","alignContent","clear","position","flexDirection","flexWrap","backgroundColor","atmosphere","atmo1","atmo4","borderRadius","cursor","accent","acce1","outlineColor","outlineStyle","outlineWidth","outlineOffset","boxShadow","atmo3","overflowX","overflowY","paddingLeft","tagInputContainerRoot","flexGrow","verticalAlign","tagInputRoot","background","tagInputRootFocused","outline","tagSelected","tagInputBorderContainer","singleLine"],"mappings":"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","sourcesContent":["const styles = (theme) => {\n return {\n root: {\n display: \"inline-block\",\n maxWidth: \"100%\",\n },\n chipRoot: {\n maxWidth: \"none\",\n },\n resizable: {\n width: \"auto\",\n resize: \"both\",\n overflow: \"auto\",\n },\n disabled: {},\n error: {\n float: \"left\",\n },\n invalid: {\n border: `1px solid ${theme.hv.palette.semantic.sema4}!important`,\n },\n input: {\n marginLeft: 0,\n marginRight: 0,\n width: 0,\n flex: \"1 1 auto\",\n minWidth: 48,\n height: 24,\n lineHeight: \"24px\",\n padding: 0,\n },\n listItemGutters: {\n padding: \"0 5px\",\n },\n listItemRoot: {\n marginBottom: 2,\n height: 24,\n lineHeight: \"24px\",\n \"&:not(:last-child)\": {\n marginBottom: 2,\n },\n \"&$singleLine\": {\n display: \"table-cell\",\n paddingTop: 2,\n },\n },\n labelContainer: {\n float: \"left\",\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n display: \"block\",\n float: \"left\",\n paddingBottom: \"6px\",\n },\n description: {\n display: \"block\",\n float: \"left\",\n },\n characterCounter: {\n display: \"block\",\n float: \"right\",\n textAlign: \"right\",\n marginBottom: \"6px\",\n },\n tagsList: {\n display: \"flex\",\n alignContent: \"flex-start\",\n float: \"left\",\n clear: \"both\",\n width: \"100%\",\n maxWidth: \"100%\",\n height: \"100%\",\n padding: 5,\n overflow: \"auto\",\n position: \"relative\",\n\n flexDirection: \"row\",\n flexWrap: \"wrap\",\n\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n borderRadius: \"2px\",\n\n \"&:hover\": {\n cursor: \"text\",\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n\n \"&:focus, &:focus-within, &:focus-visible\": {\n outlineColor: \"#52A8EC\",\n outlineStyle: \"solid\",\n outlineWidth: \"0px\",\n outlineOffset: \"-1px\",\n boxShadow: \"0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)\",\n },\n\n \"&$disabled\": {\n backgroundColor: theme.hv.palette.atmosphere.atmo3,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n \"&:focus-within, &:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n },\n\n \"&$singleLine\": {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n height: 32,\n display: \"table-row\",\n paddingTop: 0,\n paddingLeft: 4,\n },\n\n \"&$error\": {\n border: `1px solid ${theme.hv.palette.semantic.sema4}`,\n },\n },\n tagInputContainerRoot: {\n display: \"flex\",\n flexGrow: 1,\n height: 24,\n lineHeight: \"24px\",\n \"&$singleLine\": {\n display: \"table-cell\",\n minWidth: 100,\n width: \"100%\",\n paddingTop: 3,\n verticalAlign: \"middle\",\n },\n },\n tagInputRoot: {\n width: \"100%\",\n \"&:hover $tagInputBorderContainer\": {\n background: \"none\",\n },\n \"&:focus-within $tagInputBorderContainer\": {\n background: \"none\",\n },\n \"&$singleLine\": {},\n },\n tagInputRootFocused: {\n outline: \"none\",\n boxShadow: \"none\",\n },\n tagSelected: {\n outlineColor: \"#52A8EC\",\n outlineStyle: \"solid\",\n outlineWidth: \"0px\",\n outlineOffset: \"-1px\",\n boxShadow: \"0 0 0 1px #52A8EC, 0 0 0 4px rgba(29,155,209,.3)\",\n },\n tagInputBorderContainer: {\n border: \"none\",\n background: \"none\",\n },\n singleLine: {},\n };\n};\n\nexport default styles;\n"],"file":"styles.js"}
@@ -151,6 +151,8 @@ export * from "./Snackbar";
151
151
  export { default as HvSnackbarContent } from "./Snackbar/SnackbarContentWrapper";
152
152
  export * from "./Snackbar/SnackbarContentWrapper";
153
153
 
154
+ export { default as HvSnackbarProvider, useHvSnackbar } from "./Snackbar/SnackbarProvider";
155
+
154
156
  export { default as HvTab } from "./Tab";
155
157
  export * from "./Tab";
156
158
 
@@ -56,6 +56,7 @@ export { default as HvBaseSwitch } from "./BaseSwitch";
56
56
  export { default as HvSwitch } from "./Switch";
57
57
  export { default as HvSnackbar } from "./Snackbar";
58
58
  export { default as HvSnackbarContent } from "./Snackbar/SnackbarContentWrapper";
59
+ export { default as HvSnackbarProvider, useHvSnackbar } from "./Snackbar/SnackbarProvider";
59
60
  export { default as HvTab } from "./Tab";
60
61
  export { default as HvTag } from "./Tag";
61
62
  export { default as HvTable } from "./Table";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":["default","HvAccordion","HvActionsGeneric","HvActionBar","HvAssetInventory","HvAvatar","HvBadge","HvBanner","HvBarchart","HvBaseDropdown","HvBreadcrumb","HvBulkActions","HvButton","HvCard","HvContainer","HvDatePicker","HvDonutchart","HvDropdown","HvDropDownMenu","HvEmptyState","HvFilterGroup","HvFileUploader","HvFooter","HvGrid","HvGlobalActions","HvHeader","HvBaseInput","HvInput","HvKpi","HvLinechart","HvLink","HvListContainer","HvList","HvSelectionList","HvLoading","HvLogin","HvDialog","HvMultiButton","HvPagination","HvBaseCheckBox","HvCheckBox","HvCheckBoxGroup","HvBaseRadio","HvRadio","HvRadioGroup","HvBaseSwitch","HvSwitch","HvSnackbar","HvSnackbarContent","HvTab","HvTag","HvTable","HvTabs","HvTextArea","HvTagsInput","HvToggleButton","HvTooltip","HvOverflowTooltip","HvTypography","HvUserPreferences","Actions","HvUserPreferencesActions","Action","HvUserPreferencesAction","Options","HvUserPreferencesOptions","Option","HvUserPreferencesOption","Group","HvUserPreferencesOptionsGroup","Label","HvUserPreferencesOptionsGroupLabel","HvScrollToHorizontal","HvScrollToVertical","useScrollTo","HvVerticalNavigation","Navigation","HvVerticalNavigationTree","TreeView","HvTreeView","TreeViewItem","HvTreeViewItem","HvVerticalNavigationActions","HvVerticalNavigationAction","HvPanel","withId","withTooltip","useUniqueId","hvTheme","themeBuilder","getTheme","HvProvider"],"mappings":"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","sourcesContent":["// components\nexport { default as HvAccordion } from \"./Accordion\";\nexport { default as HvActionsGeneric } from \"./ActionsGeneric\";\nexport { default as HvActionBar } from \"./ActionBar\";\nexport { default as HvAssetInventory } from \"./AssetInventory\";\nexport * from \"./AssetInventory\";\nexport { default as HvAvatar } from \"./Avatar\";\nexport { default as HvBadge } from \"./Badge\";\nexport { default as HvBanner } from \"./Banner\";\nexport * from \"./Banner\";\nexport { default as HvBarchart } from \"./Barchart\";\nexport { default as HvBaseDropdown } from \"./BaseDropdown\";\nexport { default as HvBreadcrumb } from \"./BreadCrumb\";\nexport { default as HvBulkActions } from \"./BulkActions\";\nexport { default as HvButton } from \"./Button\";\nexport { default as HvCard } from \"./Card\";\nexport * from \"./Card\";\nexport * from \"./Calendar\";\nexport { default as HvContainer } from \"./Container\";\nexport { default as HvDatePicker } from \"./DatePicker\";\nexport { default as HvDonutchart } from \"./Donutchart\";\nexport { default as HvDropdown } from \"./Dropdown\";\nexport { default as HvDropDownMenu } from \"./DropDownMenu\";\nexport { default as HvEmptyState } from \"./EmptyState\";\nexport { default as HvFilterGroup } from \"./FilterGroup\";\nexport { default as HvFileUploader } from \"./FileUploader\";\nexport * from \"./FileUploader\";\nexport { default as HvFooter } from \"./Footer\";\nexport * from \"./Forms\";\n\nexport { default as HvGrid } from \"./Grid\";\nexport { default as HvGlobalActions } from \"./GlobalActions\";\n\nexport { default as HvHeader } from \"./Header\";\nexport * from \"./Header\";\n\nexport { default as HvBaseInput } from \"./BaseInput\";\nexport { default as HvInput } from \"./Input\";\n\nexport { default as HvKpi } from \"./Kpi\";\n\nexport { default as HvLinechart } from \"./Linechart\";\nexport { default as HvLink } from \"./Link\";\nexport { default as HvListContainer } from \"./ListContainer\";\nexport * from \"./ListContainer\";\n\nexport { default as HvList } from \"./List\";\n\nexport { default as HvSelectionList } from \"./SelectionList\";\n\nexport { default as HvLoading } from \"./Loading\";\nexport { default as HvLogin } from \"./Login\";\nexport { default as HvDialog } from \"./Dialog\";\nexport * from \"./Dialog\";\nexport { default as HvMultiButton } from \"./MultiButton\";\nexport { default as HvPagination } from \"./Pagination\";\n\nexport { default as HvBaseCheckBox } from \"./BaseCheckBox\";\nexport { default as HvCheckBox } from \"./CheckBox\";\nexport { default as HvCheckBoxGroup } from \"./CheckBoxGroup\";\n\nexport { default as HvBaseRadio } from \"./BaseRadio\";\nexport { default as HvRadio } from \"./Radio\";\nexport { default as HvRadioGroup } from \"./RadioGroup\";\n\nexport { default as HvBaseSwitch } from \"./BaseSwitch\";\nexport { default as HvSwitch } from \"./Switch\";\n\nexport { default as HvSnackbar } from \"./Snackbar\";\nexport { default as HvSnackbarContent } from \"./Snackbar/SnackbarContentWrapper\";\n\nexport { default as HvTab } from \"./Tab\";\nexport { default as HvTag } from \"./Tag\";\nexport { default as HvTable } from \"./Table\";\nexport { default as HvTabs } from \"./Tabs\";\nexport { default as HvTextArea } from \"./TextArea\";\nexport { default as HvTagsInput } from \"./TagsInput\";\nexport { default as HvToggleButton } from \"./ToggleButton\";\nexport { default as HvTooltip } from \"./Tooltip\";\nexport { default as HvOverflowTooltip } from \"./OverflowTooltip\";\nexport { default as HvTypography } from \"./Typography\";\nexport { default as HvUserPreferences } from \"./UserPreferences\";\n// TODO refactor the HvUserPreferences subcomponents' names\nexport {\n Actions as HvUserPreferencesActions,\n Action as HvUserPreferencesAction,\n} from \"./UserPreferences\";\nexport {\n Options as HvUserPreferencesOptions,\n Option as HvUserPreferencesOption,\n Group as HvUserPreferencesOptionsGroup,\n Label as HvUserPreferencesOptionsGroupLabel,\n} from \"./UserPreferences\";\n\nexport { default as HvScrollToHorizontal } from \"./ScrollTo/Horizontal\";\nexport { default as HvScrollToVertical } from \"./ScrollTo/Vertical\";\nexport { default as useScrollTo } from \"./ScrollTo/useScrollTo\";\n\nexport { default as HvVerticalNavigation } from \"./VerticalNavigation\";\n// TODO refactor the HvVerticalNavigation subcomponents' names\nexport { Navigation as HvVerticalNavigationTree } from \"./VerticalNavigation\";\nexport { TreeView as HvTreeView, TreeViewItem as HvTreeViewItem } from \"./VerticalNavigation\";\nexport {\n Actions as HvVerticalNavigationActions,\n Action as HvVerticalNavigationAction,\n} from \"./VerticalNavigation\";\n\nexport { default as HvPanel } from \"./Panel\";\n\n// HOCs\nexport { default as withId } from \"./withId\";\nexport { default as withTooltip } from \"./withTooltip\";\n\n// Hooks\nexport { default as useUniqueId } from \"./useUniqueId\";\n\n// theme\nexport { default as hvTheme } from \"./theme\";\nexport { themeBuilder, getTheme } from \"./theme\";\n\n// provider\nexport { default as HvProvider } from \"./Provider\";\nexport * from \"./Provider\";\n\n// utils\nexport * from \"./utils\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":["default","HvAccordion","HvActionsGeneric","HvActionBar","HvAssetInventory","HvAvatar","HvBadge","HvBanner","HvBarchart","HvBaseDropdown","HvBreadcrumb","HvBulkActions","HvButton","HvCard","HvContainer","HvDatePicker","HvDonutchart","HvDropdown","HvDropDownMenu","HvEmptyState","HvFilterGroup","HvFileUploader","HvFooter","HvGrid","HvGlobalActions","HvHeader","HvBaseInput","HvInput","HvKpi","HvLinechart","HvLink","HvListContainer","HvList","HvSelectionList","HvLoading","HvLogin","HvDialog","HvMultiButton","HvPagination","HvBaseCheckBox","HvCheckBox","HvCheckBoxGroup","HvBaseRadio","HvRadio","HvRadioGroup","HvBaseSwitch","HvSwitch","HvSnackbar","HvSnackbarContent","HvSnackbarProvider","useHvSnackbar","HvTab","HvTag","HvTable","HvTabs","HvTextArea","HvTagsInput","HvToggleButton","HvTooltip","HvOverflowTooltip","HvTypography","HvUserPreferences","Actions","HvUserPreferencesActions","Action","HvUserPreferencesAction","Options","HvUserPreferencesOptions","Option","HvUserPreferencesOption","Group","HvUserPreferencesOptionsGroup","Label","HvUserPreferencesOptionsGroupLabel","HvScrollToHorizontal","HvScrollToVertical","useScrollTo","HvVerticalNavigation","Navigation","HvVerticalNavigationTree","TreeView","HvTreeView","TreeViewItem","HvTreeViewItem","HvVerticalNavigationActions","HvVerticalNavigationAction","HvPanel","withId","withTooltip","useUniqueId","hvTheme","themeBuilder","getTheme","HvProvider"],"mappings":"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","sourcesContent":["// components\nexport { default as HvAccordion } from \"./Accordion\";\nexport { default as HvActionsGeneric } from \"./ActionsGeneric\";\nexport { default as HvActionBar } from \"./ActionBar\";\nexport { default as HvAssetInventory } from \"./AssetInventory\";\nexport * from \"./AssetInventory\";\nexport { default as HvAvatar } from \"./Avatar\";\nexport { default as HvBadge } from \"./Badge\";\nexport { default as HvBanner } from \"./Banner\";\nexport * from \"./Banner\";\nexport { default as HvBarchart } from \"./Barchart\";\nexport { default as HvBaseDropdown } from \"./BaseDropdown\";\nexport { default as HvBreadcrumb } from \"./BreadCrumb\";\nexport { default as HvBulkActions } from \"./BulkActions\";\nexport { default as HvButton } from \"./Button\";\nexport { default as HvCard } from \"./Card\";\nexport * from \"./Card\";\nexport * from \"./Calendar\";\nexport { default as HvContainer } from \"./Container\";\nexport { default as HvDatePicker } from \"./DatePicker\";\nexport { default as HvDonutchart } from \"./Donutchart\";\nexport { default as HvDropdown } from \"./Dropdown\";\nexport { default as HvDropDownMenu } from \"./DropDownMenu\";\nexport { default as HvEmptyState } from \"./EmptyState\";\nexport { default as HvFilterGroup } from \"./FilterGroup\";\nexport { default as HvFileUploader } from \"./FileUploader\";\nexport * from \"./FileUploader\";\nexport { default as HvFooter } from \"./Footer\";\nexport * from \"./Forms\";\n\nexport { default as HvGrid } from \"./Grid\";\nexport { default as HvGlobalActions } from \"./GlobalActions\";\n\nexport { default as HvHeader } from \"./Header\";\nexport * from \"./Header\";\n\nexport { default as HvBaseInput } from \"./BaseInput\";\nexport { default as HvInput } from \"./Input\";\n\nexport { default as HvKpi } from \"./Kpi\";\n\nexport { default as HvLinechart } from \"./Linechart\";\nexport { default as HvLink } from \"./Link\";\nexport { default as HvListContainer } from \"./ListContainer\";\nexport * from \"./ListContainer\";\n\nexport { default as HvList } from \"./List\";\n\nexport { default as HvSelectionList } from \"./SelectionList\";\n\nexport { default as HvLoading } from \"./Loading\";\nexport { default as HvLogin } from \"./Login\";\nexport { default as HvDialog } from \"./Dialog\";\nexport * from \"./Dialog\";\nexport { default as HvMultiButton } from \"./MultiButton\";\nexport { default as HvPagination } from \"./Pagination\";\n\nexport { default as HvBaseCheckBox } from \"./BaseCheckBox\";\nexport { default as HvCheckBox } from \"./CheckBox\";\nexport { default as HvCheckBoxGroup } from \"./CheckBoxGroup\";\n\nexport { default as HvBaseRadio } from \"./BaseRadio\";\nexport { default as HvRadio } from \"./Radio\";\nexport { default as HvRadioGroup } from \"./RadioGroup\";\n\nexport { default as HvBaseSwitch } from \"./BaseSwitch\";\nexport { default as HvSwitch } from \"./Switch\";\n\nexport { default as HvSnackbar } from \"./Snackbar\";\nexport { default as HvSnackbarContent } from \"./Snackbar/SnackbarContentWrapper\";\nexport { default as HvSnackbarProvider, useHvSnackbar } from \"./Snackbar/SnackbarProvider\";\n\nexport { default as HvTab } from \"./Tab\";\nexport { default as HvTag } from \"./Tag\";\nexport { default as HvTable } from \"./Table\";\nexport { default as HvTabs } from \"./Tabs\";\nexport { default as HvTextArea } from \"./TextArea\";\nexport { default as HvTagsInput } from \"./TagsInput\";\nexport { default as HvToggleButton } from \"./ToggleButton\";\nexport { default as HvTooltip } from \"./Tooltip\";\nexport { default as HvOverflowTooltip } from \"./OverflowTooltip\";\nexport { default as HvTypography } from \"./Typography\";\nexport { default as HvUserPreferences } from \"./UserPreferences\";\n// TODO refactor the HvUserPreferences subcomponents' names\nexport {\n Actions as HvUserPreferencesActions,\n Action as HvUserPreferencesAction,\n} from \"./UserPreferences\";\nexport {\n Options as HvUserPreferencesOptions,\n Option as HvUserPreferencesOption,\n Group as HvUserPreferencesOptionsGroup,\n Label as HvUserPreferencesOptionsGroupLabel,\n} from \"./UserPreferences\";\n\nexport { default as HvScrollToHorizontal } from \"./ScrollTo/Horizontal\";\nexport { default as HvScrollToVertical } from \"./ScrollTo/Vertical\";\nexport { default as useScrollTo } from \"./ScrollTo/useScrollTo\";\n\nexport { default as HvVerticalNavigation } from \"./VerticalNavigation\";\n// TODO refactor the HvVerticalNavigation subcomponents' names\nexport { Navigation as HvVerticalNavigationTree } from \"./VerticalNavigation\";\nexport { TreeView as HvTreeView, TreeViewItem as HvTreeViewItem } from \"./VerticalNavigation\";\nexport {\n Actions as HvVerticalNavigationActions,\n Action as HvVerticalNavigationAction,\n} from \"./VerticalNavigation\";\n\nexport { default as HvPanel } from \"./Panel\";\n\n// HOCs\nexport { default as withId } from \"./withId\";\nexport { default as withTooltip } from \"./withTooltip\";\n\n// Hooks\nexport { default as useUniqueId } from \"./useUniqueId\";\n\n// theme\nexport { default as hvTheme } from \"./theme\";\nexport { themeBuilder, getTheme } from \"./theme\";\n\n// provider\nexport { default as HvProvider } from \"./Provider\";\nexport * from \"./Provider\";\n\n// utils\nexport * from \"./utils\";\n"],"file":"index.js"}