@ntbjs/react-components 2.0.14 → 2.0.15-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/data/LiveBadge/LiveBadge.js +67 -0
- package/build/data/LiveBadge/LiveBadge.js.map +1 -0
- package/build/data/Tab/Tab.js +2 -1
- package/build/data/Tab/Tab.js.map +1 -1
- package/build/data/Tabs/Tabs.js +11 -3
- package/build/data/Tabs/Tabs.js.map +1 -1
- package/build/data/index.js +1 -0
- package/build/data/index.js.map +1 -1
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +1 -0
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
- package/build/inputs/CompactStarRating/CompactStarRating.js +1 -0
- package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.js +1 -0
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
- package/build/inputs/TextArea/TextArea.js +1 -0
- package/build/inputs/TextArea/TextArea.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +6 -3
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +8 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +5 -2
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/asset.propType.js +2 -0
- package/build/widgets/AssetGallery/asset.propType.js.map +1 -1
- package/package.json +1 -1
|
@@ -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/LiveBadge/LiveBadge.js';
|
|
10
11
|
import '../../data/Popover/Popover.js';
|
|
11
12
|
import '../../data/SeverityBadge/SeverityBadge.js';
|
|
12
13
|
import '../../data/Tab/Tab.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 LiveBadge from '../../../../data/LiveBadge/LiveBadge.js';
|
|
15
16
|
import '../../../../data/Popover/Popover.js';
|
|
16
17
|
import '../../../../data/SeverityBadge/SeverityBadge.js';
|
|
17
18
|
import '../../../../data/Tab/Tab.js';
|
|
@@ -20,7 +21,7 @@ import '../../../../data/Tooltip/Tooltip.js';
|
|
|
20
21
|
import '../../../../data/VerificationStatusIcon/VerificationStatusIcon.js';
|
|
21
22
|
import SummaryCard from '../../../SummaryCard/SummaryCard.js';
|
|
22
23
|
import { assetShapeWithLayout } from '../../asset.propType.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';
|
|
24
|
+
import { AssetGalleryWrapper, AssetGalleryCompactCard as AssetGalleryCompactCard$2, Reference, Overlay, OverlayBackdrop, LiveBadgeSlot, OverlayInfoTopActions, StatusIcon, VisibleOnHover, OverlayInfo, OverlayInfoTop, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlayInfoBottom, OverlayInfoBottomSelectButton, OverlayInfoBottomMediaIcon, OverlayCompleted, OverlayHasError, OverlaySelected, StyledFloatingArrow, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop } from './AssetGalleryCompactCard.styled.js';
|
|
24
25
|
import { useFloating, autoUpdate, offset, flip, shift, arrow, useTransitionStyles, useHover, useDismiss, useInteractions, useMergeRefs } from '@floating-ui/react';
|
|
25
26
|
import AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase.js';
|
|
26
27
|
|
|
@@ -344,7 +345,9 @@ const AssetGalleryCompactCard = props => {
|
|
|
344
345
|
}, getReferenceProps()), React__default.createElement(OverlayBackdrop, {
|
|
345
346
|
$softSelected: softSelected,
|
|
346
347
|
selected: selected
|
|
347
|
-
}),
|
|
348
|
+
}), asset.isLive && React__default.createElement(LiveBadgeSlot, null, React__default.createElement(LiveBadge, {
|
|
349
|
+
label: collapseExtraInfo ? '' : asset.liveLabel
|
|
350
|
+
})), (asset?.statusIcon || asset?.actions) && React__default.createElement(OverlayInfoTopActions, null, asset.statusIcon && React__default.createElement(StatusIcon, null, asset.statusIcon), asset?.actions && React__default.createElement(VisibleOnHover, {
|
|
348
351
|
$hidden: extendedSelectMode
|
|
349
352
|
}, React__default.createElement(AssetActionsBase, {
|
|
350
353
|
actions: asset.actions,
|
|
@@ -357,7 +360,7 @@ const AssetGalleryCompactCard = props => {
|
|
|
357
360
|
selected: selected
|
|
358
361
|
}, React__default.createElement(SvgCheckRectangleFilled, {
|
|
359
362
|
onClick: onSelectClick
|
|
360
|
-
})), React__default.createElement(OverlayInfoBottomMediaIcon, null, renderMediaBadge()))), asset.completed && React__default.createElement(OverlayCompleted, {
|
|
363
|
+
})), React__default.createElement(OverlayInfoBottomMediaIcon, null, !asset.isLive && renderMediaBadge()))), asset.completed && React__default.createElement(OverlayCompleted, {
|
|
361
364
|
$softSelected: softSelected
|
|
362
365
|
}), asset.hasError && React__default.createElement(OverlayHasError, {
|
|
363
366
|
$softSelected: softSelected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetGalleryCompactCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js"],"sourcesContent":["import { get, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport {\n CheckRectangleIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon,\n WarningCircleIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge } from '../../../../data';\n\nimport SummaryCard from '../../../SummaryCard/SummaryCard';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryCompactCard.styled';\n\nimport {\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n flip,\n shift,\n arrow,\n autoUpdate,\n offset,\n useDismiss,\n useMergeRefs\n} from '@floating-ui/react';\nimport AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase';\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'hasHeightAndWidth',\n '$hasHeightAndWidth',\n 'collapseExtraInfo',\n '$collapseExtraInfo'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n return <S.AssetGalleryCompactCard ref={newProps.ref} {...newProps} />;\n};\n\nconst AssetGalleryCompactCard = props => {\n const {\n asset,\n activeSummaryCard,\n displayIcon,\n selectable,\n hasHeightAndWidth,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n collapseExtraInfo\n } = props;\n\n const ARROW_WIDTH = 30;\n const ARROW_HEIGHT = 15;\n const GAP = 8;\n\n const arrowRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [placement] = useState('bottom');\n\n const [isOverlayHovered, setIsOverlayHovered] = useState(false);\n const [openedSubActions, updateOpenedSubActions] = useState([]);\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({\n element: arrowRef\n })\n ]\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n transform: 'translateY(-8px)',\n opacity: 0\n },\n duration: {\n open: 200,\n close: 100\n }\n });\n\n const hover = useHover(context, {\n restMs: 100\n });\n const dismiss = useDismiss(context, {\n referencePress: true,\n ancestorScroll: true,\n windowScroll: true,\n windowBlur: true\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover]);\n\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isOverlayHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isOverlayHovered]);\n\n const mouseHasEnteredOverlay = useCallback(() => {\n setIsOverlayHovered(true);\n }, []);\n\n const mouseHasLeftOverlay = useCallback(() => {\n setIsOverlayHovered(false);\n }, []);\n\n const isAnySubActionsOpened = useMemo(() => {\n return openedSubActions.some(isOpened => isOpened);\n }, [openedSubActions]);\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n if (selectable) {\n return onAssetSelected(asset.key);\n }\n }\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n }\n\n const renderPreview = asset => {\n let previewContent = null;\n if (asset?.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n // style={{ maxHeight: maxHeight }}\n >\n <source src={asset.previewUrl} type=\"video/mp4\" />\n </video>\n </LazyLoadComponent>\n );\n } else if (asset?.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset?.title}\n src={asset?.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return (\n <S.Figure $hasHeightAndWidth={hasHeightAndWidth}>\n {previewContent}\n <S.FigureOverlayBackdrop selected={selected} />\n </S.Figure>\n );\n };\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderVerificationBadge = useCallback(() => {\n if (!asset?.verifications) return null;\n return asset?.verifications;\n }, [asset]);\n\n const renderdynamicBadge = useCallback(() => {\n if (asset?.verifications) return renderVerificationBadge();\n if (asset?.versions) return renderVersionsBadge();\n return null;\n });\n\n const renderBadge = () => {\n switch (displayIcon) {\n case 'versions':\n return renderVersionsBadge();\n case 'verifications':\n return renderVerificationBadge();\n case 'dynamic':\n return renderdynamicBadge();\n default:\n return null;\n }\n };\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderSummaryCardHeaderLeft = useCallback(() => {\n return (\n <>\n {renderVersionsBadge()}\n {renderMediaBadge()}\n </>\n );\n }, [asset]);\n\n const renderPopoverContent = useCallback(() => {\n return (\n <SummaryCard\n activeSummaryCard={activeSummaryCard}\n title={asset?.title || ''}\n description={asset?.description || ''}\n instructions={asset?.imageRights || ''}\n instructionSeverity={asset?.instructionSeverity}\n instructionLabels={asset?.instructionLabels}\n headerRight={asset?.summary?.headerRight || ''}\n headerLeft={\n <>\n {renderSummaryCardHeaderLeft()}\n {asset?.summary?.headerLeft || ''}\n </>\n }\n footerLeft={asset?.summary?.footerLeft || ''}\n footerRight={asset?.summary?.footerRight || ''}\n width={375}\n view={'compact'}\n />\n );\n }, [asset]);\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled}>\n <S.AssetGalleryCompactCard\n as={ComputedRootComponent}\n component={component}\n disabled={asset.disabled}\n asset={asset}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n // ref={refs.setReference}\n {...getReferenceProps()}\n >\n <S.Reference ref={refs.setReference}>\n {asset.previewUrl && renderPreview(asset)}\n </S.Reference>\n\n <S.Overlay\n ref={overlayCompactRef}\n onMouseEnter={mouseHasEnteredOverlay}\n onMouseLeave={mouseHasLeftOverlay}\n style={{ height: '100%' }}\n {...getReferenceProps()}\n >\n <S.OverlayBackdrop $softSelected={softSelected} selected={selected} />\n {(asset?.statusIcon || asset?.actions) && (\n <S.OverlayInfoTopActions>\n {asset.statusIcon && <S.StatusIcon>{asset.statusIcon}</S.StatusIcon>}\n {asset?.actions && (\n <S.VisibleOnHover $hidden={extendedSelectMode}>\n <AssetActionsBase actions={asset.actions} asset={asset} />\n </S.VisibleOnHover>\n )}\n </S.OverlayInfoTopActions>\n )}\n <S.OverlayInfo>\n {isOverlayHovered && !activeSummaryCard && <span>{asset.title}</span>}\n <S.OverlayInfoTop>\n <S.OverlayInfoTopLeft $collapseExtraInfo={collapseExtraInfo}>\n {renderBadge()}\n </S.OverlayInfoTopLeft>\n {asset?.note?.title && !asset.statusIcon && (\n <S.OverlayInfoTopWarning type={asset?.note?.type}>\n <WarningCircleIcon />\n </S.OverlayInfoTopWarning>\n )}\n </S.OverlayInfoTop>\n <S.OverlayInfoBottom>\n {selectable && (\n <S.OverlayInfoBottomSelectButton selected={selected}>\n <CheckRectangleIcon onClick={onSelectClick} />\n </S.OverlayInfoBottomSelectButton>\n )}\n <S.OverlayInfoBottomMediaIcon>{renderMediaBadge()}</S.OverlayInfoBottomMediaIcon>\n </S.OverlayInfoBottom>\n </S.OverlayInfo>\n {asset.completed && <S.OverlayCompleted $softSelected={softSelected} />}\n {asset.hasError && <S.OverlayHasError $softSelected={softSelected} />}\n {selectable && (\n <S.OverlaySelected\n selected={selected}\n $softSelected={softSelected}\n $customSelectedBorder={customSelectedBorder}\n />\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n </S.Overlay>\n\n {asset.overlay && <S.ConsumerDefinedOverlay>{asset.overlay}</S.ConsumerDefinedOverlay>}\n </S.AssetGalleryCompactCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryCompactCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Tells the asset card that the asset height and width was known\n */\n hasHeightAndWidth: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * If the width of the card is too small to render all the badges\n */\n collapseExtraInfo: PropTypes.bool,\n\n /**\n * Display a tooltip on hover with a summary of info about the asset\n */\n activeSummaryCard: PropTypes.bool,\n /**\n * * Display an icon on the card\n */\n displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])\n};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'hasHeightAndWidth',\n 'collapseExtraInfo',\n 'asset.imageRights',\n 'asset.instructionSeverity',\n 'asset.description',\n 'asset.title'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","createElement","S","_extends","ref","AssetGalleryCompactCard","activeSummaryCard","displayIcon","selectable","hasHeightAndWidth","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","collapseExtraInfo","ARROW_WIDTH","ARROW_HEIGHT","GAP","arrowRef","useRef","isOpen","setIsOpen","useState","placement","isOverlayHovered","setIsOverlayHovered","openedSubActions","updateOpenedSubActions","refs","floatingStyles","context","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","padding","shift","arrow","element","isMounted","styles","useTransitionStyles","initial","transform","opacity","duration","close","hover","useHover","restMs","dismiss","useDismiss","referencePress","ancestorScroll","windowScroll","windowBlur","getReferenceProps","getFloatingProps","useInteractions","useEffect","newOpenedSubActions","actions","map","length","mouseHasEnteredOverlay","useCallback","mouseHasLeftOverlay","isAnySubActionsOpened","useMemo","some","isOpened","onClick","event","onSelectClick","preventDefault","stopPropagation","onContextMenu","cardRef","current","addEventListener","removeEventListener","onDragstart","dragRef","videoPlayerRef","overlayCompactRef","useMergeRefs","setReference","onMouseEnter","playPromise","play","undefined","then","catch","onMouseLeave","pause","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","className","HeadsetIcon","LazyLoadImage","alt","title","height","width","delayMethod","delayTime","threshold","$hasHeightAndWidth","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","backgroundColors","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderVerificationBadge","verifications","renderdynamicBadge","renderBadge","renderMediaBadge","PlayIcon","convertMsToHMS","minWidth","renderSummaryCardHeaderLeft","Fragment","renderPopoverContent","SummaryCard","description","instructions","imageRights","instructionSeverity","instructionLabels","headerRight","summary","headerLeft","footerLeft","footerRight","view","disabled","as","draggable","innerRef","style","$softSelected","statusIcon","$hidden","AssetActionsBase","$collapseExtraInfo","note","WarningCircleIcon","CheckRectangleIcon","completed","hasError","$customSelectedBorder","setFloating","overlay","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","oneOf","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssetGalleryCompactCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js"],"sourcesContent":["import { get, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport {\n CheckRectangleIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon,\n WarningCircleIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, LiveBadge } from '../../../../data';\n\nimport SummaryCard from '../../../SummaryCard/SummaryCard';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryCompactCard.styled';\n\nimport {\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n flip,\n shift,\n arrow,\n autoUpdate,\n offset,\n useDismiss,\n useMergeRefs\n} from '@floating-ui/react';\nimport AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase';\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'hasHeightAndWidth',\n '$hasHeightAndWidth',\n 'collapseExtraInfo',\n '$collapseExtraInfo'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n return <S.AssetGalleryCompactCard ref={newProps.ref} {...newProps} />;\n};\n\nconst AssetGalleryCompactCard = props => {\n const {\n asset,\n activeSummaryCard,\n displayIcon,\n selectable,\n hasHeightAndWidth,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n collapseExtraInfo\n } = props;\n\n const ARROW_WIDTH = 30;\n const ARROW_HEIGHT = 15;\n const GAP = 8;\n\n const arrowRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [placement] = useState('bottom');\n\n const [isOverlayHovered, setIsOverlayHovered] = useState(false);\n const [openedSubActions, updateOpenedSubActions] = useState([]);\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({\n element: arrowRef\n })\n ]\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n transform: 'translateY(-8px)',\n opacity: 0\n },\n duration: {\n open: 200,\n close: 100\n }\n });\n\n const hover = useHover(context, {\n restMs: 100\n });\n const dismiss = useDismiss(context, {\n referencePress: true,\n ancestorScroll: true,\n windowScroll: true,\n windowBlur: true\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover]);\n\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isOverlayHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isOverlayHovered]);\n\n const mouseHasEnteredOverlay = useCallback(() => {\n setIsOverlayHovered(true);\n }, []);\n\n const mouseHasLeftOverlay = useCallback(() => {\n setIsOverlayHovered(false);\n }, []);\n\n const isAnySubActionsOpened = useMemo(() => {\n return openedSubActions.some(isOpened => isOpened);\n }, [openedSubActions]);\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n if (selectable) {\n return onAssetSelected(asset.key);\n }\n }\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n }\n\n const renderPreview = asset => {\n let previewContent = null;\n if (asset?.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n // style={{ maxHeight: maxHeight }}\n >\n <source src={asset.previewUrl} type=\"video/mp4\" />\n </video>\n </LazyLoadComponent>\n );\n } else if (asset?.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset?.title}\n src={asset?.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return (\n <S.Figure $hasHeightAndWidth={hasHeightAndWidth}>\n {previewContent}\n <S.FigureOverlayBackdrop selected={selected} />\n </S.Figure>\n );\n };\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderVerificationBadge = useCallback(() => {\n if (!asset?.verifications) return null;\n return asset?.verifications;\n }, [asset]);\n\n const renderdynamicBadge = useCallback(() => {\n if (asset?.verifications) return renderVerificationBadge();\n if (asset?.versions) return renderVersionsBadge();\n return null;\n });\n\n const renderBadge = () => {\n switch (displayIcon) {\n case 'versions':\n return renderVersionsBadge();\n case 'verifications':\n return renderVerificationBadge();\n case 'dynamic':\n return renderdynamicBadge();\n default:\n return null;\n }\n };\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderSummaryCardHeaderLeft = useCallback(() => {\n return (\n <>\n {renderVersionsBadge()}\n {renderMediaBadge()}\n </>\n );\n }, [asset]);\n\n const renderPopoverContent = useCallback(() => {\n return (\n <SummaryCard\n activeSummaryCard={activeSummaryCard}\n title={asset?.title || ''}\n description={asset?.description || ''}\n instructions={asset?.imageRights || ''}\n instructionSeverity={asset?.instructionSeverity}\n instructionLabels={asset?.instructionLabels}\n headerRight={asset?.summary?.headerRight || ''}\n headerLeft={\n <>\n {renderSummaryCardHeaderLeft()}\n {asset?.summary?.headerLeft || ''}\n </>\n }\n footerLeft={asset?.summary?.footerLeft || ''}\n footerRight={asset?.summary?.footerRight || ''}\n width={375}\n view={'compact'}\n />\n );\n }, [asset]);\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled}>\n <S.AssetGalleryCompactCard\n as={ComputedRootComponent}\n component={component}\n disabled={asset.disabled}\n asset={asset}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n // ref={refs.setReference}\n {...getReferenceProps()}\n >\n <S.Reference ref={refs.setReference}>\n {asset.previewUrl && renderPreview(asset)}\n </S.Reference>\n\n <S.Overlay\n ref={overlayCompactRef}\n onMouseEnter={mouseHasEnteredOverlay}\n onMouseLeave={mouseHasLeftOverlay}\n style={{ height: '100%' }}\n {...getReferenceProps()}\n >\n <S.OverlayBackdrop $softSelected={softSelected} selected={selected} />\n {asset.isLive && (\n <S.LiveBadgeSlot>\n <LiveBadge label={collapseExtraInfo ? '' : asset.liveLabel} />\n </S.LiveBadgeSlot>\n )}\n {(asset?.statusIcon || asset?.actions) && (\n <S.OverlayInfoTopActions>\n {asset.statusIcon && <S.StatusIcon>{asset.statusIcon}</S.StatusIcon>}\n {asset?.actions && (\n <S.VisibleOnHover $hidden={extendedSelectMode}>\n <AssetActionsBase actions={asset.actions} asset={asset} />\n </S.VisibleOnHover>\n )}\n </S.OverlayInfoTopActions>\n )}\n <S.OverlayInfo>\n {isOverlayHovered && !activeSummaryCard && <span>{asset.title}</span>}\n <S.OverlayInfoTop>\n <S.OverlayInfoTopLeft $collapseExtraInfo={collapseExtraInfo}>\n {renderBadge()}\n </S.OverlayInfoTopLeft>\n {asset?.note?.title && !asset.statusIcon && (\n <S.OverlayInfoTopWarning type={asset?.note?.type}>\n <WarningCircleIcon />\n </S.OverlayInfoTopWarning>\n )}\n </S.OverlayInfoTop>\n <S.OverlayInfoBottom>\n {selectable && (\n <S.OverlayInfoBottomSelectButton selected={selected}>\n <CheckRectangleIcon onClick={onSelectClick} />\n </S.OverlayInfoBottomSelectButton>\n )}\n <S.OverlayInfoBottomMediaIcon>\n {!asset.isLive && renderMediaBadge()}\n </S.OverlayInfoBottomMediaIcon>\n </S.OverlayInfoBottom>\n </S.OverlayInfo>\n {asset.completed && <S.OverlayCompleted $softSelected={softSelected} />}\n {asset.hasError && <S.OverlayHasError $softSelected={softSelected} />}\n {selectable && (\n <S.OverlaySelected\n selected={selected}\n $softSelected={softSelected}\n $customSelectedBorder={customSelectedBorder}\n />\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n </S.Overlay>\n\n {asset.overlay && <S.ConsumerDefinedOverlay>{asset.overlay}</S.ConsumerDefinedOverlay>}\n </S.AssetGalleryCompactCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryCompactCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Tells the asset card that the asset height and width was known\n */\n hasHeightAndWidth: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * If the width of the card is too small to render all the badges\n */\n collapseExtraInfo: PropTypes.bool,\n\n /**\n * Display a tooltip on hover with a summary of info about the asset\n */\n activeSummaryCard: PropTypes.bool,\n /**\n * * Display an icon on the card\n */\n displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])\n};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'hasHeightAndWidth',\n 'collapseExtraInfo',\n 'asset.imageRights',\n 'asset.instructionSeverity',\n 'asset.description',\n 'asset.title'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","createElement","S","_extends","ref","AssetGalleryCompactCard","activeSummaryCard","displayIcon","selectable","hasHeightAndWidth","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","collapseExtraInfo","ARROW_WIDTH","ARROW_HEIGHT","GAP","arrowRef","useRef","isOpen","setIsOpen","useState","placement","isOverlayHovered","setIsOverlayHovered","openedSubActions","updateOpenedSubActions","refs","floatingStyles","context","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","padding","shift","arrow","element","isMounted","styles","useTransitionStyles","initial","transform","opacity","duration","close","hover","useHover","restMs","dismiss","useDismiss","referencePress","ancestorScroll","windowScroll","windowBlur","getReferenceProps","getFloatingProps","useInteractions","useEffect","newOpenedSubActions","actions","map","length","mouseHasEnteredOverlay","useCallback","mouseHasLeftOverlay","isAnySubActionsOpened","useMemo","some","isOpened","onClick","event","onSelectClick","preventDefault","stopPropagation","onContextMenu","cardRef","current","addEventListener","removeEventListener","onDragstart","dragRef","videoPlayerRef","overlayCompactRef","useMergeRefs","setReference","onMouseEnter","playPromise","play","undefined","then","catch","onMouseLeave","pause","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","className","HeadsetIcon","LazyLoadImage","alt","title","height","width","delayMethod","delayTime","threshold","$hasHeightAndWidth","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","backgroundColors","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderVerificationBadge","verifications","renderdynamicBadge","renderBadge","renderMediaBadge","PlayIcon","convertMsToHMS","minWidth","renderSummaryCardHeaderLeft","Fragment","renderPopoverContent","SummaryCard","description","instructions","imageRights","instructionSeverity","instructionLabels","headerRight","summary","headerLeft","footerLeft","footerRight","view","disabled","as","draggable","innerRef","style","$softSelected","isLive","LiveBadge","label","liveLabel","statusIcon","$hidden","AssetActionsBase","$collapseExtraInfo","note","WarningCircleIcon","CheckRectangleIcon","completed","hasError","$customSelectedBorder","setFloating","overlay","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","oneOf","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
|
|
@@ -265,6 +265,13 @@ const OverlayInfoTopLeft = styled.div.withConfig({
|
|
|
265
265
|
opacity: 0;
|
|
266
266
|
}
|
|
267
267
|
`;
|
|
268
|
+
const LiveBadgeSlot = styled.div`
|
|
269
|
+
position: absolute;
|
|
270
|
+
top: 8px;
|
|
271
|
+
left: 8px;
|
|
272
|
+
z-index: 100000;
|
|
273
|
+
pointer-events: none;
|
|
274
|
+
`;
|
|
268
275
|
const OverlayInfoTopWarning = styled.div.withConfig({
|
|
269
276
|
shouldForwardProp
|
|
270
277
|
}).attrs(applyDefaultTheme)`
|
|
@@ -352,5 +359,5 @@ const StyledFloatingArrow = styled(FloatingArrow).withConfig({
|
|
|
352
359
|
${props => props.theme.themeProp('fill', props.theme.getColor('gray-700'), props.theme.getColor('white'))}
|
|
353
360
|
`;
|
|
354
361
|
|
|
355
|
-
export { AssetGalleryCompactCard, AssetGalleryWrapper, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop, Overlay, OverlayBackdrop, OverlayCompleted, OverlayHasError, OverlayInfo, OverlayInfoBottom, OverlayInfoBottomMediaIcon, OverlayInfoBottomSelectButton, OverlayInfoTop, OverlayInfoTopActions, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlaySelected, Reference, StatusIcon, StyledFloatingArrow, VisibleOnHover };
|
|
362
|
+
export { AssetGalleryCompactCard, AssetGalleryWrapper, ConsumerDefinedOverlay, Figure, FigureOverlayBackdrop, LiveBadgeSlot, Overlay, OverlayBackdrop, OverlayCompleted, OverlayHasError, OverlayInfo, OverlayInfoBottom, OverlayInfoBottomMediaIcon, OverlayInfoBottomSelectButton, OverlayInfoTop, OverlayInfoTopActions, OverlayInfoTopLeft, OverlayInfoTopWarning, OverlaySelected, Reference, StatusIcon, StyledFloatingArrow, VisibleOnHover };
|
|
356
363
|
//# sourceMappingURL=AssetGalleryCompactCard.styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetGalleryCompactCard.styled.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js"],"sourcesContent":["import { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../../../utils/defaultTheme';\nimport { FloatingArrow } from '@floating-ui/react';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const AssetGalleryWrapper = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n ${props =>\n props.disabled &&\n css`\n cursor: not-allowed;\n `};\n`;\n\nexport const Reference = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n width: 100%;\n height: 100%;\n`;\n\nexport const AssetGalleryCompactCard = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: block;\n height: 100%;\n padding-left: ${props => (props.selected ? 1 : 0)}px;\n padding-right: ${props => (props.selected ? 1 : 0)}px;\n padding-top: ${props => (props.selected ? 1 : 0)}px;\n box-sizing: border-box;\n cursor: pointer;\n\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-300')\n )};\n\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n )};\n\n ${props =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.4;\n `};\n\n ${props =>\n props.extendedSelectMode &&\n css`\n cursor: pointer;\n `}\n video {\n width: 100%;\n height: 100%;\n }\n\n .audio {\n display: flex;\n justify-content: center;\n svg {\n width: 25%;\n }\n }\n`;\n\nexport const Figure = styled.figure\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n position: relative;\n margin: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n\n .lazy-load-image-background {\n display: block !important;\n }\n\n img {\n display: block;\n height: 100%;\n width: 100%;\n ${props =>\n props.$hasHeightAndWidth\n ? css`\n object-fit: cover;\n `\n : css`\n object-fit: contain;\n `}\n }\n`;\n\nexport const FigureOverlayBackdrop = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n inset: 0;\n opacity: ${props => (props.selected ? 0.6 : 0)};\n background-color: ${props => (props.selected ? '#ACCEF7' : 'transparent')};\n`;\n\nexport const Overlay = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n`;\n\nexport const OverlayBackdrop = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n opacity: 0;\n transition: opacity 220ms;\n\n ${props =>\n !props.selected\n ? css`\n background: radial-gradient(\n ellipse at center,\n rgba(0, 0, 0, 0.3) 27%,\n rgba(0, 0, 0, 0.5) 60%,\n rgba(0, 0, 0, 0.7) 90%\n );\n `\n : null}\n ${props =>\n (props.selected || props.$softSelected) &&\n css`\n opacity: 1;\n `}\n ${Overlay}:hover & {\n opacity: 1;\n }\n`;\n\nexport const OverlayInfo = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 15px 50px 10px 12px;\n color: ${props => props.theme.getColor('gray-100')};\n & span {\n overflow: hidden;\n word-wrap: break-word;\n }\n`;\n\nexport const OverlayCompleted = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: border-color 120ms;\n border: 3px solid;\n ${props => {\n if (props.$softSelected) return null;\n\n return props.theme.themeProp(\n 'border-color',\n props.theme.getColor('emerald-500'),\n rgba(props.theme.getColor('emerald-500'), 0.7)\n );\n }};\n`;\n\nexport const OverlayHasError = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: border-color 120ms;\n border: 3px solid;\n ${props => {\n if (props.$softSelected) return null;\n return props.theme.themeProp(\n 'border-color',\n props.theme.getColor('red-600'),\n rgba(props.theme.getColor('red-500'), 0.7)\n );\n }}\n`;\n\nexport const OverlaySelected = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: border-color 120ms;\n border-style: solid;\n border-width: 3px;\n\n ${props => {\n if (props.$softSelected) {\n return props.theme.themeProp(\n 'border-color',\n rgba(props.theme.getColor('gray-100'), 0.5),\n rgba(props.theme.getColor('gray-700'), 0.5)\n );\n }\n\n if (props.selected) {\n if (props.$customSelectedBorder) {\n return props.theme.themeProp(\n 'border-color',\n props.$customSelectedBorder[0],\n props.$customSelectedBorder[1]\n );\n } else {\n return props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n );\n }\n }\n\n return props.theme.themeProp('border-color', 'transparent', 'transparent');\n }};\n`;\n\nexport const OverlayInfoTop = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n padding: 8px;\n display: flex;\n`;\n\nexport const OverlayInfoTopActions = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n right: 0;\n padding: 4px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n transition: opacity 220ms;\n z-index: 99999;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-700')\n )}\n\n opacity: 1;\n`;\n\nexport const StatusIcon = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin: 4px auto 6px auto;\n pointer-events: none;\n border-radius: 50%;\n width: 28px;\n height: 28px;\n box-shadow: 0px 3px 6px ${props => rgba(props.theme.getColor('black'), 0.16)};\n svg {\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const VisibleOnHover = styled.div`\n opacity: 0;\n transition: opacity 220ms;\n ${Overlay}:hover & {\n opacity: 1;\n }\n visibility: ${props => (props.$hidden ? 'hidden' : 'visible')};\n`;\n\nexport const OverlayInfoTopLeft = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n opacity: 1;\n display: ${props => (props?.$collapseExtraInfo ? 'none' : 'block')};\n\n ${Overlay}:hover & {\n opacity: 0;\n }\n`;\n\nexport const OverlayInfoTopWarning = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n margin-left: auto;\n height: 24px;\n width: 24px;\n border-radius: 50%;\n box-sizing: border-box;\n padding: ${props => (props.type === 'error' ? 0 : '3px 4px')};\n background-color: ${props =>\n props.type === 'error' ? props.theme.getColor('red-500') : props.theme.getColor('gray-100')};\n opacity: 1;\n\n svg {\n width: 100%;\n color: ${props =>\n props.type === 'error' ? props.theme.getColor('gray-100') : props.theme.getColor('gray-700')};\n }\n\n ${Overlay}:hover & {\n opacity: 0;\n }\n`;\n\nexport const OverlayInfoBottom = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n padding: 8px;\n display: flex;\n`;\n\nexport const OverlayInfoBottomSelectButton = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n opacity: ${props => (props.selected ? 1 : 0)};\n flex-shrink: 0;\n cursor: pointer;\n transition: opacity 220ms;\n height: 24px;\n\n > svg {\n width: 24px;\n height: 24px;\n transition: opacity 120ms;\n opacity: ${props => (props.selected ? 1 : 0.5)};\n }\n\n ${Overlay}:hover & {\n opacity: 1;\n }\n`;\n\nexport const OverlayInfoBottomMediaIcon = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n margin-left: auto;\n opacity: 1;\n\n ${Overlay}:hover & {\n opacity: 0;\n }\n`;\n\nexport const ConsumerDefinedOverlay = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n`;\n\nexport const Fragment = styled.div`\n margin: 4px;\n`;\n\nexport const ActionTitle = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('white')\n )}\n padding: 4px 8px;\n border-radius: 4px;\n`;\n\nexport const StyledFloatingArrow = styled(FloatingArrow)\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n ${props =>\n props.theme.themeProp('fill', props.theme.getColor('gray-700'), props.theme.getColor('white'))}\n`;\n"],"names":["shouldForwardProp","prop","startsWith","AssetGalleryWrapper","styled","div","withConfig","attrs","applyDefaultTheme","props","disabled","css","Reference","AssetGalleryCompactCard","selected","theme","themeProp","getColor","extendedSelectMode","Figure","figure","$hasHeightAndWidth","FigureOverlayBackdrop","Overlay","OverlayBackdrop","$softSelected","OverlayInfo","OverlayCompleted","rgba","OverlayHasError","OverlaySelected","$customSelectedBorder","OverlayInfoTop","OverlayInfoTopActions","StatusIcon","VisibleOnHover","$hidden","OverlayInfoTopLeft","$collapseExtraInfo","OverlayInfoTopWarning","type","OverlayInfoBottom","OverlayInfoBottomSelectButton","OverlayInfoBottomMediaIcon","ConsumerDefinedOverlay","StyledFloatingArrow","FloatingArrow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssetGalleryCompactCard.styled.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js"],"sourcesContent":["import { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../../../utils/defaultTheme';\nimport { FloatingArrow } from '@floating-ui/react';\n\nconst shouldForwardProp = prop => {\n return prop !== 'theme' && !prop.startsWith('$');\n};\n\nexport const AssetGalleryWrapper = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n ${props =>\n props.disabled &&\n css`\n cursor: not-allowed;\n `};\n`;\n\nexport const Reference = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n width: 100%;\n height: 100%;\n`;\n\nexport const AssetGalleryCompactCard = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: block;\n height: 100%;\n padding-left: ${props => (props.selected ? 1 : 0)}px;\n padding-right: ${props => (props.selected ? 1 : 0)}px;\n padding-top: ${props => (props.selected ? 1 : 0)}px;\n box-sizing: border-box;\n cursor: pointer;\n\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-300')\n )};\n\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n )};\n\n ${props =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.4;\n `};\n\n ${props =>\n props.extendedSelectMode &&\n css`\n cursor: pointer;\n `}\n video {\n width: 100%;\n height: 100%;\n }\n\n .audio {\n display: flex;\n justify-content: center;\n svg {\n width: 25%;\n }\n }\n`;\n\nexport const Figure = styled.figure\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n position: relative;\n margin: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n\n .lazy-load-image-background {\n display: block !important;\n }\n\n img {\n display: block;\n height: 100%;\n width: 100%;\n ${props =>\n props.$hasHeightAndWidth\n ? css`\n object-fit: cover;\n `\n : css`\n object-fit: contain;\n `}\n }\n`;\n\nexport const FigureOverlayBackdrop = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n inset: 0;\n opacity: ${props => (props.selected ? 0.6 : 0)};\n background-color: ${props => (props.selected ? '#ACCEF7' : 'transparent')};\n`;\n\nexport const Overlay = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n`;\n\nexport const OverlayBackdrop = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n opacity: 0;\n transition: opacity 220ms;\n\n ${props =>\n !props.selected\n ? css`\n background: radial-gradient(\n ellipse at center,\n rgba(0, 0, 0, 0.3) 27%,\n rgba(0, 0, 0, 0.5) 60%,\n rgba(0, 0, 0, 0.7) 90%\n );\n `\n : null}\n ${props =>\n (props.selected || props.$softSelected) &&\n css`\n opacity: 1;\n `}\n ${Overlay}:hover & {\n opacity: 1;\n }\n`;\n\nexport const OverlayInfo = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 15px 50px 10px 12px;\n color: ${props => props.theme.getColor('gray-100')};\n & span {\n overflow: hidden;\n word-wrap: break-word;\n }\n`;\n\nexport const OverlayCompleted = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: border-color 120ms;\n border: 3px solid;\n ${props => {\n if (props.$softSelected) return null;\n\n return props.theme.themeProp(\n 'border-color',\n props.theme.getColor('emerald-500'),\n rgba(props.theme.getColor('emerald-500'), 0.7)\n );\n }};\n`;\n\nexport const OverlayHasError = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: border-color 120ms;\n border: 3px solid;\n ${props => {\n if (props.$softSelected) return null;\n return props.theme.themeProp(\n 'border-color',\n props.theme.getColor('red-600'),\n rgba(props.theme.getColor('red-500'), 0.7)\n );\n }}\n`;\n\nexport const OverlaySelected = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n transition: border-color 120ms;\n border-style: solid;\n border-width: 3px;\n\n ${props => {\n if (props.$softSelected) {\n return props.theme.themeProp(\n 'border-color',\n rgba(props.theme.getColor('gray-100'), 0.5),\n rgba(props.theme.getColor('gray-700'), 0.5)\n );\n }\n\n if (props.selected) {\n if (props.$customSelectedBorder) {\n return props.theme.themeProp(\n 'border-color',\n props.$customSelectedBorder[0],\n props.$customSelectedBorder[1]\n );\n } else {\n return props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-100'),\n props.theme.getColor('gray-700')\n );\n }\n }\n\n return props.theme.themeProp('border-color', 'transparent', 'transparent');\n }};\n`;\n\nexport const OverlayInfoTop = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n padding: 8px;\n display: flex;\n`;\n\nexport const OverlayInfoTopActions = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n right: 0;\n padding: 4px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n transition: opacity 220ms;\n z-index: 99999;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-700')\n )}\n\n opacity: 1;\n`;\n\nexport const StatusIcon = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin: 4px auto 6px auto;\n pointer-events: none;\n border-radius: 50%;\n width: 28px;\n height: 28px;\n box-shadow: 0px 3px 6px ${props => rgba(props.theme.getColor('black'), 0.16)};\n svg {\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const VisibleOnHover = styled.div`\n opacity: 0;\n transition: opacity 220ms;\n ${Overlay}:hover & {\n opacity: 1;\n }\n visibility: ${props => (props.$hidden ? 'hidden' : 'visible')};\n`;\n\nexport const OverlayInfoTopLeft = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n opacity: 1;\n display: ${props => (props?.$collapseExtraInfo ? 'none' : 'block')};\n\n ${Overlay}:hover & {\n opacity: 0;\n }\n`;\n\n\nexport const LiveBadgeSlot = styled.div`\n position: absolute;\n top: 8px;\n left: 8px;\n z-index: 100000;\n pointer-events: none;\n`;\n\nexport const OverlayInfoTopWarning = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n margin-left: auto;\n height: 24px;\n width: 24px;\n border-radius: 50%;\n box-sizing: border-box;\n padding: ${props => (props.type === 'error' ? 0 : '3px 4px')};\n background-color: ${props =>\n props.type === 'error' ? props.theme.getColor('red-500') : props.theme.getColor('gray-100')};\n opacity: 1;\n\n svg {\n width: 100%;\n color: ${props =>\n props.type === 'error' ? props.theme.getColor('gray-100') : props.theme.getColor('gray-700')};\n }\n\n ${Overlay}:hover & {\n opacity: 0;\n }\n`;\n\nexport const OverlayInfoBottom = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n padding: 8px;\n display: flex;\n`;\n\nexport const OverlayInfoBottomSelectButton = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n opacity: ${props => (props.selected ? 1 : 0)};\n flex-shrink: 0;\n cursor: pointer;\n transition: opacity 220ms;\n height: 24px;\n\n > svg {\n width: 24px;\n height: 24px;\n transition: opacity 120ms;\n opacity: ${props => (props.selected ? 1 : 0.5)};\n }\n\n ${Overlay}:hover & {\n opacity: 1;\n }\n`;\n\nexport const OverlayInfoBottomMediaIcon = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n margin-left: auto;\n opacity: 1;\n\n ${Overlay}:hover & {\n opacity: 0;\n }\n`;\n\nexport const ConsumerDefinedOverlay = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n`;\n\nexport const Fragment = styled.div`\n margin: 4px;\n`;\n\nexport const ActionTitle = styled.div\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('white')\n )}\n padding: 4px 8px;\n border-radius: 4px;\n`;\n\nexport const StyledFloatingArrow = styled(FloatingArrow)\n .withConfig({\n shouldForwardProp\n })\n .attrs(applyDefaultTheme)`\n ${props =>\n props.theme.themeProp('fill', props.theme.getColor('gray-700'), props.theme.getColor('white'))}\n`;\n"],"names":["shouldForwardProp","prop","startsWith","AssetGalleryWrapper","styled","div","withConfig","attrs","applyDefaultTheme","props","disabled","css","Reference","AssetGalleryCompactCard","selected","theme","themeProp","getColor","extendedSelectMode","Figure","figure","$hasHeightAndWidth","FigureOverlayBackdrop","Overlay","OverlayBackdrop","$softSelected","OverlayInfo","OverlayCompleted","rgba","OverlayHasError","OverlaySelected","$customSelectedBorder","OverlayInfoTop","OverlayInfoTopActions","StatusIcon","VisibleOnHover","$hidden","OverlayInfoTopLeft","$collapseExtraInfo","LiveBadgeSlot","OverlayInfoTopWarning","type","OverlayInfoBottom","OverlayInfoBottomSelectButton","OverlayInfoBottomMediaIcon","ConsumerDefinedOverlay","StyledFloatingArrow","FloatingArrow"],"mappings":"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"}
|
package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js
CHANGED
|
@@ -9,6 +9,7 @@ import { ReactComponent as SvgPlay } from '../../../../icons/play.svg.js';
|
|
|
9
9
|
import { convertMsToHMS } from '../../../../utils/dateTime.js';
|
|
10
10
|
import '../../../../data/Alert/Alert.js';
|
|
11
11
|
import Badge from '../../../../data/Badge/Badge.js';
|
|
12
|
+
import LiveBadge from '../../../../data/LiveBadge/LiveBadge.js';
|
|
12
13
|
import Popover from '../../../../data/Popover/Popover.js';
|
|
13
14
|
import '../../../../data/SeverityBadge/SeverityBadge.js';
|
|
14
15
|
import '../../../../data/Tab/Tab.js';
|
|
@@ -318,7 +319,9 @@ const AssetGalleryGridCard = props => {
|
|
|
318
319
|
const renderThumbnail = () => {
|
|
319
320
|
return React__default.createElement(ThumbnailSection, null, React__default.createElement(ThumbnailSelectedOverlay, {
|
|
320
321
|
selected: selected
|
|
321
|
-
}), asset.overlay && React__default.createElement(ConsumerOverlay, null, asset.overlay), React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null,
|
|
322
|
+
}), asset.overlay && React__default.createElement(ConsumerOverlay, null, asset.overlay), React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null, asset.isLive && React__default.createElement(LiveBadge, {
|
|
323
|
+
label: asset.liveLabel
|
|
324
|
+
}), renderVersionsBadge()), React__default.createElement(HorizontalBarRight, null, asset.statusIcon && React__default.createElement(StatusIconCircle, null, asset.statusIcon))), React__default.createElement(ThumbnailRow, null, React__default.createElement(ThumbnailSpacer, null), React__default.createElement(ThumbnailWrapper, null, React__default.createElement(ThumbnailBox, null, renderPreview(asset))), React__default.createElement(ThumbnailActions, null, React__default.createElement(ActionsContainer, null, !extendedSelectMode && (asset.actions ?? []).map((action, index) => React__default.createElement(Tooltip, {
|
|
322
325
|
key: `${asset.key}-${action.title}`,
|
|
323
326
|
content: action.title
|
|
324
327
|
}, React__default.createElement(Action, null, React__default.createElement(ComputedActionButton, {
|
|
@@ -329,7 +332,7 @@ const AssetGalleryGridCard = props => {
|
|
|
329
332
|
onClick: event => onActionClick(event, action, index),
|
|
330
333
|
subActions: action?.subActions,
|
|
331
334
|
actionWidthHeight: action.actionWidthHeight
|
|
332
|
-
}))))))), React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null), React__default.createElement(HorizontalBarRight, null, renderMediaBadge())));
|
|
335
|
+
}))))))), React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null), React__default.createElement(HorizontalBarRight, null, !asset.isLive && renderMediaBadge())));
|
|
333
336
|
};
|
|
334
337
|
const renderDetails = () => {
|
|
335
338
|
return React__default.createElement(CardBody, null, React__default.createElement(CardTitle, {
|