@ntbjs/react-components 2.0.14 → 3.0.0-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/README.md +34 -0
- package/build/data/Alert/Alert.js +18 -33
- package/build/data/Alert/Alert.js.map +1 -1
- package/build/data/Alert/Alert.styled.js +9 -47
- package/build/data/Alert/Alert.styled.js.map +1 -1
- package/build/data/Badge/Badge.js +36 -61
- package/build/data/Badge/Badge.js.map +1 -1
- package/build/data/Badge/Badge.styled.js +21 -70
- package/build/data/Badge/Badge.styled.js.map +1 -1
- package/build/data/Popover/Popover.js +125 -71
- package/build/data/Popover/Popover.js.map +1 -1
- package/build/data/Popover/Popover.styled.js +10 -140
- package/build/data/Popover/Popover.styled.js.map +1 -1
- package/build/data/SeverityBadge/SeverityBadge.js +13 -22
- package/build/data/SeverityBadge/SeverityBadge.js.map +1 -1
- package/build/data/SeverityBadge/index.js +2 -0
- package/build/data/SeverityBadge/index.js.map +1 -0
- package/build/data/Tab/Tab.js +7 -13
- package/build/data/Tab/Tab.js.map +1 -1
- package/build/data/Tab/Tab.styled.js +4 -7
- package/build/data/Tab/Tab.styled.js.map +1 -1
- package/build/data/Tabs/Tabs.js +30 -32
- package/build/data/Tabs/Tabs.js.map +1 -1
- package/build/data/Tabs/Tabs.styled.js +21 -57
- package/build/data/Tabs/Tabs.styled.js.map +1 -1
- package/build/data/Tooltip/Tooltip.js +102 -33
- package/build/data/Tooltip/Tooltip.js.map +1 -1
- package/build/data/Tooltip/Tooltip.styled.js +9 -22
- package/build/data/Tooltip/Tooltip.styled.js.map +1 -1
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +16 -23
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -1
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +13 -31
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -1
- package/build/data/VerificationStatusIcon/index.js +2 -0
- package/build/data/VerificationStatusIcon/index.js.map +1 -0
- package/build/data/_shared/FloatingArrow.styled.js +30 -0
- package/build/data/_shared/FloatingArrow.styled.js.map +1 -0
- package/build/hooks/useEventListner.js.map +1 -1
- package/build/hooks/useFloatingPopover.js +187 -0
- package/build/hooks/useFloatingPopover.js.map +1 -0
- package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -1
- package/build/hooks/useOnClickOutside.js.map +1 -1
- package/build/hooks/useTooltipAutoShow.js.map +1 -1
- package/build/icons/arrow-back.svg.js +3 -3
- package/build/icons/arrow-back.svg.js.map +1 -1
- package/build/icons/arrow-forward.svg.js +4 -4
- package/build/icons/arrow-forward.svg.js.map +1 -1
- package/build/icons/check-rectangle-filled.svg.js +3 -3
- package/build/icons/check-rectangle-filled.svg.js.map +1 -1
- package/build/icons/close.svg.js +3 -3
- package/build/icons/close.svg.js.map +1 -1
- package/build/icons/edit-note.svg.js +3 -3
- package/build/icons/edit-note.svg.js.map +1 -1
- package/build/icons/expand-more.svg.js +3 -3
- package/build/icons/expand-more.svg.js.map +1 -1
- package/build/icons/headset.svg.js +3 -3
- package/build/icons/headset.svg.js.map +1 -1
- package/build/icons/layers.svg.js +3 -3
- package/build/icons/layers.svg.js.map +1 -1
- package/build/icons/link.svg.js +3 -3
- package/build/icons/link.svg.js.map +1 -1
- package/build/icons/play.svg.js +3 -3
- package/build/icons/play.svg.js.map +1 -1
- package/build/icons/search.svg.js +3 -3
- package/build/icons/search.svg.js.map +1 -1
- package/build/icons/star-filled.svg.js +3 -3
- package/build/icons/star-filled.svg.js.map +1 -1
- package/build/icons/star.svg.js +3 -3
- package/build/icons/star.svg.js.map +1 -1
- package/build/icons/triangle-right.svg.js +3 -3
- package/build/icons/triangle-right.svg.js.map +1 -1
- package/build/icons/verification.svg.js +3 -3
- package/build/icons/verification.svg.js.map +1 -1
- package/build/icons/warning-circle.svg.js +3 -3
- package/build/icons/warning-circle.svg.js.map +1 -1
- package/build/inputs/ActionButton/ActionButton.js +11 -22
- package/build/inputs/ActionButton/ActionButton.js.map +1 -1
- package/build/inputs/ActionButton/ActionButton.styled.js +5 -54
- package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -1
- package/build/inputs/Button/Button.js +125 -121
- package/build/inputs/Button/Button.js.map +1 -1
- package/build/inputs/Button/Button.styled.js +42 -260
- package/build/inputs/Button/Button.styled.js.map +1 -1
- package/build/inputs/Checkbox/Checkbox.js +45 -61
- package/build/inputs/Checkbox/Checkbox.js.map +1 -1
- package/build/inputs/Checkbox/Checkbox.styled.js +24 -153
- package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -1
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +106 -111
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js +88 -273
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -1
- package/build/inputs/CompactStarRating/CompactStarRating.js +56 -77
- package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js +32 -211
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.js +86 -105
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js +55 -258
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -1
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +70 -77
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -1
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +28 -60
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -1
- package/build/inputs/MultiLevelCheckbox/types.js +12 -12
- package/build/inputs/MultiLevelCheckbox/types.js.map +1 -1
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +69 -73
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +44 -87
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -1
- package/build/inputs/MultiSelect/MultiSelect.js +69 -79
- package/build/inputs/MultiSelect/MultiSelect.js.map +1 -1
- package/build/inputs/MultiSelect/MultiSelect.styled.js +70 -76
- package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -1
- package/build/inputs/Radio/Radio.js +20 -33
- package/build/inputs/Radio/Radio.js.map +1 -1
- package/build/inputs/Radio/Radio.styled.js +15 -96
- package/build/inputs/Radio/Radio.styled.js.map +1 -1
- package/build/inputs/Switch/Switch.js +28 -40
- package/build/inputs/Switch/Switch.js.map +1 -1
- package/build/inputs/Switch/Switch.styled.js +24 -94
- package/build/inputs/Switch/Switch.styled.js.map +1 -1
- package/build/inputs/TextArea/TextArea.js +98 -123
- package/build/inputs/TextArea/TextArea.js.map +1 -1
- package/build/inputs/TextArea/TextArea.styled.js +64 -379
- package/build/inputs/TextArea/TextArea.styled.js.map +1 -1
- package/build/inputs/TextInput/TextInput.js +59 -79
- package/build/inputs/TextInput/TextInput.js.map +1 -1
- package/build/inputs/TextInput/TextInput.styled.js +33 -224
- package/build/inputs/TextInput/TextInput.styled.js.map +1 -1
- package/build/layout/InputGroup/InputGroup.js +6 -9
- package/build/layout/InputGroup/InputGroup.js.map +1 -1
- package/build/layout/InputGroup/InputGroup.styled.js +4 -3
- package/build/layout/InputGroup/InputGroup.styled.js.map +1 -1
- package/build/layout/InputGroup/index.js +2 -0
- package/build/layout/InputGroup/index.js.map +1 -0
- package/build/layout/SectionSeparator/SectionSeparator.js +5 -9
- package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -1
- package/build/layout/SectionSeparator/SectionSeparator.styled.js +4 -8
- package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -1
- package/build/styles/utils/colors-export.d.ts +54 -0
- package/build/styles/utils/colors-export.js.map +1 -1
- package/build/utils/dateTime.js.map +1 -1
- package/build/utils/defaultTheme.js +14 -28
- package/build/utils/defaultTheme.js.map +1 -1
- package/build/utils/getElementRef.js +14 -0
- package/build/utils/getElementRef.js.map +1 -0
- package/build/utils/parseTrigger.js +16 -0
- package/build/utils/parseTrigger.js.map +1 -0
- package/build/widgets/AssetAction/AssetAction.js +26 -33
- package/build/widgets/AssetAction/AssetAction.js.map +1 -1
- package/build/widgets/AssetAction/AssetAction.styled.js +20 -34
- package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -1
- package/build/widgets/AssetActionsBase/AssetActionsBase.js +8 -13
- package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -1
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +4 -9
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGallery.js +15 -40
- package/build/widgets/AssetGallery/AssetGallery.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +55 -70
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +12 -24
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +146 -122
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +99 -286
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +170 -125
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +135 -364
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +20 -21
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -1
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +20 -71
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenu.js +12 -11
- package/build/widgets/ContextMenu/ContextMenu.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenu.styled.js +4 -4
- package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +17 -25
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +16 -71
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +7 -11
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +4 -11
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -1
- package/build/widgets/InfoCard/InfoCard.js +26 -21
- package/build/widgets/InfoCard/InfoCard.js.map +1 -1
- package/build/widgets/InfoCard/InfoCard.styled.js +36 -84
- package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -1
- package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js +28 -34
- package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js.map +1 -1
- package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js +21 -57
- package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js.map +1 -1
- package/build/widgets/InstructionSeverityDisplay/index.js +2 -0
- package/build/widgets/InstructionSeverityDisplay/index.js.map +1 -0
- package/build/widgets/Instructions/Instructions.js +53 -95
- package/build/widgets/Instructions/Instructions.js.map +1 -1
- package/build/widgets/Instructions/Instructions.styled.js +27 -26
- package/build/widgets/Instructions/Instructions.styled.js.map +1 -1
- package/build/widgets/ProgressBar/ProgressBar.js +39 -37
- package/build/widgets/ProgressBar/ProgressBar.js.map +1 -1
- package/build/widgets/ProgressBar/ProgressBar.styled.js +56 -125
- package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -1
- package/build/widgets/SummaryCard/SummaryCard.js +55 -64
- package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
- package/build/widgets/SummaryCard/SummaryCard.styled.js +51 -106
- package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
- package/package.json +84 -36
- package/styles/utils/colors-export.d.ts +54 -0
- package/types/components/data/Alert/Alert.d.ts +76 -0
- package/types/components/data/Alert/Alert.styled.d.ts +52 -0
- package/types/components/data/Alert/index.d.ts +1 -0
- package/types/components/data/Badge/Badge.d.ts +120 -0
- package/types/components/data/Badge/Badge.styled.d.ts +33 -0
- package/types/components/data/Badge/index.d.ts +1 -0
- package/types/components/data/Popover/Popover.d.ts +116 -0
- package/types/components/data/Popover/Popover.styled.d.ts +15 -0
- package/types/components/data/Popover/index.d.ts +1 -0
- package/types/components/data/SeverityBadge/SeverityBadge.d.ts +72 -0
- package/types/components/data/SeverityBadge/index.d.ts +1 -0
- package/types/components/data/Tab/Tab.d.ts +14 -0
- package/types/components/data/Tab/Tab.styled.d.ts +1 -0
- package/types/components/data/Tab/index.d.ts +1 -0
- package/types/components/data/Tabs/Tabs.d.ts +111 -0
- package/types/components/data/Tabs/Tabs.styled.d.ts +26 -0
- package/types/components/data/Tabs/index.d.ts +1 -0
- package/types/components/data/Tooltip/Tooltip.d.ts +88 -0
- package/types/components/data/Tooltip/Tooltip.styled.d.ts +8 -0
- package/types/components/data/Tooltip/index.d.ts +1 -0
- package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.d.ts +35 -0
- package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.d.ts +27 -0
- package/types/components/data/VerificationStatusIcon/index.d.ts +1 -0
- package/types/components/data/_shared/FloatingArrow.styled.d.ts +29 -0
- package/types/components/data/index.d.ts +8 -0
- package/types/components/index.d.ts +3 -0
- package/types/components/inputs/ActionButton/ActionButton.d.ts +55 -0
- package/types/components/inputs/ActionButton/ActionButton.styled.d.ts +16 -0
- package/types/components/inputs/ActionButton/index.d.ts +1 -0
- package/types/components/inputs/Button/Button.d.ts +82 -0
- package/types/components/inputs/Button/Button.styled.d.ts +60 -0
- package/types/components/inputs/Button/index.d.ts +1 -0
- package/types/components/inputs/Checkbox/Checkbox.d.ts +83 -0
- package/types/components/inputs/Checkbox/Checkbox.styled.d.ts +29 -0
- package/types/components/inputs/Checkbox/index.d.ts +1 -0
- package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.d.ts +242 -0
- package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.d.ts +104 -0
- package/types/components/inputs/CompactAutocompleteSelect/index.d.ts +1 -0
- package/types/components/inputs/CompactStarRating/CompactStarRating.d.ts +96 -0
- package/types/components/inputs/CompactStarRating/CompactStarRating.styled.d.ts +34 -0
- package/types/components/inputs/CompactStarRating/index.d.ts +1 -0
- package/types/components/inputs/CompactTextInput/CompactTextInput.d.ts +116 -0
- package/types/components/inputs/CompactTextInput/CompactTextInput.styled.d.ts +42 -0
- package/types/components/inputs/CompactTextInput/index.d.ts +1 -0
- package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.d.ts +41 -0
- package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.d.ts +13 -0
- package/types/components/inputs/MultiLevelCheckbox/index.d.ts +2 -0
- package/types/components/inputs/MultiLevelCheckbox/types.d.ts +29 -0
- package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.d.ts +44 -0
- package/types/components/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.d.ts +11 -0
- package/types/components/inputs/MultiLevelCheckboxSelect/index.d.ts +1 -0
- package/types/components/inputs/MultiSelect/MultiSelect.d.ts +115 -0
- package/types/components/inputs/MultiSelect/MultiSelect.styled.d.ts +34 -0
- package/types/components/inputs/MultiSelect/index.d.ts +1 -0
- package/types/components/inputs/Radio/Radio.d.ts +65 -0
- package/types/components/inputs/Radio/Radio.styled.d.ts +11 -0
- package/types/components/inputs/Radio/index.d.ts +1 -0
- package/types/components/inputs/Switch/Switch.d.ts +62 -0
- package/types/components/inputs/Switch/Switch.styled.d.ts +16 -0
- package/types/components/inputs/Switch/index.d.ts +1 -0
- package/types/components/inputs/TextArea/TextArea.d.ts +120 -0
- package/types/components/inputs/TextArea/TextArea.styled.d.ts +93 -0
- package/types/components/inputs/TextArea/index.d.ts +1 -0
- package/types/components/inputs/TextInput/TextInput.d.ts +109 -0
- package/types/components/inputs/TextInput/TextInput.styled.d.ts +43 -0
- package/types/components/inputs/TextInput/index.d.ts +1 -0
- package/types/components/inputs/index.d.ts +13 -0
- package/types/components/layout/InputGroup/InputGroup.d.ts +31 -0
- package/types/components/layout/InputGroup/InputGroup.styled.d.ts +1 -0
- package/types/components/layout/InputGroup/index.d.ts +1 -0
- package/types/components/layout/SectionSeparator/SectionSeparator.d.ts +28 -0
- package/types/components/layout/SectionSeparator/SectionSeparator.styled.d.ts +7 -0
- package/types/components/layout/SectionSeparator/index.d.ts +1 -0
- package/types/components/layout/index.d.ts +2 -0
- package/types/components/widgets/AssetAction/AssetAction.d.ts +16 -0
- package/types/components/widgets/AssetAction/AssetAction.styled.d.ts +15 -0
- package/types/components/widgets/AssetAction/index.d.ts +1 -0
- package/types/components/widgets/AssetActionsBase/AssetActionsBase.d.ts +25 -0
- package/types/components/widgets/AssetActionsBase/AssetActionsBase.styled.d.ts +1 -0
- package/types/components/widgets/AssetActionsBase/index.d.ts +1 -0
- package/types/components/widgets/AssetGallery/AssetGallery.d.ts +170 -0
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.d.ts +76 -0
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.d.ts +3 -0
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.d.ts +3 -0
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.d.ts +52 -0
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.d.ts +2 -0
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.d.ts +49 -0
- package/types/components/widgets/AssetGallery/asset.types.d.ts +329 -0
- package/types/components/widgets/AssetGallery/index.d.ts +1 -0
- package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.d.ts +60 -0
- package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.d.ts +21 -0
- package/types/components/widgets/AssetPreview/AssetPreviewTopBar/index.d.ts +1 -0
- package/types/components/widgets/ContextMenu/ContextMenu.d.ts +118 -0
- package/types/components/widgets/ContextMenu/ContextMenu.styled.d.ts +1 -0
- package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.d.ts +45 -0
- package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.d.ts +18 -0
- package/types/components/widgets/ContextMenu/ContextMenuItem/index.d.ts +1 -0
- package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.d.ts +23 -0
- package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.d.ts +1 -0
- package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/index.d.ts +1 -0
- package/types/components/widgets/ContextMenu/index.d.ts +1 -0
- package/types/components/widgets/InfoCard/InfoCard.d.ts +33 -0
- package/types/components/widgets/InfoCard/InfoCard.styled.d.ts +28 -0
- package/types/components/widgets/InfoCard/index.d.ts +1 -0
- package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.d.ts +46 -0
- package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.d.ts +30 -0
- package/types/components/widgets/InstructionSeverityDisplay/index.d.ts +1 -0
- package/types/components/widgets/Instructions/Instructions.d.ts +156 -0
- package/types/components/widgets/Instructions/Instructions.styled.d.ts +14 -0
- package/types/components/widgets/Instructions/index.d.ts +1 -0
- package/types/components/widgets/ProgressBar/ProgressBar.d.ts +30 -0
- package/types/components/widgets/ProgressBar/ProgressBar.styled.d.ts +41 -0
- package/types/components/widgets/ProgressBar/index.d.ts +1 -0
- package/types/components/widgets/SummaryCard/SummaryCard.d.ts +83 -0
- package/types/components/widgets/SummaryCard/SummaryCard.styled.d.ts +29 -0
- package/types/components/widgets/SummaryCard/index.d.ts +1 -0
- package/types/components/widgets/index.d.ts +11 -0
- package/types/hooks/useElementSize.d.ts +14 -0
- package/types/hooks/useEventListner.d.ts +14 -0
- package/types/hooks/useFloatingPopover.d.ts +161 -0
- package/types/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
- package/types/hooks/useOnClickOutside.d.ts +13 -0
- package/types/hooks/useTooltipAutoShow.d.ts +31 -0
- package/types/icons/index.d.ts +41 -0
- package/types/ssr/index.d.ts +1 -0
- package/types/styles/utils/colors-export.d.ts +54 -0
- package/types/utils/dateTime.d.ts +8 -0
- package/types/utils/defaultTheme.d.ts +95 -0
- package/types/utils/getElementRef.d.ts +2 -0
- package/types/utils/parseTrigger.d.ts +22 -0
- package/build/_virtual/_rollupPluginBabelHelpers.js +0 -12
- package/build/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/widgets/AssetGallery/asset.propType.js +0 -56
- package/build/widgets/AssetGallery/asset.propType.js.map +0 -1
package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
1
|
import { isEmpty, isFunction, omit, get, mapKeys } from 'lodash';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
2
|
import React__default, { useEffect, useCallback, useRef } from 'react';
|
|
5
3
|
import { trackWindowScroll, LazyLoadComponent, LazyLoadImage } from 'react-lazy-load-image-component';
|
|
6
4
|
import { ReactComponent as SvgHeadset } from '../../../../icons/headset.svg.js';
|
|
@@ -31,9 +29,9 @@ import '../../../../inputs/MultiLevelCheckbox/types.js';
|
|
|
31
29
|
import '../../../../inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js';
|
|
32
30
|
import ContextMenu from '../../../ContextMenu/ContextMenu.js';
|
|
33
31
|
import ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem.js';
|
|
34
|
-
import { assetShapeWithLayout } from '../../asset.propType.js';
|
|
35
32
|
import { AssetGalleryWrapper, AssetGalleryGridCard as AssetGalleryGridCard$2, ThumbnailSection, ThumbnailSelectedOverlay, ConsumerOverlay, HorizontalBar, HorizontalBarLeft, HorizontalBarRight, StatusIconCircle, ThumbnailRow, ThumbnailSpacer, ThumbnailWrapper, ThumbnailBox, ThumbnailActions, ActionsContainer, Action, CardBody, CardTitle, CardDescription, InstructionsWrapper, CardDivider, CardFooter, CardFooterLeft, CardFooterRight, CheckboxRow } from './AssetGalleryGridCard.styled.js';
|
|
36
33
|
import InstructionSeverityDisplay from '../../../InstructionSeverityDisplay/InstructionSeverityDisplay.js';
|
|
34
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
37
35
|
|
|
38
36
|
const ComputedRootComponent = ({
|
|
39
37
|
component,
|
|
@@ -51,15 +49,17 @@ const ComputedRootComponent = ({
|
|
|
51
49
|
ref,
|
|
52
50
|
...rest
|
|
53
51
|
} = newProps;
|
|
54
|
-
return
|
|
55
|
-
ref: ref
|
|
56
|
-
|
|
52
|
+
return jsx("div", {
|
|
53
|
+
ref: ref,
|
|
54
|
+
...rest
|
|
55
|
+
});
|
|
57
56
|
};
|
|
58
57
|
const ComputedActionButton = React__default.forwardRef(function ComputedActionButton({
|
|
59
58
|
component,
|
|
60
59
|
className,
|
|
61
60
|
subActions = [],
|
|
62
61
|
isSubActionsOpened,
|
|
62
|
+
onSubActionsClose,
|
|
63
63
|
...props
|
|
64
64
|
}, forwardedRef) {
|
|
65
65
|
const newProps = props;
|
|
@@ -70,33 +70,36 @@ const ComputedActionButton = React__default.forwardRef(function ComputedActionBu
|
|
|
70
70
|
title,
|
|
71
71
|
icon
|
|
72
72
|
} = subAction;
|
|
73
|
-
return
|
|
74
|
-
key: key,
|
|
73
|
+
return jsx(ContextMenuItem, {
|
|
75
74
|
onClickEffect: onClick,
|
|
76
75
|
title: title,
|
|
77
76
|
icon: icon
|
|
78
|
-
});
|
|
77
|
+
}, key);
|
|
79
78
|
});
|
|
80
|
-
const contextMenu =
|
|
81
|
-
|
|
79
|
+
const contextMenu = jsx(ContextMenu, {
|
|
80
|
+
children: contextMenuItems
|
|
81
|
+
});
|
|
82
|
+
newProps.children = jsx(Popover, {
|
|
82
83
|
contextMenu: true,
|
|
83
84
|
content: contextMenu,
|
|
84
85
|
placement: 'bottom-end',
|
|
85
86
|
visible: isSubActionsOpened,
|
|
87
|
+
onHide: onSubActionsClose,
|
|
86
88
|
zIndex: 10001,
|
|
87
|
-
offset: [0, -8]
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
offset: [0, -8],
|
|
90
|
+
children: jsx(ActionButton, {
|
|
91
|
+
useShadow: false,
|
|
92
|
+
active: true,
|
|
93
|
+
ref: forwardedRef,
|
|
94
|
+
className: className,
|
|
95
|
+
icon: newProps.icon,
|
|
96
|
+
backgroundColors: ['black', 'white'],
|
|
97
|
+
onClick: newProps.onClick,
|
|
98
|
+
actionWidthHeight: [40, 40]
|
|
99
|
+
})
|
|
100
|
+
});
|
|
98
101
|
} else {
|
|
99
|
-
newProps.children =
|
|
102
|
+
newProps.children = jsx(ActionButton, {
|
|
100
103
|
useShadow: false,
|
|
101
104
|
active: true,
|
|
102
105
|
ref: forwardedRef,
|
|
@@ -115,7 +118,9 @@ const ComputedActionButton = React__default.forwardRef(function ComputedActionBu
|
|
|
115
118
|
});
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
|
-
return
|
|
121
|
+
return jsx(React__default.Fragment, {
|
|
122
|
+
children: newProps.children
|
|
123
|
+
});
|
|
119
124
|
});
|
|
120
125
|
const AssetGalleryGridCard = props => {
|
|
121
126
|
const {
|
|
@@ -157,8 +162,11 @@ const AssetGalleryGridCard = props => {
|
|
|
157
162
|
});
|
|
158
163
|
updateOpenedSubActions(newOpenedSubActions);
|
|
159
164
|
}, [openedSubActions]);
|
|
160
|
-
const
|
|
161
|
-
|
|
165
|
+
const onSubActionsClose = useCallback(actionIndex => {
|
|
166
|
+
updateOpenedSubActions(current => current.map((isOpened, index) => index === actionIndex ? false : isOpened));
|
|
167
|
+
}, []);
|
|
168
|
+
const videoPlayerRef = useRef(undefined);
|
|
169
|
+
const cardRef = useRef(undefined);
|
|
162
170
|
const dragRef = useRef(null);
|
|
163
171
|
function onMouseEnter(event) {
|
|
164
172
|
if (videoPlayerRef.current) {
|
|
@@ -212,24 +220,28 @@ const AssetGalleryGridCard = props => {
|
|
|
212
220
|
function renderPreview(asset) {
|
|
213
221
|
let previewContent = null;
|
|
214
222
|
if (asset.fileType?.toLowerCase() === 'video') {
|
|
215
|
-
previewContent =
|
|
216
|
-
scrollPosition: scrollPosition
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
223
|
+
previewContent = jsx(LazyLoadComponent, {
|
|
224
|
+
scrollPosition: scrollPosition,
|
|
225
|
+
children: jsx("video", {
|
|
226
|
+
ref: videoPlayerRef,
|
|
227
|
+
loop: true,
|
|
228
|
+
muted: true,
|
|
229
|
+
children: jsx("source", {
|
|
230
|
+
src: asset.previewUrl,
|
|
231
|
+
type: "video/mp4"
|
|
232
|
+
})
|
|
233
|
+
})
|
|
234
|
+
});
|
|
225
235
|
} else if (asset.fileType?.toLowerCase() === 'audio') {
|
|
226
|
-
previewContent =
|
|
227
|
-
scrollPosition: scrollPosition
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
236
|
+
previewContent = jsx(LazyLoadComponent, {
|
|
237
|
+
scrollPosition: scrollPosition,
|
|
238
|
+
children: jsx("div", {
|
|
239
|
+
className: "audio",
|
|
240
|
+
children: jsx(SvgHeadset, {})
|
|
241
|
+
})
|
|
242
|
+
});
|
|
231
243
|
} else {
|
|
232
|
-
previewContent =
|
|
244
|
+
previewContent = jsx(LazyLoadImage, {
|
|
233
245
|
alt: asset.title,
|
|
234
246
|
src: asset.previewUrl,
|
|
235
247
|
height: "100%",
|
|
@@ -279,8 +291,8 @@ const AssetGalleryGridCard = props => {
|
|
|
279
291
|
}, [softSelected]);
|
|
280
292
|
const renderVersionsBadge = useCallback(() => {
|
|
281
293
|
if (!asset?.versions) return null;
|
|
282
|
-
return
|
|
283
|
-
badgeIcon:
|
|
294
|
+
return jsx(Badge, {
|
|
295
|
+
badgeIcon: jsx(SvgLayers, {}),
|
|
284
296
|
badgeContent: asset.versions,
|
|
285
297
|
backgroundColors: ['black', 'black'],
|
|
286
298
|
colors: ['#f7f8f9', '#f7f8f9'],
|
|
@@ -295,13 +307,13 @@ const AssetGalleryGridCard = props => {
|
|
|
295
307
|
let badgeIcon = null;
|
|
296
308
|
let badgeContent = null;
|
|
297
309
|
if (asset?.fileType === 'video') {
|
|
298
|
-
badgeIcon =
|
|
310
|
+
badgeIcon = jsx(SvgPlay, {});
|
|
299
311
|
}
|
|
300
312
|
if (asset?.duration) {
|
|
301
313
|
badgeContent = convertMsToHMS(asset.duration);
|
|
302
314
|
}
|
|
303
315
|
if (!badgeIcon && !badgeContent) return null;
|
|
304
|
-
return
|
|
316
|
+
return jsx(Badge, {
|
|
305
317
|
badgeIcon: badgeIcon,
|
|
306
318
|
badgeContent: badgeContent,
|
|
307
319
|
backgroundColors: ['black', 'black'],
|
|
@@ -316,96 +328,129 @@ const AssetGalleryGridCard = props => {
|
|
|
316
328
|
});
|
|
317
329
|
}, [asset]);
|
|
318
330
|
const renderThumbnail = () => {
|
|
319
|
-
return
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
return jsxs(ThumbnailSection, {
|
|
332
|
+
children: [jsx(ThumbnailSelectedOverlay, {
|
|
333
|
+
selected: selected
|
|
334
|
+
}), asset.overlay && jsx(ConsumerOverlay, {
|
|
335
|
+
children: asset.overlay
|
|
336
|
+
}), jsxs(HorizontalBar, {
|
|
337
|
+
children: [jsx(HorizontalBarLeft, {
|
|
338
|
+
children: renderVersionsBadge()
|
|
339
|
+
}), jsx(HorizontalBarRight, {
|
|
340
|
+
children: asset.statusIcon && jsx(StatusIconCircle, {
|
|
341
|
+
children: asset.statusIcon
|
|
342
|
+
})
|
|
343
|
+
})]
|
|
344
|
+
}), jsxs(ThumbnailRow, {
|
|
345
|
+
children: [jsx(ThumbnailSpacer, {}), jsx(ThumbnailWrapper, {
|
|
346
|
+
children: jsx(ThumbnailBox, {
|
|
347
|
+
children: renderPreview(asset)
|
|
348
|
+
})
|
|
349
|
+
}), jsx(ThumbnailActions, {
|
|
350
|
+
children: jsx(ActionsContainer, {
|
|
351
|
+
children: !extendedSelectMode && (asset.actions ?? []).map((action, index) => jsx(Tooltip, {
|
|
352
|
+
content: action.title,
|
|
353
|
+
children: jsx(Action, {
|
|
354
|
+
children: jsx(ComputedActionButton, {
|
|
355
|
+
component: action.component,
|
|
356
|
+
className: action.className,
|
|
357
|
+
icon: action.icon,
|
|
358
|
+
isSubActionsOpened: shouldOpenSubActions(index),
|
|
359
|
+
onSubActionsClose: () => onSubActionsClose(index),
|
|
360
|
+
onClick: event => onActionClick(event, action, index),
|
|
361
|
+
subActions: action?.subActions,
|
|
362
|
+
actionWidthHeight: action.actionWidthHeight
|
|
363
|
+
})
|
|
364
|
+
})
|
|
365
|
+
}, `${asset.key}-${action.title}`))
|
|
366
|
+
})
|
|
367
|
+
})]
|
|
368
|
+
}), jsxs(HorizontalBar, {
|
|
369
|
+
children: [jsx(HorizontalBarLeft, {}), jsx(HorizontalBarRight, {
|
|
370
|
+
children: renderMediaBadge()
|
|
371
|
+
})]
|
|
372
|
+
})]
|
|
373
|
+
});
|
|
333
374
|
};
|
|
334
375
|
const renderDetails = () => {
|
|
335
|
-
return
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
376
|
+
return jsxs(CardBody, {
|
|
377
|
+
children: [jsx(CardTitle, {
|
|
378
|
+
title: asset.title || '',
|
|
379
|
+
children: asset.title || ''
|
|
380
|
+
}), jsx(CardDescription, {
|
|
381
|
+
title: asset.description || '',
|
|
382
|
+
children: asset.description || ''
|
|
383
|
+
}), jsx(InstructionsWrapper, {
|
|
384
|
+
$hasContent: Boolean(asset.imageRights?.toString().trim()),
|
|
385
|
+
children: asset.imageRights && jsx(InstructionSeverityDisplay, {
|
|
386
|
+
labels: asset.instructionLabels,
|
|
387
|
+
instructionText: asset.imageRights,
|
|
388
|
+
severity: asset.instructionSeverity,
|
|
389
|
+
showCard: false,
|
|
390
|
+
padding: "16px",
|
|
391
|
+
detailsFontSize: "12px",
|
|
392
|
+
bgLight: "transparent",
|
|
393
|
+
bgDark: "transparent",
|
|
394
|
+
maxLines: 2
|
|
395
|
+
})
|
|
396
|
+
})]
|
|
397
|
+
});
|
|
352
398
|
};
|
|
353
399
|
const renderConsentSummaryInfo = () => {
|
|
354
400
|
if (hideConsentSummary) {
|
|
355
|
-
return
|
|
401
|
+
return jsx(CardDivider, {});
|
|
356
402
|
}
|
|
357
|
-
return
|
|
403
|
+
return jsxs(Fragment, {
|
|
404
|
+
children: [jsxs(CardFooter, {
|
|
405
|
+
children: [jsx(CardFooterLeft, {
|
|
406
|
+
children: asset.summary?.footerLeft || null
|
|
407
|
+
}), jsx(CardFooterRight, {
|
|
408
|
+
children: asset.summary?.footerRight || null
|
|
409
|
+
})]
|
|
410
|
+
}), jsx(CardDivider, {})]
|
|
411
|
+
});
|
|
358
412
|
};
|
|
359
413
|
const renderCheckboxRow = () => {
|
|
360
|
-
return
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
414
|
+
return jsx(CheckboxRow, {
|
|
415
|
+
children: selectable && jsx("div", {
|
|
416
|
+
onClick: onSelectClick,
|
|
417
|
+
children: jsx(Checkbox, {
|
|
418
|
+
variant: "black",
|
|
419
|
+
checked: selected,
|
|
420
|
+
onChange: event => {
|
|
421
|
+
if (event.target.checked) {
|
|
422
|
+
onAssetSelected(asset.key);
|
|
423
|
+
} else {
|
|
424
|
+
onAssetUnselected(asset.key);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
})
|
|
428
|
+
})
|
|
429
|
+
});
|
|
373
430
|
};
|
|
374
|
-
return
|
|
375
|
-
disabled: asset.disabled,
|
|
376
|
-
ref: cardRef
|
|
377
|
-
}, React__default.createElement(AssetGalleryGridCard$2, {
|
|
378
|
-
as: ComputedRootComponent,
|
|
379
|
-
component: component,
|
|
380
|
-
asset: asset,
|
|
431
|
+
return jsx(AssetGalleryWrapper, {
|
|
381
432
|
disabled: asset.disabled,
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
433
|
+
ref: cardRef,
|
|
434
|
+
children: jsxs(AssetGalleryGridCard$2, {
|
|
435
|
+
as: ComputedRootComponent,
|
|
436
|
+
component: component,
|
|
437
|
+
asset: asset,
|
|
438
|
+
disabled: asset.disabled,
|
|
439
|
+
onClick: onClick,
|
|
440
|
+
extendedSelectMode: extendedSelectMode,
|
|
441
|
+
onMouseEnter: onMouseEnter,
|
|
442
|
+
onMouseLeave: onMouseLeave,
|
|
443
|
+
draggable: asset.draggable,
|
|
444
|
+
innerRef: dragRef,
|
|
445
|
+
selected: selected,
|
|
446
|
+
$softSelected: softSelected,
|
|
447
|
+
completed: asset?.completed,
|
|
448
|
+
$hasError: asset?.hasError,
|
|
449
|
+
$customSelectedBorder: customSelectedBorder,
|
|
450
|
+
children: [renderThumbnail(), renderDetails(), renderConsentSummaryInfo(), renderCheckboxRow()]
|
|
451
|
+
})
|
|
452
|
+
});
|
|
394
453
|
};
|
|
395
|
-
AssetGalleryGridCard.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
396
|
-
asset: PropTypes.shape(assetShapeWithLayout).isRequired,
|
|
397
|
-
selectable: PropTypes.bool,
|
|
398
|
-
selected: PropTypes.bool,
|
|
399
|
-
customSelectedBorder: PropTypes.arrayOf(PropTypes.string),
|
|
400
|
-
extendedSelectMode: PropTypes.bool,
|
|
401
|
-
onAssetSelected: PropTypes.func.isRequired,
|
|
402
|
-
onAssetUnselected: PropTypes.func.isRequired,
|
|
403
|
-
softSelected: PropTypes.bool.isRequired,
|
|
404
|
-
component: PropTypes.func,
|
|
405
|
-
scrollPosition: PropTypes.number,
|
|
406
|
-
hideConsentSummary: PropTypes.bool
|
|
407
|
-
} : {};
|
|
408
|
-
AssetGalleryGridCard.defaultProps = {};
|
|
409
454
|
var AssetGalleryGridCard$1 = trackWindowScroll(React__default.memo(AssetGalleryGridCard, (prevProps, nextProps) => {
|
|
410
455
|
const reactiveProps = ['selectable', 'selected', 'extendedSelectMode', 'softSelected', 'asset.previewUrl', 'asset.overlay', 'asset.statusIcon', 'asset.layout', 'asset.imageRights', 'asset.instructionSeverity', 'asset.description', 'asset.title'];
|
|
411
456
|
return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));
|
package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map
CHANGED
|
@@ -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 { HeadsetIcon, LayersIcon, PlayIcon } from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, Popover, Tooltip } from '../../../../data';\nimport { ActionButton, Checkbox } 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 const { ref, ...rest } = newProps;\n return <div ref={ref} {...rest} />;\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 hideConsentSummary\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 <S.ThumbnailSection>\n <S.ThumbnailSelectedOverlay selected={selected} />\n {asset.overlay && <S.ConsumerOverlay>{asset.overlay}</S.ConsumerOverlay>}\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>{renderPreview(asset)}</S.ThumbnailBox>\n </S.ThumbnailWrapper>\n <S.ThumbnailActions>\n <S.ActionsContainer>\n {!extendedSelectMode &&\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 </S.ThumbnailSection>\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 $hasContent={Boolean(asset.imageRights?.toString().trim())}>\n {asset.imageRights && (\n <InstructionSeverityDisplay\n labels={asset.instructionLabels}\n instructionText={asset.imageRights}\n severity={asset.instructionSeverity}\n showCard={false}\n padding=\"16px\"\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 if (hideConsentSummary) {\n return <S.CardDivider />;\n }\n return (\n <>\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 <div onClick={onSelectClick}>\n <Checkbox\n variant=\"black\"\n checked={selected}\n onChange={event => {\n if (event.target.checked) {\n onAssetSelected(asset.key);\n } else {\n onAssetUnselected(asset.key);\n }\n }}\n />\n </div>\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 /**\n * When true, hides the consent summary footer (CardFooter + CardDivider). Default: false.\n */\n hideConsentSummary: PropTypes.bool\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","ref","rest","createElement","_extends","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","hideConsentSummary","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","S","overlay","statusIcon","Tooltip","renderDetails","description","$hasContent","Boolean","imageRights","toString","trim","InstructionSeverityDisplay","labels","instructionLabels","instructionText","severity","instructionSeverity","showCard","padding","detailsFontSize","bgLight","bgDark","maxLines","renderConsentSummaryInfo","summary","footerLeft","footerRight","renderCheckboxRow","Checkbox","variant","checked","onChange","target","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,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,MAAM;IAAEW,GAAG;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAGZ,QAAQ,CAAA;AACjC,EAAA,OAAOO,cAAA,CAAAM,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;AAAKH,IAAAA,GAAG,EAAEA,GAAAA;GAASC,EAAAA,IAAI,CAAG,CAAC,CAAA;AACpC,CAAC,CAAA;AAGD,MAAMG,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,CAAAM,aAAA,CAACe,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,CAAAM,aAAA,CAACkB,WAAW,EAAET,IAAAA,EAAAA,gBAA8B,CAAC,CAAA;AACjEtB,IAAAA,QAAQ,CAACS,QAAQ,GACfF,cAAA,CAAAM,aAAA,CAACmB,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,CAAAM,aAAA,CAACyB,YAAY,EAAA;AACXC,MAAAA,SAAS,EAAE,KAAM;AACjBC,MAAAA,MAAM,EAAE,IAAK;AACb7B,MAAAA,GAAG,EAAES,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,CAAAM,aAAA,CAACyB,YAAY,EAAA;AACXC,MAAAA,SAAS,EAAE,KAAM;AACjBC,MAAAA,MAAM,EAAE,IAAK;AACb7B,MAAAA,GAAG,EAAES,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,CAAAM,aAAA,CAACN,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;IACTuD,cAAc;AACdC,IAAAA,kBAAAA;AACF,GAAC,GAAGtD,KAAK,CAAA;EAET,MAAM,CAACuD,aAAa,EAAEC,gBAAgB,CAAC,GAAGhD,cAAK,CAACiD,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/D,MAAM,CAACC,gBAAgB,EAAEC,sBAAsB,CAAC,GAAGnD,cAAK,CAACiD,QAAQ,CAAC,EAAE,CAAC,CAAA;AACrEG,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMC,mBAAmB,GAAG,CAAC9D,KAAK,EAAE+D,OAAO,IAAI,EAAE,EAAEtC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAA;IACnEmC,sBAAsB,CAACE,mBAAmB,CAAC,CAAA;AAC7C,GAAC,EAAE,CAAC9D,KAAK,CAAC,CAAC,CAAA;AAEX6D,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACL,aAAa,IAAIG,gBAAgB,EAAEK,MAAM,EAAE;MAC9CJ,sBAAsB,CAACD,gBAAgB,CAAClC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;AAC3D,KAAA;AACF,GAAC,EAAE,CAAC+B,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,CAAClC,GAAG,CAAC,CAAC6C,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,IAAI5E,UAAU,CAACP,KAAK,CAAC4E,YAAY,CAAC,EAAE;AAClC5E,MAAAA,KAAK,CAAC4E,YAAY,CAACC,KAAK,EAAE7E,KAAK,CAAC,CAAA;AAClC,KAAA;AAEAiE,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,SAASxC,OAAOA,CAACkD,KAAK,EAAE;AACtB,IAAA,IAAI3B,kBAAkB,EAAE;MACtB,OAAOoC,aAAa,CAACT,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAItE,UAAU,CAACP,KAAK,CAAC2B,OAAO,CAAC,EAAE;AAC7B3B,MAAAA,KAAK,CAAC2B,OAAO,CAACkD,KAAK,EAAE7E,KAAK,CAAC,CAAA;AAC7B,KAAA;AACF,GAAA;EAEA,SAASsF,aAAaA,CAACT,KAAK,EAAE;IAC5BA,KAAK,CAACU,cAAc,EAAE,CAAA;IACtBV,KAAK,CAACW,eAAe,EAAE,CAAA;AAEvB,IAAA,IAAIxC,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,MAAMmF,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,IAAIjF,UAAU,CAACmF,MAAM,EAAE/D,OAAO,CAAC,EAAE;AAC/B+D,MAAAA,MAAM,CAAC/D,OAAO,CAAC3B,KAAK,CAAC,CAAA;AACvB,KAAA;AAEA,IAAA,IAAI,CAACuB,OAAO,CAACmE,MAAM,EAAEtE,UAAU,CAAC,EAAE;MAChCgD,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;AACtBvF,IAAAA,KAAK,CAAC4F,aAAa,CAACf,KAAK,CAAC,CAAA;AAC5B,GAAA;EAEA,SAASgB,aAAaA,CAAC7F,KAAK,EAAE;IAC5B,IAAI8F,cAAc,GAAG,IAAI,CAAA;IAEzB,IAAI9F,KAAK,CAAC+F,QAAQ,EAAEC,WAAW,EAAE,KAAK,OAAO,EAAE;AAC7CF,MAAAA,cAAc,GACZrF,cAAA,CAAAM,aAAA,CAACkF,iBAAiB,EAAA;AAAC3C,QAAAA,cAAc,EAAEA,cAAAA;OACjC7C,EAAAA,cAAA,CAAAM,aAAA,CAAA,OAAA,EAAA;AAAOF,QAAAA,GAAG,EAAE2D,cAAe;QAAC0B,IAAI,EAAA,IAAA;QAACC,KAAK,EAAA,IAAA;OACpC1F,EAAAA,cAAA,CAAAM,aAAA,CAAA,QAAA,EAAA;QAAQqF,GAAG,EAAEpG,KAAK,CAACqG,UAAW;AAACC,QAAAA,IAAI,EAAC,WAAA;OAAa,CAC5C,CACU,CACpB,CAAA;KACF,MAAM,IAAItG,KAAK,CAAC+F,QAAQ,EAAEC,WAAW,EAAE,KAAK,OAAO,EAAE;AACpDF,MAAAA,cAAc,GACZrF,cAAA,CAAAM,aAAA,CAACkF,iBAAiB,EAAA;AAAC3C,QAAAA,cAAc,EAAEA,cAAAA;OACjC7C,EAAAA,cAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKI,QAAAA,SAAS,EAAC,OAAA;OACbV,EAAAA,cAAA,CAAAM,aAAA,CAACwF,UAAW,EAAE,IAAA,CACX,CACY,CACpB,CAAA;AACH,KAAC,MAAM;AACLT,MAAAA,cAAc,GACZrF,cAAA,CAAAM,aAAA,CAACyF,aAAa,EAAA;QACZC,GAAG,EAAEzG,KAAK,CAAC4B,KAAM;QACjBwE,GAAG,EAAEpG,KAAK,CAACqG,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;AAChBxD,QAAAA,cAAc,EAAEA,cAAAA;AAAe,OAChC,CACF,CAAA;AACH,KAAA;AAEA,IAAA,OAAOwC,cAAc,CAAA;AACvB,GAAA;AAEAjC,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAItD,UAAU,CAACP,KAAK,CAAC4F,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;AAC1B7E,IAAAA,KAAK,CAACiH,WAAW,CAACpC,KAAK,CAAC,CAAA;AAC1B,GAAA;AAEAhB,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAItD,UAAU,CAACP,KAAK,CAACiH,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,IAAIR,YAAY,EAAE;AAChBqB,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,CAAC/D,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,MAAMgE,mBAAmB,GAAGnD,WAAW,CAAC,MAAM;AAC5C,IAAA,IAAI,CAAClE,KAAK,EAAEsH,QAAQ,EAAE,OAAO,IAAI,CAAA;AAEjC,IAAA,OACE7G,cAAA,CAAAM,aAAA,CAACwG,KAAK,EAAA;AACJC,MAAAA,SAAS,EAAE/G,cAAA,CAAAM,aAAA,CAAC0G,SAAU,MAAE,CAAE;MAC1BC,YAAY,EAAE1H,KAAK,CAACsH,QAAS;AAC7B3E,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrCgF,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,CAAChI,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMiI,gBAAgB,GAAG/D,WAAW,CAAC,MAAM;IACzC,IAAIsD,SAAS,GAAG,IAAI,CAAA;IACpB,IAAIE,YAAY,GAAG,IAAI,CAAA;AAEvB,IAAA,IAAI1H,KAAK,EAAE+F,QAAQ,KAAK,OAAO,EAAE;AAC/ByB,MAAAA,SAAS,GAAG/G,cAAA,CAAAM,aAAA,CAACmH,OAAQ,MAAE,CAAC,CAAA;AAC1B,KAAA;IAEA,IAAIlI,KAAK,EAAEmI,QAAQ,EAAE;AACnBT,MAAAA,YAAY,GAAGU,cAAc,CAACpI,KAAK,CAACmI,QAAQ,CAAC,CAAA;AAC/C,KAAA;AAEA,IAAA,IAAI,CAACX,SAAS,IAAI,CAACE,YAAY,EAAE,OAAO,IAAI,CAAA;AAC5C,IAAA,OACEjH,cAAA,CAAAM,aAAA,CAACwG,KAAK,EAAA;AACJC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,YAAY,EAAEA,YAAa;AAC3B/E,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrCgF,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,CAAC1G,KAAK,CAAC,CAAC,CAAA;EAEX,MAAMsI,eAAe,GAAGA,MAAM;AAC5B,IAAA,OACE7H,cAAA,CAAAM,aAAA,CAACwH,gBAAkB,EACjB9H,IAAAA,EAAAA,cAAA,CAAAM,aAAA,CAACwH,wBAA0B,EAAA;AAACvF,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAE,CAAC,EACjDhD,KAAK,CAACwI,OAAO,IAAI/H,cAAA,CAAAM,aAAA,CAACwH,eAAiB,QAAEvI,KAAK,CAACwI,OAA2B,CAAC,EAExE/H,cAAA,CAAAM,aAAA,CAACwH,aAAe,EAAA,IAAA,EACd9H,cAAA,CAAAM,aAAA,CAACwH,iBAAmB,EAAA,IAAA,EAAElB,mBAAmB,EAAwB,CAAC,EAClE5G,cAAA,CAAAM,aAAA,CAACwH,kBAAoB,EAAA,IAAA,EAClBvI,KAAK,CAACyI,UAAU,IAAIhI,cAAA,CAAAM,aAAA,CAACwH,gBAAkB,QAAEvI,KAAK,CAACyI,UAA+B,CAC3D,CACP,CAAC,EAClBhI,cAAA,CAAAM,aAAA,CAACwH,YAAc,EACb9H,IAAAA,EAAAA,cAAA,CAAAM,aAAA,CAACwH,eAAiB,EAAA,IAAE,CAAC,EAErB9H,cAAA,CAAAM,aAAA,CAACwH,gBAAkB,EACjB9H,IAAAA,EAAAA,cAAA,CAAAM,aAAA,CAACwH,YAAc,EAAA,IAAA,EAAE1C,aAAa,CAAC7F,KAAK,CAAkB,CACpC,CAAC,EACrBS,cAAA,CAAAM,aAAA,CAACwH,gBAAkB,QACjB9H,cAAA,CAAAM,aAAA,CAACwH,gBAAkB,EAChB,IAAA,EAAA,CAACrF,kBAAkB,IAClB,CAAClD,KAAK,CAAC+D,OAAO,IAAI,EAAE,EAAEtC,GAAG,CAAC,CAACiE,MAAM,EAAEnB,KAAK,KACtC9D,cAAA,CAAAM,aAAA,CAAC2H,OAAO,EAAA;MAACpI,GAAG,EAAE,GAAGN,KAAK,CAACM,GAAG,CAAIoF,CAAAA,EAAAA,MAAM,CAAC9D,KAAK,CAAG,CAAA;MAACO,OAAO,EAAEuD,MAAM,CAAC9D,KAAAA;AAAM,KAAA,EAClEnB,cAAA,CAAAM,aAAA,CAACwH,MAAQ,EAAA,IAAA,EACP9H,cAAA,CAAAM,aAAA,CAACE,oBAAoB,EAAA;MACnBlB,SAAS,EAAE2F,MAAM,CAAC3F,SAAU;MAC5BoB,SAAS,EAAEuE,MAAM,CAACvE,SAAU;MAC5BU,IAAI,EAAE6D,MAAM,CAAC7D,IAAK;AAClBR,MAAAA,kBAAkB,EAAEsE,oBAAoB,CAACpB,KAAK,CAAE;MAChD5C,OAAO,EAAEkD,KAAK,IAAIY,aAAa,CAACZ,KAAK,EAAEa,MAAM,EAAEnB,KAAK,CAAE;MACtDnD,UAAU,EAAEsE,MAAM,EAAEtE,UAAW;MAC/BwB,iBAAiB,EAAE8C,MAAM,CAAC9C,iBAAAA;AAAkB,KAC7C,CACO,CACH,CACV,CACe,CACF,CACN,CAAC,EAEjBnC,cAAA,CAAAM,aAAA,CAACwH,aAAe,EAAA,IAAA,EACd9H,cAAA,CAAAM,aAAA,CAACwH,iBAAmB,EAAA,IAAsB,CAAC,EAC3C9H,cAAA,CAAAM,aAAA,CAACwH,kBAAoB,EAAEN,IAAAA,EAAAA,gBAAgB,EAAyB,CACjD,CACC,CAAC,CAAA;GAExB,CAAA;EAED,MAAMU,aAAa,GAAGA,MAAM;AAC1B,IAAA,OACElI,cAAA,CAAAM,aAAA,CAACwH,QAAU,EACT9H,IAAAA,EAAAA,cAAA,CAAAM,aAAA,CAACwH,SAAW,EAAA;AAAC3G,MAAAA,KAAK,EAAE5B,KAAK,CAAC4B,KAAK,IAAI,EAAA;AAAG,KAAA,EAAE5B,KAAK,CAAC4B,KAAK,IAAI,EAAgB,CAAC,EACxEnB,cAAA,CAAAM,aAAA,CAACwH,eAAiB,EAAA;AAAC3G,MAAAA,KAAK,EAAE5B,KAAK,CAAC4I,WAAW,IAAI,EAAA;AAAG,KAAA,EAC/C5I,KAAK,CAAC4I,WAAW,IAAI,EACL,CAAC,EACpBnI,cAAA,CAAAM,aAAA,CAACwH,mBAAqB,EAAA;AAACM,MAAAA,WAAW,EAAEC,OAAO,CAAC9I,KAAK,CAAC+I,WAAW,EAAEC,QAAQ,EAAE,CAACC,IAAI,EAAE,CAAA;KAC7EjJ,EAAAA,KAAK,CAAC+I,WAAW,IAChBtI,cAAA,CAAAM,aAAA,CAACmI,0BAA0B,EAAA;MACzBC,MAAM,EAAEnJ,KAAK,CAACoJ,iBAAkB;MAChCC,eAAe,EAAErJ,KAAK,CAAC+I,WAAY;MACnCO,QAAQ,EAAEtJ,KAAK,CAACuJ,mBAAoB;AACpCC,MAAAA,QAAQ,EAAE,KAAM;AAChBC,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,eAAe,EAAC,MAAM;AACtBC,MAAAA,OAAO,EAAC,aAAa;AACrBC,MAAAA,MAAM,EAAC,aAAa;AACpBC,MAAAA,QAAQ,EAAE,CAAA;KACX,CAEkB,CACb,CAAC,CAAA;GAEhB,CAAA;EAED,MAAMC,wBAAwB,GAAGA,MAAM;AACrC,IAAA,IAAIvG,kBAAkB,EAAE;MACtB,OAAO9C,cAAA,CAAAM,aAAA,CAACwH,WAAa,MAAE,CAAC,CAAA;AAC1B,KAAA;AACA,IAAA,OACE9H,cAAA,CAAAM,aAAA,CAAAN,cAAA,CAAAoC,QAAA,EAAA,IAAA,EACEpC,cAAA,CAAAM,aAAA,CAACwH,UAAY,EAAA,IAAA,EACX9H,cAAA,CAAAM,aAAA,CAACwH,cAAgB,EAAA,IAAA,EAAEvI,KAAK,CAAC+J,OAAO,EAAEC,UAAU,IAAI,IAAuB,CAAC,EACxEvJ,cAAA,CAAAM,aAAA,CAACwH,eAAiB,EAAEvI,IAAAA,EAAAA,KAAK,CAAC+J,OAAO,EAAEE,WAAW,IAAI,IAAwB,CAC9D,CAAC,EACfxJ,cAAA,CAAAM,aAAA,CAACwH,WAAa,EAAE,IAAA,CAChB,CAAC,CAAA;GAEN,CAAA;EAED,MAAM2B,iBAAiB,GAAGA,MAAM;AAC9B,IAAA,OACEzJ,cAAA,CAAAM,aAAA,CAACwH,WAAa,EAAA,IAAA,EACXxF,UAAU,IACTtC,cAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKY,MAAAA,OAAO,EAAE2D,aAAAA;AAAc,KAAA,EAC1B7E,cAAA,CAAAM,aAAA,CAACoJ,QAAQ,EAAA;AACPC,MAAAA,OAAO,EAAC,OAAO;AACfC,MAAAA,OAAO,EAAErH,QAAS;MAClBsH,QAAQ,EAAEzF,KAAK,IAAI;AACjB,QAAA,IAAIA,KAAK,CAAC0F,MAAM,CAACF,OAAO,EAAE;AACxBlH,UAAAA,eAAe,CAACnD,KAAK,CAACM,GAAG,CAAC,CAAA;AAC5B,SAAC,MAAM;AACL8C,UAAAA,iBAAiB,CAACpD,KAAK,CAACM,GAAG,CAAC,CAAA;AAC9B,SAAA;AACF,OAAA;KACD,CACE,CAEM,CAAC,CAAA;GAEnB,CAAA;AAED,EAAA,OACEG,cAAA,CAAAM,aAAA,CAACwH,mBAAqB,EAAA;IAACiC,QAAQ,EAAExK,KAAK,CAACwK,QAAS;AAAC3J,IAAAA,GAAG,EAAE6D,OAAAA;AAAQ,GAAA,EAC5DjE,cAAA,CAAAM,aAAA,CAACwH,sBAAsB,EAAA;AACrBkC,IAAAA,EAAE,EAAE3K,qBAAsB;AAC1BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,KAAK,EAAEA,KAAM;IACbwK,QAAQ,EAAExK,KAAK,CAACwK,QAAS;AACzB7I,IAAAA,OAAO,EAAEA,OAAQ;AACjBuB,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvC0B,IAAAA,YAAY,EAAEA,YAAa;AAC3BQ,IAAAA,YAAY,EAAEA,YAAa;IAC3BsF,SAAS,EAAE1K,KAAK,CAAC0K,SAAU;AAC3BC,IAAAA,QAAQ,EAAEhG,OAAQ;AAClB3B,IAAAA,QAAQ,EAAEA,QAAS;AACnB4H,IAAAA,aAAa,EAAEvH,YAAa;IAC5BwH,SAAS,EAAE7K,KAAK,EAAE6K,SAAU;IAC5BC,SAAS,EAAE9K,KAAK,EAAE+K,QAAS;AAC3BC,IAAAA,qBAAqB,EAAE/H,oBAAAA;AAAqB,GAAA,EAE3CqF,eAAe,EAAE,EACjBK,aAAa,EAAE,EACfmB,wBAAwB,EAAE,EAC1BI,iBAAiB,EACI,CACH,CAAC,CAAA;AAE5B,CAAC,CAAA;AAEDpH,oBAAoB,CAACmI,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAI/BpL,KAAK,EAAEqL,SAAS,CAACC,KAAK,CAACC,oBAAoB,CAAC,CAACC,UAAU;EAKvDzI,UAAU,EAAEsI,SAAS,CAACI,IAAI;EAK1BzI,QAAQ,EAAEqI,SAAS,CAACI,IAAI;EAKxBxI,oBAAoB,EAAEoI,SAAS,CAACK,OAAO,CAACL,SAAS,CAACM,MAAM,CAAC;EAKzDzI,kBAAkB,EAAEmI,SAAS,CAACI,IAAI;AAKlCtI,EAAAA,eAAe,EAAEkI,SAAS,CAACO,IAAI,CAACJ,UAAU;AAK1CpI,EAAAA,iBAAiB,EAAEiI,SAAS,CAACO,IAAI,CAACJ,UAAU;AAK5CnI,EAAAA,YAAY,EAAEgI,SAAS,CAACI,IAAI,CAACD,UAAU;EAMvCzL,SAAS,EAAEsL,SAAS,CAACO,IAAI;EAMzBtI,cAAc,EAAE+H,SAAS,CAACQ,MAAM;EAKhCtI,kBAAkB,EAAE8H,SAAS,CAACI,IAAAA;AAChC,CAAC,GAAA,EAAA,CAAA;AAED3I,oBAAoB,CAACgJ,YAAY,GAAG,EAAE,CAAA;AAEtC,6BAAeC,iBAAiB,CAC9BtL,cAAK,CAACuL,IAAI,CAAClJ,oBAAoB,EAAE,CAACmJ,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;;;;"}
|
|
1
|
+
{"version":3,"file":"AssetGalleryGridCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.tsx"],"sourcesContent":["import { get, isEmpty, isFunction, mapKeys, omit } from 'lodash';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport { HeadsetIcon, LayersIcon, PlayIcon } from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, Popover, Tooltip } from '../../../../data';\nimport { ActionButton, Checkbox } from '../../../../inputs';\nimport ContextMenu from '../../../ContextMenu/ContextMenu';\nimport ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem';\nimport type { AssetWithLayout } from '../../asset.types';\nimport type { AssetAction, AssetSubAction } from '../../asset.types';\nimport * as S from './AssetGalleryGridCard.styled';\nimport InstructionSeverityDisplay from '../../../InstructionSeverityDisplay';\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 const { ref, ...rest } = newProps;\n return <div ref={ref} {...rest} />;\n};\n\n/* Shape mirrors AssetAction; icon and onClick stay on the rest object for forwarding. */\ntype ComputedActionButtonProps = {\n /** `AssetAction.component` — an escape hatch that replaces the rendered button. */\n component?: AssetAction['component'];\n className?: AssetAction['className'];\n /** Non-empty turns the button into a `Popover` of `ContextMenuItem`s. */\n subActions?: AssetSubAction[];\n /** Controls the sublevel `Popover`'s `visible`; owned by the parent card. */\n isSubActionsOpened?: boolean;\n /** Told when the sublevel `Popover` closes itself; required because it is controlled. */\n onSubActionsClose?: () => void;\n icon?: AssetAction['icon'];\n /** Wrapped by the card as `event => onActionClick(event, action, index)`. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n actionWidthHeight?: AssetAction['actionWidthHeight'];\n children?: React.ReactNode;\n};\n\nconst ComputedActionButton = React.forwardRef<unknown, ComputedActionButtonProps>(\n function ComputedActionButton(\n { component, className, subActions = [], isSubActionsOpened, onSubActionsClose, ...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 /* `onHide` closes the controlled Popover; without it, clicks would leave the menu on screen. */\n <Popover\n contextMenu={true}\n content={contextMenu}\n placement={'bottom-end'}\n visible={isSubActionsOpened}\n onHide={onSubActionsClose}\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);\n\ntype AssetGalleryGridCardProps = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: AssetWithLayout;\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable?: boolean;\n /**\n * Is the asset selected\n */\n selected?: boolean;\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder?: string[];\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode?: boolean;\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: (...args: any[]) => any;\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: (...args: any[]) => any;\n /**\n * Is the asset soft selected\n */\n softSelected: boolean;\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?: (...args: any[]) => any;\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?: number;\n /**\n * When true, hides the consent summary footer (CardFooter + CardDivider). Default: false.\n */\n hideConsentSummary?: boolean;\n};\n\nconst AssetGalleryGridCard = (props: AssetGalleryGridCardProps) => {\n const {\n asset,\n selectable,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n hideConsentSummary\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 /*\n * The counterpart to `onSubActionsViewToggle`: the controlled popover reporting that it\n * closed itself (item click, Escape, outside press), turned back into state. Functional\n * update so the callback does not depend on `openedSubActions`.\n */\n const onSubActionsClose = useCallback(actionIndex => {\n updateOpenedSubActions(current =>\n current.map((isOpened, index) => (index === actionIndex ? false : isOpened))\n );\n }, []);\n\n const videoPlayerRef = useRef(undefined);\n const cardRef = useRef(undefined);\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 <S.ThumbnailSection>\n <S.ThumbnailSelectedOverlay selected={selected} />\n {asset.overlay && <S.ConsumerOverlay>{asset.overlay}</S.ConsumerOverlay>}\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>{renderPreview(asset)}</S.ThumbnailBox>\n </S.ThumbnailWrapper>\n <S.ThumbnailActions>\n <S.ActionsContainer>\n {!extendedSelectMode &&\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 onSubActionsClose={() => onSubActionsClose(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 </S.ThumbnailSection>\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 $hasContent={Boolean(asset.imageRights?.toString().trim())}>\n {asset.imageRights && (\n <InstructionSeverityDisplay\n labels={asset.instructionLabels}\n instructionText={asset.imageRights}\n severity={asset.instructionSeverity}\n showCard={false}\n padding=\"16px\"\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 if (hideConsentSummary) {\n return <S.CardDivider />;\n }\n return (\n <>\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 <div onClick={onSelectClick}>\n <Checkbox\n variant=\"black\"\n checked={selected}\n onChange={event => {\n if (event.target.checked) {\n onAssetSelected(asset.key);\n } else {\n onAssetUnselected(asset.key);\n }\n }}\n />\n </div>\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\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","ref","rest","_jsx","ComputedActionButton","forwardRef","className","subActions","isSubActionsOpened","onSubActionsClose","forwardedRef","isEmpty","contextMenuItems","map","subAction","onClick","title","icon","ContextMenuItem","onClickEffect","contextMenu","ContextMenu","Popover","content","placement","visible","onHide","zIndex","offset","ActionButton","useShadow","active","backgroundColors","actionWidthHeight","Fragment","AssetGalleryGridCard","selectable","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","hideConsentSummary","isCardHovered","setIsCardHovered","useState","openedSubActions","updateOpenedSubActions","useEffect","newOpenedSubActions","actions","length","mouseHasEnteredCard","useCallback","mouseHasLeftCard","onSubActionsViewToggle","actionIndex","isOpened","index","current","videoPlayerRef","useRef","undefined","cardRef","dragRef","onMouseEnter","event","playPromise","play","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","_jsxs","S","overlay","statusIcon","Tooltip","renderDetails","description","$hasContent","Boolean","imageRights","toString","trim","InstructionSeverityDisplay","labels","instructionLabels","instructionText","severity","instructionSeverity","showCard","padding","detailsFontSize","bgLight","bgDark","maxLines","renderConsentSummaryInfo","_Fragment","summary","footerLeft","footerRight","renderCheckboxRow","Checkbox","variant","checked","onChange","target","disabled","as","draggable","innerRef","$softSelected","completed","$hasError","hasError","$customSelectedBorder","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
|