@ntbjs/react-components 2.0.7-rc.1 → 2.0.8-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/build/data/Alert/Alert.js +1 -1
  2. package/build/data/Alert/Alert.js.map +1 -1
  3. package/build/data/Alert/Alert.styled.js +1 -1
  4. package/build/data/Alert/Alert.styled.js.map +1 -1
  5. package/build/data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js +69 -0
  6. package/build/data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js.map +1 -0
  7. package/build/data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.styled.js +72 -0
  8. package/build/data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.styled.js.map +1 -0
  9. package/build/data/index.js +1 -0
  10. package/build/data/index.js.map +1 -1
  11. package/build/icons/index.js +3 -2
  12. package/build/icons/info-yellow.svg +11 -0
  13. package/build/inputs/Button/Button.js +18 -4
  14. package/build/inputs/Button/Button.js.map +1 -1
  15. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +1 -0
  16. package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
  17. package/build/inputs/CompactStarRating/CompactStarRating.js +1 -0
  18. package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
  19. package/build/inputs/CompactTextInput/CompactTextInput.js +2 -1
  20. package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
  21. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +1 -0
  22. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
  23. package/build/inputs/TextArea/TextArea.js +1 -0
  24. package/build/inputs/TextArea/TextArea.js.map +1 -1
  25. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +5 -6
  26. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
  27. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +20 -2
  28. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
  29. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +5 -7
  30. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
  31. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +17 -3
  32. package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
  33. package/build/widgets/AssetGallery/asset.propType.js +1 -0
  34. package/build/widgets/AssetGallery/asset.propType.js.map +1 -1
  35. package/build/widgets/SummaryCard/SummaryCard.js +8 -13
  36. package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
  37. package/build/widgets/SummaryCard/SummaryCard.styled.js +2 -2
  38. package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
  39. package/icons/index.js +3 -2
  40. package/icons/info-yellow.svg +11 -0
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CompactStarRating.js","sources":["../../../src/components/inputs/CompactStarRating/CompactStarRating.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { ReactComponent as StarIconFill } from '../../../icons/star-filled.svg';\nimport { ReactComponent as StarIcon } from '../../../icons/star.svg';\nimport { Tooltip } from '../../data';\n\nimport * as S from './CompactStarRating.styled';\n\n/**\n * A compact star rating.\n *\n * To remove a rating (i.e. show 0 stars), click the first star to give a 1-star rating, and then click the first star again.\n *\n * ### Import\n *\n * ``` js\n * import { CompactStarRating } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactStarRating from '@ntbjs/react-components/inputs/CompactStarRating'\n * ```\n * ### Values\n * Pass default value as a prop (`defaultValue`) into the component: 0 or state value.\n * ```\n */\n\nconst CompactStarRating = React.forwardRef(function CompactStarRating(\n {\n label,\n icon,\n iconFill,\n max,\n defaultValue,\n value,\n name,\n viewEmpty,\n onChange,\n onBlur,\n type,\n descriptionToolTip,\n disabled,\n readOnly,\n edit,\n hidden,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const stars = Array.from(Array(max).keys());\n const [rating, setRating] = useState('');\n const [hover, setHover] = useState(false);\n const [tempRating, setTempRating] = useState('');\n const [initialRating, setInitialRating] = useState('');\n const inputRef = useRef();\n\n useEffect(() => {\n setRating(value || defaultValue);\n setInitialRating(value || defaultValue);\n }, [value, defaultValue]);\n\n useEffect(() => {\n inputRef.current.value = String(rating);\n if (rating === initialRating) {\n return undefined;\n } else {\n setInitialRating(rating);\n onChange({ target: inputRef.current });\n }\n }, [rating]);\n\n const memoizedDescriptionToolTip = useMemo(() => {\n return descriptionToolTip;\n }, [descriptionToolTip]);\n\n const starIconRender = key => {\n if (rating > 0 && rating >= key + 1) {\n return (\n <S.StarFill\n readOnly={readOnly}\n disabled={disabled}\n onClick={event => {\n event.preventDefault();\n if (key + 1 > 1) {\n return setRating(key + 1);\n } else if (key + 1 == 1) {\n setRating(current => {\n return current === 1 ? 0 : key + 1;\n });\n }\n }}\n onMouseEnter={() => {\n setTempRating(key + 1);\n setHover(true);\n }}\n onMouseLeave={() => {\n setTempRating(0);\n setHover(false);\n }}\n $hover={hover && key + 1 <= tempRating}\n type=\"button\"\n key={key}\n >\n {iconFill}\n </S.StarFill>\n );\n } else if (viewEmpty) {\n return (\n <S.Star\n readOnly={readOnly}\n disabled={disabled}\n onClick={event => {\n event.preventDefault();\n setRating(key + 1);\n }}\n onMouseEnter={() => {\n setTempRating(key + 1);\n setHover(true);\n }}\n onMouseLeave={() => {\n setTempRating(0);\n setHover(false);\n }}\n $hover={hover && key + 1 <= tempRating}\n type=\"button\"\n key={key}\n >\n {icon}\n </S.Star>\n );\n }\n };\n\n const input = () => {\n return (\n <S.CompactStarRating\n ref={forwardedRef}\n readOnly={readOnly}\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n >\n <S.labelWidth disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.labelWidth>\n <S.starsWidth $edit={edit} type={type} readOnly={readOnly}>\n {stars.map(key => {\n return (\n <div key={key}>\n <input type=\"number\" name={name} ref={inputRef} />\n {starIconRender(key, value)}\n </div>\n );\n })}\n </S.starsWidth>\n </S.CompactStarRating>\n );\n };\n\n if (hidden) return null;\n\n return (\n <>\n {!memoizedDescriptionToolTip && input()}\n {memoizedDescriptionToolTip && (\n <div>\n <Tooltip\n content={memoizedDescriptionToolTip}\n key=\"tooltipTextArea1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n zIndex={999999}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n </>\n );\n});\n\nCompactStarRating.propTypes = {\n /**\n * Whether the star rating is read-only\n */\n readOnly: PropTypes.bool,\n /**\n * Whether the star rating is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Displays a grey background to show that the star rating is editable\n */\n edit: PropTypes.bool,\n /**\n * Rating value (0-5)\n */\n value: PropTypes.number,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),\n /**\n * Default rating value\n */\n defaultValue: PropTypes.number,\n /**\n * Compact star rating label\n */\n label: PropTypes.string,\n /**\n * Name of the text area (used when sending form data)\n */\n name: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<StarIcon />}`\n */\n icon: PropTypes.element,\n /**\n * Filled icon element – E.g: `icon={<StarIcon />}`\n */\n iconFill: PropTypes.element,\n /**\n * Max number of stars: 5\n */\n max: PropTypes.number,\n /**\n * View Compact Star Rating component when no values have been assigned\n */\n viewEmpty: PropTypes.bool,\n\n /**\n * Optional callback function for `onChange`\n */\n onChange: PropTypes.func,\n /**\n * Optional callback function for `onBlur`\n */\n onBlur: PropTypes.func,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element,\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string\n};\n\nCompactStarRating.defaultProps = {\n label: 'Rating',\n max: 5,\n value: 0,\n defaultValue: 0,\n viewEmpty: true,\n icon: <StarIcon />,\n iconFill: <StarIconFill />,\n hidden: false,\n type: '',\n descriptionToolTip: '',\n onChange: () => {}\n};\n\nexport default CompactStarRating;\n"],"names":["CompactStarRating","React","forwardRef","label","icon","iconFill","max","defaultValue","value","name","viewEmpty","onChange","onBlur","type","descriptionToolTip","disabled","readOnly","edit","hidden","loadingIcon","successIcon","props","forwardedRef","stars","Array","from","keys","rating","setRating","useState","hover","setHover","tempRating","setTempRating","initialRating","setInitialRating","inputRef","useRef","useEffect","current","String","undefined","target","memoizedDescriptionToolTip","useMemo","starIconRender","key","createElement","S","onClick","event","preventDefault","onMouseEnter","onMouseLeave","$hover","input","_extends","ref","$edit","map","Fragment","Tooltip","content","placement","trigger","zIndex","propTypes","process","env","NODE_ENV","PropTypes","bool","number","oneOf","string","element","func","defaultProps","StarIcon","StarIconFill"],"mappings":"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"}
1
+ {"version":3,"file":"CompactStarRating.js","sources":["../../../src/components/inputs/CompactStarRating/CompactStarRating.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { ReactComponent as StarIconFill } from '../../../icons/star-filled.svg';\nimport { ReactComponent as StarIcon } from '../../../icons/star.svg';\nimport { Tooltip } from '../../data';\n\nimport * as S from './CompactStarRating.styled';\n\n/**\n * A compact star rating.\n *\n * To remove a rating (i.e. show 0 stars), click the first star to give a 1-star rating, and then click the first star again.\n *\n * ### Import\n *\n * ``` js\n * import { CompactStarRating } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactStarRating from '@ntbjs/react-components/inputs/CompactStarRating'\n * ```\n * ### Values\n * Pass default value as a prop (`defaultValue`) into the component: 0 or state value.\n * ```\n */\n\nconst CompactStarRating = React.forwardRef(function CompactStarRating(\n {\n label,\n icon,\n iconFill,\n max,\n defaultValue,\n value,\n name,\n viewEmpty,\n onChange,\n onBlur,\n type,\n descriptionToolTip,\n disabled,\n readOnly,\n edit,\n hidden,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const stars = Array.from(Array(max).keys());\n const [rating, setRating] = useState('');\n const [hover, setHover] = useState(false);\n const [tempRating, setTempRating] = useState('');\n const [initialRating, setInitialRating] = useState('');\n const inputRef = useRef();\n\n useEffect(() => {\n setRating(value || defaultValue);\n setInitialRating(value || defaultValue);\n }, [value, defaultValue]);\n\n useEffect(() => {\n inputRef.current.value = String(rating);\n if (rating === initialRating) {\n return undefined;\n } else {\n setInitialRating(rating);\n onChange({ target: inputRef.current });\n }\n }, [rating]);\n\n const memoizedDescriptionToolTip = useMemo(() => {\n return descriptionToolTip;\n }, [descriptionToolTip]);\n\n const starIconRender = key => {\n if (rating > 0 && rating >= key + 1) {\n return (\n <S.StarFill\n readOnly={readOnly}\n disabled={disabled}\n onClick={event => {\n event.preventDefault();\n if (key + 1 > 1) {\n return setRating(key + 1);\n } else if (key + 1 == 1) {\n setRating(current => {\n return current === 1 ? 0 : key + 1;\n });\n }\n }}\n onMouseEnter={() => {\n setTempRating(key + 1);\n setHover(true);\n }}\n onMouseLeave={() => {\n setTempRating(0);\n setHover(false);\n }}\n $hover={hover && key + 1 <= tempRating}\n type=\"button\"\n key={key}\n >\n {iconFill}\n </S.StarFill>\n );\n } else if (viewEmpty) {\n return (\n <S.Star\n readOnly={readOnly}\n disabled={disabled}\n onClick={event => {\n event.preventDefault();\n setRating(key + 1);\n }}\n onMouseEnter={() => {\n setTempRating(key + 1);\n setHover(true);\n }}\n onMouseLeave={() => {\n setTempRating(0);\n setHover(false);\n }}\n $hover={hover && key + 1 <= tempRating}\n type=\"button\"\n key={key}\n >\n {icon}\n </S.Star>\n );\n }\n };\n\n const input = () => {\n return (\n <S.CompactStarRating\n ref={forwardedRef}\n readOnly={readOnly}\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n >\n <S.labelWidth disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.labelWidth>\n <S.starsWidth $edit={edit} type={type} readOnly={readOnly}>\n {stars.map(key => {\n return (\n <div key={key}>\n <input type=\"number\" name={name} ref={inputRef} />\n {starIconRender(key, value)}\n </div>\n );\n })}\n </S.starsWidth>\n </S.CompactStarRating>\n );\n };\n\n if (hidden) return null;\n\n return (\n <>\n {!memoizedDescriptionToolTip && input()}\n {memoizedDescriptionToolTip && (\n <div>\n <Tooltip\n content={memoizedDescriptionToolTip}\n key=\"tooltipTextArea1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n zIndex={999999}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n </>\n );\n});\n\nCompactStarRating.propTypes = {\n /**\n * Whether the star rating is read-only\n */\n readOnly: PropTypes.bool,\n /**\n * Whether the star rating is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Displays a grey background to show that the star rating is editable\n */\n edit: PropTypes.bool,\n /**\n * Rating value (0-5)\n */\n value: PropTypes.number,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),\n /**\n * Default rating value\n */\n defaultValue: PropTypes.number,\n /**\n * Compact star rating label\n */\n label: PropTypes.string,\n /**\n * Name of the text area (used when sending form data)\n */\n name: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<StarIcon />}`\n */\n icon: PropTypes.element,\n /**\n * Filled icon element – E.g: `icon={<StarIcon />}`\n */\n iconFill: PropTypes.element,\n /**\n * Max number of stars: 5\n */\n max: PropTypes.number,\n /**\n * View Compact Star Rating component when no values have been assigned\n */\n viewEmpty: PropTypes.bool,\n\n /**\n * Optional callback function for `onChange`\n */\n onChange: PropTypes.func,\n /**\n * Optional callback function for `onBlur`\n */\n onBlur: PropTypes.func,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element,\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string\n};\n\nCompactStarRating.defaultProps = {\n label: 'Rating',\n max: 5,\n value: 0,\n defaultValue: 0,\n viewEmpty: true,\n icon: <StarIcon />,\n iconFill: <StarIconFill />,\n hidden: false,\n type: '',\n descriptionToolTip: '',\n onChange: () => {}\n};\n\nexport default CompactStarRating;\n"],"names":["CompactStarRating","React","forwardRef","label","icon","iconFill","max","defaultValue","value","name","viewEmpty","onChange","onBlur","type","descriptionToolTip","disabled","readOnly","edit","hidden","loadingIcon","successIcon","props","forwardedRef","stars","Array","from","keys","rating","setRating","useState","hover","setHover","tempRating","setTempRating","initialRating","setInitialRating","inputRef","useRef","useEffect","current","String","undefined","target","memoizedDescriptionToolTip","useMemo","starIconRender","key","createElement","S","onClick","event","preventDefault","onMouseEnter","onMouseLeave","$hover","input","_extends","ref","$edit","map","Fragment","Tooltip","content","placement","trigger","zIndex","propTypes","process","env","NODE_ENV","PropTypes","bool","number","oneOf","string","element","func","defaultProps","StarIcon","StarIconFill"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { ReactComponent as SvgEditNote } from '../../icons/edit-note.svg.js';
7
7
  import { ReactComponent as SvgLink } from '../../icons/link.svg.js';
8
8
  import '../../data/Alert/Alert.js';
9
9
  import '../../data/Badge/Badge.js';
10
+ import '../../data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js';
10
11
  import Popover from '../../data/Popover/Popover.js';
11
12
  import '../../data/Tab/Tab.js';
12
13
  import '../../data/Tabs/Tabs.js';
@@ -88,7 +89,7 @@ const CompactTextInput = React__default.forwardRef(function CompactTextInput({
88
89
  $edit: edit,
89
90
  placeholder: placeholder,
90
91
  defaultValue: defaultValue,
91
- value: value,
92
+ value: value ?? '',
92
93
  $type: type,
93
94
  $bold: bold,
94
95
  $haslink: !isEmpty(link),
@@ -1 +1 @@
1
- {"version":3,"file":"CompactTextInput.js","sources":["../../../src/components/inputs/CompactTextInput/CompactTextInput.js"],"sourcesContent":["import { isEmpty, isFunction } from 'lodash';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState, useEffect } from 'react';\nimport useTooltipAutoShow from '../../../hooks/useTooltipAutoShow';\nimport { ReactComponent as EditNoteIcon } from '../../../icons/edit-note.svg';\nimport { ReactComponent as LinkIcon } from '../../../icons/link.svg';\nimport { Tooltip, Popover } from '../../data';\nimport * as S from './CompactTextInput.styled';\n\n// const ConditionalWrapper = ({ condition, wrapper, children }) =>\n// condition ? wrapper(children) : children;\n\n/**\n * Compact text inputs let users enter and edit text in the UI in a compact way. They typically appear in forms or displays of metadata.\n *\n * ### Import\n *\n * ``` js\n * import { CompactTextInput } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactTextInput from '@ntbjs/react-components/inputs/CompactTextInput'\n * ```\n */\nconst CompactTextInput = React.forwardRef(function CompactTextInput(\n {\n label,\n inputType,\n name,\n defaultValue,\n value,\n placeholder,\n link,\n linkTarget,\n linkHandler,\n activeLinkHandler,\n autoSelect,\n readOnly,\n disabled,\n edit,\n type,\n descriptionToolTip,\n bold,\n hidden,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n const [currentValue, setCurrentValue] = useState();\n const [autoFocus, setAutoFocus] = useState(false);\n\n const { toolTipDisabled, toolTipVisible, toolTipOnMouseLeave, toolTipContent } =\n useTooltipAutoShow(descriptionToolTip);\n\n useEffect(() => {\n setCurrentValue(value || defaultValue);\n setAutoFocus(false);\n }, [value, defaultValue]);\n\n const onChange = useCallback(\n event => {\n setCurrentValue(event.target.value);\n\n if (!autoFocus) {\n setAutoFocus(true);\n }\n if (isFunction(onChangeProp)) {\n onChangeProp(event);\n }\n },\n [onChangeProp]\n );\n\n const onFocus = useCallback(\n event => {\n if (autoSelect) {\n event.target.select();\n }\n\n if (isFunction(onFocusProp)) {\n onFocusProp(event);\n }\n },\n [autoSelect, readOnly, onFocusProp]\n );\n\n const onBlur = useCallback(\n event => {\n if (isFunction(onBlurProp)) {\n onBlurProp(event);\n }\n },\n [onBlurProp]\n );\n\n const input = () => {\n return (\n <S.Input\n ref={forwardedRef}\n id={uniqueId}\n key={uniqueId}\n autoFocus={autoFocus}\n inputtype={inputType}\n name={name}\n readOnly={readOnly}\n disabled={disabled}\n $edit={edit}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n $type={type}\n $bold={bold}\n $haslink={!isEmpty(link)}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n />\n );\n };\n\n if (hidden) return null;\n\n return (\n <S.CompactTextInput {...props}>\n {label && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.Label>\n )}\n <S.InputContainer $hasLabel={!isEmpty(label)}>\n {!link && (\n <div onMouseLeave={toolTipOnMouseLeave}>\n <Tooltip\n content={toolTipContent}\n key=\"tooltip1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n disabled={toolTipDisabled}\n zIndex={999999}\n visible={toolTipVisible}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n {link && !readOnly && (\n <div>\n <Popover\n arrow={false}\n content={\n <S.LinkPopoverContainer>\n {activeLinkHandler ? (\n <S.StyledLink\n href={link}\n target={linkTarget}\n onClick={e => {\n if (activeLinkHandler) {\n e.preventDefault();\n linkHandler();\n } else null;\n }}\n rel=\"noreferrer\"\n >\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n ) : (\n <S.StyledLink href={link} target={linkTarget} rel=\"noreferrer\">\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n )}\n </S.LinkPopoverContainer>\n }\n key=\"tooltip2\"\n placement=\"bottom-start\"\n trigger=\"focusin\"\n zIndex={999999}\n interactive={true}\n >\n {input()}\n </Popover>\n </div>\n )}\n {link && readOnly && (\n <S.ReadOnlyLinkContainer>\n <S.StyledLink\n href={link}\n rel=\"noreferrer\"\n style={{ display: 'inline-block' }}\n target={linkTarget}\n >\n {currentValue}\n </S.StyledLink>\n </S.ReadOnlyLinkContainer>\n )}\n {!readOnly && !disabled && (\n <>\n <S.InputIconContainer $type={type}>\n <EditNoteIcon />\n </S.InputIconContainer>\n {isEmpty(label) && (\n <S.InputSuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.InputSuccessContainer>\n )}\n </>\n )}\n </S.InputContainer>\n </S.CompactTextInput>\n );\n});\n\nCompactTextInput.propTypes = {\n /**\n * The label of the input field - leave `undefined` to hide the label\n */\n label: PropTypes.string,\n /**\n * Displays a light green background to show that an action was successful.\n */\n success: PropTypes.bool,\n /**\n * The input type - eg. `text`, `number`\n */\n inputType: PropTypes.string,\n /**\n * The input name\n */\n name: PropTypes.string,\n /**\n * The default value of the input - creates an uncontrolled input\n */\n defaultValue: PropTypes.string,\n /**\n * The value of the input - creates a controlled input\n */\n value: PropTypes.string,\n /**\n * The placeholder of the input\n */\n placeholder: PropTypes.string,\n /**\n * A URL associated with the input value. Creates a clickable link that accepts full or relative URL\n */\n link: PropTypes.string,\n /**\n * The target for the link. Only applies when the field is in read-only mode\n */\n linkTarget: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n /**\n * Whether the link has a onClick event.\n */\n linkHandler: PropTypes.func,\n /**\n * Whether the handler should preceed the link behavior.\n */\n activeLinkHandler: PropTypes.bool,\n /**\n * Whether to auto select the entire value when the input is focused – does also work when the field is in read-only mode\n */\n autoSelect: PropTypes.bool,\n /**\n * Whether the value is read only\n */\n readOnly: PropTypes.bool,\n /**\n * Whether the value is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * There is an error present - 'error be prioritized over warnings if both are set to 'true'.\n */\n // error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * There is a warning present.\n */\n warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * Whether to bold the input content - Slightly increases the font size and font weight of the input value\n */\n bold: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Callback for `onChange`\n */\n onChange: PropTypes.func,\n /**\n * Callback for `onFocus`\n */\n onFocus: PropTypes.func,\n /**\n * Callback for `onBlur`\n */\n onBlur: PropTypes.func,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element\n};\n\nCompactTextInput.defaultProps = {\n inputType: 'text',\n autoSelect: true,\n linkTarget: '_self',\n bold: false,\n readOnly: false,\n descriptionToolTip: '',\n edit: false,\n hidden: false,\n type: '',\n linkHandler: () => {},\n activeLinkHandler: false,\n onChange: () => {}\n};\n\nexport default CompactTextInput;\n"],"names":["CompactTextInput","React","forwardRef","label","inputType","name","defaultValue","value","placeholder","link","linkTarget","linkHandler","activeLinkHandler","autoSelect","readOnly","disabled","edit","type","descriptionToolTip","bold","hidden","onChange","onChangeProp","onFocus","onFocusProp","onBlur","onBlurProp","loadingIcon","successIcon","props","forwardedRef","uniqueId","useState","nanoid","currentValue","setCurrentValue","autoFocus","setAutoFocus","toolTipDisabled","toolTipVisible","toolTipOnMouseLeave","toolTipContent","useTooltipAutoShow","useEffect","useCallback","event","target","isFunction","select","input","createElement","S","ref","id","key","inputtype","$edit","$type","$bold","$haslink","isEmpty","htmlFor","$hasLabel","onMouseLeave","Tooltip","content","placement","trigger","zIndex","visible","Popover","arrow","href","onClick","e","preventDefault","rel","LinkIcon","interactive","style","display","Fragment","EditNoteIcon","propTypes","process","env","NODE_ENV","PropTypes","string","success","bool","oneOf","func","warning","oneOfType","element","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"CompactTextInput.js","sources":["../../../src/components/inputs/CompactTextInput/CompactTextInput.js"],"sourcesContent":["import { isEmpty, isFunction } from 'lodash';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState, useEffect } from 'react';\nimport useTooltipAutoShow from '../../../hooks/useTooltipAutoShow';\nimport { ReactComponent as EditNoteIcon } from '../../../icons/edit-note.svg';\nimport { ReactComponent as LinkIcon } from '../../../icons/link.svg';\nimport { Tooltip, Popover } from '../../data';\nimport * as S from './CompactTextInput.styled';\n\n// const ConditionalWrapper = ({ condition, wrapper, children }) =>\n// condition ? wrapper(children) : children;\n\n/**\n * Compact text inputs let users enter and edit text in the UI in a compact way. They typically appear in forms or displays of metadata.\n *\n * ### Import\n *\n * ``` js\n * import { CompactTextInput } from '@ntbjs/react-components/inputs'\n * // or\n * import CompactTextInput from '@ntbjs/react-components/inputs/CompactTextInput'\n * ```\n */\nconst CompactTextInput = React.forwardRef(function CompactTextInput(\n {\n label,\n inputType,\n name,\n defaultValue,\n value,\n placeholder,\n link,\n linkTarget,\n linkHandler,\n activeLinkHandler,\n autoSelect,\n readOnly,\n disabled,\n edit,\n type,\n descriptionToolTip,\n bold,\n hidden,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n loadingIcon,\n successIcon,\n ...props\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n const [currentValue, setCurrentValue] = useState();\n const [autoFocus, setAutoFocus] = useState(false);\n\n const { toolTipDisabled, toolTipVisible, toolTipOnMouseLeave, toolTipContent } =\n useTooltipAutoShow(descriptionToolTip);\n\n useEffect(() => {\n setCurrentValue(value || defaultValue);\n setAutoFocus(false);\n }, [value, defaultValue]);\n\n const onChange = useCallback(\n event => {\n setCurrentValue(event.target.value);\n\n if (!autoFocus) {\n setAutoFocus(true);\n }\n if (isFunction(onChangeProp)) {\n onChangeProp(event);\n }\n },\n [onChangeProp]\n );\n\n const onFocus = useCallback(\n event => {\n if (autoSelect) {\n event.target.select();\n }\n\n if (isFunction(onFocusProp)) {\n onFocusProp(event);\n }\n },\n [autoSelect, readOnly, onFocusProp]\n );\n\n const onBlur = useCallback(\n event => {\n if (isFunction(onBlurProp)) {\n onBlurProp(event);\n }\n },\n [onBlurProp]\n );\n\n const input = () => {\n return (\n <S.Input\n ref={forwardedRef}\n id={uniqueId}\n key={uniqueId}\n autoFocus={autoFocus}\n inputtype={inputType}\n name={name}\n readOnly={readOnly}\n disabled={disabled}\n $edit={edit}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value ?? ''}\n $type={type}\n $bold={bold}\n $haslink={!isEmpty(link)}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n />\n );\n };\n\n if (hidden) return null;\n\n return (\n <S.CompactTextInput {...props}>\n {label && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {label}\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n </S.Label>\n )}\n <S.InputContainer $hasLabel={!isEmpty(label)}>\n {!link && (\n <div onMouseLeave={toolTipOnMouseLeave}>\n <Tooltip\n content={toolTipContent}\n key=\"tooltip1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n disabled={toolTipDisabled}\n zIndex={999999}\n visible={toolTipVisible}\n >\n {input()}\n </Tooltip>\n </div>\n )}\n {link && !readOnly && (\n <div>\n <Popover\n arrow={false}\n content={\n <S.LinkPopoverContainer>\n {activeLinkHandler ? (\n <S.StyledLink\n href={link}\n target={linkTarget}\n onClick={e => {\n if (activeLinkHandler) {\n e.preventDefault();\n linkHandler();\n } else null;\n }}\n rel=\"noreferrer\"\n >\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n ) : (\n <S.StyledLink href={link} target={linkTarget} rel=\"noreferrer\">\n <LinkIcon />\n {currentValue}\n </S.StyledLink>\n )}\n </S.LinkPopoverContainer>\n }\n key=\"tooltip2\"\n placement=\"bottom-start\"\n trigger=\"focusin\"\n zIndex={999999}\n interactive={true}\n >\n {input()}\n </Popover>\n </div>\n )}\n {link && readOnly && (\n <S.ReadOnlyLinkContainer>\n <S.StyledLink\n href={link}\n rel=\"noreferrer\"\n style={{ display: 'inline-block' }}\n target={linkTarget}\n >\n {currentValue}\n </S.StyledLink>\n </S.ReadOnlyLinkContainer>\n )}\n {!readOnly && !disabled && (\n <>\n <S.InputIconContainer $type={type}>\n <EditNoteIcon />\n </S.InputIconContainer>\n {isEmpty(label) && (\n <S.InputSuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.InputSuccessContainer>\n )}\n </>\n )}\n </S.InputContainer>\n </S.CompactTextInput>\n );\n});\n\nCompactTextInput.propTypes = {\n /**\n * The label of the input field - leave `undefined` to hide the label\n */\n label: PropTypes.string,\n /**\n * Displays a light green background to show that an action was successful.\n */\n success: PropTypes.bool,\n /**\n * The input type - eg. `text`, `number`\n */\n inputType: PropTypes.string,\n /**\n * The input name\n */\n name: PropTypes.string,\n /**\n * The default value of the input - creates an uncontrolled input\n */\n defaultValue: PropTypes.string,\n /**\n * The value of the input - creates a controlled input\n */\n value: PropTypes.string,\n /**\n * The placeholder of the input\n */\n placeholder: PropTypes.string,\n /**\n * A URL associated with the input value. Creates a clickable link that accepts full or relative URL\n */\n link: PropTypes.string,\n /**\n * The target for the link. Only applies when the field is in read-only mode\n */\n linkTarget: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n /**\n * Whether the link has a onClick event.\n */\n linkHandler: PropTypes.func,\n /**\n * Whether the handler should preceed the link behavior.\n */\n activeLinkHandler: PropTypes.bool,\n /**\n * Whether to auto select the entire value when the input is focused – does also work when the field is in read-only mode\n */\n autoSelect: PropTypes.bool,\n /**\n * Whether the value is read only\n */\n readOnly: PropTypes.bool,\n /**\n * Whether the value is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * There is an error present - 'error be prioritized over warnings if both are set to 'true'.\n */\n // error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * There is a warning present.\n */\n warning: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n /**\n * Whether to bold the input content - Slightly increases the font size and font weight of the input value\n */\n bold: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Callback for `onChange`\n */\n onChange: PropTypes.func,\n /**\n * Callback for `onFocus`\n */\n onFocus: PropTypes.func,\n /**\n * Callback for `onBlur`\n */\n onBlur: PropTypes.func,\n /**\n * Define the type based on error, warning, loading and success.\n */\n type: PropTypes.oneOf(['', 'error', 'warning', 'loading', 'success']),\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Icon element – E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element – E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element\n};\n\nCompactTextInput.defaultProps = {\n inputType: 'text',\n autoSelect: true,\n linkTarget: '_self',\n bold: false,\n readOnly: false,\n descriptionToolTip: '',\n edit: false,\n hidden: false,\n type: '',\n linkHandler: () => {},\n activeLinkHandler: false,\n onChange: () => {}\n};\n\nexport default CompactTextInput;\n"],"names":["CompactTextInput","React","forwardRef","label","inputType","name","defaultValue","value","placeholder","link","linkTarget","linkHandler","activeLinkHandler","autoSelect","readOnly","disabled","edit","type","descriptionToolTip","bold","hidden","onChange","onChangeProp","onFocus","onFocusProp","onBlur","onBlurProp","loadingIcon","successIcon","props","forwardedRef","uniqueId","useState","nanoid","currentValue","setCurrentValue","autoFocus","setAutoFocus","toolTipDisabled","toolTipVisible","toolTipOnMouseLeave","toolTipContent","useTooltipAutoShow","useEffect","useCallback","event","target","isFunction","select","input","createElement","S","ref","id","key","inputtype","$edit","$type","$bold","$haslink","isEmpty","htmlFor","$hasLabel","onMouseLeave","Tooltip","content","placement","trigger","zIndex","visible","Popover","arrow","href","onClick","e","preventDefault","rel","LinkIcon","interactive","style","display","Fragment","EditNoteIcon","propTypes","process","env","NODE_ENV","PropTypes","string","success","bool","oneOf","func","warning","oneOfType","element","defaultProps"],"mappings":"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"}
@@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { MultiLevelCheckboxSelect as MultiLevelCheckboxSelect$1, PopoverContainer, PopoverHeader, SearchContainer, OptionsContainer, MultiLevelCheckboxSelectInput, Label, Placeholder, Item, ItemLabel, ItemRemoveButton } from './MultiLevelCheckboxSelect.styled.js';
5
5
  import '../../data/Alert/Alert.js';
6
6
  import '../../data/Badge/Badge.js';
7
+ import '../../data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js';
7
8
  import Popover from '../../data/Popover/Popover.js';
8
9
  import '../../data/Tab/Tab.js';
9
10
  import '../../data/Tabs/Tabs.js';
@@ -1 +1 @@
1
- {"version":3,"file":"MultiLevelCheckboxSelect.js","sources":["../../../src/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './MultiLevelCheckboxSelect.styled';\nimport { Popover } from '../../data';\nimport MultiLevelCheckbox from '../MultiLevelCheckbox';\nimport TextInput from '../TextInput';\nimport { SectionSeparator } from '../../layout';\nimport { ReactComponent as SearchIcon } from '../../../icons/search.svg';\nimport { ReactComponent as CloseIcon } from '../../../icons/close.svg';\nimport { findChildValues, NodeType } from '../MultiLevelCheckbox';\nimport { useEventListener } from '../../../hooks/useEventListner';\nimport { useOnClickOutside } from '../../../hooks/useOnClickOutside';\nimport useUpdateEffect from '@restart/hooks/useUpdateEffect';\nimport { isFunction } from 'lodash';\n\n/**\n * MultiLevelCheckboxSelect allow the user to select one or more items from a nested set into a MultiSelect-styled input.\n *\n * This component is controlled which means that the consumer will have to keep track of what options are selected. The selected options should be provided to the `checked`-prop. On any selection or deselection onChange will be called with an updated `checked`-list.\n *\n * ### Import\n *\n * ```js\n * import { MultiLevelCheckboxSelect } from '@ntbjs/react-components/inputs'\n * // or\n * import MultiLevelCheckboxSelect from '@ntbjs/react-components/inputs/MultiLevelCheckboxSelect'\n * ```\n */\nconst MultiLevelCheckboxSelect = React.forwardRef(function MultiLevelCheckboxSelect(\n {\n label,\n options,\n checked: checkedProp,\n placeholder,\n noResultsText,\n onChange,\n onParentChange,\n ...props\n },\n forwardedRef\n) {\n const inputRef = useRef(null);\n const popoverContentRef = useRef(null);\n const searchInputRef = useRef(null);\n const [searchString, setSearchString] = useState('');\n const [open, setOpen] = useState(false);\n\n const handleClickInside = useCallback(() => {\n setOpen(true);\n searchInputRef.current?.focus();\n }, []);\n\n const handleKeyDown = useCallback(\n event => {\n if (!open) return;\n if (event.key === 'Escape') {\n setOpen(false);\n }\n },\n [open]\n );\n\n useEventListener('focus', handleClickInside, inputRef);\n useEventListener('mousedown', handleClickInside, inputRef);\n useEventListener('keydown', handleKeyDown);\n\n const handleClickOutside = event => {\n if (\n popoverContentRef?.current === event.target ||\n popoverContentRef?.current?.contains(event.target)\n ) {\n return;\n }\n setOpen(false);\n };\n\n useOnClickOutside(inputRef, handleClickOutside);\n\n const checked = useMemo(() => {\n const checkedParents = [];\n\n function iterate(nodes) {\n nodes.forEach(node => {\n if (checkedProp.includes(node.value)) {\n return checkedParents.push(node.value);\n }\n\n if (node.children) {\n iterate(node.children);\n }\n });\n }\n\n iterate(options);\n return checkedParents.sort();\n }, [JSON.stringify(options), JSON.stringify(checkedProp)]);\n\n const getLabelByValue = useCallback(\n (targetValue, nodes = options) => {\n for (const node of nodes) {\n if (node.value === targetValue) {\n return node.label;\n }\n\n if (node.children) {\n const result = getLabelByValue(targetValue, node.children);\n if (result) {\n return result;\n }\n }\n }\n\n return null; // Return null if the value is not found in the array\n },\n [options]\n );\n\n const removeItem = useCallback(\n value => {\n let node = null;\n\n function findNodeByValue(options, value) {\n for (let i = 0; i < options.length; i++) {\n if (options[i].value === value) {\n node = options[i];\n break; // This will exit the loop when the condition is met\n }\n\n if (options[i].children) {\n findNodeByValue(options[i].children, value);\n }\n }\n }\n\n findNodeByValue(options, value);\n\n if (node) {\n const childValues = findChildValues(node);\n const valuesToRemove = [value, ...childValues];\n onChange(checkedProp.filter(value => !valuesToRemove.includes(value)));\n }\n },\n [options, checkedProp]\n );\n\n useUpdateEffect(() => {\n if (isFunction(onParentChange)) {\n onParentChange(checked);\n }\n }, [checked]);\n\n return (\n <S.MultiLevelCheckboxSelect ref={forwardedRef} {...props}>\n <Popover\n visible={open}\n arrow={false}\n placement={'bottom'}\n offset={[0, 6]}\n modifiers={[\n {\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }\n }\n ]}\n content={\n <S.PopoverContainer ref={popoverContentRef}>\n <S.PopoverHeader>\n <S.SearchContainer>\n <TextInput\n ref={searchInputRef}\n onBlur={e => {\n if (open) {\n e.target.focus();\n }\n }}\n icon={<SearchIcon />}\n value={searchString}\n onChange={e => setSearchString(e.target.value)}\n />\n </S.SearchContainer>\n <SectionSeparator />\n </S.PopoverHeader>\n <S.OptionsContainer>\n <MultiLevelCheckbox\n options={options}\n checked={checkedProp}\n search={searchString}\n noResultsText={noResultsText}\n onChange={onChange}\n />\n </S.OptionsContainer>\n </S.PopoverContainer>\n }\n >\n <S.MultiLevelCheckboxSelectInput tabIndex=\"0\" ref={inputRef}>\n {label && <S.Label>{label}</S.Label>}\n {checked.length === 0 && <S.Placeholder>{placeholder}</S.Placeholder>}\n {checked.map(option => (\n <S.Item key={option}>\n <S.ItemLabel>{getLabelByValue(option)}</S.ItemLabel>\n <S.ItemRemoveButton\n onClick={() => {\n removeItem(option);\n }}\n >\n <CloseIcon />\n </S.ItemRemoveButton>\n </S.Item>\n ))}\n </S.MultiLevelCheckboxSelectInput>\n </Popover>\n </S.MultiLevelCheckboxSelect>\n );\n});\n\nMultiLevelCheckboxSelect.propTypes = {\n /**\n * Label text for the MultiLevelCheckbox\n */\n label: PropTypes.string,\n /**\n * The placeholder of the input. Text to be displayed on the input element when the component is enabled and not focused – e.g. \"Select categories...\"\n */\n placeholder: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.arrayOf(NodeType)\n })\n ).isRequired,\n\n /**\n * Array of checked option values\n */\n checked: PropTypes.array.isRequired,\n\n /**\n * Optional text to display when no results are found while searching.`\n */\n noResultsText: PropTypes.string,\n\n /**\n * Callback function for the `onChange` event\n */\n onChange: PropTypes.func.isRequired,\n\n /**\n * Callback function for the `onChange` event – returns only the checked parents\n */\n onParentChange: PropTypes.func\n};\n\nMultiLevelCheckboxSelect.defaultProps = {\n checked: []\n};\n\nexport default MultiLevelCheckboxSelect;\n"],"names":["MultiLevelCheckboxSelect","React","forwardRef","label","options","checked","checkedProp","placeholder","noResultsText","onChange","onParentChange","props","forwardedRef","inputRef","useRef","popoverContentRef","searchInputRef","searchString","setSearchString","useState","open","setOpen","handleClickInside","useCallback","current","focus","handleKeyDown","event","key","useEventListener","handleClickOutside","target","contains","useOnClickOutside","useMemo","checkedParents","iterate","nodes","forEach","node","includes","value","push","children","sort","JSON","stringify","getLabelByValue","targetValue","result","removeItem","findNodeByValue","i","length","childValues","findChildValues","valuesToRemove","filter","useUpdateEffect","isFunction","createElement","S","_extends","ref","Popover","visible","arrow","placement","offset","modifiers","name","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","style","offsetWidth","content","TextInput","onBlur","e","icon","SearchIcon","SectionSeparator","MultiLevelCheckbox","search","tabIndex","map","option","onClick","CloseIcon","propTypes","process","env","NODE_ENV","PropTypes","string","arrayOf","shape","isRequired","any","NodeType","array","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"MultiLevelCheckboxSelect.js","sources":["../../../src/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './MultiLevelCheckboxSelect.styled';\nimport { Popover } from '../../data';\nimport MultiLevelCheckbox from '../MultiLevelCheckbox';\nimport TextInput from '../TextInput';\nimport { SectionSeparator } from '../../layout';\nimport { ReactComponent as SearchIcon } from '../../../icons/search.svg';\nimport { ReactComponent as CloseIcon } from '../../../icons/close.svg';\nimport { findChildValues, NodeType } from '../MultiLevelCheckbox';\nimport { useEventListener } from '../../../hooks/useEventListner';\nimport { useOnClickOutside } from '../../../hooks/useOnClickOutside';\nimport useUpdateEffect from '@restart/hooks/useUpdateEffect';\nimport { isFunction } from 'lodash';\n\n/**\n * MultiLevelCheckboxSelect allow the user to select one or more items from a nested set into a MultiSelect-styled input.\n *\n * This component is controlled which means that the consumer will have to keep track of what options are selected. The selected options should be provided to the `checked`-prop. On any selection or deselection onChange will be called with an updated `checked`-list.\n *\n * ### Import\n *\n * ```js\n * import { MultiLevelCheckboxSelect } from '@ntbjs/react-components/inputs'\n * // or\n * import MultiLevelCheckboxSelect from '@ntbjs/react-components/inputs/MultiLevelCheckboxSelect'\n * ```\n */\nconst MultiLevelCheckboxSelect = React.forwardRef(function MultiLevelCheckboxSelect(\n {\n label,\n options,\n checked: checkedProp,\n placeholder,\n noResultsText,\n onChange,\n onParentChange,\n ...props\n },\n forwardedRef\n) {\n const inputRef = useRef(null);\n const popoverContentRef = useRef(null);\n const searchInputRef = useRef(null);\n const [searchString, setSearchString] = useState('');\n const [open, setOpen] = useState(false);\n\n const handleClickInside = useCallback(() => {\n setOpen(true);\n searchInputRef.current?.focus();\n }, []);\n\n const handleKeyDown = useCallback(\n event => {\n if (!open) return;\n if (event.key === 'Escape') {\n setOpen(false);\n }\n },\n [open]\n );\n\n useEventListener('focus', handleClickInside, inputRef);\n useEventListener('mousedown', handleClickInside, inputRef);\n useEventListener('keydown', handleKeyDown);\n\n const handleClickOutside = event => {\n if (\n popoverContentRef?.current === event.target ||\n popoverContentRef?.current?.contains(event.target)\n ) {\n return;\n }\n setOpen(false);\n };\n\n useOnClickOutside(inputRef, handleClickOutside);\n\n const checked = useMemo(() => {\n const checkedParents = [];\n\n function iterate(nodes) {\n nodes.forEach(node => {\n if (checkedProp.includes(node.value)) {\n return checkedParents.push(node.value);\n }\n\n if (node.children) {\n iterate(node.children);\n }\n });\n }\n\n iterate(options);\n return checkedParents.sort();\n }, [JSON.stringify(options), JSON.stringify(checkedProp)]);\n\n const getLabelByValue = useCallback(\n (targetValue, nodes = options) => {\n for (const node of nodes) {\n if (node.value === targetValue) {\n return node.label;\n }\n\n if (node.children) {\n const result = getLabelByValue(targetValue, node.children);\n if (result) {\n return result;\n }\n }\n }\n\n return null; // Return null if the value is not found in the array\n },\n [options]\n );\n\n const removeItem = useCallback(\n value => {\n let node = null;\n\n function findNodeByValue(options, value) {\n for (let i = 0; i < options.length; i++) {\n if (options[i].value === value) {\n node = options[i];\n break; // This will exit the loop when the condition is met\n }\n\n if (options[i].children) {\n findNodeByValue(options[i].children, value);\n }\n }\n }\n\n findNodeByValue(options, value);\n\n if (node) {\n const childValues = findChildValues(node);\n const valuesToRemove = [value, ...childValues];\n onChange(checkedProp.filter(value => !valuesToRemove.includes(value)));\n }\n },\n [options, checkedProp]\n );\n\n useUpdateEffect(() => {\n if (isFunction(onParentChange)) {\n onParentChange(checked);\n }\n }, [checked]);\n\n return (\n <S.MultiLevelCheckboxSelect ref={forwardedRef} {...props}>\n <Popover\n visible={open}\n arrow={false}\n placement={'bottom'}\n offset={[0, 6]}\n modifiers={[\n {\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n effect: ({ state }) => {\n state.elements.popper.style.width = `${state.elements.reference.offsetWidth}px`;\n }\n }\n ]}\n content={\n <S.PopoverContainer ref={popoverContentRef}>\n <S.PopoverHeader>\n <S.SearchContainer>\n <TextInput\n ref={searchInputRef}\n onBlur={e => {\n if (open) {\n e.target.focus();\n }\n }}\n icon={<SearchIcon />}\n value={searchString}\n onChange={e => setSearchString(e.target.value)}\n />\n </S.SearchContainer>\n <SectionSeparator />\n </S.PopoverHeader>\n <S.OptionsContainer>\n <MultiLevelCheckbox\n options={options}\n checked={checkedProp}\n search={searchString}\n noResultsText={noResultsText}\n onChange={onChange}\n />\n </S.OptionsContainer>\n </S.PopoverContainer>\n }\n >\n <S.MultiLevelCheckboxSelectInput tabIndex=\"0\" ref={inputRef}>\n {label && <S.Label>{label}</S.Label>}\n {checked.length === 0 && <S.Placeholder>{placeholder}</S.Placeholder>}\n {checked.map(option => (\n <S.Item key={option}>\n <S.ItemLabel>{getLabelByValue(option)}</S.ItemLabel>\n <S.ItemRemoveButton\n onClick={() => {\n removeItem(option);\n }}\n >\n <CloseIcon />\n </S.ItemRemoveButton>\n </S.Item>\n ))}\n </S.MultiLevelCheckboxSelectInput>\n </Popover>\n </S.MultiLevelCheckboxSelect>\n );\n});\n\nMultiLevelCheckboxSelect.propTypes = {\n /**\n * Label text for the MultiLevelCheckbox\n */\n label: PropTypes.string,\n /**\n * The placeholder of the input. Text to be displayed on the input element when the component is enabled and not focused – e.g. \"Select categories...\"\n */\n placeholder: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.any.isRequired,\n children: PropTypes.arrayOf(NodeType)\n })\n ).isRequired,\n\n /**\n * Array of checked option values\n */\n checked: PropTypes.array.isRequired,\n\n /**\n * Optional text to display when no results are found while searching.`\n */\n noResultsText: PropTypes.string,\n\n /**\n * Callback function for the `onChange` event\n */\n onChange: PropTypes.func.isRequired,\n\n /**\n * Callback function for the `onChange` event – returns only the checked parents\n */\n onParentChange: PropTypes.func\n};\n\nMultiLevelCheckboxSelect.defaultProps = {\n checked: []\n};\n\nexport default MultiLevelCheckboxSelect;\n"],"names":["MultiLevelCheckboxSelect","React","forwardRef","label","options","checked","checkedProp","placeholder","noResultsText","onChange","onParentChange","props","forwardedRef","inputRef","useRef","popoverContentRef","searchInputRef","searchString","setSearchString","useState","open","setOpen","handleClickInside","useCallback","current","focus","handleKeyDown","event","key","useEventListener","handleClickOutside","target","contains","useOnClickOutside","useMemo","checkedParents","iterate","nodes","forEach","node","includes","value","push","children","sort","JSON","stringify","getLabelByValue","targetValue","result","removeItem","findNodeByValue","i","length","childValues","findChildValues","valuesToRemove","filter","useUpdateEffect","isFunction","createElement","S","_extends","ref","Popover","visible","arrow","placement","offset","modifiers","name","enabled","phase","requires","fn","state","styles","popper","width","rects","reference","effect","elements","style","offsetWidth","content","TextInput","onBlur","e","icon","SearchIcon","SectionSeparator","MultiLevelCheckbox","search","tabIndex","map","option","onClick","CloseIcon","propTypes","process","env","NODE_ENV","PropTypes","string","arrayOf","shape","isRequired","any","NodeType","array","func","defaultProps"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { nanoid } from 'nanoid';
7
7
  import PropTypes from 'prop-types';
8
8
  import '../../data/Alert/Alert.js';
9
9
  import '../../data/Badge/Badge.js';
10
+ import '../../data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js';
10
11
  import '../../data/Popover/Popover.js';
11
12
  import '../../data/Tab/Tab.js';
12
13
  import '../../data/Tabs/Tabs.js';
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/inputs/TextArea/TextArea.js"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport useTooltipAutoShow from '../../../hooks/useTooltipAutoShow';\n\nimport { isEmpty } from 'lodash';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport { Tooltip } from '../../data';\n\nimport { ReactComponent as EditNoteIcon } from '../../../icons/edit-note.svg';\nimport * as S from './TextArea.styled';\n\n/**\n * Text areas let users enter and edit text in the UI. They typically appear in forms and dialogs.\n *\n * ### Import\n *\n * ``` js\n * import { TextArea } from '@ntbjs/react-components/inputs'\n * // or\n * import TextArea from '@ntbjs/react-components/inputs/TextArea'\n * ```\n */\nconst TextArea = React.forwardRef(function TextArea(\n {\n value,\n defaultValue,\n name,\n label,\n placeholder,\n required,\n disabled,\n hidden,\n readOnly,\n edit,\n autoComplete,\n description,\n type,\n icon,\n rows,\n className,\n style,\n onChange,\n onBlur,\n noBorder,\n loadingIcon,\n successIcon,\n padding,\n descriptionToolTip,\n borderRadius,\n fieldLabel,\n ...rest\n },\n forwardedRef\n) {\n const textInputDomNode = useRef(null);\n const textInputRef = useMergedRefs(forwardedRef, textInputDomNode);\n\n const [inputIsEmpty, setInputIsEmpty] = useState(!(value || defaultValue));\n const [autoFocus, setAutoFocus] = useState(false);\n\n const [uniqueId] = useState(nanoid());\n\n const { toolTipDisabled, toolTipVisible, toolTipOnMouseLeave, toolTipContent } =\n useTooltipAutoShow(descriptionToolTip);\n\n useEffect(() => {\n setAutoFocus(false);\n }, [value, defaultValue]);\n\n const onKeyDown = useCallback(event => {\n if (event.key === 'Enter') {\n event.stopPropagation();\n }\n }, []);\n\n const input = () => {\n return (\n <S.TextAreaContainter>\n {fieldLabel && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {fieldLabel}\n <S.SuccessContainerLabel>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainerLabel>\n </S.Label>\n )}\n <S.TextInput\n $fieldLabel={!isEmpty(fieldLabel)}\n disabled={disabled}\n readOnly={readOnly}\n $type={type}\n className={className}\n style={style}\n >\n <S.TextInputFieldIconAlert $type={type}>{icon}</S.TextInputFieldIconAlert>\n <S.TextInputField\n autoFocus={autoFocus}\n $borderRadius={borderRadius}\n ref={textInputRef}\n rows={rows}\n value={value}\n defaultValue={defaultValue}\n name={name}\n placeholder={placeholder || ' '}\n required={required}\n readOnly={readOnly}\n disabled={disabled}\n $edit={edit}\n $type={type}\n autoComplete={autoComplete}\n $hasIcon={Boolean(icon)}\n id={`text-input-${uniqueId}`}\n key={uniqueId}\n $padding={padding}\n onChange={e => {\n if (e.target.value) {\n setInputIsEmpty(false);\n if (!autoFocus) {\n setAutoFocus(true);\n }\n } else {\n setInputIsEmpty(true);\n if (!autoFocus) {\n setAutoFocus(true);\n }\n }\n onChange(e);\n }}\n onKeyDown={onKeyDown}\n onBlur={onBlur}\n $noBorder={noBorder}\n {...rest}\n />\n {!fieldLabel && (type === 'loading' || type === 'success') && (\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n )}\n {!readOnly && (edit || noBorder) && (\n <S.InputIconContainer disabled={disabled}>\n <EditNoteIcon className={padding === 'small' ? 'smallPadingIcon' : undefined} />\n </S.InputIconContainer>\n )}\n {label && (\n <S.TextInputLabel\n htmlFor={`text-input-${uniqueId}`}\n $hasPlaceholder={Boolean(placeholder)}\n $hasIcon={Boolean(icon)}\n $inputIsEmpty={inputIsEmpty}\n >\n {label}\n {required && ' *'}\n </S.TextInputLabel>\n )}\n {typeof description === 'string' && description.length > 0 && (\n <S.Description $type={type}>{description}</S.Description>\n )}\n </S.TextInput>\n </S.TextAreaContainter>\n );\n };\n\n if (hidden) return null;\n\n return (\n <>\n <div onMouseLeave={toolTipOnMouseLeave}>\n <Tooltip\n content={toolTipContent}\n key=\"tooltipTextArea1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n disabled={toolTipDisabled}\n zIndex={999999}\n visible={toolTipVisible}\n >\n {input()}\n </Tooltip>\n </div>\n </>\n );\n});\n\nTextArea.defaultProps = {\n rows: 4,\n noBorder: false,\n readOnly: false,\n edit: false,\n hidden: false,\n type: '',\n padding: 'medium',\n descriptionToolTip: '',\n onChange: () => {},\n borderRadius: 0\n};\n\nTextArea.propTypes = {\n /**\n * Value to be sent. Typically the content of the text area.\n */\n value: PropTypes.string,\n\n /**\n * Default value/text to be displayed in the text area by default.\n */\n defaultValue: PropTypes.string,\n\n /**\n * Name of the text area (used when sending form data)\n */\n name: PropTypes.string,\n\n /**\n * Label text for the text area. If the text area is empty (no input and no placeholder)\n * and isn't in focus, the label text will be displayed grayed out in the text area itself.\n * Otherwise, the label text will be displayed in the top left corner.\n */\n label: PropTypes.string,\n\n /**\n * Field Label text for the text area field. I\n */\n fieldLabel: PropTypes.string,\n\n /**\n * Placeholder text to be displayed if the text area is empty (no input)\n */\n placeholder: PropTypes.string,\n\n /**\n * Whether the user is required to fill in the text area\n */\n required: PropTypes.bool,\n\n /**\n * Whether the text area is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Whether the text area is read-only\n */\n readOnly: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * ?\n */\n autoComplete: PropTypes.string,\n /**\n * Descriptive text displayed below the text area\n */\n description: PropTypes.string,\n\n /**\n * Optional icon to be displayed left of the text inside the text area\n */\n icon: PropTypes.element,\n /**\n * How many rows/lines of text to be displayed by default\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Add custom class names to the HTML element\n */\n className: PropTypes.string,\n /**\n * Add custom CSS styling\n */\n style: PropTypes.object,\n /**\n * Add padding (small-medium-large)\n */\n padding: PropTypes.oneOf(['small', 'medium', 'large']),\n /**\n * Optional callback function for the `onChange` event\n */\n onChange: PropTypes.func,\n /**\n * Optional callback function for the `onBlur` event\n */\n onBlur: PropTypes.func,\n noBorder: PropTypes.bool,\n // warningAlert: PropTypes.bool,\n // errorAlert: PropTypes.bool,\n /**\n * Define the type based on error,error-border , warning, loading and success.\n */\n type: PropTypes.oneOf([\n '',\n 'error',\n 'error-border',\n 'warning-border',\n 'warning',\n 'loading',\n 'success'\n ]),\n /**\n * Icon element â€\" E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element â€\" E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element,\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Border Radius for rounded borders.\n */\n borderRadius: PropTypes.number\n};\n\nexport default TextArea;\n"],"names":["TextArea","React","forwardRef","value","defaultValue","name","label","placeholder","required","disabled","hidden","readOnly","edit","autoComplete","description","type","icon","rows","className","style","onChange","onBlur","noBorder","loadingIcon","successIcon","padding","descriptionToolTip","borderRadius","fieldLabel","rest","forwardedRef","textInputDomNode","useRef","textInputRef","useMergedRefs","inputIsEmpty","setInputIsEmpty","useState","autoFocus","setAutoFocus","uniqueId","nanoid","toolTipDisabled","toolTipVisible","toolTipOnMouseLeave","toolTipContent","useTooltipAutoShow","useEffect","onKeyDown","useCallback","event","key","stopPropagation","input","createElement","S","htmlFor","$fieldLabel","isEmpty","$type","_extends","$borderRadius","ref","$edit","$hasIcon","Boolean","id","$padding","e","target","$noBorder","EditNoteIcon","undefined","$hasPlaceholder","$inputIsEmpty","length","Fragment","onMouseLeave","Tooltip","content","placement","trigger","zIndex","visible","defaultProps","propTypes","process","env","NODE_ENV","PropTypes","string","bool","element","oneOfType","number","object","oneOf","func"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/inputs/TextArea/TextArea.js"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport useTooltipAutoShow from '../../../hooks/useTooltipAutoShow';\n\nimport { isEmpty } from 'lodash';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\nimport { Tooltip } from '../../data';\n\nimport { ReactComponent as EditNoteIcon } from '../../../icons/edit-note.svg';\nimport * as S from './TextArea.styled';\n\n/**\n * Text areas let users enter and edit text in the UI. They typically appear in forms and dialogs.\n *\n * ### Import\n *\n * ``` js\n * import { TextArea } from '@ntbjs/react-components/inputs'\n * // or\n * import TextArea from '@ntbjs/react-components/inputs/TextArea'\n * ```\n */\nconst TextArea = React.forwardRef(function TextArea(\n {\n value,\n defaultValue,\n name,\n label,\n placeholder,\n required,\n disabled,\n hidden,\n readOnly,\n edit,\n autoComplete,\n description,\n type,\n icon,\n rows,\n className,\n style,\n onChange,\n onBlur,\n noBorder,\n loadingIcon,\n successIcon,\n padding,\n descriptionToolTip,\n borderRadius,\n fieldLabel,\n ...rest\n },\n forwardedRef\n) {\n const textInputDomNode = useRef(null);\n const textInputRef = useMergedRefs(forwardedRef, textInputDomNode);\n\n const [inputIsEmpty, setInputIsEmpty] = useState(!(value || defaultValue));\n const [autoFocus, setAutoFocus] = useState(false);\n\n const [uniqueId] = useState(nanoid());\n\n const { toolTipDisabled, toolTipVisible, toolTipOnMouseLeave, toolTipContent } =\n useTooltipAutoShow(descriptionToolTip);\n\n useEffect(() => {\n setAutoFocus(false);\n }, [value, defaultValue]);\n\n const onKeyDown = useCallback(event => {\n if (event.key === 'Enter') {\n event.stopPropagation();\n }\n }, []);\n\n const input = () => {\n return (\n <S.TextAreaContainter>\n {fieldLabel && (\n <S.Label htmlFor={uniqueId} disabled={disabled}>\n {fieldLabel}\n <S.SuccessContainerLabel>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainerLabel>\n </S.Label>\n )}\n <S.TextInput\n $fieldLabel={!isEmpty(fieldLabel)}\n disabled={disabled}\n readOnly={readOnly}\n $type={type}\n className={className}\n style={style}\n >\n <S.TextInputFieldIconAlert $type={type}>{icon}</S.TextInputFieldIconAlert>\n <S.TextInputField\n autoFocus={autoFocus}\n $borderRadius={borderRadius}\n ref={textInputRef}\n rows={rows}\n value={value}\n defaultValue={defaultValue}\n name={name}\n placeholder={placeholder || ' '}\n required={required}\n readOnly={readOnly}\n disabled={disabled}\n $edit={edit}\n $type={type}\n autoComplete={autoComplete}\n $hasIcon={Boolean(icon)}\n id={`text-input-${uniqueId}`}\n key={uniqueId}\n $padding={padding}\n onChange={e => {\n if (e.target.value) {\n setInputIsEmpty(false);\n if (!autoFocus) {\n setAutoFocus(true);\n }\n } else {\n setInputIsEmpty(true);\n if (!autoFocus) {\n setAutoFocus(true);\n }\n }\n onChange(e);\n }}\n onKeyDown={onKeyDown}\n onBlur={onBlur}\n $noBorder={noBorder}\n {...rest}\n />\n {!fieldLabel && (type === 'loading' || type === 'success') && (\n <S.SuccessContainer>\n {type === 'loading' && loadingIcon}\n {type === 'success' && successIcon}\n </S.SuccessContainer>\n )}\n {!readOnly && (edit || noBorder) && (\n <S.InputIconContainer disabled={disabled}>\n <EditNoteIcon className={padding === 'small' ? 'smallPadingIcon' : undefined} />\n </S.InputIconContainer>\n )}\n {label && (\n <S.TextInputLabel\n htmlFor={`text-input-${uniqueId}`}\n $hasPlaceholder={Boolean(placeholder)}\n $hasIcon={Boolean(icon)}\n $inputIsEmpty={inputIsEmpty}\n >\n {label}\n {required && ' *'}\n </S.TextInputLabel>\n )}\n {typeof description === 'string' && description.length > 0 && (\n <S.Description $type={type}>{description}</S.Description>\n )}\n </S.TextInput>\n </S.TextAreaContainter>\n );\n };\n\n if (hidden) return null;\n\n return (\n <>\n <div onMouseLeave={toolTipOnMouseLeave}>\n <Tooltip\n content={toolTipContent}\n key=\"tooltipTextArea1\"\n placement=\"bottom-end\"\n trigger={'mouseenter'}\n disabled={toolTipDisabled}\n zIndex={999999}\n visible={toolTipVisible}\n >\n {input()}\n </Tooltip>\n </div>\n </>\n );\n});\n\nTextArea.defaultProps = {\n rows: 4,\n noBorder: false,\n readOnly: false,\n edit: false,\n hidden: false,\n type: '',\n padding: 'medium',\n descriptionToolTip: '',\n onChange: () => {},\n borderRadius: 0\n};\n\nTextArea.propTypes = {\n /**\n * Value to be sent. Typically the content of the text area.\n */\n value: PropTypes.string,\n\n /**\n * Default value/text to be displayed in the text area by default.\n */\n defaultValue: PropTypes.string,\n\n /**\n * Name of the text area (used when sending form data)\n */\n name: PropTypes.string,\n\n /**\n * Label text for the text area. If the text area is empty (no input and no placeholder)\n * and isn't in focus, the label text will be displayed grayed out in the text area itself.\n * Otherwise, the label text will be displayed in the top left corner.\n */\n label: PropTypes.string,\n\n /**\n * Field Label text for the text area field. I\n */\n fieldLabel: PropTypes.string,\n\n /**\n * Placeholder text to be displayed if the text area is empty (no input)\n */\n placeholder: PropTypes.string,\n\n /**\n * Whether the user is required to fill in the text area\n */\n required: PropTypes.bool,\n\n /**\n * Whether the text area is disabled\n */\n disabled: PropTypes.bool,\n /**\n * Whether the component is hidden or visible.\n */\n hidden: PropTypes.bool,\n /**\n * Whether the text area is read-only\n */\n readOnly: PropTypes.bool,\n /**\n * Displays a grey background to show that value is editable\n */\n edit: PropTypes.bool,\n /**\n * ?\n */\n autoComplete: PropTypes.string,\n /**\n * Descriptive text displayed below the text area\n */\n description: PropTypes.string,\n\n /**\n * Optional icon to be displayed left of the text inside the text area\n */\n icon: PropTypes.element,\n /**\n * How many rows/lines of text to be displayed by default\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Add custom class names to the HTML element\n */\n className: PropTypes.string,\n /**\n * Add custom CSS styling\n */\n style: PropTypes.object,\n /**\n * Add padding (small-medium-large)\n */\n padding: PropTypes.oneOf(['small', 'medium', 'large']),\n /**\n * Optional callback function for the `onChange` event\n */\n onChange: PropTypes.func,\n /**\n * Optional callback function for the `onBlur` event\n */\n onBlur: PropTypes.func,\n noBorder: PropTypes.bool,\n // warningAlert: PropTypes.bool,\n // errorAlert: PropTypes.bool,\n /**\n * Define the type based on error,error-border , warning, loading and success.\n */\n type: PropTypes.oneOf([\n '',\n 'error',\n 'error-border',\n 'warning-border',\n 'warning',\n 'loading',\n 'success'\n ]),\n /**\n * Icon element â€\" E.g: `icon={<Spinner />}`\n */\n loadingIcon: PropTypes.element,\n /**\n * Icon element â€\" E.g: `icon={<Check />}`\n */\n successIcon: PropTypes.element,\n /**\n * Description ToolTip text.\n */\n descriptionToolTip: PropTypes.string,\n /**\n * Border Radius for rounded borders.\n */\n borderRadius: PropTypes.number\n};\n\nexport default TextArea;\n"],"names":["TextArea","React","forwardRef","value","defaultValue","name","label","placeholder","required","disabled","hidden","readOnly","edit","autoComplete","description","type","icon","rows","className","style","onChange","onBlur","noBorder","loadingIcon","successIcon","padding","descriptionToolTip","borderRadius","fieldLabel","rest","forwardedRef","textInputDomNode","useRef","textInputRef","useMergedRefs","inputIsEmpty","setInputIsEmpty","useState","autoFocus","setAutoFocus","uniqueId","nanoid","toolTipDisabled","toolTipVisible","toolTipOnMouseLeave","toolTipContent","useTooltipAutoShow","useEffect","onKeyDown","useCallback","event","key","stopPropagation","input","createElement","S","htmlFor","$fieldLabel","isEmpty","$type","_extends","$borderRadius","ref","$edit","$hasIcon","Boolean","id","$padding","e","target","$noBorder","EditNoteIcon","undefined","$hasPlaceholder","$inputIsEmpty","length","Fragment","onMouseLeave","Tooltip","content","placement","trigger","zIndex","visible","defaultProps","propTypes","process","env","NODE_ENV","PropTypes","string","bool","element","oneOfType","number","object","oneOf","func"],"mappings":"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"}
@@ -12,6 +12,7 @@ import { ReactComponent as SvgWarningCircle } from '../../../../icons/warning-ci
12
12
  import { convertMsToHMS } from '../../../../utils/dateTime.js';
13
13
  import '../../../../data/Alert/Alert.js';
14
14
  import Badge from '../../../../data/Badge/Badge.js';
15
+ import '../../../../data/InstructionsSeverityDisplay/InstructionsSeverityDisplay.js';
15
16
  import '../../../../data/Popover/Popover.js';
16
17
  import '../../../../data/Tab/Tab.js';
17
18
  import '../../../../data/Tabs/Tabs.js';
@@ -19,7 +20,7 @@ import '../../../../data/Tooltip/Tooltip.js';
19
20
  import '../../../../data/VerificationStatusIcon/VerificationStatusIcon.js';
20
21
  import SummaryCard from '../../../SummaryCard/SummaryCard.js';
21
22
  import { assetShapeWithLayout } from '../../asset.propType.js';
22
- import { AssetGalleryWrapper, AssetGalleryCompactCard as AssetGalleryCompactCard$2, Reference, Overlay, OverlayBackdrop, OverlayInfoTopActions, OverlayInfo, OverlayInfoTop, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlayInfoBottom, OverlayInfoBottomSelectButton, OverlayInfoBottomMediaIcon, OverlayCompleted, OverlayHasError, OverlaySelected, StyledFloatingArrow, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop } from './AssetGalleryCompactCard.styled.js';
23
+ import { AssetGalleryWrapper, AssetGalleryCompactCard as AssetGalleryCompactCard$2, Reference, Overlay, OverlayBackdrop, OverlayInfoTopActions, StatusIcon, VisibleOnHover, OverlayInfo, OverlayInfoTop, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlayInfoBottom, OverlayInfoBottomSelectButton, OverlayInfoBottomMediaIcon, OverlayCompleted, OverlayHasError, OverlaySelected, StyledFloatingArrow, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop } from './AssetGalleryCompactCard.styled.js';
23
24
  import { useFloating, autoUpdate, offset, flip, shift, arrow, useTransitionStyles, useHover, useDismiss, useInteractions, useMergeRefs } from '@floating-ui/react';
24
25
  import AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase.js';
25
26
 
@@ -342,12 +343,10 @@ const AssetGalleryCompactCard = props => {
342
343
  }, getReferenceProps()), React__default.createElement(OverlayBackdrop, {
343
344
  $softSelected: softSelected,
344
345
  selected: selected
345
- }), asset?.actions && React__default.createElement(OverlayInfoTopActions, {
346
- $isOverlayHovered: isOverlayHovered
347
- }, React__default.createElement(AssetActionsBase, {
346
+ }), (asset?.statusIcon || asset?.actions) && React__default.createElement(OverlayInfoTopActions, null, asset.statusIcon && React__default.createElement(StatusIcon, null, asset.statusIcon), asset?.actions && React__default.createElement(React__default.Fragment, null, React__default.createElement(VisibleOnHover, null, React__default.createElement(AssetActionsBase, {
348
347
  actions: asset.actions,
349
348
  asset: asset
350
- })), React__default.createElement(OverlayInfo, null, isOverlayHovered && React__default.createElement("span", null, asset.title), React__default.createElement(OverlayInfoTop, null, React__default.createElement(OverlayInfoTopLeft, {
349
+ })))), React__default.createElement(OverlayInfo, null, isOverlayHovered && React__default.createElement("span", null, asset.title), React__default.createElement(OverlayInfoTop, null, React__default.createElement(OverlayInfoTopLeft, {
351
350
  $collapseExtraInfo: collapseExtraInfo
352
351
  }, renderBadge()), asset?.note?.title && React__default.createElement(OverlayInfoTopWarning, {
353
352
  type: asset?.note?.type
@@ -404,7 +403,7 @@ AssetGalleryCompactCard.propTypes = process.env.NODE_ENV !== "production" ? {
404
403
  displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])
405
404
  } : {};
406
405
  var AssetGalleryCompactCard$1 = trackWindowScroll(React__default.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {
407
- const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'hasHeightAndWidth', 'collapseExtraInfo'];
406
+ const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'asset.statusIcon', 'hasHeightAndWidth', 'collapseExtraInfo'];
408
407
  return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));
409
408
  }));
410
409