@ntbjs/react-components 2.0.11-rc.2 → 2.0.11-rc.3

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.
@@ -34,7 +34,7 @@ import '../../../../inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js'
34
34
  import ContextMenu from '../../../ContextMenu/ContextMenu.js';
35
35
  import ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem.js';
36
36
  import { assetShapeWithLayout } from '../../asset.propType.js';
37
- import { AssetGalleryWrapper, AssetGalleryGridCard as AssetGalleryGridCard$2, HorizontalBar, HorizontalBarLeft, HorizontalBarRight, StatusIconCircle, ThumbnailRow, ThumbnailSpacer, ThumbnailWrapper, ThumbnailBox, ThumbnailSelectedOverlay, ConsumerOverlay, ActionsContainer, Action, CardBody, CardTitle, CardDescription, InstructionsWrapper, CardDivider, CardFooter, CardFooterLeft, CardFooterRight, CheckboxRow, CheckboxButton } from './AssetGalleryGridCard.styled.js';
37
+ import { AssetGalleryWrapper, AssetGalleryGridCard as AssetGalleryGridCard$2, HorizontalBar, HorizontalBarLeft, HorizontalBarRight, StatusIconCircle, ThumbnailRow, ThumbnailSpacer, ThumbnailWrapper, ThumbnailBox, ThumbnailSelectedOverlay, ConsumerOverlay, ThumbnailActions, ActionsContainer, Action, CardBody, CardTitle, CardDescription, InstructionsWrapper, CardDivider, CardFooter, CardFooterLeft, CardFooterRight, CheckboxRow, CheckboxButton } from './AssetGalleryGridCard.styled.js';
38
38
  import InstructionSeverityDisplay from '../../../InstructionSeverityDisplay/InstructionSeverityDisplay.js';
39
39
 
40
40
  const ComputedRootComponent = ({
@@ -315,7 +315,7 @@ const AssetGalleryGridCard = props => {
315
315
  const renderThumbnail = () => {
316
316
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null, 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(ThumbnailSelectedOverlay, {
317
317
  selected: selected
318
- }), asset.overlay && React__default.createElement(ConsumerOverlay, null, asset.overlay))), React__default.createElement(ActionsContainer, null, (asset.actions ?? []).map((action, index) => React__default.createElement(Tooltip, {
318
+ }), asset.overlay && React__default.createElement(ConsumerOverlay, null, asset.overlay))), React__default.createElement(ThumbnailActions, null, React__default.createElement(ActionsContainer, null, (asset.actions ?? []).map((action, index) => React__default.createElement(Tooltip, {
319
319
  key: `${asset.key}-${action.title}`,
320
320
  content: action.title
321
321
  }, React__default.createElement(Action, null, React__default.createElement(ComputedActionButton, {
@@ -326,7 +326,7 @@ const AssetGalleryGridCard = props => {
326
326
  onClick: event => onActionClick(event, action, index),
327
327
  subActions: action?.subActions,
328
328
  actionWidthHeight: action.actionWidthHeight
329
- })))))), React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null), React__default.createElement(HorizontalBarRight, null, renderMediaBadge())));
329
+ }))))))), React__default.createElement(HorizontalBar, null, React__default.createElement(HorizontalBarLeft, null), React__default.createElement(HorizontalBarRight, null, renderMediaBadge())));
330
330
  };
331
331
  const renderDetails = () => {
332
332
  return React__default.createElement(CardBody, null, React__default.createElement(CardTitle, {
@@ -1 +1 @@
1
- {"version":3,"file":"AssetGalleryGridCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js"],"sourcesContent":["import { get, isEmpty, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport {\n CheckRectangleIcon,\n CheckRectangleOutlineIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, Popover, Tooltip } from '../../../../data';\nimport { ActionButton } from '../../../../inputs';\nimport ContextMenu from '../../../ContextMenu/ContextMenu';\nimport ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryGridCard.styled';\nimport InstructionSeverityDisplay from '../../../InstructionSeverityDisplay';\n\n/**\n >>> Section 1: renderThumbnail():\n┌─────────────────────────────────────────┐ ← S.AssetGalleryGridCard (Root)\n│[renderversionsBadge] [severityIcon]│ ← S.HorizontalBar (Top)\n├─────────────────────────────────────────┤\n│ │ │ │\n│ (spacer) │ [renderPreview]│ [action]│ ← S.ThumbnailRow (Inc. ComputedActionButton)\n│ │ │ [action]│ ← S.ActionsContainer\n│ │ │ │\n├─────────────────────────────────────────┤\n│ [renderMediaBadge] │ ← S.HorizontalBar (Bottom)\n├─────────────────────────────────────────┤\n│ | >>> Section 2: renderDetails():\n│ [asset.title] │ ← S.CardTitle\n│ [asset.description] │ ← S.CardDescription\n├─────────────────────────────────────────┤\n│ [InstructionSeverityDisplay] │ ← S.InstructionsWrapper\n| |\n| | >>> Section 3:renderConsentSummaryInfo():\n├─────────────────────────────────────────┤ ← S.CardDivider\n│ [footerLeft] [footerRight] │ ← S.CardFooter\n├─────────────────────────────────────────┤ ← S.CardDivider\n| |\n│ | >>> Section 4:renderCheckboxRow():\n│ [CheckRectangleIcon / Outline] │ ← S.CheckboxRow\n└─────────────────────────────────────────┘\n Approx Height: 536px (Updated severity card takes more space than XD Design)\n Note: Every block renders ALWAYS to maintain same height+alignment in gallery\n */\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 'isCardHovered',\n '$isCardHovered',\n 'completed',\n '$hasError'\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.AssetGalleryGridCard ref={newProps.ref} {...newProps} />;\n};\n\n/* eslint-disable react/prop-types */\nconst ComputedActionButton = React.forwardRef(function ComputedActionButton(\n // eslint-disable-next-line react/prop-types\n { component, className, subActions = [], isSubActionsOpened, ...props },\n forwardedRef\n) {\n const newProps = props;\n if (!isEmpty(subActions)) {\n const contextMenuItems = subActions.map((subAction, key) => {\n const { onClick, title, icon } = subAction;\n return <ContextMenuItem key={key} onClickEffect={onClick} title={title} icon={icon} />;\n });\n const contextMenu = <ContextMenu>{contextMenuItems}</ContextMenu>;\n newProps.children = (\n <Popover\n contextMenu={true}\n content={contextMenu}\n placement={'bottom-end'}\n visible={isSubActionsOpened}\n zIndex={10001}\n offset={[0, -8]}\n >\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n backgroundColors={['black', 'white']}\n onClick={newProps.onClick}\n actionWidthHeight={[40, 40]}\n />\n </Popover>\n );\n } else {\n newProps.children = (\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n onClick={newProps.onClick}\n backgroundColors={['black', 'white']}\n actionWidthHeight={[40, 40]}\n />\n );\n }\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component())) {\n return React.cloneElement(component(), { ...omit(newProps, 'icon') });\n }\n }\n\n return <React.Fragment>{newProps.children}</React.Fragment>;\n});\n/* eslint-disable react/prop-types */\n\nconst AssetGalleryGridCard = props => {\n const {\n asset,\n selectable,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition\n } = props;\n\n const [isCardHovered, setIsCardHovered] = React.useState(false);\n const [openedSubActions, updateOpenedSubActions] = React.useState([]);\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isCardHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isCardHovered]);\n\n const mouseHasEnteredCard = useCallback(() => {\n setIsCardHovered(true);\n }, []);\n\n const mouseHasLeftCard = useCallback(() => {\n setIsCardHovered(false);\n }, []);\n\n const onSubActionsViewToggle = useCallback(\n actionIndex => {\n const newOpenedSubActions = openedSubActions.map((isOpened, index) => {\n if (index !== actionIndex) {\n return false;\n }\n return !isOpened;\n });\n updateOpenedSubActions(newOpenedSubActions);\n },\n [openedSubActions]\n );\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\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 mouseHasEnteredCard();\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n\n mouseHasLeftCard();\n }\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 return onAssetSelected(asset.key);\n }\n\n const onActionClick = useCallback(\n (event, action, index) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isFunction(action?.onClick)) {\n action.onClick(asset);\n }\n\n if (!isEmpty(action?.subActions)) {\n onSubActionsViewToggle(index);\n }\n },\n [onSubActionsViewToggle]\n );\n\n const shouldOpenSubActions = useCallback(\n actionIndex => openedSubActions[actionIndex],\n [openedSubActions]\n );\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n function renderPreview(asset) {\n let previewContent = null;\n\n if (asset.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video ref={videoPlayerRef} loop muted>\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 previewContent;\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 // 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 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 renderThumbnail = () => {\n return (\n <>\n {/* Thumbnail Top bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft>{renderVersionsBadge()}</S.HorizontalBarLeft>\n <S.HorizontalBarRight>\n {asset.statusIcon && <S.StatusIconCircle>{asset.statusIcon}</S.StatusIconCircle>}\n </S.HorizontalBarRight>\n </S.HorizontalBar>\n <S.ThumbnailRow>\n <S.ThumbnailSpacer />\n {/* Thumbnail */}\n <S.ThumbnailWrapper>\n <S.ThumbnailBox>\n {renderPreview(asset)}\n <S.ThumbnailSelectedOverlay selected={selected} />\n\n {asset.overlay && <S.ConsumerOverlay>{asset.overlay}</S.ConsumerOverlay>}\n </S.ThumbnailBox>\n </S.ThumbnailWrapper>\n\n <S.ActionsContainer>\n {(asset.actions ?? []).map((action, index) => (\n <Tooltip key={`${asset.key}-${action.title}`} content={action.title}>\n <S.Action>\n <ComputedActionButton\n component={action.component}\n className={action.className}\n icon={action.icon}\n isSubActionsOpened={shouldOpenSubActions(index)}\n onClick={event => onActionClick(event, action, index)}\n subActions={action?.subActions}\n actionWidthHeight={action.actionWidthHeight}\n />\n </S.Action>\n </Tooltip>\n ))}\n </S.ActionsContainer>\n </S.ThumbnailRow>\n {/* Thumbnail Bottom bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft></S.HorizontalBarLeft>\n <S.HorizontalBarRight>{renderMediaBadge()}</S.HorizontalBarRight>\n </S.HorizontalBar>\n </>\n );\n };\n\n const renderDetails = () => {\n return (\n <S.CardBody>\n <S.CardTitle title={asset.title || ''}>{asset.title || ''}</S.CardTitle>\n <S.CardDescription title={asset.description || ''}>\n {asset.description || ''}\n </S.CardDescription>\n <S.InstructionsWrapper>\n {asset.imageRights && (\n <InstructionSeverityDisplay\n labels={asset.instructionLabels}\n instructionText={asset.imageRights}\n severity={asset.instructionSeverity}\n showCard={false}\n padding=\"0px 0px\"\n detailsFontSize=\"12px\"\n bgLight={'transparent'}\n bgDark={'transparent'}\n maxLines={2}\n />\n )}\n </S.InstructionsWrapper>\n </S.CardBody>\n );\n };\n\n const renderConsentSummaryInfo = () => {\n return (\n <>\n <S.CardDivider />\n <S.CardFooter>\n <S.CardFooterLeft>{asset.summary?.footerLeft || null}</S.CardFooterLeft>\n <S.CardFooterRight>{asset.summary?.footerRight || null}</S.CardFooterRight>\n </S.CardFooter>\n <S.CardDivider />\n </>\n );\n };\n\n const renderCheckboxRow = () => {\n return (\n <S.CheckboxRow>\n {selectable && (\n <S.CheckboxButton selected={selected} onClick={onSelectClick}>\n {selected ? <CheckRectangleIcon /> : <CheckRectangleOutlineIcon />}\n </S.CheckboxButton>\n )}\n </S.CheckboxRow>\n );\n };\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled} ref={cardRef}>\n <S.AssetGalleryGridCard\n as={ComputedRootComponent}\n component={component}\n asset={asset}\n disabled={asset.disabled}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n $softSelected={softSelected}\n completed={asset?.completed}\n $hasError={asset?.hasError}\n $customSelectedBorder={customSelectedBorder}\n >\n {renderThumbnail()}\n {renderDetails()}\n {renderConsentSummaryInfo()}\n {renderCheckboxRow()}\n </S.AssetGalleryGridCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryGridCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\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\nAssetGalleryGridCard.defaultProps = {};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryGridCard, (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 'asset.layout',\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","ComputedActionButton","forwardRef","className","subActions","isSubActionsOpened","forwardedRef","isEmpty","contextMenuItems","map","subAction","onClick","title","icon","ContextMenuItem","onClickEffect","contextMenu","ContextMenu","Popover","content","placement","visible","zIndex","offset","ActionButton","useShadow","active","backgroundColors","actionWidthHeight","Fragment","AssetGalleryGridCard","selectable","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","isCardHovered","setIsCardHovered","useState","openedSubActions","updateOpenedSubActions","useEffect","newOpenedSubActions","actions","length","mouseHasEnteredCard","useCallback","mouseHasLeftCard","onSubActionsViewToggle","actionIndex","isOpened","index","videoPlayerRef","useRef","cardRef","dragRef","onMouseEnter","event","current","playPromise","play","undefined","then","catch","onMouseLeave","pause","onSelectClick","preventDefault","stopPropagation","onActionClick","action","shouldOpenSubActions","onContextMenu","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","HeadsetIcon","LazyLoadImage","alt","height","width","delayMethod","delayTime","threshold","addEventListener","removeEventListener","onDragstart","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderMediaBadge","PlayIcon","duration","convertMsToHMS","minWidth","renderThumbnail","statusIcon","overlay","Tooltip","renderDetails","description","imageRights","InstructionSeverityDisplay","labels","instructionLabels","instructionText","severity","instructionSeverity","showCard","padding","detailsFontSize","bgLight","bgDark","maxLines","renderConsentSummaryInfo","summary","footerLeft","footerRight","renderCheckboxRow","CheckRectangleIcon","CheckRectangleOutlineIcon","disabled","as","draggable","innerRef","$softSelected","completed","$hasError","hasError","$customSelectedBorder","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","defaultProps","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
1
+ {"version":3,"file":"AssetGalleryGridCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js"],"sourcesContent":["import { get, isEmpty, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport {\n CheckRectangleIcon,\n CheckRectangleOutlineIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, Popover, Tooltip } from '../../../../data';\nimport { ActionButton } from '../../../../inputs';\nimport ContextMenu from '../../../ContextMenu/ContextMenu';\nimport ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryGridCard.styled';\nimport InstructionSeverityDisplay from '../../../InstructionSeverityDisplay';\n\n/**\n >>> Section 1: renderThumbnail():\n┌─────────────────────────────────────────┐ ← S.AssetGalleryGridCard (Root)\n│[renderversionsBadge] [severityIcon]│ ← S.HorizontalBar (Top)\n├─────────────────────────────────────────┤\n│ │ │ │\n│ (spacer) │ [renderPreview]│ [action]│ ← S.ThumbnailRow (Inc. ComputedActionButton)\n│ │ │ [action]│ ← S.ActionsContainer\n│ │ │ │\n├─────────────────────────────────────────┤\n│ [renderMediaBadge] │ ← S.HorizontalBar (Bottom)\n├─────────────────────────────────────────┤\n│ | >>> Section 2: renderDetails():\n│ [asset.title] │ ← S.CardTitle\n│ [asset.description] │ ← S.CardDescription\n├─────────────────────────────────────────┤\n│ [InstructionSeverityDisplay] │ ← S.InstructionsWrapper\n| |\n| | >>> Section 3:renderConsentSummaryInfo():\n├─────────────────────────────────────────┤ ← S.CardDivider\n│ [footerLeft] [footerRight] │ ← S.CardFooter\n├─────────────────────────────────────────┤ ← S.CardDivider\n| |\n│ | >>> Section 4:renderCheckboxRow():\n│ [CheckRectangleIcon / Outline] │ ← S.CheckboxRow\n└─────────────────────────────────────────┘\n Approx Height: 536px (Updated severity card takes more space than XD Design)\n Note: Every block renders ALWAYS to maintain same height+alignment in gallery\n */\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 'isCardHovered',\n '$isCardHovered',\n 'completed',\n '$hasError'\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.AssetGalleryGridCard ref={newProps.ref} {...newProps} />;\n};\n\n/* eslint-disable react/prop-types */\nconst ComputedActionButton = React.forwardRef(function ComputedActionButton(\n // eslint-disable-next-line react/prop-types\n { component, className, subActions = [], isSubActionsOpened, ...props },\n forwardedRef\n) {\n const newProps = props;\n if (!isEmpty(subActions)) {\n const contextMenuItems = subActions.map((subAction, key) => {\n const { onClick, title, icon } = subAction;\n return <ContextMenuItem key={key} onClickEffect={onClick} title={title} icon={icon} />;\n });\n const contextMenu = <ContextMenu>{contextMenuItems}</ContextMenu>;\n newProps.children = (\n <Popover\n contextMenu={true}\n content={contextMenu}\n placement={'bottom-end'}\n visible={isSubActionsOpened}\n zIndex={10001}\n offset={[0, -8]}\n >\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n backgroundColors={['black', 'white']}\n onClick={newProps.onClick}\n actionWidthHeight={[40, 40]}\n />\n </Popover>\n );\n } else {\n newProps.children = (\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n onClick={newProps.onClick}\n backgroundColors={['black', 'white']}\n actionWidthHeight={[40, 40]}\n />\n );\n }\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component())) {\n return React.cloneElement(component(), { ...omit(newProps, 'icon') });\n }\n }\n\n return <React.Fragment>{newProps.children}</React.Fragment>;\n});\n/* eslint-disable react/prop-types */\n\nconst AssetGalleryGridCard = props => {\n const {\n asset,\n selectable,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition\n } = props;\n\n const [isCardHovered, setIsCardHovered] = React.useState(false);\n const [openedSubActions, updateOpenedSubActions] = React.useState([]);\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isCardHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isCardHovered]);\n\n const mouseHasEnteredCard = useCallback(() => {\n setIsCardHovered(true);\n }, []);\n\n const mouseHasLeftCard = useCallback(() => {\n setIsCardHovered(false);\n }, []);\n\n const onSubActionsViewToggle = useCallback(\n actionIndex => {\n const newOpenedSubActions = openedSubActions.map((isOpened, index) => {\n if (index !== actionIndex) {\n return false;\n }\n return !isOpened;\n });\n updateOpenedSubActions(newOpenedSubActions);\n },\n [openedSubActions]\n );\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\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 mouseHasEnteredCard();\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n\n mouseHasLeftCard();\n }\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 return onAssetSelected(asset.key);\n }\n\n const onActionClick = useCallback(\n (event, action, index) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isFunction(action?.onClick)) {\n action.onClick(asset);\n }\n\n if (!isEmpty(action?.subActions)) {\n onSubActionsViewToggle(index);\n }\n },\n [onSubActionsViewToggle]\n );\n\n const shouldOpenSubActions = useCallback(\n actionIndex => openedSubActions[actionIndex],\n [openedSubActions]\n );\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n function renderPreview(asset) {\n let previewContent = null;\n\n if (asset.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video ref={videoPlayerRef} loop muted>\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 previewContent;\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 // 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 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 renderThumbnail = () => {\n return (\n <>\n {/* Thumbnail Top bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft>{renderVersionsBadge()}</S.HorizontalBarLeft>\n <S.HorizontalBarRight>\n {asset.statusIcon && <S.StatusIconCircle>{asset.statusIcon}</S.StatusIconCircle>}\n </S.HorizontalBarRight>\n </S.HorizontalBar>\n <S.ThumbnailRow>\n <S.ThumbnailSpacer />\n {/* Thumbnail */}\n <S.ThumbnailWrapper>\n <S.ThumbnailBox>\n {renderPreview(asset)}\n <S.ThumbnailSelectedOverlay selected={selected} />\n\n {asset.overlay && <S.ConsumerOverlay>{asset.overlay}</S.ConsumerOverlay>}\n </S.ThumbnailBox>\n </S.ThumbnailWrapper>\n <S.ThumbnailActions>\n <S.ActionsContainer>\n {(asset.actions ?? []).map((action, index) => (\n <Tooltip key={`${asset.key}-${action.title}`} content={action.title}>\n <S.Action>\n <ComputedActionButton\n component={action.component}\n className={action.className}\n icon={action.icon}\n isSubActionsOpened={shouldOpenSubActions(index)}\n onClick={event => onActionClick(event, action, index)}\n subActions={action?.subActions}\n actionWidthHeight={action.actionWidthHeight}\n />\n </S.Action>\n </Tooltip>\n ))}\n </S.ActionsContainer>\n </S.ThumbnailActions>\n </S.ThumbnailRow>\n {/* Thumbnail Bottom bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft></S.HorizontalBarLeft>\n <S.HorizontalBarRight>{renderMediaBadge()}</S.HorizontalBarRight>\n </S.HorizontalBar>\n </>\n );\n };\n\n const renderDetails = () => {\n return (\n <S.CardBody>\n <S.CardTitle title={asset.title || ''}>{asset.title || ''}</S.CardTitle>\n <S.CardDescription title={asset.description || ''}>\n {asset.description || ''}\n </S.CardDescription>\n <S.InstructionsWrapper>\n {asset.imageRights && (\n <InstructionSeverityDisplay\n labels={asset.instructionLabels}\n instructionText={asset.imageRights}\n severity={asset.instructionSeverity}\n showCard={false}\n padding=\"0px 0px\"\n detailsFontSize=\"12px\"\n bgLight={'transparent'}\n bgDark={'transparent'}\n maxLines={2}\n />\n )}\n </S.InstructionsWrapper>\n </S.CardBody>\n );\n };\n\n const renderConsentSummaryInfo = () => {\n return (\n <>\n <S.CardDivider />\n <S.CardFooter>\n <S.CardFooterLeft>{asset.summary?.footerLeft || null}</S.CardFooterLeft>\n <S.CardFooterRight>{asset.summary?.footerRight || null}</S.CardFooterRight>\n </S.CardFooter>\n <S.CardDivider />\n </>\n );\n };\n\n const renderCheckboxRow = () => {\n return (\n <S.CheckboxRow>\n {selectable && (\n <S.CheckboxButton selected={selected} onClick={onSelectClick}>\n {selected ? <CheckRectangleIcon /> : <CheckRectangleOutlineIcon />}\n </S.CheckboxButton>\n )}\n </S.CheckboxRow>\n );\n };\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled} ref={cardRef}>\n <S.AssetGalleryGridCard\n as={ComputedRootComponent}\n component={component}\n asset={asset}\n disabled={asset.disabled}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n $softSelected={softSelected}\n completed={asset?.completed}\n $hasError={asset?.hasError}\n $customSelectedBorder={customSelectedBorder}\n >\n {renderThumbnail()}\n {renderDetails()}\n {renderConsentSummaryInfo()}\n {renderCheckboxRow()}\n </S.AssetGalleryGridCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryGridCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\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\nAssetGalleryGridCard.defaultProps = {};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryGridCard, (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 'asset.layout',\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","ComputedActionButton","forwardRef","className","subActions","isSubActionsOpened","forwardedRef","isEmpty","contextMenuItems","map","subAction","onClick","title","icon","ContextMenuItem","onClickEffect","contextMenu","ContextMenu","Popover","content","placement","visible","zIndex","offset","ActionButton","useShadow","active","backgroundColors","actionWidthHeight","Fragment","AssetGalleryGridCard","selectable","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","isCardHovered","setIsCardHovered","useState","openedSubActions","updateOpenedSubActions","useEffect","newOpenedSubActions","actions","length","mouseHasEnteredCard","useCallback","mouseHasLeftCard","onSubActionsViewToggle","actionIndex","isOpened","index","videoPlayerRef","useRef","cardRef","dragRef","onMouseEnter","event","current","playPromise","play","undefined","then","catch","onMouseLeave","pause","onSelectClick","preventDefault","stopPropagation","onActionClick","action","shouldOpenSubActions","onContextMenu","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","HeadsetIcon","LazyLoadImage","alt","height","width","delayMethod","delayTime","threshold","addEventListener","removeEventListener","onDragstart","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderMediaBadge","PlayIcon","duration","convertMsToHMS","minWidth","renderThumbnail","statusIcon","overlay","Tooltip","renderDetails","description","imageRights","InstructionSeverityDisplay","labels","instructionLabels","instructionText","severity","instructionSeverity","showCard","padding","detailsFontSize","bgLight","bgDark","maxLines","renderConsentSummaryInfo","summary","footerLeft","footerRight","renderCheckboxRow","CheckRectangleIcon","CheckRectangleOutlineIcon","disabled","as","draggable","innerRef","$softSelected","completed","$hasError","hasError","$customSelectedBorder","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","defaultProps","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,MAAMA,qBAAqB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,KAAK;EAAE,GAAGC,KAAAA;AAAM,CAAC,KAAK;AAEhE,EAAA,MAAMC,QAAQ,GAAGC,OAAO,CACtBC,IAAI,CAACH,KAAK,EAAE,CACV,OAAO,EACP,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,CACZ,CAAC,EACF,CAACI,CAAC,EAAEC,GAAG,KAAMA,GAAG,KAAK,UAAU,GAAG,KAAK,GAAGA,GAC5C,CAAC,CAAA;AAED,EAAA,IAAIP,SAAS,EAAE;IACb,IAAI,CAACQ,UAAU,CAACR,SAAS,CAAC,EAAE,MAAMS,KAAK,CAAC,uCAAuC,CAAC,CAAA;AAEhF,IAAA,IAAIC,cAAK,CAACC,cAAc,CAACX,SAAS,CAACC,KAAK,EAAEE,QAAQ,CAACS,QAAQ,CAAC,CAAC,EAAE;MAC7D,OAAOF,cAAK,CAACG,YAAY,CAACb,SAAS,CAACC,KAAK,EAAEE,QAAQ,CAACS,QAAQ,CAAC,EAAEP,IAAI,CAACF,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAC9F,KAAA;AACF,GAAA;EAEA,OAAOO,cAAA,CAAAI,aAAA,CAACC,sBAAsB,EAAAC,QAAA,CAAA;IAACC,GAAG,EAAEd,QAAQ,CAACc,GAAAA;GAASd,EAAAA,QAAQ,CAAG,CAAC,CAAA;AACpE,CAAC,CAAA;AAGD,MAAMe,oBAAoB,GAAGR,cAAK,CAACS,UAAU,CAAC,SAASD,oBAAoBA,CAEzE;EAAElB,SAAS;EAAEoB,SAAS;AAAEC,EAAAA,UAAU,GAAG,EAAE;EAAEC,kBAAkB;EAAE,GAAGpB,KAAAA;AAAM,CAAC,EACvEqB,YAAY,EACZ;EACA,MAAMpB,QAAQ,GAAGD,KAAK,CAAA;AACtB,EAAA,IAAI,CAACsB,OAAO,CAACH,UAAU,CAAC,EAAE;IACxB,MAAMI,gBAAgB,GAAGJ,UAAU,CAACK,GAAG,CAAC,CAACC,SAAS,EAAEpB,GAAG,KAAK;MAC1D,MAAM;QAAEqB,OAAO;QAAEC,KAAK;AAAEC,QAAAA,IAAAA;AAAK,OAAC,GAAGH,SAAS,CAAA;AAC1C,MAAA,OAAOjB,cAAA,CAAAI,aAAA,CAACiB,eAAe,EAAA;AAACxB,QAAAA,GAAG,EAAEA,GAAI;AAACyB,QAAAA,aAAa,EAAEJ,OAAQ;AAACC,QAAAA,KAAK,EAAEA,KAAM;AAACC,QAAAA,IAAI,EAAEA,IAAAA;AAAK,OAAE,CAAC,CAAA;AACxF,KAAC,CAAC,CAAA;IACF,MAAMG,WAAW,GAAGvB,cAAA,CAAAI,aAAA,CAACoB,WAAW,EAAET,IAAAA,EAAAA,gBAA8B,CAAC,CAAA;AACjEtB,IAAAA,QAAQ,CAACS,QAAQ,GACfF,cAAA,CAAAI,aAAA,CAACqB,OAAO,EAAA;AACNF,MAAAA,WAAW,EAAE,IAAK;AAClBG,MAAAA,OAAO,EAAEH,WAAY;AACrBI,MAAAA,SAAS,EAAE,YAAa;AACxBC,MAAAA,OAAO,EAAEhB,kBAAmB;AAC5BiB,MAAAA,MAAM,EAAE,KAAM;AACdC,MAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAAE,KAAA,EAEhB9B,cAAA,CAAAI,aAAA,CAAC2B,YAAY,EAAA;AACXC,MAAAA,SAAS,EAAE,KAAM;AACjBC,MAAAA,MAAM,EAAE,IAAK;AACb1B,MAAAA,GAAG,EAAEM,YAAa;AAClBH,MAAAA,SAAS,EAAEA,SAAU;MACrBU,IAAI,EAAE3B,QAAQ,CAAC2B,IAAK;AACpBc,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;MACrChB,OAAO,EAAEzB,QAAQ,CAACyB,OAAQ;AAC1BiB,MAAAA,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,KAC7B,CACM,CACV,CAAA;AACH,GAAC,MAAM;AACL1C,IAAAA,QAAQ,CAACS,QAAQ,GACfF,cAAA,CAAAI,aAAA,CAAC2B,YAAY,EAAA;AACXC,MAAAA,SAAS,EAAE,KAAM;AACjBC,MAAAA,MAAM,EAAE,IAAK;AACb1B,MAAAA,GAAG,EAAEM,YAAa;AAClBH,MAAAA,SAAS,EAAEA,SAAU;MACrBU,IAAI,EAAE3B,QAAQ,CAAC2B,IAAK;MACpBF,OAAO,EAAEzB,QAAQ,CAACyB,OAAQ;AAC1BgB,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrCC,MAAAA,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,KAC7B,CACF,CAAA;AACH,GAAA;AAEA,EAAA,IAAI7C,SAAS,EAAE;IACb,IAAI,CAACQ,UAAU,CAACR,SAAS,CAAC,EAAE,MAAMS,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAEhF,IAAIC,cAAK,CAACC,cAAc,CAACX,SAAS,EAAE,CAAC,EAAE;AACrC,MAAA,OAAOU,cAAK,CAACG,YAAY,CAACb,SAAS,EAAE,EAAE;AAAE,QAAA,GAAGK,IAAI,CAACF,QAAQ,EAAE,MAAM,CAAA;AAAE,OAAC,CAAC,CAAA;AACvE,KAAA;AACF,GAAA;EAEA,OAAOO,cAAA,CAAAI,aAAA,CAACJ,cAAK,CAACoC,QAAQ,EAAE3C,IAAAA,EAAAA,QAAQ,CAACS,QAAyB,CAAC,CAAA;AAC7D,CAAC,CAAC,CAAA;AAGF,MAAMmC,oBAAoB,GAAG7C,KAAK,IAAI;EACpC,MAAM;IACJD,KAAK;IACL+C,UAAU;IACVC,QAAQ;IACRC,oBAAoB;IACpBC,kBAAkB;IAClBC,eAAe;IACfC,iBAAiB;IACjBC,YAAY;IACZtD,SAAS;AACTuD,IAAAA,cAAAA;AACF,GAAC,GAAGrD,KAAK,CAAA;EAET,MAAM,CAACsD,aAAa,EAAEC,gBAAgB,CAAC,GAAG/C,cAAK,CAACgD,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/D,MAAM,CAACC,gBAAgB,EAAEC,sBAAsB,CAAC,GAAGlD,cAAK,CAACgD,QAAQ,CAAC,EAAE,CAAC,CAAA;AACrEG,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMC,mBAAmB,GAAG,CAAC7D,KAAK,EAAE8D,OAAO,IAAI,EAAE,EAAErC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAA;IACnEkC,sBAAsB,CAACE,mBAAmB,CAAC,CAAA;AAC7C,GAAC,EAAE,CAAC7D,KAAK,CAAC,CAAC,CAAA;AAEX4D,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACL,aAAa,IAAIG,gBAAgB,EAAEK,MAAM,EAAE;MAC9CJ,sBAAsB,CAACD,gBAAgB,CAACjC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;AAC3D,KAAA;AACF,GAAC,EAAE,CAAC8B,aAAa,CAAC,CAAC,CAAA;AAEnB,EAAA,MAAMS,mBAAmB,GAAGC,WAAW,CAAC,MAAM;IAC5CT,gBAAgB,CAAC,IAAI,CAAC,CAAA;GACvB,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAMU,gBAAgB,GAAGD,WAAW,CAAC,MAAM;IACzCT,gBAAgB,CAAC,KAAK,CAAC,CAAA;GACxB,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAMW,sBAAsB,GAAGF,WAAW,CACxCG,WAAW,IAAI;IACb,MAAMP,mBAAmB,GAAGH,gBAAgB,CAACjC,GAAG,CAAC,CAAC4C,QAAQ,EAAEC,KAAK,KAAK;MACpE,IAAIA,KAAK,KAAKF,WAAW,EAAE;AACzB,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;AACA,MAAA,OAAO,CAACC,QAAQ,CAAA;AAClB,KAAC,CAAC,CAAA;IACFV,sBAAsB,CAACE,mBAAmB,CAAC,CAAA;AAC7C,GAAC,EACD,CAACH,gBAAgB,CACnB,CAAC,CAAA;AAED,EAAA,MAAMa,cAAc,GAAGC,MAAM,EAAE,CAAA;AAC/B,EAAA,MAAMC,OAAO,GAAGD,MAAM,EAAE,CAAA;AACxB,EAAA,MAAME,OAAO,GAAGF,MAAM,CAAC,IAAI,CAAC,CAAA;EAE5B,SAASG,YAAYA,CAACC,KAAK,EAAE;IAC3B,IAAIL,cAAc,CAACM,OAAO,EAAE;MAC1B,MAAMC,WAAW,GAAGP,cAAc,CAACM,OAAO,CAACE,IAAI,EAAE,CAAA;MACjD,IAAID,WAAW,KAAKE,SAAS,EAAE;AAC7BF,QAAAA,WAAW,CACRG,IAAI,CAAC,MAAM,EAEX,CAAC,CACDC,KAAK,CAAC,MAAM,EAEZ,CAAC,CAAA;AACN,OAAA;AACF,KAAA;AAEA,IAAA,IAAI3E,UAAU,CAACP,KAAK,CAAC2E,YAAY,CAAC,EAAE;AAClC3E,MAAAA,KAAK,CAAC2E,YAAY,CAACC,KAAK,EAAE5E,KAAK,CAAC,CAAA;AAClC,KAAA;AAEAgE,IAAAA,mBAAmB,EAAE,CAAA;AACvB,GAAA;EAEA,SAASmB,YAAYA,GAAG;IACtB,IAAIZ,cAAc,CAACM,OAAO,EAAE;AAC1BN,MAAAA,cAAc,CAACM,OAAO,CAACO,KAAK,EAAE,CAAA;AAChC,KAAA;AAEAlB,IAAAA,gBAAgB,EAAE,CAAA;AACpB,GAAA;EAEA,SAASvC,OAAOA,CAACiD,KAAK,EAAE;AACtB,IAAA,IAAI1B,kBAAkB,EAAE;MACtB,OAAOmC,aAAa,CAACT,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAIrE,UAAU,CAACP,KAAK,CAAC2B,OAAO,CAAC,EAAE;AAC7B3B,MAAAA,KAAK,CAAC2B,OAAO,CAACiD,KAAK,EAAE5E,KAAK,CAAC,CAAA;AAC7B,KAAA;AACF,GAAA;EAEA,SAASqF,aAAaA,CAACT,KAAK,EAAE;IAC5BA,KAAK,CAACU,cAAc,EAAE,CAAA;IACtBV,KAAK,CAACW,eAAe,EAAE,CAAA;AAEvB,IAAA,IAAIvC,QAAQ,EAAE;AACZ,MAAA,OAAOI,iBAAiB,CAACpD,KAAK,CAACM,GAAG,CAAC,CAAA;AACrC,KAAA;AAEA,IAAA,OAAO6C,eAAe,CAACnD,KAAK,CAACM,GAAG,CAAC,CAAA;AACnC,GAAA;EAEA,MAAMkF,aAAa,GAAGvB,WAAW,CAC/B,CAACW,KAAK,EAAEa,MAAM,EAAEnB,KAAK,KAAK;IACxBM,KAAK,CAACU,cAAc,EAAE,CAAA;IACtBV,KAAK,CAACW,eAAe,EAAE,CAAA;AAEvB,IAAA,IAAIhF,UAAU,CAACkF,MAAM,EAAE9D,OAAO,CAAC,EAAE;AAC/B8D,MAAAA,MAAM,CAAC9D,OAAO,CAAC3B,KAAK,CAAC,CAAA;AACvB,KAAA;AAEA,IAAA,IAAI,CAACuB,OAAO,CAACkE,MAAM,EAAErE,UAAU,CAAC,EAAE;MAChC+C,sBAAsB,CAACG,KAAK,CAAC,CAAA;AAC/B,KAAA;AACF,GAAC,EACD,CAACH,sBAAsB,CACzB,CAAC,CAAA;AAED,EAAA,MAAMuB,oBAAoB,GAAGzB,WAAW,CACtCG,WAAW,IAAIV,gBAAgB,CAACU,WAAW,CAAC,EAC5C,CAACV,gBAAgB,CACnB,CAAC,CAAA;EAED,SAASiC,aAAaA,CAACf,KAAK,EAAE;IAC5BA,KAAK,CAACU,cAAc,EAAE,CAAA;AACtBtF,IAAAA,KAAK,CAAC2F,aAAa,CAACf,KAAK,CAAC,CAAA;AAC5B,GAAA;EAEA,SAASgB,aAAaA,CAAC5F,KAAK,EAAE;IAC5B,IAAI6F,cAAc,GAAG,IAAI,CAAA;IAEzB,IAAI7F,KAAK,CAAC8F,QAAQ,EAAEC,WAAW,EAAE,KAAK,OAAO,EAAE;AAC7CF,MAAAA,cAAc,GACZpF,cAAA,CAAAI,aAAA,CAACmF,iBAAiB,EAAA;AAAC1C,QAAAA,cAAc,EAAEA,cAAAA;OACjC7C,EAAAA,cAAA,CAAAI,aAAA,CAAA,OAAA,EAAA;AAAOG,QAAAA,GAAG,EAAEuD,cAAe;QAAC0B,IAAI,EAAA,IAAA;QAACC,KAAK,EAAA,IAAA;OACpCzF,EAAAA,cAAA,CAAAI,aAAA,CAAA,QAAA,EAAA;QAAQsF,GAAG,EAAEnG,KAAK,CAACoG,UAAW;AAACC,QAAAA,IAAI,EAAC,WAAA;OAAa,CAC5C,CACU,CACpB,CAAA;KACF,MAAM,IAAIrG,KAAK,CAAC8F,QAAQ,EAAEC,WAAW,EAAE,KAAK,OAAO,EAAE;AACpDF,MAAAA,cAAc,GACZpF,cAAA,CAAAI,aAAA,CAACmF,iBAAiB,EAAA;AAAC1C,QAAAA,cAAc,EAAEA,cAAAA;OACjC7C,EAAAA,cAAA,CAAAI,aAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,OAAA;OACbV,EAAAA,cAAA,CAAAI,aAAA,CAACyF,UAAW,EAAE,IAAA,CACX,CACY,CACpB,CAAA;AACH,KAAC,MAAM;AACLT,MAAAA,cAAc,GACZpF,cAAA,CAAAI,aAAA,CAAC0F,aAAa,EAAA;QACZC,GAAG,EAAExG,KAAK,CAAC4B,KAAM;QACjBuE,GAAG,EAAEnG,KAAK,CAACoG,UAAW;AACtBK,QAAAA,MAAM,EAAC,MAAM;AACbC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,WAAW,EAAC,UAAU;AACtBC,QAAAA,SAAS,EAAE,CAAE;AACbC,QAAAA,SAAS,EAAE,IAAK;AAChBvD,QAAAA,cAAc,EAAEA,cAAAA;AAAe,OAChC,CACF,CAAA;AACH,KAAA;AAEA,IAAA,OAAOuC,cAAc,CAAA;AACvB,GAAA;AAEAjC,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIrD,UAAU,CAACP,KAAK,CAAC2F,aAAa,CAAC,EAAE;MACnC,IAAIlB,OAAO,CAACI,OAAO,EAAE;QACnBJ,OAAO,CAACI,OAAO,CAACiC,gBAAgB,CAAC,aAAa,EAAEnB,aAAa,CAAC,CAAA;AAChE,OAAA;AACA,MAAA,OAAO,MAAM;QACX,IAAIlB,OAAO,CAACI,OAAO,EAAE;UACnBJ,OAAO,CAACI,OAAO,CAACkC,mBAAmB,CAAC,aAAa,EAAEpB,aAAa,CAAC,CAAA;AACnE,SAAA;OACD,CAAA;AACH,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;EAEN,SAASqB,WAAWA,CAACpC,KAAK,EAAE;AAC1B5E,IAAAA,KAAK,CAACgH,WAAW,CAACpC,KAAK,CAAC,CAAA;AAC1B,GAAA;AAEAhB,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIrD,UAAU,CAACP,KAAK,CAACgH,WAAW,CAAC,EAAE;MACjC,IAAItC,OAAO,CAACG,OAAO,EAAE;QACnBH,OAAO,CAACG,OAAO,CAACiC,gBAAgB,CAAC,WAAW,EAAEE,WAAW,CAAC,CAAA;AAC5D,OAAA;AACA,MAAA,OAAO,MAAM;QACX,IAAItC,OAAO,CAACG,OAAO,EAAE;UACnBH,OAAO,CAACG,OAAO,CAACkC,mBAAmB,CAAC,WAAW,EAAEC,WAAW,CAAC,CAAA;AAC/D,SAAA;OACD,CAAA;AACH,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;AAGNpD,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIP,YAAY,EAAE;AAChBoB,MAAAA,OAAO,CAACI,OAAO,CAACoC,cAAc,CAAC;AAAEC,QAAAA,QAAQ,EAAE,QAAQ;AAAEC,QAAAA,KAAK,EAAE,SAAA;AAAU,OAAC,CAAC,CAAA;AAC1E,KAAA;AACF,GAAC,EAAE,CAAC9D,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,MAAM+D,mBAAmB,GAAGnD,WAAW,CAAC,MAAM;AAC5C,IAAA,IAAI,CAACjE,KAAK,EAAEqH,QAAQ,EAAE,OAAO,IAAI,CAAA;AAEjC,IAAA,OACE5G,cAAA,CAAAI,aAAA,CAACyG,KAAK,EAAA;AACJC,MAAAA,SAAS,EAAE9G,cAAA,CAAAI,aAAA,CAAC2G,SAAU,MAAE,CAAE;MAC1BC,YAAY,EAAEzH,KAAK,CAACqH,QAAS;AAC7B1E,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrC+E,MAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AAC/BC,MAAAA,QAAQ,EAAE,EAAG;AACbC,MAAAA,UAAU,EAAE,GAAI;AAChBC,MAAAA,UAAU,EAAE,EAAG;AACfC,MAAAA,eAAe,EAAE,CAAE;AACnBC,MAAAA,iBAAiB,EAAE,CAAA;AAAE,KACtB,CAAC,CAAA;AAEN,GAAC,EAAE,CAAC/H,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMgI,gBAAgB,GAAG/D,WAAW,CAAC,MAAM;IACzC,IAAIsD,SAAS,GAAG,IAAI,CAAA;IACpB,IAAIE,YAAY,GAAG,IAAI,CAAA;AAEvB,IAAA,IAAIzH,KAAK,EAAE8F,QAAQ,KAAK,OAAO,EAAE;AAC/ByB,MAAAA,SAAS,GAAG9G,cAAA,CAAAI,aAAA,CAACoH,OAAQ,MAAE,CAAC,CAAA;AAC1B,KAAA;IAEA,IAAIjI,KAAK,EAAEkI,QAAQ,EAAE;AACnBT,MAAAA,YAAY,GAAGU,cAAc,CAACnI,KAAK,CAACkI,QAAQ,CAAC,CAAA;AAC/C,KAAA;AAEA,IAAA,IAAI,CAACX,SAAS,IAAI,CAACE,YAAY,EAAE,OAAO,IAAI,CAAA;AAC5C,IAAA,OACEhH,cAAA,CAAAI,aAAA,CAACyG,KAAK,EAAA;AACJC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,YAAY,EAAEA,YAAa;AAC3B9E,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrC+E,MAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AAC/BC,MAAAA,QAAQ,EAAE,EAAG;AACbC,MAAAA,UAAU,EAAE,GAAI;AAChBC,MAAAA,UAAU,EAAE,EAAG;AACfC,MAAAA,eAAe,EAAE,CAAE;AACnBC,MAAAA,iBAAiB,EAAE,CAAE;AACrBK,MAAAA,QAAQ,EAAE,EAAG;AACb3B,MAAAA,MAAM,EAAE,EAAA;AAAG,KACZ,CAAC,CAAA;AAEN,GAAC,EAAE,CAACzG,KAAK,CAAC,CAAC,CAAA;EAEX,MAAMqI,eAAe,GAAGA,MAAM;IAC5B,OACE5H,cAAA,CAAAI,aAAA,CAAAJ,cAAA,CAAAoC,QAAA,EAEEpC,IAAAA,EAAAA,cAAA,CAAAI,aAAA,CAACC,aAAe,EACdL,IAAAA,EAAAA,cAAA,CAAAI,aAAA,CAACC,iBAAmB,EAAA,IAAA,EAAEsG,mBAAmB,EAAwB,CAAC,EAClE3G,cAAA,CAAAI,aAAA,CAACC,kBAAoB,EAAA,IAAA,EAClBd,KAAK,CAACsI,UAAU,IAAI7H,cAAA,CAAAI,aAAA,CAACC,gBAAkB,EAAEd,IAAAA,EAAAA,KAAK,CAACsI,UAA+B,CAC3D,CACP,CAAC,EAClB7H,cAAA,CAAAI,aAAA,CAACC,YAAc,QACbL,cAAA,CAAAI,aAAA,CAACC,eAAiB,EAAA,IAAE,CAAC,EAErBL,cAAA,CAAAI,aAAA,CAACC,gBAAkB,EAAA,IAAA,EACjBL,cAAA,CAAAI,aAAA,CAACC,YAAc,QACZ8E,aAAa,CAAC5F,KAAK,CAAC,EACrBS,cAAA,CAAAI,aAAA,CAACC,wBAA0B,EAAA;AAACkC,MAAAA,QAAQ,EAAEA,QAAAA;KAAW,CAAC,EAEjDhD,KAAK,CAACuI,OAAO,IAAI9H,cAAA,CAAAI,aAAA,CAACC,eAAiB,EAAEd,IAAAA,EAAAA,KAAK,CAACuI,OAA2B,CACzD,CACE,CAAC,EACrB9H,cAAA,CAAAI,aAAA,CAACC,gBAAkB,EACjBL,IAAAA,EAAAA,cAAA,CAAAI,aAAA,CAACC,gBAAkB,EAChB,IAAA,EAAA,CAACd,KAAK,CAAC8D,OAAO,IAAI,EAAE,EAAErC,GAAG,CAAC,CAACgE,MAAM,EAAEnB,KAAK,KACvC7D,cAAA,CAAAI,aAAA,CAAC2H,OAAO,EAAA;MAAClI,GAAG,EAAE,GAAGN,KAAK,CAACM,GAAG,CAAImF,CAAAA,EAAAA,MAAM,CAAC7D,KAAK,CAAG,CAAA;MAACO,OAAO,EAAEsD,MAAM,CAAC7D,KAAAA;AAAM,KAAA,EAClEnB,cAAA,CAAAI,aAAA,CAACC,MAAQ,EAAA,IAAA,EACPL,cAAA,CAAAI,aAAA,CAACI,oBAAoB,EAAA;MACnBlB,SAAS,EAAE0F,MAAM,CAAC1F,SAAU;MAC5BoB,SAAS,EAAEsE,MAAM,CAACtE,SAAU;MAC5BU,IAAI,EAAE4D,MAAM,CAAC5D,IAAK;AAClBR,MAAAA,kBAAkB,EAAEqE,oBAAoB,CAACpB,KAAK,CAAE;MAChD3C,OAAO,EAAEiD,KAAK,IAAIY,aAAa,CAACZ,KAAK,EAAEa,MAAM,EAAEnB,KAAK,CAAE;MACtDlD,UAAU,EAAEqE,MAAM,EAAErE,UAAW;MAC/BwB,iBAAiB,EAAE6C,MAAM,CAAC7C,iBAAAA;AAAkB,KAC7C,CACO,CACH,CACV,CACiB,CACF,CACN,CAAC,EAEjBnC,cAAA,CAAAI,aAAA,CAACC,aAAe,EAAA,IAAA,EACdL,cAAA,CAAAI,aAAA,CAACC,iBAAmB,EAAA,IAAsB,CAAC,EAC3CL,cAAA,CAAAI,aAAA,CAACC,kBAAoB,EAAEkH,IAAAA,EAAAA,gBAAgB,EAAyB,CACjD,CACjB,CAAC,CAAA;GAEN,CAAA;EAED,MAAMS,aAAa,GAAGA,MAAM;AAC1B,IAAA,OACEhI,cAAA,CAAAI,aAAA,CAACC,QAAU,EACTL,IAAAA,EAAAA,cAAA,CAAAI,aAAA,CAACC,SAAW,EAAA;AAACc,MAAAA,KAAK,EAAE5B,KAAK,CAAC4B,KAAK,IAAI,EAAA;AAAG,KAAA,EAAE5B,KAAK,CAAC4B,KAAK,IAAI,EAAgB,CAAC,EACxEnB,cAAA,CAAAI,aAAA,CAACC,eAAiB,EAAA;AAACc,MAAAA,KAAK,EAAE5B,KAAK,CAAC0I,WAAW,IAAI,EAAA;KAC5C1I,EAAAA,KAAK,CAAC0I,WAAW,IAAI,EACL,CAAC,EACpBjI,cAAA,CAAAI,aAAA,CAACC,mBAAqB,EACnBd,IAAAA,EAAAA,KAAK,CAAC2I,WAAW,IAChBlI,cAAA,CAAAI,aAAA,CAAC+H,0BAA0B,EAAA;MACzBC,MAAM,EAAE7I,KAAK,CAAC8I,iBAAkB;MAChCC,eAAe,EAAE/I,KAAK,CAAC2I,WAAY;MACnCK,QAAQ,EAAEhJ,KAAK,CAACiJ,mBAAoB;AACpCC,MAAAA,QAAQ,EAAE,KAAM;AAChBC,MAAAA,OAAO,EAAC,SAAS;AACjBC,MAAAA,eAAe,EAAC,MAAM;AACtBC,MAAAA,OAAO,EAAE,aAAc;AACvBC,MAAAA,MAAM,EAAE,aAAc;AACtBC,MAAAA,QAAQ,EAAE,CAAA;KACX,CAEkB,CACb,CAAC,CAAA;GAEhB,CAAA;EAED,MAAMC,wBAAwB,GAAGA,MAAM;AACrC,IAAA,OACE/I,cAAA,CAAAI,aAAA,CAAAJ,cAAA,CAAAoC,QAAA,EACEpC,IAAAA,EAAAA,cAAA,CAAAI,aAAA,CAACC,WAAa,EAAA,IAAE,CAAC,EACjBL,cAAA,CAAAI,aAAA,CAACC,UAAY,EACXL,IAAAA,EAAAA,cAAA,CAAAI,aAAA,CAACC,cAAgB,EAAEd,IAAAA,EAAAA,KAAK,CAACyJ,OAAO,EAAEC,UAAU,IAAI,IAAuB,CAAC,EACxEjJ,cAAA,CAAAI,aAAA,CAACC,eAAiB,QAAEd,KAAK,CAACyJ,OAAO,EAAEE,WAAW,IAAI,IAAwB,CAC9D,CAAC,EACflJ,cAAA,CAAAI,aAAA,CAACC,WAAa,EAAA,IAAE,CAChB,CAAC,CAAA;GAEN,CAAA;EAED,MAAM8I,iBAAiB,GAAGA,MAAM;AAC9B,IAAA,OACEnJ,cAAA,CAAAI,aAAA,CAACC,WAAa,EAAA,IAAA,EACXiC,UAAU,IACTtC,cAAA,CAAAI,aAAA,CAACC,cAAgB,EAAA;AAACkC,MAAAA,QAAQ,EAAEA,QAAS;AAACrB,MAAAA,OAAO,EAAE0D,aAAAA;AAAc,KAAA,EAC1DrC,QAAQ,GAAGvC,cAAA,CAAAI,aAAA,CAACgJ,uBAAkB,EAAE,IAAA,CAAC,GAAGpJ,cAAA,CAAAI,aAAA,CAACiJ,wBAAyB,EAAE,IAAA,CACjD,CAEP,CAAC,CAAA;GAEnB,CAAA;AAED,EAAA,OACErJ,cAAA,CAAAI,aAAA,CAACC,mBAAqB,EAAA;IAACiJ,QAAQ,EAAE/J,KAAK,CAAC+J,QAAS;AAAC/I,IAAAA,GAAG,EAAEyD,OAAAA;AAAQ,GAAA,EAC5DhE,cAAA,CAAAI,aAAA,CAACC,sBAAsB,EAAA;AACrBkJ,IAAAA,EAAE,EAAElK,qBAAsB;AAC1BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,KAAK,EAAEA,KAAM;IACb+J,QAAQ,EAAE/J,KAAK,CAAC+J,QAAS;AACzBpI,IAAAA,OAAO,EAAEA,OAAQ;AACjBuB,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCyB,IAAAA,YAAY,EAAEA,YAAa;AAC3BQ,IAAAA,YAAY,EAAEA,YAAa;IAC3B8E,SAAS,EAAEjK,KAAK,CAACiK,SAAU;AAC3BC,IAAAA,QAAQ,EAAExF,OAAQ;AAClB1B,IAAAA,QAAQ,EAAEA,QAAS;AACnBmH,IAAAA,aAAa,EAAE9G,YAAa;IAC5B+G,SAAS,EAAEpK,KAAK,EAAEoK,SAAU;IAC5BC,SAAS,EAAErK,KAAK,EAAEsK,QAAS;AAC3BC,IAAAA,qBAAqB,EAAEtH,oBAAAA;AAAqB,GAAA,EAE3CoF,eAAe,EAAE,EACjBI,aAAa,EAAE,EACfe,wBAAwB,EAAE,EAC1BI,iBAAiB,EACI,CACH,CAAC,CAAA;AAE5B,CAAC,CAAA;AAED9G,oBAAoB,CAAC0H,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAI/B3K,KAAK,EAAE4K,SAAS,CAACC,KAAK,CAACC,oBAAoB,CAAC,CAACC,UAAU;EAKvDhI,UAAU,EAAE6H,SAAS,CAACI,IAAI;EAK1BhI,QAAQ,EAAE4H,SAAS,CAACI,IAAI;EAKxB/H,oBAAoB,EAAE2H,SAAS,CAACK,OAAO,CAACL,SAAS,CAACM,MAAM,CAAC;EAKzDhI,kBAAkB,EAAE0H,SAAS,CAACI,IAAI;AAKlC7H,EAAAA,eAAe,EAAEyH,SAAS,CAACO,IAAI,CAACJ,UAAU;AAK1C3H,EAAAA,iBAAiB,EAAEwH,SAAS,CAACO,IAAI,CAACJ,UAAU;AAK5C1H,EAAAA,YAAY,EAAEuH,SAAS,CAACI,IAAI,CAACD,UAAU;EAMvChL,SAAS,EAAE6K,SAAS,CAACO,IAAI;EAMzB7H,cAAc,EAAEsH,SAAS,CAACQ,MAAAA;AAC5B,CAAC,GAAA,EAAA,CAAA;AAEDtI,oBAAoB,CAACuI,YAAY,GAAG,EAAE,CAAA;AAEtC,6BAAeC,iBAAiB,CAC9B7K,cAAK,CAAC8K,IAAI,CAACzI,oBAAoB,EAAE,CAAC0I,SAAS,EAAEC,SAAS,KAAK;EAEzD,MAAMC,aAAa,GAAG,CACpB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,aAAa,CACd,CAAA;AAED,EAAA,OAAOA,aAAa,CAACC,KAAK,CAACC,OAAO,IAAIC,GAAG,CAACL,SAAS,EAAEI,OAAO,CAAC,KAAKC,GAAG,CAACJ,SAAS,EAAEG,OAAO,CAAC,CAAC,CAAA;AAC5F,CAAC,CACH,CAAC;;;;"}
@@ -101,11 +101,11 @@ const ThumbnailSpacer = styled.div`
101
101
  flex: 1;
102
102
  `;
103
103
  const ThumbnailWrapper = styled.div`
104
- flex: 1;
104
+ width: 244.65px;
105
+ flex-shrink: 0;
105
106
  `;
106
107
  const ThumbnailBox = styled.div.attrs(applyDefaultTheme)`
107
108
  position: relative;
108
- width: 244.65px;
109
109
  height: 168px;
110
110
 
111
111
  flex-shrink: 0;
@@ -145,17 +145,19 @@ styled.div`
145
145
  right: 8px;
146
146
  pointer-events: none;
147
147
  `;
148
+ const ThumbnailActions = styled.div`
149
+ flex: 1;
150
+ `;
148
151
  const ActionsContainer = styled.div.attrs(applyDefaultTheme)`
149
152
  display: flex;
150
- flex: 1;
151
153
  align-items: end;
152
- padding-right: 8px;
153
154
  flex-direction: column;
154
155
  gap: 8px;
155
156
  opacity: 0;
156
157
  transition: opacity 220ms;
157
158
  z-index: 1;
158
-
159
+ position: absolute;
160
+ right: 8px;
159
161
  ${AssetGalleryGridCard}:hover & {
160
162
  opacity: 1;
161
163
  }
@@ -277,5 +279,5 @@ const CheckboxButton = styled.div.attrs(applyDefaultTheme)`
277
279
  }
278
280
  `;
279
281
 
280
- export { Action, ActionsContainer, AssetGalleryGridCard, AssetGalleryWrapper, CardBody, CardDescription, CardDivider, CardFooter, CardFooterLeft, CardFooterRight, CardTitle, CheckboxButton, CheckboxRow, ConsumerOverlay, HorizontalBar, HorizontalBarLeft, HorizontalBarRight, InstructionsWrapper, StatusIconCircle, ThumbnailBox, ThumbnailRow, ThumbnailSelectedOverlay, ThumbnailSpacer, ThumbnailWrapper };
282
+ export { Action, ActionsContainer, AssetGalleryGridCard, AssetGalleryWrapper, CardBody, CardDescription, CardDivider, CardFooter, CardFooterLeft, CardFooterRight, CardTitle, CheckboxButton, CheckboxRow, ConsumerOverlay, HorizontalBar, HorizontalBarLeft, HorizontalBarRight, InstructionsWrapper, StatusIconCircle, ThumbnailActions, ThumbnailBox, ThumbnailRow, ThumbnailSelectedOverlay, ThumbnailSpacer, ThumbnailWrapper };
281
283
  //# sourceMappingURL=AssetGalleryGridCard.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetGalleryGridCard.styled.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js"],"sourcesContent":["import { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../../../utils/defaultTheme';\n\n/**\n * Returns the card border width based on visual state flags.\n * @param {{selected?: boolean, $softSelected?: boolean, $hasError?: boolean, completed?: boolean}} props\n * @returns {number}\n */\nconst getBorderWidth = props => {\n const { selected, $softSelected, $hasError, completed } = props;\n return selected || $softSelected || $hasError || completed ? 3 : 1;\n};\n\nexport const AssetGalleryWrapper = styled.div.attrs(applyDefaultTheme)`\n width: 100%;\n height: 100%;\n ${props =>\n props.disabled &&\n css`\n cursor: not-allowed;\n `}\n`;\n\nexport const AssetGalleryGridCard = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n position: relative;\n height: 100%;\n margin: 0;\n box-sizing: border-box;\n border-style: solid;\n border-width: ${getBorderWidth}px;\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n transition: box-shadow 220ms;\n &:hover {\n box-shadow: 0px 3px 6px #00000029;\n }\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('white')\n )}\n ${props =>\n props.theme.themeProp(\n 'border-color',\n (() => {\n if (props.$softSelected) return rgba(props.theme.getColor('gray-100'), 0.5);\n if (props.selected) {\n if (props.$customSelectedBorder) return props.$customSelectedBorder[0];\n return props.theme.getColor('gray-100');\n }\n if (props.completed) return props.theme.getColor('emerald-500');\n if (props.$hasError) return props.theme.getColor('red-600');\n return props.theme.getColor('gray-700');\n })(),\n (() => {\n if (props.$softSelected) return rgba(props.theme.getColor('gray-700'), 0.5);\n if (props.selected) {\n if (props.$customSelectedBorder) return props.$customSelectedBorder[1];\n return props.theme.getColor('gray-700');\n }\n if (props.completed) return rgba(props.theme.getColor('emerald-500'), 0.7);\n if (props.$hasError) return rgba(props.theme.getColor('red-500'), 0.7);\n return props.theme.getColor('gray-300');\n })()\n )}\n\n ${props =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.4;\n `}\n`;\n\n// ── Top bar ──────────────────────────────────────────────────────────────────\n\nexport const HorizontalBar = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px;\n height: 40px;\n box-sizing: border-box;\n flex-shrink: 0;\n ${props => props.theme.themeProp('background', '#3F3F46', '#E4E4E7')}\n`;\n\nexport const HorizontalBarLeft = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const HorizontalBarRight = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const StatusIconCircle = styled.span.attrs(applyDefaultTheme)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n pointer-events: none;\n svg {\n width: 100%;\n height: 100%;\n }\n`;\n\n// ── Thumbnail ─────────────────────────────────────────────────────────────────\n\nexport const ThumbnailRow = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n display: flex;\n width: 100%;\n ${props => props.theme.themeProp('background', '#3F3F46', '#E4E4E7')}\n`;\n\nexport const ThumbnailSpacer = styled.div`\n flex: 1;\n`;\n\nexport const ThumbnailWrapper = styled.div`\n flex: 1;\n`;\n\nexport const ThumbnailBox = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n width: 244.65px;\n height: 168px;\n\n flex-shrink: 0;\n overflow: hidden;\n\n img,\n video {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n\n .audio {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n width: 35%;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-400')\n )}\n }\n }\n`;\n\nexport const ThumbnailSelectedOverlay = styled.div.attrs(applyDefaultTheme)`\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: ${props => (props.selected ? 0.6 : 0)};\n background-color: #accef7;\n transition: opacity 220ms;\n`;\n\nexport const MediaBadgeContainer = styled.div`\n position: absolute;\n bottom: 8px;\n right: 8px;\n pointer-events: none;\n`;\n\nexport const ActionsContainer = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n flex: 1;\n align-items: end;\n padding-right: 8px;\n flex-direction: column;\n gap: 8px;\n opacity: 0;\n transition: opacity 220ms;\n z-index: 1;\n\n ${AssetGalleryGridCard}:hover & {\n opacity: 1;\n }\n\n ${AssetGalleryGridCard}:focus-within & {\n opacity: 1;\n }\n`;\n\nexport const Action = styled.div`\n margin: 0;\n\n button {\n box-shadow: 0px 3px 6px #00000033;\n }\n svg {\n width: 16px;\n height: 16px;\n max-height: unset;\n max-width: unset;\n }\n`;\n\nexport const ConsumerOverlay = styled.div`\n position: absolute;\n inset: 0;\n pointer-events: none;\n`;\n\n// ── Card body ─────────────────────────────────────────────────────────────────\n\nexport const CardBody = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 16px 16px 16px 16px;\n`;\n\nexport const CardTitle = styled.span.attrs(applyDefaultTheme)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n\n font: normal normal 500 14px/19px Roboto;\n letter-spacing: 0.28px;\n min-height: 19px;\n max-height: 19px;\n box-sizing: border-box;\n\n ${props =>\n props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))}\n`;\n\nexport const CardDescription = styled.span.attrs(applyDefaultTheme)`\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 6px 0px 6px 0px;\n font: normal normal normal 12px/1.286em Roboto;\n letter-spacing: 0.24px;\n min-height: 52px;\n max-height: 52px;\n box-sizing: border-box;\n overflow-wrap: break-word;\n word-break: break-word;\n\n ${props =>\n props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))}\n`;\n\nexport const InstructionsWrapper = styled.div`\n padding-top: 16px;\n min-height: 63px;\n max-height: 63px;\n overflow: hidden;\n flex-shrink: 0;\n`;\n\nexport const CardFooter = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n\n min-height: 52px;\n box-sizing: border-box;\n`;\n\nexport const CardFooterLeft = styled.div`\n display: flex;\n align-items: center;\n > * {\n margin-right: 4px;\n }\n`;\n\nexport const CardFooterRight = styled.div`\n display: flex;\n align-items: center;\n > * {\n margin-left: 4px;\n }\n`;\n\n// ── Checkbox row ──────────────────────────────────────────────────────────────\n\nexport const CardDivider = styled.div.attrs(applyDefaultTheme)`\n height: 1px;\n flex-shrink: 0;\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-600'),\n props.theme.getColor('gray-200')\n )}\n`;\n\nexport const CheckboxRow = styled.div`\n display: flex;\n\n padding: 0px 16px;\n height: 56px;\n box-sizing: border-box;\n flex-shrink: 0;\n`;\n\nexport const CheckboxButton = styled.div.attrs(applyDefaultTheme)`\n opacity: 1;\n flex-shrink: 0;\n cursor: pointer;\n transition: opacity 220ms;\n\n > svg {\n width: 23px;\n height: 100%;\n transition: opacity 120ms;\n opacity: ${props => (props.selected ? 1 : 0.5)};\n }\n`;\n"],"names":["getBorderWidth","props","selected","$softSelected","$hasError","completed","AssetGalleryWrapper","styled","div","attrs","applyDefaultTheme","disabled","css","AssetGalleryGridCard","theme","themeProp","getColor","rgba","$customSelectedBorder","HorizontalBar","HorizontalBarLeft","HorizontalBarRight","StatusIconCircle","span","ThumbnailRow","ThumbnailSpacer","ThumbnailWrapper","ThumbnailBox","ThumbnailSelectedOverlay","ActionsContainer","Action","ConsumerOverlay","CardBody","CardTitle","CardDescription","InstructionsWrapper","CardFooter","CardFooterLeft","CardFooterRight","CardDivider","CheckboxRow","CheckboxButton"],"mappings":"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"}
1
+ {"version":3,"file":"AssetGalleryGridCard.styled.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js"],"sourcesContent":["import { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../../../utils/defaultTheme';\n\n/**\n * Returns the card border width based on visual state flags.\n * @param {{selected?: boolean, $softSelected?: boolean, $hasError?: boolean, completed?: boolean}} props\n * @returns {number}\n */\nconst getBorderWidth = props => {\n const { selected, $softSelected, $hasError, completed } = props;\n return selected || $softSelected || $hasError || completed ? 3 : 1;\n};\n\nexport const AssetGalleryWrapper = styled.div.attrs(applyDefaultTheme)`\n width: 100%;\n height: 100%;\n ${props =>\n props.disabled &&\n css`\n cursor: not-allowed;\n `}\n`;\n\nexport const AssetGalleryGridCard = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n position: relative;\n height: 100%;\n margin: 0;\n box-sizing: border-box;\n border-style: solid;\n border-width: ${getBorderWidth}px;\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n transition: box-shadow 220ms;\n &:hover {\n box-shadow: 0px 3px 6px #00000029;\n }\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-700'),\n props.theme.getColor('white')\n )}\n ${props =>\n props.theme.themeProp(\n 'border-color',\n (() => {\n if (props.$softSelected) return rgba(props.theme.getColor('gray-100'), 0.5);\n if (props.selected) {\n if (props.$customSelectedBorder) return props.$customSelectedBorder[0];\n return props.theme.getColor('gray-100');\n }\n if (props.completed) return props.theme.getColor('emerald-500');\n if (props.$hasError) return props.theme.getColor('red-600');\n return props.theme.getColor('gray-700');\n })(),\n (() => {\n if (props.$softSelected) return rgba(props.theme.getColor('gray-700'), 0.5);\n if (props.selected) {\n if (props.$customSelectedBorder) return props.$customSelectedBorder[1];\n return props.theme.getColor('gray-700');\n }\n if (props.completed) return rgba(props.theme.getColor('emerald-500'), 0.7);\n if (props.$hasError) return rgba(props.theme.getColor('red-500'), 0.7);\n return props.theme.getColor('gray-300');\n })()\n )}\n\n ${props =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.4;\n `}\n`;\n\n// ── Top bar ──────────────────────────────────────────────────────────────────\n\nexport const HorizontalBar = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px;\n height: 40px;\n box-sizing: border-box;\n flex-shrink: 0;\n ${props => props.theme.themeProp('background', '#3F3F46', '#E4E4E7')}\n`;\n\nexport const HorizontalBarLeft = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const HorizontalBarRight = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const StatusIconCircle = styled.span.attrs(applyDefaultTheme)`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 28px;\n height: 28px;\n border-radius: 50%;\n pointer-events: none;\n svg {\n width: 100%;\n height: 100%;\n }\n`;\n\n// ── Thumbnail ─────────────────────────────────────────────────────────────────\n\nexport const ThumbnailRow = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n display: flex;\n width: 100%;\n ${props => props.theme.themeProp('background', '#3F3F46', '#E4E4E7')}\n`;\n\nexport const ThumbnailSpacer = styled.div`\n flex: 1;\n`;\n\nexport const ThumbnailWrapper = styled.div`\n width: 244.65px;\n flex-shrink: 0;\n`;\n\nexport const ThumbnailBox = styled.div.attrs(applyDefaultTheme)`\n position: relative;\n height: 168px;\n\n flex-shrink: 0;\n overflow: hidden;\n\n img,\n video {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n }\n\n .audio {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n width: 35%;\n ${props =>\n props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-400')\n )}\n }\n }\n`;\n\nexport const ThumbnailSelectedOverlay = styled.div.attrs(applyDefaultTheme)`\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: ${props => (props.selected ? 0.6 : 0)};\n background-color: #accef7;\n transition: opacity 220ms;\n`;\n\nexport const MediaBadgeContainer = styled.div`\n position: absolute;\n bottom: 8px;\n right: 8px;\n pointer-events: none;\n`;\n\nexport const ThumbnailActions = styled.div`\n flex: 1;\n`;\n\nexport const ActionsContainer = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: end;\n flex-direction: column;\n gap: 8px;\n opacity: 0;\n transition: opacity 220ms;\n z-index: 1;\n position: absolute;\n right: 8px;\n ${AssetGalleryGridCard}:hover & {\n opacity: 1;\n }\n\n ${AssetGalleryGridCard}:focus-within & {\n opacity: 1;\n }\n`;\n\nexport const Action = styled.div`\n margin: 0;\n\n button {\n box-shadow: 0px 3px 6px #00000033;\n }\n svg {\n width: 16px;\n height: 16px;\n max-height: unset;\n max-width: unset;\n }\n`;\n\nexport const ConsumerOverlay = styled.div`\n position: absolute;\n inset: 0;\n pointer-events: none;\n`;\n\n// ── Card body ─────────────────────────────────────────────────────────────────\n\nexport const CardBody = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 16px 16px 16px 16px;\n`;\n\nexport const CardTitle = styled.span.attrs(applyDefaultTheme)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n\n font: normal normal 500 14px/19px Roboto;\n letter-spacing: 0.28px;\n min-height: 19px;\n max-height: 19px;\n box-sizing: border-box;\n\n ${props =>\n props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))}\n`;\n\nexport const CardDescription = styled.span.attrs(applyDefaultTheme)`\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 6px 0px 6px 0px;\n font: normal normal normal 12px/1.286em Roboto;\n letter-spacing: 0.24px;\n min-height: 52px;\n max-height: 52px;\n box-sizing: border-box;\n overflow-wrap: break-word;\n word-break: break-word;\n\n ${props =>\n props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))}\n`;\n\nexport const InstructionsWrapper = styled.div`\n padding-top: 16px;\n min-height: 63px;\n max-height: 63px;\n overflow: hidden;\n flex-shrink: 0;\n`;\n\nexport const CardFooter = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n\n min-height: 52px;\n box-sizing: border-box;\n`;\n\nexport const CardFooterLeft = styled.div`\n display: flex;\n align-items: center;\n > * {\n margin-right: 4px;\n }\n`;\n\nexport const CardFooterRight = styled.div`\n display: flex;\n align-items: center;\n > * {\n margin-left: 4px;\n }\n`;\n\n// ── Checkbox row ──────────────────────────────────────────────────────────────\n\nexport const CardDivider = styled.div.attrs(applyDefaultTheme)`\n height: 1px;\n flex-shrink: 0;\n ${props =>\n props.theme.themeProp(\n 'background',\n props.theme.getColor('gray-600'),\n props.theme.getColor('gray-200')\n )}\n`;\n\nexport const CheckboxRow = styled.div`\n display: flex;\n\n padding: 0px 16px;\n height: 56px;\n box-sizing: border-box;\n flex-shrink: 0;\n`;\n\nexport const CheckboxButton = styled.div.attrs(applyDefaultTheme)`\n opacity: 1;\n flex-shrink: 0;\n cursor: pointer;\n transition: opacity 220ms;\n\n > svg {\n width: 23px;\n height: 100%;\n transition: opacity 120ms;\n opacity: ${props => (props.selected ? 1 : 0.5)};\n }\n`;\n"],"names":["getBorderWidth","props","selected","$softSelected","$hasError","completed","AssetGalleryWrapper","styled","div","attrs","applyDefaultTheme","disabled","css","AssetGalleryGridCard","theme","themeProp","getColor","rgba","$customSelectedBorder","HorizontalBar","HorizontalBarLeft","HorizontalBarRight","StatusIconCircle","span","ThumbnailRow","ThumbnailSpacer","ThumbnailWrapper","ThumbnailBox","ThumbnailSelectedOverlay","ThumbnailActions","ActionsContainer","Action","ConsumerOverlay","CardBody","CardTitle","CardDescription","InstructionsWrapper","CardFooter","CardFooterLeft","CardFooterRight","CardDivider","CheckboxRow","CheckboxButton"],"mappings":";;;;AASA,MAAMA,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAM;IAAEC,QAAQ;IAAEC,aAAa;IAAEC,SAAS;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGJ,KAAK,CAAA;EAC/D,OAAOC,QAAQ,IAAIC,aAAa,IAAIC,SAAS,IAAIC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAA;AAEM,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACtE;AACA;AACA,EAAA,EAAIT,KAAK,IACLA,KAAK,CAACU,QAAQ,IACdC,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMC,oBAAoB,GAAGN,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAA,EAAkBV,cAAc,CAAA;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAIC,EAAAA,KAAK,IACLA,KAAK,CAACa,KAAK,CAACC,SAAS,CACnB,YAAY,EACZd,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAChCf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,OAAO,CAC9B,CAAC,CAAA;AACL,EAAIf,EAAAA,KAAK,IACLA,KAAK,CAACa,KAAK,CAACC,SAAS,CACnB,cAAc,EACd,CAAC,MAAM;AACL,EAAA,IAAId,KAAK,CAACE,aAAa,EAAE,OAAOc,IAAI,CAAChB,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAA;EAC3E,IAAIf,KAAK,CAACC,QAAQ,EAAE;IAClB,IAAID,KAAK,CAACiB,qBAAqB,EAAE,OAAOjB,KAAK,CAACiB,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACtE,IAAA,OAAOjB,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAA;AACzC,GAAA;AACA,EAAA,IAAIf,KAAK,CAACI,SAAS,EAAE,OAAOJ,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC/D,EAAA,IAAIf,KAAK,CAACG,SAAS,EAAE,OAAOH,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC3D,EAAA,OAAOf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAA;AACzC,CAAC,GAAG,EACJ,CAAC,MAAM;AACL,EAAA,IAAIf,KAAK,CAACE,aAAa,EAAE,OAAOc,IAAI,CAAChB,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAA;EAC3E,IAAIf,KAAK,CAACC,QAAQ,EAAE;IAClB,IAAID,KAAK,CAACiB,qBAAqB,EAAE,OAAOjB,KAAK,CAACiB,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACtE,IAAA,OAAOjB,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAA;AACzC,GAAA;AACA,EAAA,IAAIf,KAAK,CAACI,SAAS,EAAE,OAAOY,IAAI,CAAChB,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1E,EAAA,IAAIf,KAAK,CAACG,SAAS,EAAE,OAAOa,IAAI,CAAChB,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAA;AACtE,EAAA,OAAOf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAA;AACzC,CAAC,GACH,CAAC,CAAA;AACL;AACA,EAAA,EAAIf,KAAK,IACLA,KAAK,CAACU,QAAQ,IACdC,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAIM,MAAMO,aAAa,GAAGZ,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIT,KAAK,IAAIA,KAAK,CAACa,KAAK,CAACC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AACtE,EAAC;AAEYK,MAAAA,iBAAiB,GAAGb,MAAM,CAACC,GAAG,CAAA;AAC3C;AACA;AACA,EAAC;AAEYa,MAAAA,kBAAkB,GAAGd,MAAM,CAACC,GAAG,CAAA;AAC5C;AACA;AACA,EAAC;AAEM,MAAMc,gBAAgB,GAAGf,MAAM,CAACgB,IAAI,CAACd,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AAIM,MAAMc,YAAY,GAAGjB,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC/D;AACA;AACA;AACA,EAAA,EAAIT,KAAK,IAAIA,KAAK,CAACa,KAAK,CAACC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AACtE,EAAC;AAEYU,MAAAA,eAAe,GAAGlB,MAAM,CAACC,GAAG,CAAA;AACzC;AACA,EAAC;AAEYkB,MAAAA,gBAAgB,GAAGnB,MAAM,CAACC,GAAG,CAAA;AAC1C;AACA;AACA,EAAC;AAEM,MAAMmB,YAAY,GAAGpB,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAQT,EAAAA,KAAK,IACLA,KAAK,CAACa,KAAK,CAACC,SAAS,CACnB,OAAO,EACPd,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAChCf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA;AACA,EAAC;AAEM,MAAMY,wBAAwB,GAAGrB,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3E;AACA;AACA;AACA,WAAaT,EAAAA,KAAK,IAAKA,KAAK,CAACC,QAAQ,GAAG,GAAG,GAAG,CAAE,CAAA;AAChD;AACA;AACA,EAAC;AAEkCK,MAAM,CAACC,GAAG,CAAA;AAC7C;AACA;AACA;AACA;AACA,EAAC;AAEYqB,MAAAA,gBAAgB,GAAGtB,MAAM,CAACC,GAAG,CAAA;AAC1C;AACA,EAAC;AAEM,MAAMsB,gBAAgB,GAAGvB,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIG,oBAAoB,CAAA;AACxB;AACA;AACA;AACA,EAAA,EAAIA,oBAAoB,CAAA;AACxB;AACA;AACA,EAAC;AAEYkB,MAAAA,MAAM,GAAGxB,MAAM,CAACC,GAAG,CAAA;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AAEYwB,MAAAA,eAAe,GAAGzB,MAAM,CAACC,GAAG,CAAA;AACzC;AACA;AACA;AACA,EAAC;AAIM,MAAMyB,QAAQ,GAAG1B,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC3D;AACA;AACA;AACA;AACA,EAAC;AAEM,MAAMwB,SAAS,GAAG3B,MAAM,CAACgB,IAAI,CAACd,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAIT,EAAAA,KAAK,IACLA,KAAK,CAACa,KAAK,CAACC,SAAS,CAAC,OAAO,EAAEd,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,OAAO,CAAC,EAAEf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;AACnG,EAAC;AAEM,MAAMmB,eAAe,GAAG5B,MAAM,CAACgB,IAAI,CAACd,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAIT,EAAAA,KAAK,IACLA,KAAK,CAACa,KAAK,CAACC,SAAS,CAAC,OAAO,EAAEd,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,OAAO,CAAC,EAAEf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;AACnG,EAAC;AAEYoB,MAAAA,mBAAmB,GAAG7B,MAAM,CAACC,GAAG,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA,EAAC;AAEM,MAAM6B,UAAU,GAAG9B,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AAEY4B,MAAAA,cAAc,GAAG/B,MAAM,CAACC,GAAG,CAAA;AACxC;AACA;AACA;AACA;AACA;AACA,EAAC;AAEY+B,MAAAA,eAAe,GAAGhC,MAAM,CAACC,GAAG,CAAA;AACzC;AACA;AACA;AACA;AACA;AACA,EAAC;AAIM,MAAMgC,WAAW,GAAGjC,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC9D;AACA;AACA,EAAIT,EAAAA,KAAK,IACLA,KAAK,CAACa,KAAK,CAACC,SAAS,CACnB,YAAY,EACZd,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CAAC,EAChCf,KAAK,CAACa,KAAK,CAACE,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACL,EAAC;AAEYyB,MAAAA,WAAW,GAAGlC,MAAM,CAACC,GAAG,CAAA;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AAEM,MAAMkC,cAAc,GAAGnC,MAAM,CAACC,GAAG,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAeT,EAAAA,KAAK,IAAKA,KAAK,CAACC,QAAQ,GAAG,CAAC,GAAG,GAAI,CAAA;AAClD;AACA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "2.0.11-rc.2",
3
+ "version": "2.0.11-rc.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },