@hitachivantara/uikit-react-core 3.62.3 → 3.62.6

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 +34 -0
  2. package/dist/Avatar/Avatar.d.ts +4 -0
  3. package/dist/Avatar/Avatar.js +19 -8
  4. package/dist/Avatar/Avatar.js.map +1 -1
  5. package/dist/FilterGroup/FilterGroup.js +5 -0
  6. package/dist/FilterGroup/FilterGroup.js.map +1 -1
  7. package/dist/FilterGroup/index.d.ts +2 -0
  8. package/dist/Pagination/styles.js +3 -0
  9. package/dist/Pagination/styles.js.map +1 -1
  10. package/dist/Snackbar/SnackbarContentWrapper/styles.js +2 -1
  11. package/dist/Snackbar/SnackbarContentWrapper/styles.js.map +1 -1
  12. package/dist/TagsInput/TagsInput.js +1 -1
  13. package/dist/TagsInput/TagsInput.js.map +1 -1
  14. package/dist/TagsInput/styles.js +6 -1
  15. package/dist/TagsInput/styles.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/legacy/Avatar/Avatar.d.ts +4 -0
  18. package/dist/legacy/Avatar/Avatar.js +19 -8
  19. package/dist/legacy/Avatar/Avatar.js.map +1 -1
  20. package/dist/legacy/FilterGroup/FilterGroup.js +5 -0
  21. package/dist/legacy/FilterGroup/FilterGroup.js.map +1 -1
  22. package/dist/legacy/FilterGroup/index.d.ts +2 -0
  23. package/dist/legacy/Pagination/styles.js +3 -0
  24. package/dist/legacy/Pagination/styles.js.map +1 -1
  25. package/dist/legacy/Snackbar/SnackbarContentWrapper/styles.js +2 -1
  26. package/dist/legacy/Snackbar/SnackbarContentWrapper/styles.js.map +1 -1
  27. package/dist/legacy/TagsInput/TagsInput.js +1 -1
  28. package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
  29. package/dist/legacy/TagsInput/styles.js +6 -1
  30. package/dist/legacy/TagsInput/styles.js.map +1 -1
  31. package/dist/legacy/index.d.ts +1 -0
  32. package/dist/modern/Avatar/Avatar.d.ts +4 -0
  33. package/dist/modern/Avatar/Avatar.js +20 -9
  34. package/dist/modern/Avatar/Avatar.js.map +1 -1
  35. package/dist/modern/FilterGroup/FilterGroup.js +5 -0
  36. package/dist/modern/FilterGroup/FilterGroup.js.map +1 -1
  37. package/dist/modern/FilterGroup/index.d.ts +2 -0
  38. package/dist/modern/Pagination/styles.js +3 -0
  39. package/dist/modern/Pagination/styles.js.map +1 -1
  40. package/dist/modern/Snackbar/SnackbarContentWrapper/styles.js +2 -1
  41. package/dist/modern/Snackbar/SnackbarContentWrapper/styles.js.map +1 -1
  42. package/dist/modern/TagsInput/TagsInput.js +1 -1
  43. package/dist/modern/TagsInput/TagsInput.js.map +1 -1
  44. package/dist/modern/TagsInput/styles.js +6 -1
  45. package/dist/modern/TagsInput/styles.js.map +1 -1
  46. package/dist/modern/index.d.ts +1 -0
  47. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,40 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.62.6](https://github.com/lumada-design/hv-uikit-react/compare/@hitachivantara/uikit-react-core@3.62.5...@hitachivantara/uikit-react-core@3.62.6) (2022-04-20)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Avatar:** add containerProps ([#2747](https://github.com/lumada-design/hv-uikit-react/issues/2747)) ([872a22c](https://github.com/lumada-design/hv-uikit-react/commit/872a22c69083eda96ac02cd7c831b25c8153dac0))
12
+
13
+
14
+
15
+
16
+
17
+ ## 3.62.5 (2022-04-19)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **filtergroup:** enable typings ([#2743](https://github.com/lumada-design/hv-uikit-react/issues/2743)) ([aa09e97](https://github.com/lumada-design/hv-uikit-react/commit/aa09e9705905a2970e44c8f487f8688d2fc30f2c))
23
+ * **Snackbar:** message overflow its content box when rendering long words. HVUIKIT-6344 ([#2745](https://github.com/lumada-design/hv-uikit-react/issues/2745)) ([7989b3d](https://github.com/lumada-design/hv-uikit-react/commit/7989b3db14e7f0afb5b11c5a6809fa72586a2746))
24
+
25
+
26
+
27
+
28
+
29
+ ## [3.62.4](https://github.com/lumada-design/hv-uikit-react/compare/@hitachivantara/uikit-react-core@3.62.3...@hitachivantara/uikit-react-core@3.62.4) (2022-04-13)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * **TagsInput:** fix incorrect input width when no tags exist ([#2732](https://github.com/lumada-design/hv-uikit-react/issues/2732)) ([765ef07](https://github.com/lumada-design/hv-uikit-react/commit/765ef078fd821ce12fec954f367e7fd8ff2226d0))
35
+
36
+
37
+
38
+
39
+
6
40
  ## [3.62.3](https://github.com/lumada-design/hv-uikit-react/compare/@hitachivantara/uikit-react-core@3.62.2...@hitachivantara/uikit-react-core@3.62.3) (2022-04-12)
7
41
 
8
42
  **Note:** Version bump only for package @hitachivantara/uikit-react-core
@@ -76,6 +76,10 @@ export interface HvAvatarProps
76
76
  * A string representing the color of the avatar badge.
77
77
  */
78
78
  badge?: "sema0" | HvSemanticColorKeys | HvAtmosphereColorKeys;
79
+ /**
80
+ * Attributes applied to the container element.
81
+ */
82
+ containerProps: object;
79
83
  }
80
84
 
81
85
  export default function HvAvatar(props: HvAvatarProps): JSX.Element | null;
@@ -43,7 +43,7 @@ var _utils = require("../utils");
43
43
 
44
44
  var _styles = _interopRequireDefault(require("./styles"));
45
45
 
46
- var _excluded = ["className", "style", "classes", "children", "component", "size", "backgroundColor", "color", "src", "srcSet", "sizes", "alt", "imgProps", "status", "badge", "variant"];
46
+ var _excluded = ["className", "style", "classes", "children", "component", "size", "backgroundColor", "color", "src", "srcSet", "sizes", "alt", "imgProps", "status", "badge", "variant", "containerProps"];
47
47
 
48
48
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
49
 
@@ -104,6 +104,7 @@ var HvAvatar = function HvAvatar(props) {
104
104
  badge = props.badge,
105
105
  _props$variant = props.variant,
106
106
  variant = _props$variant === void 0 ? "circular" : _props$variant,
107
+ containerProps = props.containerProps,
107
108
  others = (0, _objectWithoutProperties2.default)(props, _excluded); // S, M and L are now deprecated, this intends to normalize the size to the new norm of XS, SM, MD, LG and XL
108
109
 
109
110
  var normalizedSize = normalizeSize(size);
@@ -159,12 +160,17 @@ var HvAvatar = function HvAvatar(props) {
159
160
  }
160
161
 
161
162
  var badgeColor = getColor(theme, badge, theme.hv.palette.semantic.sema1);
162
- return /*#__PURE__*/_react.default.createElement("div", {
163
- className: classes.container,
164
- tabIndex: 0,
165
- role: "button",
166
- "aria-label": "avatar"
167
- }, /*#__PURE__*/_react.default.createElement("div", {
163
+ /**
164
+ * Note: on the next major release this should be updated. the `others` prop should be
165
+ * used in the container instead of the `containerProps` and a new `avatarProps`
166
+ * should be created to pass on any props down to the avatar component. This wasn't
167
+ * done now in order to not break the current API. Also, consider using the `root` class
168
+ * on the container element as it makes more semantic sense.
169
+ */
170
+
171
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
172
+ className: classes.container
173
+ }, containerProps), /*#__PURE__*/_react.default.createElement("div", {
168
174
  className: (0, _clsx.default)(classes.status, classes[variant], classes[normalizedSize]),
169
175
  style: statusInlineStyle
170
176
  }, badge && /*#__PURE__*/_react.default.createElement("div", {
@@ -332,7 +338,12 @@ process.env.NODE_ENV !== "production" ? HvAvatar.propTypes = {
332
338
  /**
333
339
  * A string representing the color of the avatar badge.
334
340
  */
335
- badge: _propTypes.default.string
341
+ badge: _propTypes.default.string,
342
+
343
+ /**
344
+ * Attributes applied to the container element.
345
+ */
346
+ containerProps: _propTypes.default.instanceOf(Object)
336
347
  } : void 0;
337
348
 
338
349
  var _default = (0, _core.withStyles)(_styles.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Avatar/Avatar.js"],"names":["getColor","theme","color","defaultColor","palette","normalizeSize","size","console","warn","HvAvatar","props","className","style","classes","childrenProp","children","component","backgroundColor","src","srcSet","sizes","alt","imgProps","status","badge","variant","others","normalizedSize","imageLoaded","hasImg","hasImgNotFailing","img","fallback","inlineStyle","borderRadius","hv","accent","acce1","atmosphere","atmo1","statusInlineStyle","statusColor","semantic","sema1","boxShadow","badgeColor","container","root","avatar","propTypes","id","PropTypes","string","instanceOf","Object","shape","XS","SM","MD","LG","XL","isRequired","node","elementType","oneOf","styles","name"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Avatar, withStyles, useTheme } from \"@material-ui/core\";\n\nimport { User } from \"@hitachivantara/uikit-react-icons\";\n\nimport { decreaseSize, useImageLoaded } from \"../utils\";\n\nimport styles from \"./styles\";\n\nconst getColor = (theme, color, defaultColor) => theme.palette[color] || color || defaultColor;\n\nconst normalizeSize = (size) => {\n if (size === \"S\" || size === \"M\" || size === \"L\") {\n // eslint-disable-next-line no-console\n console.warn(\n \"`size` values S, M and L are deprecated. Please use XS, SM, MD, LG or XL instead\"\n );\n switch (size) {\n case \"S\":\n return \"SM\";\n case \"M\":\n return \"MD\";\n case \"L\":\n // this is intentional. the old L corresponds to the new XL. should be\n // removed once the old nomenclature is removed.\n return \"XL\";\n default:\n break;\n }\n }\n return size;\n};\n\n/**\n * Avatars can be used to represent a user or a brand.\n * They can show an image, an icon or the initial letters of a name, for example.\n */\nconst HvAvatar = (props) => {\n const {\n className,\n style,\n classes,\n children: childrenProp,\n component,\n size = \"SM\",\n backgroundColor = \"acce1\",\n color = \"atmo1\",\n src,\n srcSet,\n sizes,\n alt,\n imgProps,\n status,\n badge,\n variant = \"circular\",\n ...others\n } = props;\n\n // S, M and L are now deprecated, this intends to normalize the size to the new norm of XS, SM, MD, LG and XL\n const normalizedSize = normalizeSize(size);\n\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const imageLoaded = useImageLoaded(src, srcSet);\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && imageLoaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n className={classes.img}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n [children] = alt;\n } else {\n children = (\n <User color={color} iconSize={decreaseSize(normalizedSize)} className={classes.fallback} />\n );\n }\n\n const inlineStyle = {\n ...style,\n };\n\n if (component != null && typeof component !== \"string\") {\n // override border-radius with custom components\n inlineStyle.borderRadius = \"50%\";\n }\n\n const theme = useTheme();\n if (!hasImgNotFailing) {\n inlineStyle.backgroundColor = getColor(theme, backgroundColor, theme.hv.palette.accent.acce1);\n inlineStyle.color = getColor(theme, color, theme.hv.palette.atmosphere.atmo1);\n }\n\n const statusInlineStyle = {};\n if (status) {\n // set the status border. we're using the boxShadow property to set the border\n // to be inside the container and not on its edge.\n const statusColor = getColor(theme, status, theme.hv.palette.semantic.sema1);\n statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;\n }\n\n const badgeColor = getColor(theme, badge, theme.hv.palette.semantic.sema1);\n\n return (\n <div className={classes.container} tabIndex={0} role=\"button\" aria-label=\"avatar\">\n <div\n className={clsx(classes.status, classes[variant], classes[normalizedSize])}\n style={statusInlineStyle}\n >\n {badge && <div className={classes.badge} style={{ backgroundColor: badgeColor }} />}\n <Avatar\n component={component}\n className={clsx(className, classes.root, classes.avatar, classes[normalizedSize])}\n style={inlineStyle}\n variant={variant}\n {...others}\n >\n {children}\n </Avatar>\n </div>\n </div>\n );\n};\n\nHvAvatar.propTypes = {\n /**\n * Identifier to be applied to the root element.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * Inline styles to be applied to the root element.\n */\n style: PropTypes.instanceOf(Object),\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root element when size is XS.\n */\n XS: PropTypes.string,\n /**\n * Styles applied to the root element when size is SM.\n */\n SM: PropTypes.string,\n /**\n * Styles applied to the root element when size is MD.\n */\n MD: PropTypes.string,\n /**\n * Styles applied to the root element when size is LG.\n */\n LG: PropTypes.string,\n /**\n * Styles applied to the root element when size is XL.\n */\n XL: PropTypes.string,\n /**\n * Styles applied to the img element if either `src` or `srcSet` is defined.\n */\n img: PropTypes.string,\n /**\n * Styles applied to the fallback icon.\n */\n fallback: PropTypes.string,\n /**\n * Styles applied to the container element.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the avatar element.\n */\n avatar: PropTypes.string,\n /**\n * Styles applied to the badge element.\n */\n badge: PropTypes.string,\n /**\n * Styles applied to the status element.\n */\n status: PropTypes.string,\n }).isRequired,\n\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Sets one of the standard sizes of the icons\n */\n size: PropTypes.oneOf([\"S\", \"M\", \"L\", \"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n\n /**\n * A String representing the background color of the avatar.\n * You can use either an HEX or color name from the palette.\n */\n backgroundColor: PropTypes.string,\n /**\n * A String representing the foreground color of the avatar's\n * letters or the generic User icon fallback.\n * You can use either an HEX or color name from the palette.\n */\n color: PropTypes.string,\n\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps: PropTypes.instanceOf(Object),\n /**\n * A string representing the type of avatar to display, circular or square.\n */\n variant: PropTypes.oneOf([\"circular\", \"square\"]),\n /**\n * A string representing the color of the avatar border that represents its status.\n */\n status: PropTypes.string,\n /**\n * A string representing the color of the avatar badge.\n */\n badge: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvAvatar\" })(HvAvatar);\n"],"file":"Avatar.js"}
1
+ {"version":3,"sources":["../../src/Avatar/Avatar.js"],"names":["getColor","theme","color","defaultColor","palette","normalizeSize","size","console","warn","HvAvatar","props","className","style","classes","childrenProp","children","component","backgroundColor","src","srcSet","sizes","alt","imgProps","status","badge","variant","containerProps","others","normalizedSize","imageLoaded","hasImg","hasImgNotFailing","img","fallback","inlineStyle","borderRadius","hv","accent","acce1","atmosphere","atmo1","statusInlineStyle","statusColor","semantic","sema1","boxShadow","badgeColor","container","root","avatar","propTypes","id","PropTypes","string","instanceOf","Object","shape","XS","SM","MD","LG","XL","isRequired","node","elementType","oneOf","styles","name"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Avatar, withStyles, useTheme } from \"@material-ui/core\";\n\nimport { User } from \"@hitachivantara/uikit-react-icons\";\n\nimport { decreaseSize, useImageLoaded } from \"../utils\";\n\nimport styles from \"./styles\";\n\nconst getColor = (theme, color, defaultColor) => theme.palette[color] || color || defaultColor;\n\nconst normalizeSize = (size) => {\n if (size === \"S\" || size === \"M\" || size === \"L\") {\n // eslint-disable-next-line no-console\n console.warn(\n \"`size` values S, M and L are deprecated. Please use XS, SM, MD, LG or XL instead\"\n );\n switch (size) {\n case \"S\":\n return \"SM\";\n case \"M\":\n return \"MD\";\n case \"L\":\n // this is intentional. the old L corresponds to the new XL. should be\n // removed once the old nomenclature is removed.\n return \"XL\";\n default:\n break;\n }\n }\n return size;\n};\n\n/**\n * Avatars can be used to represent a user or a brand.\n * They can show an image, an icon or the initial letters of a name, for example.\n */\nconst HvAvatar = (props) => {\n const {\n className,\n style,\n classes,\n children: childrenProp,\n component,\n size = \"SM\",\n backgroundColor = \"acce1\",\n color = \"atmo1\",\n src,\n srcSet,\n sizes,\n alt,\n imgProps,\n status,\n badge,\n variant = \"circular\",\n containerProps,\n ...others\n } = props;\n\n // S, M and L are now deprecated, this intends to normalize the size to the new norm of XS, SM, MD, LG and XL\n const normalizedSize = normalizeSize(size);\n\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const imageLoaded = useImageLoaded(src, srcSet);\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && imageLoaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n className={classes.img}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n [children] = alt;\n } else {\n children = (\n <User color={color} iconSize={decreaseSize(normalizedSize)} className={classes.fallback} />\n );\n }\n\n const inlineStyle = {\n ...style,\n };\n\n if (component != null && typeof component !== \"string\") {\n // override border-radius with custom components\n inlineStyle.borderRadius = \"50%\";\n }\n\n const theme = useTheme();\n if (!hasImgNotFailing) {\n inlineStyle.backgroundColor = getColor(theme, backgroundColor, theme.hv.palette.accent.acce1);\n inlineStyle.color = getColor(theme, color, theme.hv.palette.atmosphere.atmo1);\n }\n\n const statusInlineStyle = {};\n if (status) {\n // set the status border. we're using the boxShadow property to set the border\n // to be inside the container and not on its edge.\n const statusColor = getColor(theme, status, theme.hv.palette.semantic.sema1);\n statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;\n }\n\n const badgeColor = getColor(theme, badge, theme.hv.palette.semantic.sema1);\n\n /**\n * Note: on the next major release this should be updated. the `others` prop should be\n * used in the container instead of the `containerProps` and a new `avatarProps`\n * should be created to pass on any props down to the avatar component. This wasn't\n * done now in order to not break the current API. Also, consider using the `root` class\n * on the container element as it makes more semantic sense.\n */\n return (\n <div className={classes.container} {...containerProps}>\n <div\n className={clsx(classes.status, classes[variant], classes[normalizedSize])}\n style={statusInlineStyle}\n >\n {badge && <div className={classes.badge} style={{ backgroundColor: badgeColor }} />}\n <Avatar\n component={component}\n className={clsx(className, classes.root, classes.avatar, classes[normalizedSize])}\n style={inlineStyle}\n variant={variant}\n {...others}\n >\n {children}\n </Avatar>\n </div>\n </div>\n );\n};\n\nHvAvatar.propTypes = {\n /**\n * Identifier to be applied to the root element.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * Inline styles to be applied to the root element.\n */\n style: PropTypes.instanceOf(Object),\n /**\n * A Jss Object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the root element when size is XS.\n */\n XS: PropTypes.string,\n /**\n * Styles applied to the root element when size is SM.\n */\n SM: PropTypes.string,\n /**\n * Styles applied to the root element when size is MD.\n */\n MD: PropTypes.string,\n /**\n * Styles applied to the root element when size is LG.\n */\n LG: PropTypes.string,\n /**\n * Styles applied to the root element when size is XL.\n */\n XL: PropTypes.string,\n /**\n * Styles applied to the img element if either `src` or `srcSet` is defined.\n */\n img: PropTypes.string,\n /**\n * Styles applied to the fallback icon.\n */\n fallback: PropTypes.string,\n /**\n * Styles applied to the container element.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the avatar element.\n */\n avatar: PropTypes.string,\n /**\n * Styles applied to the badge element.\n */\n badge: PropTypes.string,\n /**\n * Styles applied to the status element.\n */\n status: PropTypes.string,\n }).isRequired,\n\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Sets one of the standard sizes of the icons\n */\n size: PropTypes.oneOf([\"S\", \"M\", \"L\", \"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n\n /**\n * A String representing the background color of the avatar.\n * You can use either an HEX or color name from the palette.\n */\n backgroundColor: PropTypes.string,\n /**\n * A String representing the foreground color of the avatar's\n * letters or the generic User icon fallback.\n * You can use either an HEX or color name from the palette.\n */\n color: PropTypes.string,\n\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps: PropTypes.instanceOf(Object),\n /**\n * A string representing the type of avatar to display, circular or square.\n */\n variant: PropTypes.oneOf([\"circular\", \"square\"]),\n /**\n * A string representing the color of the avatar border that represents its status.\n */\n status: PropTypes.string,\n /**\n * A string representing the color of the avatar badge.\n */\n badge: PropTypes.string,\n /**\n * Attributes applied to the container element.\n */\n containerProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvAvatar\" })(HvAvatar);\n"],"file":"Avatar.js"}
@@ -43,6 +43,11 @@ var DEFAULT_LABELS = {
43
43
  selectAll: "All",
44
44
  multiSelectionConjunction: "/"
45
45
  };
46
+ /**
47
+ * This component implements one potential use-case of the Filter Group pattern Design System Specifies.
48
+ * Due to the enormous variety of capabilities required for this, we strongly recommend checking the code of the component and extend it yourself,
49
+ * while we do not provide a better approach for building this component with smaller and more composable parts.
50
+ */
46
51
 
47
52
  var HvFilterGroup = function HvFilterGroup(_ref) {
48
53
  var className = _ref.className,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/FilterGroup/FilterGroup.js"],"names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","placeholder","searchBoxPlaceholder","selectAll","multiSelectionConjunction","HvFilterGroup","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","labelsProp","labels","defaultValue","value","filters","horizontalPlacement","disablePortal","escapeWithReference","height","filterContentProps","others","classes","validationMessage","elementId","hasLabel","hasDescription","canShowError","undefined","root","labelContainer","error","propTypes","PropTypes","string","node","bool","oneOf","func","shape","arrayOf","isRequired","data","oneOfType","number","object","expanded"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { FilterGroupProvider } from \"./FilterGroupContext\";\nimport FilterContent from \"./FilterContent\";\nimport useStyles from \"./styles\";\nimport {\n setId,\n useLabels,\n useUniqueId,\n useControlled,\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n} from \"..\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear Filters\",\n placeholder: \"Filters\",\n searchBoxPlaceholder: \"Search\",\n selectAll: \"All\",\n multiSelectionConjunction: \"/\",\n};\n\nconst HvFilterGroup = ({\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n status,\n statusMessage,\n\n labels: labelsProp,\n\n defaultValue,\n value,\n filters,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height = 350,\n filterContentProps,\n\n ...others\n}) => {\n const classes = useStyles();\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id, \"hvfiltergroup\");\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <FilterGroupProvider defaultValue={defaultValue} value={value} filters={filters}>\n <FilterContent\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </FilterGroupProvider>\n </HvFormElement>\n );\n};\n\nHvFilterGroup.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\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 provided instead.\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 /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when `status` is \"invalid\". Defaults to \"Required\".\n */\n statusMessage: PropTypes.node,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when the cancel button is clicked.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when the clear filters button is clicked.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the Filter Group.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear Filters button label.\n */\n clearLabel: PropTypes.string,\n /**\n * Placeholder label.\n */\n placeholder: PropTypes.string,\n /**\n * SearchBox placeholder label.\n */\n searchBoxPlaceholder: PropTypes.string,\n /**\n * Select All placeholder label.\n */\n selectAll: PropTypes.string,\n /**\n * Multi selection conjunction placeholder label.\n */\n multiSelectionConjunction: PropTypes.string,\n }),\n\n /**\n * The options of the filter group.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ).isRequired,\n\n /**\n * The default value of the filter group.\n * If defined the clear action will reset to it.\n */\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The value of the filter group.\n */\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The placement where the filter group should be placed according to the input. Options are `left` or `right`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the filter container should be out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n\n /**\n * The Height of the filter panel, between 295 and 425. Defaults to 350\n */\n height: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n\n /**\n * The filter content props\n */\n filterContentProps: PropTypes.object,\n\n /**\n * If `true` the filter group starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n};\n\nexport default HvFilterGroup;\n"],"file":"FilterGroup.js"}
1
+ {"version":3,"sources":["../../src/FilterGroup/FilterGroup.js"],"names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","placeholder","searchBoxPlaceholder","selectAll","multiSelectionConjunction","HvFilterGroup","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","labelsProp","labels","defaultValue","value","filters","horizontalPlacement","disablePortal","escapeWithReference","height","filterContentProps","others","classes","validationMessage","elementId","hasLabel","hasDescription","canShowError","undefined","root","labelContainer","error","propTypes","PropTypes","string","node","bool","oneOf","func","shape","arrayOf","isRequired","data","oneOfType","number","object","expanded"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { FilterGroupProvider } from \"./FilterGroupContext\";\nimport FilterContent from \"./FilterContent\";\nimport useStyles from \"./styles\";\nimport {\n setId,\n useLabels,\n useUniqueId,\n useControlled,\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n} from \"..\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear Filters\",\n placeholder: \"Filters\",\n searchBoxPlaceholder: \"Search\",\n selectAll: \"All\",\n multiSelectionConjunction: \"/\",\n};\n\n/**\n * This component implements one potential use-case of the Filter Group pattern Design System Specifies.\n * Due to the enormous variety of capabilities required for this, we strongly recommend checking the code of the component and extend it yourself,\n * while we do not provide a better approach for building this component with smaller and more composable parts.\n */\nconst HvFilterGroup = ({\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n status,\n statusMessage,\n\n labels: labelsProp,\n\n defaultValue,\n value,\n filters,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height = 350,\n filterContentProps,\n\n ...others\n}) => {\n const classes = useStyles();\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id, \"hvfiltergroup\");\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <FilterGroupProvider defaultValue={defaultValue} value={value} filters={filters}>\n <FilterContent\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </FilterGroupProvider>\n </HvFormElement>\n );\n};\n\nHvFilterGroup.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\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 provided instead.\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 /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when `status` is \"invalid\". Defaults to \"Required\".\n */\n statusMessage: PropTypes.node,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when the cancel button is clicked.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when the clear filters button is clicked.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the Filter Group.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear Filters button label.\n */\n clearLabel: PropTypes.string,\n /**\n * Placeholder label.\n */\n placeholder: PropTypes.string,\n /**\n * SearchBox placeholder label.\n */\n searchBoxPlaceholder: PropTypes.string,\n /**\n * Select All placeholder label.\n */\n selectAll: PropTypes.string,\n /**\n * Multi selection conjunction placeholder label.\n */\n multiSelectionConjunction: PropTypes.string,\n }),\n\n /**\n * The options of the filter group.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ).isRequired,\n\n /**\n * The default value of the filter group.\n * If defined the clear action will reset to it.\n */\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The value of the filter group.\n */\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The placement where the filter group should be placed according to the input. Options are `left` or `right`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the filter container should be out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n\n /**\n * The Height of the filter panel, between 295 and 425. Defaults to 350\n */\n height: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n\n /**\n * The filter content props\n */\n filterContentProps: PropTypes.object,\n\n /**\n * If `true` the filter group starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n};\n\nexport default HvFilterGroup;\n"],"file":"FilterGroup.js"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./FilterGroup";
2
+ export * from "./FilterGroup";
@@ -70,6 +70,9 @@ var styles = function styles(theme) {
70
70
  width: "auto"
71
71
  },
72
72
  pageSizeTextContainer: {
73
+ display: "flex",
74
+ alignItems: "center",
75
+ justifyContent: "center",
73
76
  height: "32px",
74
77
  padding: "8px 0"
75
78
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Pagination/styles.js"],"names":["styles","theme","hoverColor","palette","atmo3","root","position","zIndex","display","justifyContent","alignItems","flexWrap","marginTop","hv","spacing","sm","typography","highlightText","width","minWidth","maxWidth","lg","WebkitAppearance","margin","backgroundColor","pageSizeOptions","height","marginRight","top","transform","left","pageSizeOptionsSelect","hvSpacing","pageSizeTextContainer","padding","pageNavigator","xs","pageInfo","whiteSpace","lineHeight","pageJump","pageSizeInput","pageSizeInputContainer","pageSizeInputRoot","paddingLeft","paddingRight","textAlign","MozAppearance","cursor","iconContainer","icon","selectDownIcon","pointerEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD,EAAW;AACxB,MAAMC,UAAU,GAAGD,KAAK,CAACE,OAAN,CAAcC,KAAjC;AAEA,SAAO;AACLC,IAAAA,IAAI,EAAE;AACJC,MAAAA,QAAQ,EAAE,UADN;AAEJC,MAAAA,MAAM,EAAE,CAFJ;AAGJC,MAAAA,OAAO,EAAE,MAHL;AAIJC,MAAAA,cAAc,EAAE,QAJZ;AAKJC,MAAAA,UAAU,EAAE,SALR;AAMJC,MAAAA,QAAQ,EAAE,MANN;AAOJC,MAAAA,SAAS,EAAEX,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBC,EAPxB;AAQJ,4CACKd,KAAK,CAACY,EAAN,CAASG,UAAT,CAAoBC,aADzB,CARI;AAWJ,mCAA6B;AAC3BC,QAAAA,KAAK,EAAE,EADoB;AAE3BC,QAAAA,QAAQ,EAAE,EAFiB;AAG3BC,QAAAA,QAAQ,EAAEnB,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBO,EAHA;AAI3B,8GACE;AACEC,UAAAA,gBAAgB,EAAE,MADpB;AAEEC,UAAAA,MAAM,EAAE;AAFV;AALyB,OAXzB;AAqBJ,8BAAwB;AACtBC,QAAAA,eAAe,EAAE,aADK;AAEtB,4CAAoC;AAClCA,UAAAA,eAAe,EAAEtB;AADiB;AAFd;AArBpB,KADD;AA6BLuB,IAAAA,eAAe,EAAE;AACfjB,MAAAA,OAAO,EAAE,MADM;AAEfF,MAAAA,QAAQ,EAAE,UAFK;AAGfoB,MAAAA,MAAM,EAAE,EAHO;AAIfC,MAAAA,WAAW,EAAE,EAJE;AAKfC,MAAAA,GAAG,EAAE,KALU;AAMfC,MAAAA,SAAS,EAAE,kBANI;AAOfC,MAAAA,IAAI,EAAE;AAPS,KA7BZ;AAsCLC,IAAAA,qBAAqB,EAAE;AACrBvB,MAAAA,OAAO,EAAE,cADY;AAErBe,MAAAA,MAAM,EAAEtB,KAAK,CAAC+B,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,CAFa;AAGrBd,MAAAA,KAAK,EAAE;AAHc,KAtClB;AA2CLe,IAAAA,qBAAqB,EAAE;AACrBP,MAAAA,MAAM,EAAE,MADa;AAErBQ,MAAAA,OAAO,EAAE;AAFY,KA3ClB;AA+CLC,IAAAA,aAAa,EAAE;AACb3B,MAAAA,OAAO,EAAE,MADI;AAEbE,MAAAA,UAAU,EAAE,SAFC;AAGbgB,MAAAA,MAAM,EAAE,MAHK;AAIb,aAAO;AACLH,QAAAA,MAAM,cAAOtB,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBsB,EAAjB,GAAsB,CAA7B;AADD;AAJM,KA/CV;AAuDLC,IAAAA,QAAQ,EAAE;AACR7B,MAAAA,OAAO,EAAE,cADD;AAER8B,MAAAA,UAAU,EAAE,QAFJ;AAGRZ,MAAAA,MAAM,EAAE,MAHA;AAIRa,MAAAA,UAAU,EAAE;AAJJ,KAvDL;AA6DLC,IAAAA,QAAQ,EAAE;AACRhC,MAAAA,OAAO,EAAE,cADD;AAERmB,MAAAA,WAAW,EAAE1B,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBsB,EAAjB,GAAsB;AAF3B,KA7DL;AAiELK,IAAAA,aAAa,EAAE,EAjEV;AAkELC,IAAAA,sBAAsB,EAAE,EAlEnB;AAmELC,IAAAA,iBAAiB,EAAE;AACjB,0BAAoB;AAClBC,QAAAA,WAAW,EAAE3C,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBsB,EAAjB,GAAsB,CADjB;AAElBS,QAAAA,YAAY,EAAE5C,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBsB,EAAjB,GAAsB,CAFlB;AAGlBb,QAAAA,MAAM,EAAE,CAHU;AAIlBuB,QAAAA,SAAS,EAAE,OAJO;AAKlBC,QAAAA,aAAa,EAAE,WALG;AAMlB,mBAAW;AACTvB,UAAAA,eAAe,EAAEtB;AADR,SANO;AASlB,mBAAW;AACT8C,UAAAA,MAAM,EAAE;AADC;AATO;AADH,KAnEd;AAkFLC,IAAAA,aAAa,EAAE;AACbf,MAAAA,OAAO,EAAE;AADI,KAlFV;AAqFLgB,IAAAA,IAAI,EAAE,EArFD;AAsFLC,IAAAA,cAAc,EAAE;AACd3C,MAAAA,OAAO,EAAE,cADK;AAEdF,MAAAA,QAAQ,EAAE,UAFI;AAGd8C,MAAAA,aAAa,EAAE,MAHD;AAIdtB,MAAAA,IAAI,EAAE,OAJQ;AAKdF,MAAAA,GAAG,EAAE,KALS;AAMdV,MAAAA,KAAK,EAAE;AANO;AAtFX,GAAP;AA+FD,CAlGD;;eAoGelB,M","sourcesContent":["const styles = (theme) => {\n const hoverColor = theme.palette.atmo3;\n\n return {\n root: {\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n flexWrap: \"wrap\",\n marginTop: theme.hv.spacing.sm,\n \"& $pageSizeInput\": {\n ...theme.hv.typography.highlightText,\n },\n \"& $pageSizeInputContainer\": {\n width: 40,\n minWidth: 40,\n maxWidth: theme.hv.spacing.lg,\n '& input[type=\"number\"]::-webkit-inner-spin-button, input[type=\"number\"]::-webkit-outer-spin-button':\n {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n },\n \"& $pageSizeInputRoot\": {\n backgroundColor: \"transparent\",\n \"&:focus, &:focus-within, &:hover\": {\n backgroundColor: hoverColor,\n },\n },\n },\n pageSizeOptions: {\n display: \"flex\",\n position: \"absolute\",\n height: 32,\n marginRight: 40,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"0\",\n },\n pageSizeOptionsSelect: {\n display: \"inline-block\",\n margin: theme.hvSpacing(0, \"xs\"),\n width: \"auto\",\n },\n pageSizeTextContainer: {\n height: \"32px\",\n padding: \"8px 0\",\n },\n pageNavigator: {\n display: \"flex\",\n alignItems: \"stretch\",\n height: \"32px\",\n \"&>*\": {\n margin: `0 ${theme.hv.spacing.xs / 2}px`,\n },\n },\n pageInfo: {\n display: \"inline-block\",\n whiteSpace: \"nowrap\",\n height: \"32px\",\n lineHeight: \"32px\",\n },\n pageJump: {\n display: \"inline-block\",\n marginRight: theme.hv.spacing.xs / 2,\n },\n pageSizeInput: {},\n pageSizeInputContainer: {},\n pageSizeInputRoot: {\n \"& $pageSizeInput\": {\n paddingLeft: theme.hv.spacing.xs / 2,\n paddingRight: theme.hv.spacing.xs / 2,\n margin: 0,\n textAlign: \"right\",\n MozAppearance: \"textfield\",\n \"&:focus\": {\n backgroundColor: hoverColor,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n },\n iconContainer: {\n padding: 0,\n },\n icon: {},\n selectDownIcon: {\n display: \"inline-block\",\n position: \"relative\",\n pointerEvents: \"none\",\n left: \"-32px\",\n top: \"2px\",\n width: 0,\n },\n };\n};\n\nexport default styles;\n"],"file":"styles.js"}
1
+ {"version":3,"sources":["../../src/Pagination/styles.js"],"names":["styles","theme","hoverColor","palette","atmo3","root","position","zIndex","display","justifyContent","alignItems","flexWrap","marginTop","hv","spacing","sm","typography","highlightText","width","minWidth","maxWidth","lg","WebkitAppearance","margin","backgroundColor","pageSizeOptions","height","marginRight","top","transform","left","pageSizeOptionsSelect","hvSpacing","pageSizeTextContainer","padding","pageNavigator","xs","pageInfo","whiteSpace","lineHeight","pageJump","pageSizeInput","pageSizeInputContainer","pageSizeInputRoot","paddingLeft","paddingRight","textAlign","MozAppearance","cursor","iconContainer","icon","selectDownIcon","pointerEvents"],"mappings":"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","sourcesContent":["const styles = (theme) => {\n const hoverColor = theme.palette.atmo3;\n\n return {\n root: {\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n flexWrap: \"wrap\",\n marginTop: theme.hv.spacing.sm,\n \"& $pageSizeInput\": {\n ...theme.hv.typography.highlightText,\n },\n \"& $pageSizeInputContainer\": {\n width: 40,\n minWidth: 40,\n maxWidth: theme.hv.spacing.lg,\n '& input[type=\"number\"]::-webkit-inner-spin-button, input[type=\"number\"]::-webkit-outer-spin-button':\n {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n },\n \"& $pageSizeInputRoot\": {\n backgroundColor: \"transparent\",\n \"&:focus, &:focus-within, &:hover\": {\n backgroundColor: hoverColor,\n },\n },\n },\n pageSizeOptions: {\n display: \"flex\",\n position: \"absolute\",\n height: 32,\n marginRight: 40,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"0\",\n },\n pageSizeOptionsSelect: {\n display: \"inline-block\",\n margin: theme.hvSpacing(0, \"xs\"),\n width: \"auto\",\n },\n pageSizeTextContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"32px\",\n padding: \"8px 0\",\n },\n pageNavigator: {\n display: \"flex\",\n alignItems: \"stretch\",\n height: \"32px\",\n \"&>*\": {\n margin: `0 ${theme.hv.spacing.xs / 2}px`,\n },\n },\n pageInfo: {\n display: \"inline-block\",\n whiteSpace: \"nowrap\",\n height: \"32px\",\n lineHeight: \"32px\",\n },\n pageJump: {\n display: \"inline-block\",\n marginRight: theme.hv.spacing.xs / 2,\n },\n pageSizeInput: {},\n pageSizeInputContainer: {},\n pageSizeInputRoot: {\n \"& $pageSizeInput\": {\n paddingLeft: theme.hv.spacing.xs / 2,\n paddingRight: theme.hv.spacing.xs / 2,\n margin: 0,\n textAlign: \"right\",\n MozAppearance: \"textfield\",\n \"&:focus\": {\n backgroundColor: hoverColor,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n },\n iconContainer: {\n padding: 0,\n },\n icon: {},\n selectDownIcon: {\n display: \"inline-block\",\n position: \"relative\",\n pointerEvents: \"none\",\n left: \"-32px\",\n top: \"2px\",\n width: 0,\n },\n };\n};\n\nexport default styles;\n"],"file":"styles.js"}
@@ -57,7 +57,8 @@ var styles = function styles(theme) {
57
57
  padding: theme.hvSpacing(0, "xs"),
58
58
  color: theme.hv.palette.base.base2,
59
59
  fontFamily: theme.hv.typography.fontFamily,
60
- maxHeight: "72px"
60
+ maxHeight: "72px",
61
+ wordBreak: "break-word"
61
62
  }),
62
63
  action: {
63
64
  textAlign: "right"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Snackbar/SnackbarContentWrapper/styles.js"],"names":["styles","theme","root","width","minHeight","maxHeight","padding","hvSpacing","success","backgroundColor","hv","palette","semantic","sema8","error","sema9","default","sema7","message","messageSpan","display","alignItems","messageText","typography","normalText","color","base","base2","fontFamily","action","textAlign"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,OADH;AAEJC,MAAAA,SAAS,EAAE,MAFP;AAGJC,MAAAA,SAAS,EAAE,MAHP;AAIJC,MAAAA,OAAO,EAAEL,KAAK,CAACM,SAAN,CAAgB,IAAhB;AAJL,KADmB;AAOzBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,eAAe,EAAER,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,QAAjB,CAA0BC;AADpC,KAPgB;AAUzBC,IAAAA,KAAK,EAAE;AACLL,MAAAA,eAAe,EAAER,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,QAAjB,CAA0BG;AADtC,KAVkB;AAazBC,IAAAA,OAAO,EAAE;AACPP,MAAAA,eAAe,EAAER,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,QAAjB,CAA0BK;AADpC,KAbgB;AAgBzBC,IAAAA,OAAO,EAAE;AACPZ,MAAAA,OAAO,EAAE,CADF;AAEPH,MAAAA,KAAK,EAAE;AAFA,KAhBgB;AAoBzBgB,IAAAA,WAAW,EAAE;AACXC,MAAAA,OAAO,EAAE,MADE;AAEXC,MAAAA,UAAU,EAAE,QAFD;AAGXjB,MAAAA,SAAS,EAAE;AAHA,KApBY;AAyBzBkB,IAAAA,WAAW,kCACNrB,KAAK,CAACS,EAAN,CAASa,UAAT,CAAoBC,UADd;AAETlB,MAAAA,OAAO,EAAEL,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,CAFA;AAGTkB,MAAAA,KAAK,EAAExB,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBe,IAAjB,CAAsBC,KAHpB;AAITC,MAAAA,UAAU,EAAE3B,KAAK,CAACS,EAAN,CAASa,UAAT,CAAoBK,UAJvB;AAKTvB,MAAAA,SAAS,EAAE;AALF,MAzBc;AAgCzBwB,IAAAA,MAAM,EAAE;AACNC,MAAAA,SAAS,EAAE;AADL;AAhCiB,GAAZ;AAAA,CAAf;;eAqCe9B,M","sourcesContent":["const styles = (theme) => ({\n root: {\n width: \"310px\",\n minHeight: \"52px\",\n maxHeight: \"92px\",\n padding: theme.hvSpacing(\"xs\"),\n },\n success: {\n backgroundColor: theme.hv.palette.semantic.sema8,\n },\n error: {\n backgroundColor: theme.hv.palette.semantic.sema9,\n },\n default: {\n backgroundColor: theme.hv.palette.semantic.sema7,\n },\n message: {\n padding: 0,\n width: \"100%\",\n },\n messageSpan: {\n display: \"flex\",\n alignItems: \"center\",\n minHeight: \"32px\",\n },\n messageText: {\n ...theme.hv.typography.normalText,\n padding: theme.hvSpacing(0, \"xs\"),\n color: theme.hv.palette.base.base2,\n fontFamily: theme.hv.typography.fontFamily,\n maxHeight: \"72px\",\n },\n action: {\n textAlign: \"right\",\n },\n});\n\nexport default styles;\n"],"file":"styles.js"}
1
+ {"version":3,"sources":["../../../src/Snackbar/SnackbarContentWrapper/styles.js"],"names":["styles","theme","root","width","minHeight","maxHeight","padding","hvSpacing","success","backgroundColor","hv","palette","semantic","sema8","error","sema9","default","sema7","message","messageSpan","display","alignItems","messageText","typography","normalText","color","base","base2","fontFamily","wordBreak","action","textAlign"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE,OADH;AAEJC,MAAAA,SAAS,EAAE,MAFP;AAGJC,MAAAA,SAAS,EAAE,MAHP;AAIJC,MAAAA,OAAO,EAAEL,KAAK,CAACM,SAAN,CAAgB,IAAhB;AAJL,KADmB;AAOzBC,IAAAA,OAAO,EAAE;AACPC,MAAAA,eAAe,EAAER,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,QAAjB,CAA0BC;AADpC,KAPgB;AAUzBC,IAAAA,KAAK,EAAE;AACLL,MAAAA,eAAe,EAAER,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,QAAjB,CAA0BG;AADtC,KAVkB;AAazBC,IAAAA,OAAO,EAAE;AACPP,MAAAA,eAAe,EAAER,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,QAAjB,CAA0BK;AADpC,KAbgB;AAgBzBC,IAAAA,OAAO,EAAE;AACPZ,MAAAA,OAAO,EAAE,CADF;AAEPH,MAAAA,KAAK,EAAE;AAFA,KAhBgB;AAoBzBgB,IAAAA,WAAW,EAAE;AACXC,MAAAA,OAAO,EAAE,MADE;AAEXC,MAAAA,UAAU,EAAE,QAFD;AAGXjB,MAAAA,SAAS,EAAE;AAHA,KApBY;AAyBzBkB,IAAAA,WAAW,kCACNrB,KAAK,CAACS,EAAN,CAASa,UAAT,CAAoBC,UADd;AAETlB,MAAAA,OAAO,EAAEL,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmB,IAAnB,CAFA;AAGTkB,MAAAA,KAAK,EAAExB,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBe,IAAjB,CAAsBC,KAHpB;AAITC,MAAAA,UAAU,EAAE3B,KAAK,CAACS,EAAN,CAASa,UAAT,CAAoBK,UAJvB;AAKTvB,MAAAA,SAAS,EAAE,MALF;AAMTwB,MAAAA,SAAS,EAAE;AANF,MAzBc;AAiCzBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,SAAS,EAAE;AADL;AAjCiB,GAAZ;AAAA,CAAf;;eAsCe/B,M","sourcesContent":["const styles = (theme) => ({\n root: {\n width: \"310px\",\n minHeight: \"52px\",\n maxHeight: \"92px\",\n padding: theme.hvSpacing(\"xs\"),\n },\n success: {\n backgroundColor: theme.hv.palette.semantic.sema8,\n },\n error: {\n backgroundColor: theme.hv.palette.semantic.sema9,\n },\n default: {\n backgroundColor: theme.hv.palette.semantic.sema7,\n },\n message: {\n padding: 0,\n width: \"100%\",\n },\n messageSpan: {\n display: \"flex\",\n alignItems: \"center\",\n minHeight: \"32px\",\n },\n messageText: {\n ...theme.hv.typography.normalText,\n padding: theme.hvSpacing(0, \"xs\"),\n color: theme.hv.palette.base.base2,\n fontFamily: theme.hv.typography.fontFamily,\n maxHeight: \"72px\",\n wordBreak: \"break-word\",\n },\n action: {\n textAlign: \"right\",\n },\n});\n\nexport default styles;\n"],"file":"styles.js"}
@@ -515,7 +515,7 @@ var HvTagsInput = function HvTagsInput(props) {
515
515
  }
516
516
  }, otherProps)));
517
517
  }), !(disabled || readOnly) && /*#__PURE__*/_react.default.createElement(_.HvListItem, {
518
- className: (0, _clsx.default)(!multiline && classes.singleLine),
518
+ className: (0, _clsx.default)(!multiline && classes.singleLine, value.length === 0 && "empty"),
519
519
  classes: {
520
520
  root: classes.tagInputContainerRoot,
521
521
  gutters: classes.listItemGutters
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/TagsInput/TagsInput.js"],"names":["HvTagsInput","props","classes","className","id","name","valueProp","value","defaultValue","readOnly","disabled","required","textAreaLabel","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","hasLabel","hasDescription","setValue","validationStates","standBy","validationState","setValidationState","validationMessage","setValidationMessage","tagInput","setTagInput","length","tagCursorPos","setTagCursorPos","stateValid","setStateValid","inputRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","currValue","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","undefined","element","children","setTimeout","container","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","focusInput","getSuggestions","li","listEl","document","getElementById","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","KeyboardCodes","Esc","Tab","onChangeHandler","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","root","labelContainer","characterCounter","tagsList","singleLine","map","t","otherProps","gutters","listItemGutters","listItemRoot","tagSelected","chipRoot","tabIndex","tagInputContainerRoot","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","ref","inputExtension","suggestionsContainer","list","suggestionList","parentElement","propTypes","PropTypes","string","shape","isRequired","array","node","bool","func","number","instanceOf","Object","arrayOf","styles"],"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 isNil from \"lodash/isNil\";\nimport { withStyles } from \"@material-ui/core\";\nimport { setId, useControlled, isKeypress, KeyboardCodes } from \"../utils\";\nimport {\n HvFormElement,\n HvListContainer,\n HvListItem,\n HvTag,\n HvInput,\n HvLabel,\n HvInfoMessage,\n HvCharCounter,\n HvSuggestions,\n HvWarningText,\n useUniqueId,\n useIsMounted,\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 onAdd,\n onDelete,\n onBlur,\n onFocus,\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 commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n\n suggestionListCallback,\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 const [validationState, setValidationState] = useControlled(status, validationStates.standBy);\n const [validationMessage, setValidationMessage] = useControlled(statusMessage, \"\");\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef();\n const containerRef = useRef();\n const skipReset = useRef(false);\n const blurTimeout = useRef();\n const materialInputRef = useRef(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\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 /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [...value.slice(0, tagPos), ...value.slice(tagPos + 1)];\n setValue(newTagsArr);\n // eslint-disable-next-line no-nested-ternary\n setTagCursorPos(end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined && status === \"invalid\" && statusMessage !== undefined) || !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(setId(elementId, \"suggestions-list\"));\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, KeyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, KeyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (event, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\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 deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [deleteTag, getSuggestions, isTagSelected, tagCursorPos, tagInput, value.length]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\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 onKeyDown={onInputKeyDownHandler}\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 ref: materialInputRef,\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 {canShowSuggestions && (\n <>\n {hasSuggestions && <div role=\"presentation\" className={classes.inputExtension} />}\n <HvSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: classes.suggestionsContainer,\n list: classes.suggestionList,\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\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 /**\n * Styles applied to the input extension shown when the suggestions list is visible.\n */\n inputExtension: PropTypes.string,\n\n /**\n * Styles applied to the container of the suggestions list.\n */\n suggestionsContainer: PropTypes.string,\n /**\n * Styles applied to the suggestions list.\n */\n suggestionList: 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 function that will be executed when the element is focused.\n */\n onFocus: PropTypes.func,\n /**\n * The function that will be executed when the element is blurred.\n */\n onBlur: PropTypes.func,\n /**\n * The function that will be executed when a tag is deleted.\n */\n onDelete: PropTypes.func,\n /**\n * The function that will be executed when a tag is added.\n */\n onAdd: 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 * An array of strings that represent the character used to input a tag.\n * This character is the string representation of the event.code from the input event.\n */\n commitTagOn: PropTypes.arrayOf(PropTypes.string),\n /**\n * If `true` the tag will be commited when the blur event occurs.\n */\n commitOnBlur: PropTypes.bool,\n /**\n * The function that will be executed to received an array of objects that has a label and id to create list of suggestion\n */\n suggestionListCallback: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvTagsInput\" })(HvTagsInput);\n"],"file":"TagsInput.js"}
1
+ {"version":3,"sources":["../../src/TagsInput/TagsInput.js"],"names":["HvTagsInput","props","classes","className","id","name","valueProp","value","defaultValue","readOnly","disabled","required","textAreaLabel","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onAdd","onDelete","onBlur","onFocus","placeholder","hideCounter","middleCountLabel","maxTagsQuantity","autoFocus","resizable","inputProps","countCharProps","multiline","status","statusMessage","validationMessages","commitTagOn","commitOnBlur","suggestionListCallback","others","elementId","hasLabel","hasDescription","setValue","validationStates","standBy","validationState","setValidationState","validationMessage","setValidationMessage","tagInput","setTagInput","length","tagCursorPos","setTagCursorPos","stateValid","setStateValid","inputRef","containerRef","skipReset","blurTimeout","materialInputRef","isTagSelected","hasCounter","suggestionValues","setSuggestionValues","isStateInvalid","canShowSuggestions","hasSuggestions","errorMessages","DEFAULT_ERROR_MESSAGES","error","requiredError","minCharError","maxCharError","performValidation","currValue","invalid","valid","deleteTag","tagPos","event","end","newTagsArr","slice","current","focus","addTag","tag","preventDefault","newTag","type","canShowError","undefined","element","children","setTimeout","container","scrollLeft","offsetLeft","getBoundingClientRect","width","isMounted","focusInput","getSuggestions","li","listEl","document","getElementById","getElementsByTagName","suggestionClearHandler","suggestionHandler","val","suggestionsArray","suggestionSelectedHandler","item","onSuggestionKeyDown","KeyboardCodes","Esc","Tab","onChangeHandler","input","onInputKeyDownHandler","includes","code","onKeyDownHandler","onDeleteTagHandler","i","onContainerClickHandler","clearTimeout","onBlurHandler","evt","onFocusHandler","root","labelContainer","characterCounter","tagsList","singleLine","map","t","otherProps","gutters","listItemGutters","listItemRoot","tagSelected","chipRoot","tabIndex","tagInputContainerRoot","tagInputRoot","inputBorderContainer","tagInputBorderContainer","inputRootFocused","tagInputRootFocused","ref","inputExtension","suggestionsContainer","list","suggestionList","parentElement","propTypes","PropTypes","string","shape","isRequired","array","node","bool","func","number","instanceOf","Object","arrayOf","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAcA;;AACA;;AACA;;;;;;;;;;;;;AAEA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;AAAA;;AAC7B,MACEC,OADF,GAmDID,KAnDJ,CACEC,OADF;AAAA,MAEEC,SAFF,GAmDIF,KAnDJ,CAEEE,SAFF;AAAA,MAIEC,EAJF,GAmDIH,KAnDJ,CAIEG,EAJF;AAAA,MAKEC,IALF,GAmDIJ,KAnDJ,CAKEI,IALF;AAAA,MAOSC,SAPT,GAmDIL,KAnDJ,CAOEM,KAPF;AAAA,4BAmDIN,KAnDJ,CAQEO,YARF;AAAA,MAQEA,YARF,oCAQiB,EARjB;AAAA,wBAmDIP,KAnDJ,CAUEQ,QAVF;AAAA,MAUEA,QAVF,gCAUa,KAVb;AAAA,wBAmDIR,KAnDJ,CAWES,QAXF;AAAA,MAWEA,QAXF,gCAWa,KAXb;AAAA,wBAmDIT,KAnDJ,CAYEU,QAZF;AAAA,MAYEA,QAZF,gCAYa,KAZb;AAAA,MAcSC,aAdT,GAmDIX,KAnDJ,CAcEY,KAdF;AAAA,MAegBC,SAfhB,GAmDIb,KAnDJ,CAeE,YAfF;AAAA,MAgBqBc,cAhBrB,GAmDId,KAnDJ,CAgBE,iBAhBF;AAAA,MAiBEe,WAjBF,GAmDIf,KAnDJ,CAiBEe,WAjBF;AAAA,MAkBsBC,eAlBtB,GAmDIhB,KAnDJ,CAkBE,kBAlBF;AAAA,MAoBEiB,QApBF,GAmDIjB,KAnDJ,CAoBEiB,QApBF;AAAA,MAqBEC,KArBF,GAmDIlB,KAnDJ,CAqBEkB,KArBF;AAAA,MAsBEC,QAtBF,GAmDInB,KAnDJ,CAsBEmB,QAtBF;AAAA,MAuBEC,MAvBF,GAmDIpB,KAnDJ,CAuBEoB,MAvBF;AAAA,MAwBEC,OAxBF,GAmDIrB,KAnDJ,CAwBEqB,OAxBF;AAAA,MA0BEC,WA1BF,GAmDItB,KAnDJ,CA0BEsB,WA1BF;AAAA,2BAmDItB,KAnDJ,CA4BEuB,WA5BF;AAAA,MA4BEA,WA5BF,mCA4BgB,KA5BhB;AAAA,8BAmDIvB,KAnDJ,CA6BEwB,gBA7BF;AAAA,MA6BEA,gBA7BF,sCA6BqB,GA7BrB;AAAA,MA8BEC,eA9BF,GAmDIzB,KAnDJ,CA8BEyB,eA9BF;AAAA,yBAmDIzB,KAnDJ,CAgCE0B,SAhCF;AAAA,MAgCEA,SAhCF,iCAgCc,KAhCd;AAAA,yBAmDI1B,KAnDJ,CAiCE2B,SAjCF;AAAA,MAiCEA,SAjCF,iCAiCc,IAjCd;AAAA,0BAmDI3B,KAnDJ,CAmCE4B,UAnCF;AAAA,MAmCEA,UAnCF,kCAmCe,EAnCf;AAAA,8BAmDI5B,KAnDJ,CAoCE6B,cApCF;AAAA,MAoCEA,cApCF,sCAoCmB,EApCnB;AAAA,yBAmDI7B,KAnDJ,CAsCE8B,SAtCF;AAAA,MAsCEA,SAtCF,iCAsCc,KAtCd;AAAA,MAwCEC,MAxCF,GAmDI/B,KAnDJ,CAwCE+B,MAxCF;AAAA,MAyCEC,aAzCF,GAmDIhC,KAnDJ,CAyCEgC,aAzCF;AAAA,MA2CEC,kBA3CF,GAmDIjC,KAnDJ,CA2CEiC,kBA3CF;AAAA,2BAmDIjC,KAnDJ,CA6CEkC,WA7CF;AAAA,MA6CEA,WA7CF,mCA6CgB,CAAC,OAAD,CA7ChB;AAAA,4BAmDIlC,KAnDJ,CA8CEmC,YA9CF;AAAA,MA8CEA,YA9CF,oCA8CiB,KA9CjB;AAAA,MAgDEC,sBAhDF,GAmDIpC,KAnDJ,CAgDEoC,sBAhDF;AAAA,MAkDKC,MAlDL,0CAmDIrC,KAnDJ;AAoDA,MAAMsC,SAAS,GAAG,mBAAYnC,EAAZ,EAAgB,aAAhB,CAAlB;AAEA,MAAMoC,QAAQ,GAAG5B,aAAa,IAAI,IAAlC;AACA,MAAM6B,cAAc,GAAGzB,WAAW,IAAI,IAAtC;;AAEA,uBAA0B,0BAAcV,SAAd,EAAyBE,YAAzB,CAA1B;AAAA;AAAA,MAAOD,KAAP;AAAA,MAAcmC,QAAd;;AACA,wBAA8C,0BAAcV,MAAd,EAAsBW,0BAAiBC,OAAvC,CAA9C;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AACA,wBAAkD,0BAAcb,aAAd,EAA6B,EAA7B,CAAlD;AAAA;AAAA,MAAOc,iBAAP;AAAA,MAA0BC,oBAA1B;;AAEA,kBAAgC,qBAAS,EAAT,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAwC,qBAAS3C,KAAK,CAAC4C,MAAf,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAoC,qBAAS,IAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,QAAQ,GAAG,oBAAjB;AACA,MAAMC,YAAY,GAAG,oBAArB;AACA,MAAMC,SAAS,GAAG,mBAAO,KAAP,CAAlB;AACA,MAAMC,WAAW,GAAG,oBAApB;AACA,MAAMC,gBAAgB,GAAG,mBAAO,IAAP,CAAzB;AAEA,MAAMC,aAAa,GAAGT,YAAY,IAAI,CAAhB,IAAqBA,YAAY,GAAG7C,KAAK,CAAC4C,MAAhE;AACA,MAAMW,UAAU,GAAGpC,eAAe,IAAI,IAAnB,IAA2B,CAACF,WAA/C,CAzE6B,CA2E7B;;AACA,mBAAgD,qBAAS,IAAT,CAAhD;AAAA;AAAA,MAAOuC,gBAAP;AAAA,MAAyBC,mBAAzB;;AAEA,MAAMC,cAAc,GAAG,oBAAQ,YAAM;AACnC,WAAOH,UAAU,IAAIvD,KAAK,CAAC4C,MAAN,GAAezB,eAApC;AACD,GAFsB,EAEpB,CAACoC,UAAD,EAAapC,eAAb,EAA8BnB,KAAK,CAAC4C,MAApC,CAFoB,CAAvB;AAIA,MAAMe,kBAAkB,GAAG7B,sBAAsB,IAAI,IAArD;AACA,MAAM8B,cAAc,GAAG,CAAC,CAACJ,gBAAzB;AAEA,MAAMK,aAAa,GAAG,oBACpB;AAAA,2CAAYC,mCAAZ,GAAuCnC,kBAAvC;AAAA,GADoB,EAEpB;AACA,GACEA,kBADF,aACEA,kBADF,uBACEA,kBAAkB,CAAEoC,KADtB,EAEEpC,kBAFF,aAEEA,kBAFF,uBAEEA,kBAAkB,CAAEqC,aAFtB,EAGErC,kBAHF,aAGEA,kBAHF,uBAGEA,kBAAkB,CAAEsC,YAHtB,EAIEtC,kBAJF,aAIEA,kBAJF,uBAIEA,kBAAkB,CAAEuC,YAJtB,CAHoB,CAAtB;AAWA,MAAMC,iBAAiB,GAAG,wBACxB,UAACC,SAAD,EAAe;AACb,QAAIjD,eAAe,KAAK,IAApB,IAA4BiD,SAAS,CAACxB,MAAV,GAAmBzB,eAAnD,EAAoE;AAClEoB,MAAAA,kBAAkB,CAACH,0BAAiBiC,OAAlB,CAAlB;AACA5B,MAAAA,oBAAoB,CAACoB,aAAa,CAACK,YAAf,CAApB;AACAlB,MAAAA,aAAa,CAAC,KAAD,CAAb;AACD,KAJD,MAIO;AACLT,MAAAA,kBAAkB,CAACH,0BAAiBkC,KAAlB,CAAlB;AACA7B,MAAAA,oBAAoB,CAAC,EAAD,CAApB;AACAO,MAAAA,aAAa,CAAC,IAAD,CAAb;AACD;AACF,GAXuB,EAYxB,CAACa,aAAa,CAACK,YAAf,EAA6B/C,eAA7B,EAA8CsB,oBAA9C,EAAoEF,kBAApE,CAZwB,CAA1B;AAeA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AACE,MAAMgC,SAAS,GAAG,wBAChB,UAACC,MAAD,EAASC,KAAT,EAAgBC,GAAhB,EAAwB;AAAA;;AACtB,QAAMC,UAAU,8CAAO3E,KAAK,CAAC4E,KAAN,CAAY,CAAZ,EAAeJ,MAAf,CAAP,oCAAkCxE,KAAK,CAAC4E,KAAN,CAAYJ,MAAM,GAAG,CAArB,CAAlC,EAAhB;AACArC,IAAAA,QAAQ,CAACwC,UAAD,CAAR,CAFsB,CAGtB;;AACA7B,IAAAA,eAAe,CAAC4B,GAAG,GAAGC,UAAU,CAAC/B,MAAd,GAAuBC,YAAY,GAAG,CAAf,GAAmBA,YAAY,GAAG,CAAlC,GAAsC,CAAjE,CAAf;AACA,yBAAAI,QAAQ,CAAC4B,OAAT,wEAAkBC,KAAlB;AACAX,IAAAA,iBAAiB,CAACQ,UAAD,CAAjB;AACA9D,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG4D,KAAH,EAAUzE,KAAK,CAACwE,MAAD,CAAf,EAAyBA,MAAzB,CAAR;AACA7D,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG8D,KAAH,EAAUE,UAAV,CAAR;AACAxB,IAAAA,SAAS,CAAC0B,OAAV,GAAoB,IAApB;AACD,GAXe,EAYhB,CAAClE,QAAD,EAAWE,QAAX,EAAqBsD,iBAArB,EAAwChC,QAAxC,EAAkDU,YAAlD,EAAgE7C,KAAhE,CAZgB,CAAlB;AAeA;AACF;AACA;AACA;AACA;AACA;AACA;;AACE,MAAM+E,MAAM,GAAG,wBACb,UAACN,KAAD,EAAQO,GAAR,EAAgB;AACdP,IAAAA,KAAK,CAACQ,cAAN;;AACA,QAAID,GAAG,KAAK,EAAZ,EAAgB;AACd,UAAME,MAAM,GAAG;AAAE5E,QAAAA,KAAK,EAAE0E,GAAT;AAAcG,QAAAA,IAAI,EAAE;AAApB,OAAf;AACA,UAAMR,UAAU,8CAAO3E,KAAP,IAAckF,MAAd,EAAhB;AACA/C,MAAAA,QAAQ,CAACwC,UAAD,CAAR;AACAR,MAAAA,iBAAiB,CAACQ,UAAD,CAAjB;AACA/D,MAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAG6D,KAAH,EAAUS,MAAV,EAAkBP,UAAU,CAAC/B,MAAX,GAAoB,CAAtC,CAAL;AACAjC,MAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG8D,KAAH,EAAUE,UAAV,CAAR;AACD;AACF,GAXY,EAYb,CAAC/D,KAAD,EAAQD,QAAR,EAAkBwD,iBAAlB,EAAqChC,QAArC,EAA+CnC,KAA/C,CAZa,CAAf;AAeA,MAAMoF,YAAY,GACf3D,MAAM,KAAK4D,SAAX,IAAwB5D,MAAM,KAAK,SAAnC,IAAgDC,aAAa,KAAK2D,SAAnE,IAAiF,CAACtC,UADpF;AAGA,wBAAU,YAAM;AACd,QAAI,CAACvB,SAAL,EAAgB;AAAA;;AACd,UAAM8D,OAAO,GAAGpC,YAAH,aAAGA,YAAH,gDAAGA,YAAY,CAAE2B,OAAjB,0DAAG,sBAAuBU,QAAvB,CAAgC1C,YAAhC,CAAhB,CADc,CAEd;AACA;;AACA2C,MAAAA,UAAU,CAAC,YAAM;AACf,YAAMC,SAAS,GAAGvC,YAAY,CAAC2B,OAA/B;AACA,YAAI,oBAAMY,SAAN,CAAJ,EAAsB;AACtBA,QAAAA,SAAS,CAACC,UAAV,GAAuBJ,OAAO,GAC1BA,OAAO,CAACK,UAAR,GACAF,SAAS,CAACG,qBAAV,GAAkCC,KAAlC,GAA0C,CAD1C,GAEAP,OAAO,CAACM,qBAAR,GAAgCC,KAAhC,GAAwC,CAHd,GAI1B,CAJJ;AAKD,OARS,EAQP,EARO,CAAV;AAUAP,MAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAER,KAAT;AACD;AACF,GAjBD,EAiBG,CAACtD,SAAD,EAAYqB,YAAZ,CAjBH;AAmBA,wBAAU,YAAM;AACd,QAAI,CAACM,SAAS,CAAC0B,OAAf,EAAwB;AACtBlC,MAAAA,WAAW,CAAC,EAAD,CAAX;AACAG,MAAAA,eAAe,CAAC9C,KAAK,CAAC4C,MAAP,CAAf;AACD;;AACDO,IAAAA,SAAS,CAAC0B,OAAV,GAAoB,KAApB;AACD,GAND,EAMG,CAAC7E,KAAD,CANH;AAQA,MAAM8F,SAAS,GAAG,qBAAlB;AAEA;AACF;AACA;;AACE,MAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB1C,IAAAA,gBAAgB,CAACwB,OAAjB,CAAyBC,KAAzB;AACD,GAFD;;AAIA,MAAMkB,cAAc,GAAG,wBACrB,UAACC,EAAD,EAAQ;AAAA;;AACN;AACA,QAAMC,MAAM,GAAGC,QAAQ,CAACC,cAAT,CAAwB,kBAAMpE,SAAN,EAAiB,kBAAjB,CAAxB,CAAf;AACA,WAAOiE,EAAE,IAAI,IAAN,GAAaC,MAAb,aAAaA,MAAb,gDAAaA,MAAM,CAAEG,oBAAR,CAA6B,IAA7B,CAAb,0DAAa,sBAAqCJ,EAArC,CAAb,GAAwDC,MAA/D;AACD,GALoB,EAMrB,CAAClE,SAAD,CANqB,CAAvB;AASA;AACF;AACA;;AACE,MAAMsE,sBAAsB,GAAG,wBAAY,YAAM;AAC/C,QAAIR,SAAS,CAACjB,OAAd,EAAuB;AACrBpB,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ8B,EAI5B,CAACqC,SAAD,CAJ4B,CAA/B;AAMA;AACF;AACA;;AACE,MAAMS,iBAAiB,GAAG,wBACxB,UAACC,GAAD,EAAS;AAAA;;AACP,QAAMC,gBAAgB,GAAG3E,sBAAH,aAAGA,sBAAH,uBAAGA,sBAAsB,CAAG0E,GAAH,CAA/C;;AACA,QAAIC,gBAAJ,aAAIA,gBAAJ,qCAAIA,gBAAgB,CAAG,CAAH,CAApB,+CAAI,mBAAuBnG,KAA3B,EAAkC;AAChCmD,MAAAA,mBAAmB,CAACgD,gBAAD,CAAnB;AACD,KAFD,MAEO;AACLH,MAAAA,sBAAsB;AACvB;AACF,GARuB,EASxB,CAACA,sBAAD,EAAyBxE,sBAAzB,CATwB,CAA1B;AAYA;AACF;AACA;;AACE,MAAM4E,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACjC,KAAD,EAAQkC,IAAR,EAAiB;AACjD5B,IAAAA,MAAM,CAACN,KAAD,EAAQkC,IAAI,CAAC3G,KAAL,IAAc2G,IAAI,CAACrG,KAA3B,CAAN,CADiD,CAGjD;;AACAqC,IAAAA,WAAW,CAACgE,IAAI,CAAC3G,KAAL,IAAc2G,IAAI,CAACrG,KAApB,CAAX;AAEAyF,IAAAA,UAAU;AACVO,IAAAA,sBAAsB;AACvB,GARD;AAUA;AACF;AACA;;;AACE,MAAMM,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACnC,KAAD,EAAW;AACrC,QAAI,uBAAWA,KAAX,EAAkBoC,qBAAcC,GAAhC,CAAJ,EAA0C;AACxCR,MAAAA,sBAAsB;AACtBP,MAAAA,UAAU;AACX,KAHD,MAGO,IAAI,uBAAWtB,KAAX,EAAkBoC,qBAAcE,GAAhC,CAAJ,EAA0C;AAC/CT,MAAAA,sBAAsB;AACvB;AACF,GAPD;AASA;AACF;AACA;;;AACE,MAAMU,eAAe,GAAG,wBACtB,UAACvC,KAAD,EAAQwC,KAAR,EAAkB;AAChBtE,IAAAA,WAAW,CAACsE,KAAD,CAAX;;AAEA,QAAItD,kBAAJ,EAAwB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA4C,MAAAA,iBAAiB,CAACU,KAAD,CAAjB;AACD;AACF,GAbqB,EActB,CAACtD,kBAAD,EAAqB4C,iBAArB,CAdsB,CAAxB;AAiBA;AACF;AACA;;AACE,MAAMW,qBAAqB,GAAG,wBAC5B,UAACzC,KAAD,EAAW;AACT,QAAI,CAACd,kBAAD,IAAuB/B,WAAW,CAACuF,QAAZ,CAAqB1C,KAAK,CAAC2C,IAA3B,CAA3B,EAA6D;AAC3DrC,MAAAA,MAAM,CAACN,KAAD,EAAQ/B,QAAR,CAAN;AACD;AACF,GAL2B,EAM5B,CAACqC,MAAD,EAASpB,kBAAT,EAA6B/B,WAA7B,EAA0Cc,QAA1C,CAN4B,CAA9B;AASA;AACF;AACA;;AACE,MAAM2E,gBAAgB,GAAG,wBACvB,UAAC5C,KAAD,EAAW;AAAA;;AACT,QAAI/B,QAAQ,KAAK,EAAjB,EAAqB;AACnB,cAAQ+B,KAAK,CAAC2C,IAAd;AACE,aAAK,WAAL;AACEtE,UAAAA,eAAe,CAACD,YAAY,GAAG,CAAf,GAAmBA,YAAY,GAAG,CAAlC,GAAsC,CAAvC,CAAf;AACA;;AACF,aAAK,YAAL;AACEC,UAAAA,eAAe,CAACD,YAAY,GAAG7C,KAAK,CAAC4C,MAArB,GAA8BC,YAAY,GAAG,CAA7C,GAAiD7C,KAAK,CAAC4C,MAAxD,CAAf;AACA;;AACF,aAAK,WAAL;AACE,cAAIU,aAAJ,EAAmB;AACjBiB,YAAAA,SAAS,CAAC1B,YAAD,EAAe4B,KAAf,EAAsB,KAAtB,CAAT;AACD,WAFD,MAEO;AACL3B,YAAAA,eAAe,CAAC9C,KAAK,CAAC4C,MAAN,GAAe,CAAhB,CAAf;AACD;;AACD;;AACF,aAAK,QAAL;AACE,cAAIU,aAAJ,EAAmB;AACjBiB,YAAAA,SAAS,CAAC1B,YAAD,EAAe4B,KAAf,EAAsB,KAAtB,CAAT;AACD;;AACD;;AACF;AACE;AApBJ;AAsBD,KAvBD,MAuBO;AACL,cAAQA,KAAK,CAAC2C,IAAd;AACE,aAAK,WAAL;AACE,6BAAApB,cAAc,CAAC,CAAD,CAAd,oEAAmBlB,KAAnB;AACA;;AACF;AACE;AALJ;AAOD;AACF,GAlCsB,EAmCvB,CAACP,SAAD,EAAYyB,cAAZ,EAA4B1C,aAA5B,EAA2CT,YAA3C,EAAyDH,QAAzD,EAAmE1C,KAAK,CAAC4C,MAAzE,CAnCuB,CAAzB;AAsCA;AACF;AACA;;AACE,MAAM0E,kBAAkB,GAAG,wBACzB,UAAC7C,KAAD,EAAQ8C,CAAR,EAAc;AACZhD,IAAAA,SAAS,CAACgD,CAAD,EAAI9C,KAAJ,EAAW,IAAX,CAAT;AACAlC,IAAAA,kBAAkB,CAACH,0BAAiBC,OAAlB,CAAlB;AACD,GAJwB,EAKzB,CAACkC,SAAD,EAAYhC,kBAAZ,CALyB,CAA3B;AAQA;AACF;AACA;;AACE,MAAMiF,uBAAuB,GAAG,wBAAY,YAAM;AAAA;;AAChD,0BAAAvE,QAAQ,CAAC4B,OAAT,0EAAkBC,KAAlB;AACA2C,IAAAA,YAAY,CAACrE,WAAW,CAACyB,OAAb,CAAZ;AACA/B,IAAAA,eAAe,CAAC9C,KAAK,CAAC4C,MAAP,CAAf;AACD,GAJ+B,EAI7B,CAAC5C,KAAK,CAAC4C,MAAP,CAJ6B,CAAhC;;AAMA,MAAM8E,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAS;AAC7BvE,IAAAA,WAAW,CAACyB,OAAZ,GAAsBW,UAAU,CAAC,YAAM;AACrC,UAAI3D,YAAJ,EAAkB;AAChBkD,QAAAA,MAAM,CAAC4C,GAAD,EAAMjF,QAAN,CAAN;AACD;;AACD5B,MAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAG6G,GAAH,EAAQjF,QAAR,CAAN;AACD,KAL+B,EAK7B,GAL6B,CAAhC;AAMD,GAPD;;AASA,MAAMkF,cAAc,GAAG,SAAjBA,cAAiB,CAACD,GAAD,EAAS;AAC9BF,IAAAA,YAAY,CAACrE,WAAW,CAACyB,OAAb,CAAZ;AACA9D,IAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAG4G,GAAH,EAAQjF,QAAR,CAAP;AACD,GAHD;;AAKA,sBACE,6BAAC,eAAD;AACE,IAAA,EAAE,EAAE7C,EADN;AAEE,IAAA,IAAI,EAAEC,IAFR;AAGE,IAAA,QAAQ,EAAEK,QAHZ;AAIE,IAAA,QAAQ,EAAED,QAJZ;AAKE,IAAA,MAAM,EAAEoC,eALV;AAME,IAAA,QAAQ,EAAElC,QANZ;AAOE,IAAA,MAAM,EAAEsH,aAPV;AAQE,IAAA,OAAO,EAAEE,cARX;AASE,IAAA,SAAS,EAAE,mBAAKjI,OAAO,CAACkI,IAAb,EAAmBjI,SAAnB,EACWO,QADX,IACRR,OAAO,CAACQ,QADA;AATb,KAaG,CAAC8B,QAAQ,IAAIC,cAAb,kBACC;AAAK,IAAA,SAAS,EAAEvC,OAAO,CAACmI;AAAxB,KACG7F,QAAQ,iBACP,6BAAC,SAAD;AACE,IAAA,SAAS,EAAEtC,OAAO,CAACW,KADrB;AAEE,IAAA,EAAE,EAAE,kBAAMT,EAAN,EAAU,OAAV,CAFN;AAGE,IAAA,OAAO,EAAE,kBAAMmC,SAAN,EAAiB,OAAjB,CAHX;AAIE,IAAA,KAAK,EAAE3B;AAJT,IAFJ,EAUG6B,cAAc,iBACb,6BAAC,eAAD;AAAe,IAAA,SAAS,EAAEvC,OAAO,CAACc,WAAlC;AAA+C,IAAA,EAAE,EAAE,kBAAMuB,SAAN,EAAiB,aAAjB;AAAnD,KACGvB,WADH,CAXJ,CAdJ,EAgCG8C,UAAU,iBACT,6BAAC,eAAD;AACE,IAAA,EAAE,EAAE,kBAAMvB,SAAN,EAAiB,aAAjB,CADN;AAEE,IAAA,SAAS,EAAErC,OAAO,CAACoI,gBAFrB;AAGE,IAAA,SAAS,EAAE7G,gBAHb;AAIE,IAAA,mBAAmB,EAAElB,KAAK,CAAC4C,MAJ7B;AAKE,IAAA,eAAe,EAAEzB;AALnB,KAMMI,cANN,EAjCJ,eA2CE,6BAAC,iBAAD;AACE,IAAA,SAAS,EAAE,mBACT5B,OAAO,CAACqI,QADC,EAGIxG,SAHJ,GAGTH,SAHS,IAGiB1B,OAAO,CAAC0B,SAHzB,GAKK1B,OAAO,CAACsI,UALb,EAET7C,YAFS,IAEOzF,OAAO,CAACoE,KAFf,EAITL,cAJS,IAIS/D,OAAO,CAAC0E,OAJjB,CADb;AAQE,IAAA,SAAS,EAAEgD,gBARb;AASE,IAAA,OAAO,EAAEG,uBATX;AAUE,IAAA,GAAG,EAAEtE;AAVP,KAYGlD,KAAK,IACJA,KAAK,CAACkI,GAAN,CAAU,UAACC,CAAD,EAAIZ,CAAJ,EAAU;AAClB,QAAMvC,GAAG,GACP,OAAOmD,CAAP,KAAa,QAAb,GACI;AACE7H,MAAAA,KAAK,EAAE6H,CADT;AAEEhD,MAAAA,IAAI,EAAE;AAFR,KADJ,GAKIgD,CANN;AAOA,QAAQ7H,KAAR,GAAuC0E,GAAvC,CAAQ1E,KAAR;AAAA,QAAe6E,IAAf,GAAuCH,GAAvC,CAAeG,IAAf;AAAA,QAAwBiD,UAAxB,0CAAuCpD,GAAvC;AACA,wBACE,6BAAC,YAAD,CACE;AADF;AAEE,MAAA,GAAG,YAAKA,GAAG,CAAC1E,KAAT,cAAkBiH,CAAlB,CAFL;AAGE,MAAA,QAAQ,EAAE,CAAC,CAHb;AAIE,MAAA,SAAS,EAAE,mBAAK,CAAC/F,SAAN,IAAmB7B,OAAO,CAACsI,UAA3B,CAJb;AAKE,MAAA,OAAO,EAAE;AACPI,QAAAA,OAAO,EAAE1I,OAAO,CAAC2I,eADV;AAEPT,QAAAA,IAAI,EAAElI,OAAO,CAAC4I;AAFP,OALX;AASE,MAAA,EAAE,gBAAShB,CAAT;AATJ,oBAWE,6BAAC,OAAD;AACE,MAAA,KAAK,EAAEjH,KADT;AAEE,MAAA,SAAS,EAAE,mBAAKiH,CAAC,KAAK1E,YAAX,IAA2BlD,OAAO,CAAC6I,WAAnC,CAFb;AAGE,MAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE9I,OAAO,CAAC8I;AADX,OAHX;AAME,MAAA,IAAI,EAAEtD;AANR,OAOO,EAAEjF,QAAQ,IAAIC,QAAZ,IAAwBgF,IAAI,KAAK,aAAnC,KAAqD;AACxDtE,MAAAA,QAAQ,EAAE,kBAAC4D,KAAD;AAAA,eAAW6C,kBAAkB,CAAC7C,KAAD,EAAQ8C,CAAR,CAA7B;AAAA;AAD8C,KAP5D;AAUE,MAAA,iBAAiB,EAAE;AACjBmB,QAAAA,QAAQ,EAAE,CAAC;AADM;AAVrB,OAaMN,UAbN,EAXF,CADF;AA6BD,GAtCD,CAbJ,EAoDG,EAAEjI,QAAQ,IAAID,QAAd,kBACC,6BAAC,YAAD;AACE,IAAA,SAAS,EAAE,mBAAK,CAACsB,SAAN,IAAmB7B,OAAO,CAACsI,UAA3B,EAAuCjI,KAAK,CAAC4C,MAAN,KAAiB,CAAxD,IAA4D,OAA5D,CADb;AAEE,IAAA,OAAO,EAAE;AACPiF,MAAAA,IAAI,EAAElI,OAAO,CAACgJ,qBADP;AAEPN,MAAAA,OAAO,EAAE1I,OAAO,CAAC2I;AAFV,KAFX;AAME,IAAA,EAAE,gBAAStI,KAAK,CAAC4C,MAAf;AANJ,kBAQE,6BAAC,SAAD;AACE,IAAA,KAAK,EAAEF,QADT;AAEE,IAAA,YAAY,MAFd;AAGE,IAAA,QAAQ,EAAEsE,eAHZ;AAIE,IAAA,SAAS,EAAEE,qBAJb;AAKE,IAAA,WAAW,EAAElH,KAAK,CAAC4C,MAAN,KAAiB,CAAjB,GAAqB5B,WAArB,GAAmC,EALlD;AAME,IAAA,SAAS,EAAEI,SANb;AAOE,IAAA,SAAS,EAAE,mBAAK,CAACI,SAAN,IAAmB7B,OAAO,CAACsI,UAA3B,CAPb;AAQE,IAAA,OAAO,EAAE;AACPJ,MAAAA,IAAI,EAAElI,OAAO,CAACiJ,YADP;AAEP3B,MAAAA,KAAK,EAAEtH,OAAO,CAACsH,KAFR;AAGP4B,MAAAA,oBAAoB,EAAElJ,OAAO,CAACmJ,uBAHvB;AAIPC,MAAAA,gBAAgB,EAAEpJ,OAAO,CAACqJ;AAJnB,KARX;AAcE,IAAA,QAAQ,EAAE7I,QAdZ;AAeE,IAAA,QAAQ,EAAED,QAAQ,IAAIoD,aAfxB;AAgBE,IAAA,UAAU;AACR2F,MAAAA,GAAG,EAAE5F,gBADG;AAER,oBAAc9C,SAFN;AAGR,yBAAmBC,cAHX;AAIR,0BACEE,eAAe,IAAI,IAAnB,GACIA,eADJ,GAEID,WAAW,IAAI,kBAAMuB,SAAN,EAAiB,aAAjB;AAPb,OASLV,UATK,CAhBZ;AA2BE,IAAA,QAAQ,EAAE2B;AA3BZ,KA4BMlB,MA5BN,EARF,CArDJ,CA3CF,EAyIG4B,kBAAkB,iBACjB,4DACGC,cAAc,iBAAI;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAEjE,OAAO,CAACuJ;AAA5C,IADrB,eAEE,6BAAC,eAAD;AACE,IAAA,EAAE,EAAE,kBAAMlH,SAAN,EAAiB,aAAjB,CADN;AAEE,IAAA,OAAO,EAAE;AACP6F,MAAAA,IAAI,EAAElI,OAAO,CAACwJ,oBADP;AAEPC,MAAAA,IAAI,EAAEzJ,OAAO,CAAC0J;AAFP,KAFX;AAME,IAAA,QAAQ,EAAEzF,cANZ;AAOE,IAAA,QAAQ,EAAEV,YAAF,aAAEA,YAAF,iDAAEA,YAAY,CAAE2B,OAAhB,2DAAE,uBAAuByE,aAPnC;AAQE,IAAA,OAAO,EAAEhD,sBARX;AASE,IAAA,SAAS,EAAEM,mBATb;AAUE,IAAA,oBAAoB,EAAEF,yBAVxB;AAWE,IAAA,gBAAgB,EAAElD;AAXpB,IAFF,CA1IJ,EA2JG4B,YAAY,iBACX,6BAAC,eAAD;AAAe,IAAA,EAAE,EAAE,kBAAMpD,SAAN,EAAiB,OAAjB,CAAnB;AAA8C,IAAA,aAAa,MAA3D;AAA4D,IAAA,SAAS,EAAErC,OAAO,CAACoE;AAA/E,KACGvB,iBADH,CA5JJ,CADF;AAmKD,CA3gBD;;AA6gBA,wCAAA/C,WAAW,CAAC8J,SAAZ,GAAwB;AACtB;AACF;AACA;AACE3J,EAAAA,SAAS,EAAE4J,mBAAUC,MAJC;;AAKtB;AACF;AACA;AACE9J,EAAAA,OAAO,EAAE6J,mBAAUA,SAAV,CAAoBE,KAApB,CAA0B;AACjC;AACJ;AACA;AACIzC,IAAAA,KAAK,EAAEuC,mBAAUC,MAJgB;;AAKjC;AACJ;AACA;AACInB,IAAAA,eAAe,EAAEkB,mBAAUC,MARM;;AASjC;AACJ;AACA;AACIlB,IAAAA,YAAY,EAAEiB,mBAAUC,MAZS;;AAajC;AACJ;AACA;AACI5B,IAAAA,IAAI,EAAE2B,mBAAUC,MAhBiB;;AAiBjC;AACJ;AACA;AACIhB,IAAAA,QAAQ,EAAEe,mBAAUC,MApBa;;AAqBjC;AACJ;AACA;AACItJ,IAAAA,QAAQ,EAAEqJ,mBAAUC,MAxBa;;AAyBjC;AACJ;AACA;AACIpI,IAAAA,SAAS,EAAEmI,mBAAUC,MA5BY;;AA6BjC;AACJ;AACA;AACIpF,IAAAA,OAAO,EAAEmF,mBAAUC,MAhCc;;AAiCjC;AACJ;AACA;AACI3B,IAAAA,cAAc,EAAE0B,mBAAUC,MApCO;;AAqCjC;AACJ;AACA;AACInJ,IAAAA,KAAK,EAAEkJ,mBAAUC,MAxCgB;;AAyCjC;AACJ;AACA;AACIhJ,IAAAA,WAAW,EAAE+I,mBAAUC,MA5CU;;AA6CjC;AACJ;AACA;AACI1B,IAAAA,gBAAgB,EAAEyB,mBAAUC,MAhDK;;AAiDjC;AACJ;AACA;AACIzB,IAAAA,QAAQ,EAAEwB,mBAAUC,MApDa;;AAqDjC;AACJ;AACA;AACId,IAAAA,qBAAqB,EAAEa,mBAAUC,MAxDA;;AAyDjC;AACJ;AACA;AACIb,IAAAA,YAAY,EAAEY,mBAAUC,MA5DS;;AA6DjC;AACJ;AACA;AACIjB,IAAAA,WAAW,EAAEgB,mBAAUC,MAhEU;;AAiEjC;AACJ;AACA;AACIX,IAAAA,uBAAuB,EAAEU,mBAAUC,MApEF;;AAqEjC;AACJ;AACA;AACIT,IAAAA,mBAAmB,EAAEQ,mBAAUC,MAxEE;;AAyEjC;AACJ;AACA;AACIxB,IAAAA,UAAU,EAAEuB,mBAAUC,MA5EW;;AA6EjC;AACJ;AACA;AACI1F,IAAAA,KAAK,EAAEyF,mBAAUC,MAhFgB;;AAiFjC;AACJ;AACA;AACIP,IAAAA,cAAc,EAAEM,mBAAUC,MApFO;;AAsFjC;AACJ;AACA;AACIN,IAAAA,oBAAoB,EAAEK,mBAAUC,MAzFC;;AA0FjC;AACJ;AACA;AACIJ,IAAAA,cAAc,EAAEG,mBAAUC;AA7FO,GAA1B,EA8FNE,UAtGmB;;AAuGtB;AACF;AACA;AACE9J,EAAAA,EAAE,EAAE2J,mBAAUC,MA1GQ;;AA2GtB;AACF;AACA;AACE3J,EAAAA,IAAI,EAAE0J,mBAAUC,MA9GM;;AA+GtB;AACF;AACA;AACEzJ,EAAAA,KAAK,EAAEwJ,mBAAUI,KAlHK;;AAmHtB;AACF;AACA;AACE3J,EAAAA,YAAY,EAAEuJ,mBAAUI,KAtHF;;AAuHtB;AACF;AACA;AACA;AACA;AACA;AACEtJ,EAAAA,KAAK,EAAEkJ,mBAAUK,IA7HK;;AA8HtB;AACF;AACA;AACE,gBAAcL,mBAAUC,MAjIF;;AAkItB;AACF;AACA;AACE,qBAAmBD,mBAAUC,MArIP;;AAsItB;AACF;AACA;AACEhJ,EAAAA,WAAW,EAAE+I,mBAAUK,IAzID;;AA0ItB;AACF;AACA;AACE,sBAAoBL,mBAAUC,MA7IR;;AA8ItB;AACF;AACA;AACEtJ,EAAAA,QAAQ,EAAEqJ,mBAAUM,IAjJE;;AAkJtB;AACF;AACA;AACE5J,EAAAA,QAAQ,EAAEsJ,mBAAUM,IArJE;;AAsJtB;AACF;AACA;AACE1J,EAAAA,QAAQ,EAAEoJ,mBAAUM,IAzJE;;AA0JtB;AACF;AACA;AACEnJ,EAAAA,QAAQ,EAAE6I,mBAAUO,IA7JE;;AA8JtB;AACF;AACA;AACEhJ,EAAAA,OAAO,EAAEyI,mBAAUO,IAjKG;;AAkKtB;AACF;AACA;AACEjJ,EAAAA,MAAM,EAAE0I,mBAAUO,IArKI;;AAsKtB;AACF;AACA;AACElJ,EAAAA,QAAQ,EAAE2I,mBAAUO,IAzKE;;AA0KtB;AACF;AACA;AACEnJ,EAAAA,KAAK,EAAE4I,mBAAUO,IA7KK;;AA8KtB;AACF;AACA;AACE/I,EAAAA,WAAW,EAAEwI,mBAAUC,MAjLD;;AAkLtB;AACF;AACA;AACExI,EAAAA,WAAW,EAAEuI,mBAAUM,IArLD;;AAsLtB;AACF;AACA;AACE5I,EAAAA,gBAAgB,EAAEsI,mBAAUC,MAzLN;;AA0LtB;AACF;AACA;AACA;AACEtI,EAAAA,eAAe,EAAEqI,mBAAUQ,MA9LL;;AA+LtB;AACF;AACA;AACE1I,EAAAA,UAAU,EAAEkI,mBAAUS,UAAV,CAAqBC,MAArB,CAlMU;;AAmMtB;AACF;AACA;AACE9I,EAAAA,SAAS,EAAEoI,mBAAUM,IAtMC;;AAuMtB;AACF;AACA;AACEzI,EAAAA,SAAS,EAAEmI,mBAAUM,IA1MC;;AA2MtB;AACF;AACA;AACEvI,EAAAA,cAAc,EAAEiI,mBAAUS,UAAV,CAAqBC,MAArB,CA9MM;;AA+MtB;AACF;AACA;AACE1I,EAAAA,SAAS,EAAEgI,mBAAUM,IAlNC;;AAmNtB;AACF;AACA;AACErI,EAAAA,MAAM,EAAE+H,mBAAUC,MAtNI;;AAuNtB;AACF;AACA;AACE/H,EAAAA,aAAa,EAAE8H,mBAAUC,MA1NH;;AA4NtB;AACF;AACA;AACE9H,EAAAA,kBAAkB,EAAE6H,mBAAUE,KAAV,CAAgB;AAClC;AACJ;AACA;AACI3F,IAAAA,KAAK,EAAEyF,mBAAUC,MAJiB;;AAKlC;AACJ;AACA;AACIvF,IAAAA,YAAY,EAAEsF,mBAAUC,MARU;;AASlC;AACJ;AACA;AACIxF,IAAAA,YAAY,EAAEuF,mBAAUC,MAZU;;AAalC;AACJ;AACA;AACIzF,IAAAA,aAAa,EAAEwF,mBAAUC;AAhBS,GAAhB,CA/NE;;AAiPtB;AACF;AACA;AACA;AACE7H,EAAAA,WAAW,EAAE4H,mBAAUW,OAAV,CAAkBX,mBAAUC,MAA5B,CArPS;;AAsPtB;AACF;AACA;AACE5H,EAAAA,YAAY,EAAE2H,mBAAUM,IAzPF;;AA0PtB;AACF;AACA;AACEhI,EAAAA,sBAAsB,EAAE0H,mBAAUO;AA7PZ,CAAxB;;eAgQe,sBAAWK,eAAX,EAAmB;AAAEtK,EAAAA,IAAI,EAAE;AAAR,CAAnB,EAA4CL,WAA5C,C","sourcesContent":["import React, { useRef, useState, useCallback, useMemo, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles } from \"@material-ui/core\";\nimport { setId, useControlled, isKeypress, KeyboardCodes } from \"../utils\";\nimport {\n HvFormElement,\n HvListContainer,\n HvListItem,\n HvTag,\n HvInput,\n HvLabel,\n HvInfoMessage,\n HvCharCounter,\n HvSuggestions,\n HvWarningText,\n useUniqueId,\n useIsMounted,\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 onAdd,\n onDelete,\n onBlur,\n onFocus,\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 commitTagOn = [\"Enter\"],\n commitOnBlur = false,\n\n suggestionListCallback,\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 const [validationState, setValidationState] = useControlled(status, validationStates.standBy);\n const [validationMessage, setValidationMessage] = useControlled(statusMessage, \"\");\n\n const [tagInput, setTagInput] = useState(\"\");\n const [tagCursorPos, setTagCursorPos] = useState(value.length);\n const [stateValid, setStateValid] = useState(true);\n\n const inputRef = useRef();\n const containerRef = useRef();\n const skipReset = useRef(false);\n const blurTimeout = useRef();\n const materialInputRef = useRef(null);\n\n const isTagSelected = tagCursorPos >= 0 && tagCursorPos < value.length;\n const hasCounter = maxTagsQuantity != null && !hideCounter;\n\n // suggestions related state\n const [suggestionValues, setSuggestionValues] = useState(null);\n\n const isStateInvalid = useMemo(() => {\n return hasCounter && value.length > maxTagsQuantity;\n }, [hasCounter, maxTagsQuantity, value.length]);\n\n const canShowSuggestions = suggestionListCallback != null;\n const hasSuggestions = !!suggestionValues;\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 /**\n * Deletes a Tag from the array of tags and sets the new position for the tag cursor.\n * Also executes the user provided onDelete and onChange events.\n *\n * @param {number} tagPos - the position at which to remove the tag\n * @param {Event} event - the event associated with the delete\n * @param {boolean} end - whether or not to set the cursor at the end of the array\n */\n const deleteTag = useCallback(\n (tagPos, event, end) => {\n const newTagsArr = [...value.slice(0, tagPos), ...value.slice(tagPos + 1)];\n setValue(newTagsArr);\n // eslint-disable-next-line no-nested-ternary\n setTagCursorPos(end ? newTagsArr.length : tagCursorPos > 0 ? tagCursorPos - 1 : 0);\n inputRef.current?.focus();\n performValidation(newTagsArr);\n onDelete?.(event, value[tagPos], tagPos);\n onChange?.(event, newTagsArr);\n skipReset.current = true;\n },\n [onChange, onDelete, performValidation, setValue, tagCursorPos, value]\n );\n\n /**\n * Adds a Tag to the array of tags.\n * Also executes the user provided onAdd and onDelete events.\n *\n * @param {Event} event - whatever event triggered adding a tag\n * @param {string} tag - the string for the tag\n */\n const addTag = useCallback(\n (event, tag) => {\n event.preventDefault();\n if (tag !== \"\") {\n const newTag = { label: tag, type: \"semantic\" };\n const newTagsArr = [...value, newTag];\n setValue(newTagsArr);\n performValidation(newTagsArr);\n onAdd?.(event, newTag, newTagsArr.length - 1);\n onChange?.(event, newTagsArr);\n }\n },\n [onAdd, onChange, performValidation, setValue, value]\n );\n\n const canShowError =\n (status !== undefined && status === \"invalid\" && statusMessage !== undefined) || !stateValid;\n\n useEffect(() => {\n if (!multiline) {\n const element = containerRef?.current?.children[tagCursorPos];\n // this setTimeout is a workaround for Firefox not properly dealing\n // with setting the scrollLeft value.\n setTimeout(() => {\n const container = containerRef.current;\n if (isNil(container)) return;\n container.scrollLeft = element\n ? element.offsetLeft -\n container.getBoundingClientRect().width / 2 +\n element.getBoundingClientRect().width / 2\n : 0;\n }, 50);\n\n element?.focus();\n }\n }, [multiline, tagCursorPos]);\n\n useEffect(() => {\n if (!skipReset.current) {\n setTagInput(\"\");\n setTagCursorPos(value.length);\n }\n skipReset.current = false;\n }, [value]);\n\n const isMounted = useIsMounted();\n\n /**\n * Looks for the node that represent the input inside the material tree and focus it.\n */\n const focusInput = () => {\n materialInputRef.current.focus();\n };\n\n const getSuggestions = useCallback(\n (li) => {\n // TODO Replace with ref\n const listEl = document.getElementById(setId(elementId, \"suggestions-list\"));\n return li != null ? listEl?.getElementsByTagName(\"li\")?.[li] : listEl;\n },\n [elementId]\n );\n\n /**\n * Clears the suggestion array.\n */\n const suggestionClearHandler = useCallback(() => {\n if (isMounted.current) {\n setSuggestionValues(null);\n }\n }, [isMounted]);\n\n /**\n * Fills of the suggestion array.\n */\n const suggestionHandler = useCallback(\n (val) => {\n const suggestionsArray = suggestionListCallback?.(val);\n if (suggestionsArray?.[0]?.label) {\n setSuggestionValues(suggestionsArray);\n } else {\n suggestionClearHandler();\n }\n },\n [suggestionClearHandler, suggestionListCallback]\n );\n\n /**\n * Executes the user callback adds the selection to the state and clears the suggestions.\n */\n const suggestionSelectedHandler = (event, item) => {\n addTag(event, item.value || item.label);\n\n // set the input value (only when value is uncontrolled)\n setTagInput(item.value || item.label);\n\n focusInput();\n suggestionClearHandler();\n };\n\n /**\n * Handler for the `onKeyDown` event on the suggestions component\n */\n const onSuggestionKeyDown = (event) => {\n if (isKeypress(event, KeyboardCodes.Esc)) {\n suggestionClearHandler();\n focusInput();\n } else if (isKeypress(event, KeyboardCodes.Tab)) {\n suggestionClearHandler();\n }\n };\n\n /**\n * Handler for the `onChange` event on the tag input\n */\n const onChangeHandler = useCallback(\n (event, input) => {\n setTagInput(input);\n\n if (canShowSuggestions) {\n // an edge case might be a controlled input whose onChange callback\n // doesn't change the value (or sets another): the suggestionListCallback\n // callback will still receive the original rejected value.\n // a refactor is needed so the suggestionListCallback might be called only\n // when the input is uncontrolled, providing a way to externally control\n // the suggestion values.\n suggestionHandler(input);\n }\n },\n [canShowSuggestions, suggestionHandler]\n );\n\n /**\n * Handler for the `onKeyDown` event on the form element\n */\n const onInputKeyDownHandler = useCallback(\n (event) => {\n if (!canShowSuggestions && commitTagOn.includes(event.code)) {\n addTag(event, tagInput);\n }\n },\n [addTag, canShowSuggestions, commitTagOn, tagInput]\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 deleteTag(tagCursorPos, event, false);\n } else {\n setTagCursorPos(value.length - 1);\n }\n break;\n case \"Delete\":\n if (isTagSelected) {\n deleteTag(tagCursorPos, event, false);\n }\n break;\n default:\n break;\n }\n } else {\n switch (event.code) {\n case \"ArrowDown\":\n getSuggestions(0)?.focus();\n break;\n default:\n break;\n }\n }\n },\n [deleteTag, getSuggestions, isTagSelected, tagCursorPos, tagInput, value.length]\n );\n\n /**\n * Handler for the `onDelete` event on the tag component\n */\n const onDeleteTagHandler = useCallback(\n (event, i) => {\n deleteTag(i, event, true);\n setValidationState(validationStates.standBy);\n },\n [deleteTag, setValidationState]\n );\n\n /**\n * Handler for the `onClick` event on the list container\n */\n const onContainerClickHandler = useCallback(() => {\n inputRef.current?.focus();\n clearTimeout(blurTimeout.current);\n setTagCursorPos(value.length);\n }, [value.length]);\n\n const onBlurHandler = (evt) => {\n blurTimeout.current = setTimeout(() => {\n if (commitOnBlur) {\n addTag(evt, tagInput);\n }\n onBlur?.(evt, tagInput);\n }, 250);\n };\n\n const onFocusHandler = (evt) => {\n clearTimeout(blurTimeout.current);\n onFocus?.(evt, tagInput);\n };\n\n return (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n required={required}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\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, value.length === 0 ? \"empty\" : \"\")}\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 onKeyDown={onInputKeyDownHandler}\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 ref: materialInputRef,\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 {canShowSuggestions && (\n <>\n {hasSuggestions && <div role=\"presentation\" className={classes.inputExtension} />}\n <HvSuggestions\n id={setId(elementId, \"suggestions\")}\n classes={{\n root: classes.suggestionsContainer,\n list: classes.suggestionList,\n }}\n expanded={hasSuggestions}\n anchorEl={containerRef?.current?.parentElement}\n onClose={suggestionClearHandler}\n onKeyDown={onSuggestionKeyDown}\n onSuggestionSelected={suggestionSelectedHandler}\n suggestionValues={suggestionValues}\n />\n </>\n )}\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 /**\n * Styles applied to the input extension shown when the suggestions list is visible.\n */\n inputExtension: PropTypes.string,\n\n /**\n * Styles applied to the container of the suggestions list.\n */\n suggestionsContainer: PropTypes.string,\n /**\n * Styles applied to the suggestions list.\n */\n suggestionList: 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 function that will be executed when the element is focused.\n */\n onFocus: PropTypes.func,\n /**\n * The function that will be executed when the element is blurred.\n */\n onBlur: PropTypes.func,\n /**\n * The function that will be executed when a tag is deleted.\n */\n onDelete: PropTypes.func,\n /**\n * The function that will be executed when a tag is added.\n */\n onAdd: 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 * An array of strings that represent the character used to input a tag.\n * This character is the string representation of the event.code from the input event.\n */\n commitTagOn: PropTypes.arrayOf(PropTypes.string),\n /**\n * If `true` the tag will be commited when the blur event occurs.\n */\n commitOnBlur: PropTypes.bool,\n /**\n * The function that will be executed to received an array of objects that has a label and id to create list of suggestion\n */\n suggestionListCallback: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvTagsInput\" })(HvTagsInput);\n"],"file":"TagsInput.js"}
@@ -127,7 +127,12 @@ var styles = function styles(theme) {
127
127
  minWidth: 100,
128
128
  width: "100%",
129
129
  paddingTop: 3,
130
- verticalAlign: "middle"
130
+ verticalAlign: "middle",
131
+ "&.empty": {
132
+ position: "absolute",
133
+ height: "100%",
134
+ paddingTop: 3
135
+ }
131
136
  }
132
137
  },
133
138
  tagInputRoot: {