@bynder/compact-view 5.2.0 → 5.2.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/AccessToken.js +5 -0
- package/AccessToken2.js +176 -0
- package/AccessToken3.js +4 -0
- package/ActiveFilter.js +6 -6
- package/ActiveFilters.js +24 -25
- package/AddMedia.js +21 -22
- package/AdditionalInfo.js +18 -0
- package/Advanced.js +3 -4
- package/App.js +68 -61
- package/Arrow.js +14 -0
- package/AssetCard.js +68 -57
- package/AssetCardMetaproperties.js +14 -14
- package/AssetFilter.js +36 -36
- package/AssetFilterContext.js +3 -4
- package/AssetItem.js +14 -14
- package/AssetList.js +46 -46
- package/AssetTypeItem.js +13 -13
- package/AssetsView.js +0 -1
- package/Autocomplete_new.js +70 -82
- package/Axios2.js +136 -0
- package/AxiosError.js +54 -0
- package/AxiosHeaders.js +181 -0
- package/AxiosURLSearchParams.js +33 -0
- package/Badge.js +44 -0
- package/Baloon.js +42 -0
- package/BaseStyles.js +10 -0
- package/Blob.js +4 -0
- package/Box.js +22 -0
- package/Button.js +39 -0
- package/Button.styles.js +40 -0
- package/ButtonAction.js +3 -4
- package/ButtonLegacy.js +48 -0
- package/ButtonLegacy.styles.js +28 -0
- package/CancelToken.js +77 -0
- package/CanceledError.js +11 -0
- package/Card.js +84 -0
- package/CardSkeleton.js +15 -15
- package/Checkbox.js +85 -0
- package/Checkbox.styles.js +2 -3
- package/Checkmark.js +7 -0
- package/Chip.js +70 -41
- package/Chip2.js +42 -0
- package/CollectionCard.js +9 -9
- package/CollectionItem.js +15 -15
- package/CollectionList.js +2 -3
- package/CollectionView.js +2 -3
- package/CollectionsView.js +6 -7
- package/ColorHexInput.js +31 -0
- package/ColorPicker.js +66 -0
- package/ColorPickerSolid.js +20 -0
- package/ColorPickerWithOpacity.js +37 -0
- package/Combobox.js +61 -0
- package/ConcealedAction.js +16 -0
- package/ConfigContext.js +0 -1
- package/ConnectButton.js +1 -2
- package/Container.js +14 -14
- package/Container2.js +31 -0
- package/Content.js +16 -0
- package/ContextAction.js +26 -18
- package/ContextActionButton.js +29 -0
- package/ControlGroup.js +32 -0
- package/DOMFunctions.js +27 -0
- package/Dat.js +62 -51
- package/DatDropdownItem.js +20 -20
- package/DesignSystemContext.js +4 -5
- package/DesignSystemProvider.js +29 -0
- package/DirectionSelect.js +16 -16
- package/Divider.js +21 -0
- package/DocumentIcon.js +0 -1
- package/DomainInput.js +15 -15
- package/DragRange.js +25 -0
- package/DragSelect.js +68 -63
- package/Dropdown.js +12 -12
- package/Dropdown2.js +169 -0
- package/DropdownContent.js +54 -39
- package/DropdownListItem.js +3 -4
- package/Enum.js +12 -0
- package/ErrorIcon.js +0 -1
- package/ErrorMessage.js +20 -20
- package/FieldSelect.js +4 -5
- package/FilePlaceholder.js +19 -0
- package/FileSelector.js +126 -141
- package/Flex.js +21 -0
- package/FontPicker.js +104 -0
- package/Footer.js +16 -0
- package/Form.js +23 -0
- package/FormData.js +4 -0
- package/Frame.js +64 -0
- package/Group.js +17 -0
- package/Group2.js +26 -0
- package/Header.js +0 -1
- package/Header2.js +43 -0
- package/Header22.js +15 -0
- package/HelperText.js +26 -0
- package/HorizontalScroll.js +4 -5
- package/HttpHandler.js +74 -0
- package/HttpResponse.js +85 -0
- package/HttpStatusCode.js +71 -0
- package/IconPlaceholder.js +18 -0
- package/Image.js +19 -0
- package/Images.js +30 -0
- package/Indicator.js +74 -0
- package/InfiniteScroll.js +8 -9
- package/InlineBanner.js +51 -0
- package/Input.js +109 -0
- package/Input.styles.js +71 -0
- package/InputContainer.js +9 -0
- package/InputField.js +74 -0
- package/InputRow.js +18 -0
- package/Inspector.js +34 -0
- package/InteractiveIcon.js +28 -0
- package/InterceptorManager.js +58 -0
- package/Item.js +107 -0
- package/Item2.js +14 -0
- package/Item4.js +190 -0
- package/Label.js +33 -0
- package/LeftArrow.js +3 -4
- package/List.js +25 -0
- package/ListItem.js +11 -0
- package/ListItem2.js +58 -0
- package/ListItem4.js +37 -0
- package/LoginComponent.js +0 -1
- package/LoginContext.js +0 -1
- package/MetapropertyFilterContent.js +2 -3
- package/MetapropertyOption.js +2 -4
- package/Middleware.js +49 -0
- package/Middleware2.js +49 -0
- package/Modal.js +2 -3
- package/Modal2.js +31 -0
- package/ModalBase.js +117 -0
- package/ModalBase.styles.js +75 -0
- package/ModalConfirmation.js +8 -0
- package/NoResults.js +16 -16
- package/OffsetContext.js +9 -0
- package/Oops.js +1 -2
- package/OpacityInput.js +17 -0
- package/Option_new.js +19 -19
- package/Overlay.js +35 -0
- package/Parser.js +131 -0
- package/Prefixer.js +187 -0
- package/Radio.js +78 -0
- package/RadioGroup.js +25 -0
- package/RangeInput.js +41 -0
- package/RefreshingSpinner.js +3 -4
- package/ReportModal.js +16 -15
- package/RequestHandler.js +119 -0
- package/RightArrow.js +4 -5
- package/RootElementContext.js +0 -1
- package/Row.js +16 -0
- package/SearchInput.js +27 -23
- package/SearchInput2.js +46 -0
- package/SectionTitle.js +17 -0
- package/Select.js +49 -0
- package/SelectButtonText.js +16 -0
- package/SelectedItemContainer.js +11 -11
- package/SelectedItems.js +2 -3
- package/SelectionContext.js +0 -1
- package/SelectionFooter.js +8 -8
- package/Serializer.js +27 -0
- package/ShadowRoot.js +0 -1
- package/ShadowRootInternal.js +17 -18
- package/Shield.js +0 -1
- package/Sidebar.js +17 -0
- package/Skeleton.js +6 -7
- package/Slider.constants.js +6 -0
- package/Slider.js +128 -0
- package/SmartFilterContent.js +2 -3
- package/SmartFilterSelect_new.js +2 -3
- package/Smartfilters_new.js +86 -77
- package/Spinner.js +2 -3
- package/Spinner2.js +15 -0
- package/StatefulAssetList.js +15 -16
- package/Stats.js +16 -0
- package/StatsItem.js +23 -0
- package/Status.js +32 -0
- package/StoreInitializer.js +29 -0
- package/Styles.css.js +0 -1
- package/Switch.js +82 -0
- package/SwitchNLS.js +26 -24
- package/Tabs2.js +10 -0
- package/TagItem.js +8 -9
- package/Tags.js +9 -10
- package/Text2.js +11 -0
- package/Text22.js +18 -0
- package/Text4.js +18 -0
- package/Textarea.js +92 -0
- package/Theming.js +4 -5
- package/Thumb.js +28 -0
- package/Thumbnail.js +91 -0
- package/Tokenizer.js +147 -0
- package/Toolbar.js +13 -13
- package/Tooltip.js +2 -3
- package/Tooltip2.js +111 -0
- package/TruncatedText.js +34 -0
- package/URLSearchParams.js +5 -0
- package/Utility.js +56 -0
- package/ViewSwitch.js +8 -8
- package/_check_private_redeclaration.js +7 -0
- package/_class_apply_descriptor_get.js +6 -0
- package/_class_apply_descriptor_set.js +11 -0
- package/_class_extract_field_descriptor.js +7 -0
- package/_class_private_field_get.js +9 -0
- package/_class_private_field_init.js +7 -0
- package/_class_private_field_set.js +9 -0
- package/_commonjsHelpers.js +6 -0
- package/adapters.js +53 -0
- package/api/types/getFilters_new.d.ts +8 -0
- package/api.js +25 -0
- package/api2.js +40 -0
- package/api3.js +406 -0
- package/applyScopeDataToEvent.js +83 -0
- package/applyScopeDataToEvent2.js +55 -0
- package/asset.type.js +9 -10
- package/asyncDebounce.js +0 -1
- package/auth.js +0 -1
- package/autocomplete.js +2 -3
- package/axios.js +46 -0
- package/base.js +57 -0
- package/base64Converter.js +0 -1
- package/baseclient.js +498 -0
- package/bind.js +8 -0
- package/browser.js +44 -0
- package/buildFullPath.js +9 -0
- package/buildURL.js +23 -0
- package/bundle.esm.js +81 -0
- package/calculateContainerMaxHeight.js +12 -0
- package/calculateNodeHeight.js +35 -0
- package/carrier.js +13 -0
- package/chain.js +8 -0
- package/checkGlobals.js +13 -0
- package/checks.js +178 -0
- package/chunk-6HYIRFX2.js +1 -0
- package/chunk.js +0 -1
- package/class.js +0 -1
- package/cleanUrl.js +11 -0
- package/client.js +76 -0
- package/clientreport.js +15 -0
- package/clsx.js +17 -0
- package/colorTransforms.js +12 -0
- package/combineFilters.js +0 -1
- package/combineMetaproperties.js +1 -2
- package/combineURLs.js +6 -0
- package/composeSignals.js +30 -0
- package/constants.js +2 -13
- package/constants2.js +82 -0
- package/constants3.js +14 -0
- package/constants4.js +8 -0
- package/constants5.js +4 -0
- package/constants6.js +4 -0
- package/context.js +12 -0
- package/context10.js +12 -0
- package/context2.js +9 -0
- package/context3.js +12 -0
- package/context6.js +5 -0
- package/cookieStore.js +116 -0
- package/cookies.js +32 -0
- package/core.js +42 -0
- package/createSelectors.js +0 -1
- package/crypto.js +0 -1
- package/currentScopes.js +9 -0
- package/data.js +4 -0
- package/de_DE.json.js +18 -0
- package/debug-build.js +4 -0
- package/debug-build2.js +4 -0
- package/debug-build3.js +4 -0
- package/debug-build4.js +4 -0
- package/debug-build5.js +4 -0
- package/debug-build6.js +4 -0
- package/decorators.js +37 -0
- package/defaultScopes.js +12 -0
- package/devUtils.js +20 -0
- package/dispatchRequest.js +31 -0
- package/doc.js +26 -0
- package/domHelpers.js +15 -0
- package/dsn.js +54 -0
- package/dynamicSamplingContext.js +34 -0
- package/dynamicSamplingContext2.js +34 -0
- package/emotion-unitless.esm.js +52 -0
- package/en_US.json.js +23 -0
- package/englishText-12403056.js +6 -0
- package/env.js +6 -0
- package/envelope.js +113 -0
- package/envelope2.js +23 -0
- package/envelope3.js +24 -0
- package/error.js +9 -0
- package/errors.js +33 -0
- package/errors2.js +55 -0
- package/es_ES.json.js +18 -0
- package/es_MX.json.js +18 -0
- package/eventProcessors.js +27 -0
- package/eventProcessors2.js +23 -0
- package/eventbuilder.js +128 -0
- package/exports.js +11 -0
- package/exports2.js +16 -0
- package/exports3.js +8 -0
- package/fetch.js +44 -0
- package/fetch2.js +141 -0
- package/filter/filters/smartfilters/Metaproperties/Autocomplete_new.d.ts +1 -1
- package/filter/filters/smartfilters/Metaproperties/Option_new.d.ts +3 -3
- package/filterAssets.js +1 -2
- package/fixFontSpaceInUrl.js +8 -0
- package/focusWithoutScrolling.js +45 -0
- package/forceHiddenStyles.js +19 -0
- package/formDataToJSON.js +31 -0
- package/fr_FR.json.js +18 -0
- package/getAbsoluteUrl.js +13 -0
- package/getAsset.js +1 -2
- package/getAssetCounts.js +1 -2
- package/getAssets.js +2 -3
- package/getCallFrame.js +12 -0
- package/getCollections.js +1 -2
- package/getFilterOptions.js +1 -2
- package/getFilters.js +1 -2
- package/getFilters_new.js +1 -2
- package/getLimitedUseThumbnails.js +0 -1
- package/getRequestCookies.js +40 -0
- package/getRootSpan.js +6 -0
- package/getRootSpan2.js +6 -0
- package/getSimilarityAssets.js +1 -2
- package/getSizingData.js +45 -0
- package/getStatusCodeColor.js +6 -0
- package/getThumbPosition.js +6 -0
- package/getTimestamp.js +7 -0
- package/getUseLayerOptions.js +49 -0
- package/handlers.js +92 -7
- package/handlers2.js +6 -0
- package/helpers.js +3 -5
- package/helpers2.js +6 -0
- package/hexFromPercentage.js +7 -0
- package/http.js +17 -0
- package/hub.js +446 -0
- package/hub2.js +442 -0
- package/immer.js +472 -0
- package/import.js +7 -0
- package/index-esm.js +10781 -0
- package/index-esm2.js +138 -0
- package/index-esm3.js +131 -0
- package/index.browser.js +11 -0
- package/index.js +0 -1
- package/index.module.js +57 -0
- package/index.module2.js +72 -0
- package/index.module3.js +57 -0
- package/index10.js +20 -0
- package/index102.js +273 -0
- package/index11.js +18 -0
- package/index112.js +29 -0
- package/index12.js +38 -0
- package/index13.js +2432 -0
- package/index14.js +558 -0
- package/index15.js +58 -0
- package/index16.js +4 -0
- package/index17.js +89 -0
- package/index18.js +9 -0
- package/index19.js +62 -0
- package/index2.js +0 -1
- package/index20.js +15 -0
- package/index21.js +11 -0
- package/index22.js +42 -0
- package/index23.js +9 -0
- package/index24.js +10 -0
- package/index25.js +7 -0
- package/index26.js +12 -0
- package/index27.js +11 -0
- package/index28.js +639 -0
- package/index29.js +76 -0
- package/index3.js +5 -54
- package/index30.js +7 -0
- package/index31.js +22 -0
- package/index32.js +2 -0
- package/index33.js +7 -0
- package/index34.js +20 -0
- package/index35.js +8 -0
- package/index36.js +4 -0
- package/index37.js +13 -0
- package/index38.js +13 -0
- package/index39.js +15 -0
- package/index4.js +1684 -18
- package/index40.js +13 -0
- package/index41.js +21 -0
- package/index42.js +66 -0
- package/index43.js +8 -0
- package/index44.js +57 -0
- package/index45.js +69 -0
- package/index46.js +33 -0
- package/index47.js +13 -0
- package/index48.js +123 -0
- package/index49.js +88 -0
- package/index5.js +27 -0
- package/index50.js +10 -0
- package/index51.js +13 -0
- package/index52.js +16 -0
- package/index53.js +16 -0
- package/index54.js +9 -0
- package/index55.js +9 -0
- package/index56.js +17 -0
- package/index57.js +31 -0
- package/index58.js +18 -0
- package/index6.js +315 -0
- package/index7.js +4 -0
- package/index72.js +228 -0
- package/index8.js +5051 -0
- package/index82.js +8 -0
- package/index9.js +55 -0
- package/index92.js +12 -0
- package/integration.js +38 -0
- package/is.js +77 -0
- package/is2.js +14 -0
- package/is3.js +14 -0
- package/isAbsoluteURL.js +6 -0
- package/isAbsoluteUrl2.js +6 -0
- package/isAxiosError.js +7 -0
- package/isCancel.js +6 -0
- package/isIterable.js +6 -0
- package/isStringEqual.js +6 -0
- package/isURLSameOrigin.js +8 -0
- package/isValidHexValue.js +6 -0
- package/isVirtualEvent.js +11 -0
- package/iso.js +38 -0
- package/it_IT.json.js +18 -0
- package/itemContext.js +5 -0
- package/ja_JP.json.js +18 -0
- package/ko_KR.json.js +18 -0
- package/localStorageHelper.js +32 -0
- package/localStorageHelper2.js +4 -0
- package/localization.js +46 -0
- package/logger.js +0 -1
- package/logger2.js +56 -0
- package/logger3.js +56 -0
- package/logger4.js +56 -0
- package/loginwindow.js +0 -1
- package/makeHexWithOpacity.js +12 -0
- package/makeInternalTokens.js +22 -0
- package/matchRequestUrl.js +23 -0
- package/memo.js +25 -0
- package/merge.js +13 -0
- package/mergeConfig.js +70 -0
- package/mergeProps.js +22 -0
- package/mergeRefs.js +9 -0
- package/middleware.js +177 -0
- package/middleware2.js +177 -0
- package/misc.js +58 -0
- package/misc2.js +28 -0
- package/misc3.js +24 -0
- package/nl_NL.json.js +18 -0
- package/normalize.js +97 -0
- package/normalizePath.js +11 -0
- package/normalizeResponse.js +1 -2
- package/normalizeRows.js +10 -0
- package/notify.js +52 -0
- package/null.js +4 -0
- package/oauth2.js +0 -1
- package/object.js +110 -0
- package/object2.js +39 -0
- package/object3.js +17 -0
- package/opacityPercentageFromHex.js +9 -0
- package/openLink.js +27 -0
- package/package.json +1 -1
- package/packageVersion.js +4 -0
- package/parse.js +9 -0
- package/parse2.js +44 -0
- package/parseHeaders.js +30 -0
- package/parseProtocol.js +7 -0
- package/pl_PL.json.js +18 -0
- package/platform.js +42 -0
- package/prepareEvent.js +141 -0
- package/prepareEvent2.js +5 -0
- package/prepareEvent3.js +5 -0
- package/progressEventReducer.js +35 -0
- package/promisebuffer.js +44 -0
- package/propagationContext.js +11 -0
- package/pt_BR.json.js +18 -0
- package/ratelimit.js +37 -0
- package/react.js +19 -0
- package/react2.js +19 -0
- package/regexes.js +51 -0
- package/registries.js +41 -0
- package/resolveConfig.js +33 -0
- package/result.type.js +0 -1
- package/ru_RU.json.js +18 -0
- package/runAfterTransition.js +35 -0
- package/schemas.js +368 -0
- package/schemas2.js +691 -0
- package/scope.js +412 -0
- package/scope2.js +407 -0
- package/scope3.js +348 -0
- package/sdk-DhxX43BH.js +4813 -0
- package/sdkMetadata.js +15 -0
- package/serializeRequest.js +12 -0
- package/serializeResponse.js +14 -0
- package/session.js +57 -0
- package/session2.js +57 -0
- package/session3.js +16 -0
- package/settle.js +14 -0
- package/shadowdom.js +13 -0
- package/shadowdom2.js +13 -0
- package/spanOnScope.js +12 -0
- package/spanUtils.js +31 -0
- package/spanUtils2.js +31 -0
- package/speedometer.js +19 -0
- package/spread.js +8 -0
- package/stack-parsers.js +48 -0
- package/stackStrategy.js +98 -0
- package/stacktrace.js +49 -0
- package/state.js +106 -0
- package/store/StoreInitializer.d.ts +8 -0
- package/store/useDatStore.d.ts +11 -8
- package/string.js +6 -0
- package/styled-components.browser.esm.js +530 -0
- package/styles.js +55 -0
- package/styles2.js +17 -0
- package/supports.js +6 -0
- package/syncpromise.js +121 -0
- package/syncpromise2.js +109 -0
- package/text.js +0 -1
- package/textSelection.js +33 -0
- package/textStyles.js +20 -0
- package/theme.js +238 -0
- package/themeContainers.js +20 -0
- package/themes3.js +26 -0
- package/throttle.js +15 -0
- package/time.js +24 -0
- package/time2.js +24 -0
- package/time3.js +24 -0
- package/toFormData.js +85 -0
- package/toPublicUrl.js +9 -0
- package/toURLEncodedForm.js +13 -0
- package/token.js +236 -0
- package/tokenExpirationHelper.js +48 -0
- package/tokenExpirationHelper2.js +4 -0
- package/tokensAndThemes.js +92 -0
- package/tr_TR.json.js +18 -0
- package/trackStream.js +63 -0
- package/transformData.js +13 -0
- package/transitional.js +8 -0
- package/trimMetapropertyValue.js +1 -2
- package/tslib.es6.js +18 -0
- package/typeof.js +11 -0
- package/url.js +0 -1
- package/urlHelper.js +15 -0
- package/urlHelper2.js +4 -0
- package/useAccountDomain.js +0 -1
- package/useAuthInformation.js +0 -1
- package/useAutoHeight.js +25 -0
- package/useClickOutside.js +0 -1
- package/useDatStore.js +31 -28
- package/useDimensions.js +0 -1
- package/useEffectEvent.js +18 -0
- package/useFocus.js +30 -0
- package/useFocusRing.js +34 -0
- package/useFocusVisible.js +92 -0
- package/useFocusWithin.js +57 -0
- package/useFonts.js +118 -0
- package/useGlobalListeners.js +34 -0
- package/useGroupContext.js +10 -0
- package/useHover.js +79 -0
- package/useId.js +8 -0
- package/useId2.js +17 -0
- package/useKeyDown.js +14 -0
- package/useLayoutEffect.js +6 -0
- package/useOrderingStore.js +6 -7
- package/usePress.js +359 -0
- package/useRouterStore.js +6 -7
- package/useScrollHighlightedIntoView.js +24 -0
- package/useSearchStore.js +5 -6
- package/useSimilaritySearchStore.js +6 -7
- package/useSyncRef.js +12 -0
- package/useTranslate.js +13 -0
- package/useZIndex.js +9 -0
- package/userfeedback.js +28 -0
- package/util.js +265 -0
- package/utils/fixFontSpaceInUrl.d.ts +1 -0
- package/utils.js +26 -45
- package/utils2.js +43 -46
- package/utils3.js +50 -0
- package/utils4.js +12 -0
- package/utils5.js +71 -0
- package/utils6.js +222 -0
- package/utils7.js +9 -0
- package/utils8.js +70 -0
- package/validator.js +54 -0
- package/vanilla.js +14 -0
- package/vanilla2.js +14 -0
- package/version.js +4 -0
- package/version2.js +4 -0
- package/version3.js +4 -0
- package/versionContext.js +9 -0
- package/versions.js +8 -0
- package/views/asset/asset-card/AssetCard.d.ts +4 -2
- package/views/asset/asset-card/ContextAction.d.ts +3 -1
- package/worldwide.js +19 -0
- package/worldwide2.js +15 -0
- package/worldwide3.js +10 -0
- package/xhr.js +71 -0
- package/zh_CN.json.js +18 -0
- package/zh_TW.json.js +18 -0
- package/ActiveFilter.js.map +0 -1
- package/ActiveFilters.js.map +0 -1
- package/AddMedia.js.map +0 -1
- package/Advanced.js.map +0 -1
- package/App.js.map +0 -1
- package/AssetCard.js.map +0 -1
- package/AssetCardMetaproperties.js.map +0 -1
- package/AssetFilter.js.map +0 -1
- package/AssetFilterContext.js.map +0 -1
- package/AssetItem.js.map +0 -1
- package/AssetList.js.map +0 -1
- package/AssetTypeItem.js.map +0 -1
- package/AssetsView.js.map +0 -1
- package/Autocomplete_new.js.map +0 -1
- package/ButtonAction.js.map +0 -1
- package/CardSkeleton.js.map +0 -1
- package/Checkbox.styles.js.map +0 -1
- package/Chip.js.map +0 -1
- package/CollectionCard.js.map +0 -1
- package/CollectionItem.js.map +0 -1
- package/CollectionList.js.map +0 -1
- package/CollectionView.js.map +0 -1
- package/CollectionsView.js.map +0 -1
- package/ConfigContext.js.map +0 -1
- package/ConnectButton.js.map +0 -1
- package/Container.js.map +0 -1
- package/ContextAction.js.map +0 -1
- package/Dat.js.map +0 -1
- package/DatDropdownItem.js.map +0 -1
- package/DesignSystemContext.js.map +0 -1
- package/DirectionSelect.js.map +0 -1
- package/DocumentIcon.js.map +0 -1
- package/DomainInput.js.map +0 -1
- package/DragSelect.js.map +0 -1
- package/Dropdown.js.map +0 -1
- package/DropdownContent.js.map +0 -1
- package/DropdownListItem.js.map +0 -1
- package/ErrorIcon.js.map +0 -1
- package/ErrorMessage.js.map +0 -1
- package/FieldSelect.js.map +0 -1
- package/FileSelector.js.map +0 -1
- package/Header.js.map +0 -1
- package/HorizontalScroll.js.map +0 -1
- package/InfiniteScroll.js.map +0 -1
- package/LeftArrow.js.map +0 -1
- package/LoginComponent.js.map +0 -1
- package/LoginContext.js.map +0 -1
- package/MetapropertyFilterContent.js.map +0 -1
- package/MetapropertyOption.js.map +0 -1
- package/Modal.js.map +0 -1
- package/NoResults.js.map +0 -1
- package/Oops.js.map +0 -1
- package/Option_new.js.map +0 -1
- package/RefreshingSpinner.js.map +0 -1
- package/ReportModal.js.map +0 -1
- package/RightArrow.js.map +0 -1
- package/RootElementContext.js.map +0 -1
- package/SearchInput.js.map +0 -1
- package/SelectedItemContainer.js.map +0 -1
- package/SelectedItems.js.map +0 -1
- package/SelectionContext.js.map +0 -1
- package/SelectionFooter.js.map +0 -1
- package/ShadowRoot.js.map +0 -1
- package/ShadowRootInternal.js.map +0 -1
- package/Shield.js.map +0 -1
- package/Skeleton.js.map +0 -1
- package/SmartFilterContent.js.map +0 -1
- package/SmartFilterSelect_new.js.map +0 -1
- package/Smartfilters_new.js.map +0 -1
- package/Spinner.js.map +0 -1
- package/StatefulAssetList.js.map +0 -1
- package/Styles.css.js.map +0 -1
- package/SwitchNLS.js.map +0 -1
- package/TagItem.js.map +0 -1
- package/Tags.js.map +0 -1
- package/Theming.js.map +0 -1
- package/Toolbar.js.map +0 -1
- package/Tooltip.js.map +0 -1
- package/ViewSwitch.js.map +0 -1
- package/asset.type.js.map +0 -1
- package/asyncDebounce.js.map +0 -1
- package/auth.js.map +0 -1
- package/autocomplete.js.map +0 -1
- package/base64Converter.js.map +0 -1
- package/chunk.js.map +0 -1
- package/class.js.map +0 -1
- package/combineFilters.js.map +0 -1
- package/combineMetaproperties.js.map +0 -1
- package/constants.js.map +0 -1
- package/createSelectors.js.map +0 -1
- package/crypto.js.map +0 -1
- package/filterAssets.js.map +0 -1
- package/getAsset.js.map +0 -1
- package/getAssetCounts.js.map +0 -1
- package/getAssets.js.map +0 -1
- package/getCollections.js.map +0 -1
- package/getFilterOptions.js.map +0 -1
- package/getFilters.js.map +0 -1
- package/getFilters_new.js.map +0 -1
- package/getLimitedUseThumbnails.js.map +0 -1
- package/getSimilarityAssets.js.map +0 -1
- package/handlers.js.map +0 -1
- package/helpers.js.map +0 -1
- package/index.js.map +0 -1
- package/index2.js.map +0 -1
- package/index3.js.map +0 -1
- package/index4.js.map +0 -1
- package/logger.js.map +0 -1
- package/loginwindow.js.map +0 -1
- package/normalizeResponse.js.map +0 -1
- package/oauth2.js.map +0 -1
- package/result.type.js.map +0 -1
- package/router/RouterContext.d.ts +0 -19
- package/text.js.map +0 -1
- package/trimMetapropertyValue.js.map +0 -1
- package/url.js.map +0 -1
- package/useAccountDomain.js.map +0 -1
- package/useAuthInformation.js.map +0 -1
- package/useClickOutside.js.map +0 -1
- package/useDatStore.js.map +0 -1
- package/useDimensions.js.map +0 -1
- package/useOrderingStore.js.map +0 -1
- package/useRouterStore.js.map +0 -1
- package/useSearchStore.js.map +0 -1
- package/useSimilaritySearchStore.js.map +0 -1
- package/utils.js.map +0 -1
- package/utils2.js.map +0 -1
package/Advanced.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Advanced.js","sources":["../../src/filter/filters/advanced/Advanced.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { IconAdjust } from '@bynder/icons';\nimport { Dropdown } from '../../../common/components/dropdown/Dropdown';\nimport { __ } from '../../../localization';\nimport { useConfig } from '../../../app-config/ConfigContext';\nimport { AssetType } from '../../../views/asset/asset.type';\nimport { Spinner } from '../../../common/components/Spinner';\nimport { AssetTypeItem } from './AssetTypeItem';\n\ninterface Count {\n\taudio: number;\n\tdocument: number;\n\timage: number;\n\tvideo: number;\n\tarchive: number;\n}\n\ninterface AdvancedProps {\n\tisLoading: boolean;\n\tcount: Count;\n}\n\nexport function Advanced(props: AdvancedProps) {\n\tconst { assetTypes } = useConfig();\n\n\tconst assetTypesWithAssets = assetTypes.filter(\n\t\t(type) => getAssetCountForType(props.count, type) > 0,\n\t);\n\n\tif (assetTypes.length === 0 || assetTypesWithAssets.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownContainer title={<Title />} isSmall fadeIn>\n\t\t\t{() => (\n\t\t\t\t<>\n\t\t\t\t\t{props.isLoading && <Spinner />}\n\t\t\t\t\t<DropdownTitle>{__('Type')}</DropdownTitle>\n\n\t\t\t\t\t<UnorderedList>\n\t\t\t\t\t\t{assetTypesWithAssets.map((assetType) => (\n\t\t\t\t\t\t\t<AssetTypeItem\n\t\t\t\t\t\t\t\tkey={assetType}\n\t\t\t\t\t\t\t\ttype={assetType}\n\t\t\t\t\t\t\t\tcount={getAssetCountForType(props.count, assetType)}\n\t\t\t\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</UnorderedList>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</DropdownContainer>\n\t);\n}\n\n// eslint-disable-next-line react/no-multi-comp\nfunction Title() {\n\treturn (\n\t\t<>\n\t\t\t<Icon />\n\t\t\t{__('Advanced')}\n\t\t</>\n\t);\n}\n\nfunction getAssetCountForType(count: Count, type: AssetType) {\n\tswitch (type) {\n\t\tcase 'AUDIO':\n\t\t\treturn count.audio;\n\t\tcase 'DOCUMENT':\n\t\t\treturn count.document;\n\t\tcase 'IMAGE':\n\t\t\treturn count.image;\n\t\tcase 'VIDEO':\n\t\t\treturn count.video;\n\t\tcase 'ARCHIVE':\n\t\t\treturn count.archive;\n\t}\n}\n\nconst DropdownContainer = styled(Dropdown)``;\n\nconst DropdownTitle = styled.h1`\n\tpadding: ${token.spacing5} ${token.spacing5} 0 ${token.spacing5};\n\tmargin: 0 0 ${token.spacing5} 0;\n\tfont-size: ${token.fontSize100};\n`;\n\nconst Icon = styled(IconAdjust)`\n\tdisplay: inline;\n\tmargin-right: ${token.spacing3};\n\theight: ${token.spacing6};\n\twidth: ${token.spacing6};\n`;\n\nconst UnorderedList = styled.ul`\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n\tpadding-bottom: ${token.spacing2};\n`;\n"],"names":["Advanced","props","assetTypes","useConfig","assetTypesWithAssets","type","getAssetCountForType","jsx","DropdownContainer","Title","jsxs","Fragment","Spinner","DropdownTitle","__","UnorderedList","assetType","AssetTypeItem","Icon","count","styled","Dropdown","token","IconAdjust"],"mappings":";;;;;;;;;AAwBO,SAASA,EAASC,GAAsB;AAC9C,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAA,GAEjBC,IAAuBF,EAAW;AAAA,IACvC,CAACG,MAASC,EAAqBL,EAAM,OAAOI,CAAI,IAAI;AAAA,EAAA;AAGrD,SAAIH,EAAW,WAAW,KAAKE,EAAqB,WAAW,IACvD,OAIP,gBAAAG,EAACC,GAAA,EAAkB,OAAO,gBAAAD,EAACE,GAAA,CAAA,CAAM,GAAI,SAAO,IAAC,QAAM,IACjD,UAAA,MACA,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAAV,EAAM,+BAAcW,GAAA,CAAA,CAAQ;AAAA,IAC7B,gBAAAL,EAACM,GAAA,EAAe,UAAAC,EAAG,MAAM,EAAA,CAAE;AAAA,IAE3B,gBAAAP,EAACQ,GAAA,EACC,UAAAX,EAAqB,IAAI,CAACY,MAC1B,gBAAAT;AAAA,MAACU;AAAA,MAAA;AAAA,QAEA,MAAMD;AAAA,QACN,OAAOV,EAAqBL,EAAM,OAAOe,CAAS;AAAA,QAClD,WAAWf,EAAM;AAAA,MAAA;AAAA,MAHZe;AAAA,IAAA,CAKN,EAAA,CACF;AAAA,EAAA,EAAA,CACD,EAAA,CAEF;AAEF;AAGA,SAASP,IAAQ;AAChB,SACC,gBAAAC,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAJ,EAACW,GAAA,EAAK;AAAA,IACLJ,EAAG,UAAU;AAAA,EAAA,GACf;AAEF;AAEA,SAASR,EAAqBa,GAAcd,GAAiB;AAC5D,UAAQA,GAAA;AAAA,IACP,KAAK;AACJ,aAAOc,EAAM;AAAA,IACd,KAAK;AACJ,aAAOA,EAAM;AAAA,IACd,KAAK;AACJ,aAAOA,EAAM;AAAA,IACd,KAAK;AACJ,aAAOA,EAAM;AAAA,IACd,KAAK;AACJ,aAAOA,EAAM;AAAA,EAAA;AAEhB;AAEA,MAAMX,IAAoBY,EAAOC,CAAQ,KAEnCR,IAAgBO,EAAO;AAAA,YACjBE,EAAM,QAAQ,IAAIA,EAAM,QAAQ,MAAMA,EAAM,QAAQ;AAAA,eACjDA,EAAM,QAAQ;AAAA,cACfA,EAAM,WAAW;AAAA,GAGzBJ,IAAOE,EAAOG,CAAU;AAAA;AAAA,iBAEbD,EAAM,QAAQ;AAAA,WACpBA,EAAM,QAAQ;AAAA,UACfA,EAAM,QAAQ;AAAA,GAGlBP,IAAgBK,EAAO;AAAA;AAAA;AAAA;AAAA,mBAIVE,EAAM,QAAQ;AAAA;"}
|
package/App.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sources":["../../src/App.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { BrowserClient, defaultStackParser, makeFetchTransport, Hub } from '@sentry/browser';\nimport { AssetFilterJson } from './filter/assetFilter.type';\nimport { AssetType } from './views/asset/asset.type';\nimport { CollectionsView } from './views/collections/CollectionsView';\nimport { CollectionView } from './views/collection/CollectionView';\nimport { ConfigProvider, useConfig } from './app-config/ConfigContext';\nimport { SelectionMode } from './app-config/appConfig.type';\nimport { AssetFilter } from './filter/AssetFilter';\nimport { useLocalization } from './localization';\nimport { ShadowRoot } from './style/shadowroot/ShadowRoot';\nimport { AssetFilterProvider } from './filter/AssetFilterContext';\nimport { SelectionProvider } from './select/SelectionContext';\nimport { Theme, ThemeStyles } from './style/Theming';\nimport { Toolbar } from './toolbar/Toolbar';\nimport { File } from './select/file.type';\nimport { AssetsView } from './views/asset/AssetsView';\nimport { SelectionFooter } from './select/SelectionFooter';\nimport { Shield } from './error-handling/Shield';\nimport { Dat } from './Dat';\nimport { useRouterSelectors } from './store/useRouterStore';\nimport { useClearCollectionOnPageChange, useSearchStore } from './store/useSearchStore';\nimport { useDat } from './store/useDatStore';\n\nlet sentryClient;\n\n// Initialize Sentry on production\nif (process.env.NODE_ENV === 'production') {\n\tsentryClient = new BrowserClient({\n\t\tdsn: 'https://dd74b64cc05845468f0c3654b458da29@sentry10.bynder.cloud/464',\n\t\tautoSessionTracking: true,\n\t\ttracesSampleRate: 1.0,\n\t\tintegrations: [],\n\t\tstackParser: defaultStackParser,\n\t\ttransport: makeFetchTransport,\n\t});\n\tnew Hub(sentryClient);\n}\n\nexport interface Props {\n\tassetFieldSelection?: string;\n\tassetFilter?: AssetFilterJson;\n\tassetTypes?: AssetType[];\n\tdefaultSearchTerm?: string;\n\tlanguage?: string;\n\tmode?: SelectionMode;\n\tonSuccess?: (assets: unknown[], additionalInformation: { selectedFile?: File }) => void;\n\tdefaultImageDerivativeName?: string;\n\tdefaultVideoDerivativeName?: string;\n\ttheme?: Theme;\n\thideExternalAccess?: boolean;\n\tselectedAssets?: string[];\n\thideLimitedUse?: boolean;\n\tisContainerMode?: boolean;\n\t__shouldAddOriginal__?: boolean;\n\thideSwitch?: boolean;\n\tnoCache?: boolean;\n\tselectAllOption?: boolean;\n}\n\nexport function App({\n\tassetFieldSelection,\n\tassetFilter,\n\tassetTypes = ['IMAGE', 'AUDIO', 'VIDEO', 'DOCUMENT', 'ARCHIVE'],\n\tdefaultSearchTerm,\n\tlanguage = 'en_US',\n\tmode = 'MultiSelect',\n\t// eslint-disable-next-line no-console\n\tonSuccess = (assets, { selectedFile }) => console.log(assets, selectedFile),\n\tdefaultImageDerivativeName,\n\tdefaultVideoDerivativeName,\n\ttheme,\n\thideExternalAccess,\n\tselectedAssets,\n\thideLimitedUse,\n\tisContainerMode = false,\n\t__shouldAddOriginal__,\n\thideSwitch = false,\n\tnoCache = false,\n\tselectAllOption = false,\n}: Props) {\n\tuseLocalization(language);\n\tconst { setSearch } = useSearchStore();\n\tconst { datUrl } = useDat();\n\n\tconst config = {\n\t\tassetFieldSelection,\n\t\tassetFilter,\n\t\tassetTypes,\n\t\tlanguage,\n\t\tonSuccess,\n\t\tdefaultImageDerivativeName,\n\t\tdefaultVideoDerivativeName,\n\t\tselectionMode: mode,\n\t\ttheme,\n\t\thideExternalAccess,\n\t\t__shouldAddOriginal__,\n\t\thideSwitch,\n\t\tnoCache,\n\t\tselectAllOption,\n\t};\n\n\tuseEffect(() => {\n\t\tsetSearch('assets', defaultSearchTerm ?? '');\n\t}, [defaultSearchTerm, setSearch]);\n\n\treturn (\n\t\t<Shield sentryClient={sentryClient}>\n\t\t\t<ShadowRoot isContainerMode={isContainerMode}>\n\t\t\t\t<AssetFilterProvider hideLimitedUse={hideLimitedUse} predefinedFilter={assetFilter}>\n\t\t\t\t\t<ConfigProvider value={config}>\n\t\t\t\t\t\t<SelectionProvider preselectedAssetIds={selectedAssets ?? []}>\n\t\t\t\t\t\t\t<ThemeStyles theme={config.theme} />\n\t\t\t\t\t\t\t<div className=\"cv-root cv-container\">\n\t\t\t\t\t\t\t\t<Toolbar />\n\t\t\t\t\t\t\t\t<CurrentPageView />\n\t\t\t\t\t\t\t\t<SelectionFooter />\n\n\t\t\t\t\t\t\t\t{datUrl && <Dat />}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</SelectionProvider>\n\t\t\t\t\t</ConfigProvider>\n\t\t\t\t</AssetFilterProvider>\n\t\t\t</ShadowRoot>\n\t\t</Shield>\n\t);\n}\n\n// eslint-disable-next-line react/no-multi-comp\nfunction CurrentPageView() {\n\tconst page = useRouterSelectors.use.page();\n\tconst { assetFilter } = useConfig();\n\n\t// Clear collection search state on page change\n\tuseClearCollectionOnPageChange(page);\n\n\treturn (\n\t\t<>\n\t\t\t{page.page !== 'collections' &&\n\t\t\t\t(assetFilter === undefined || (assetFilter && assetFilter.showToolbar)) && (\n\t\t\t\t\t<AssetFilter />\n\t\t\t\t)}\n\n\t\t\t{page.page === 'assets' && <AssetsView />}\n\t\t\t{page.page === 'collections' && <CollectionsView />}\n\t\t\t{page.page === 'collection' && <CollectionView collection={page.collection} />}\n\t\t</>\n\t);\n}\n"],"names":["sentryClient","BrowserClient","defaultStackParser","makeFetchTransport","Hub","App","assetFieldSelection","assetFilter","assetTypes","defaultSearchTerm","language","mode","onSuccess","assets","selectedFile","defaultImageDerivativeName","defaultVideoDerivativeName","theme","hideExternalAccess","selectedAssets","hideLimitedUse","isContainerMode","__shouldAddOriginal__","hideSwitch","noCache","selectAllOption","useLocalization","setSearch","useSearchStore","datUrl","useDat","config","useEffect","jsx","Shield","ShadowRoot","AssetFilterProvider","ConfigProvider","jsxs","SelectionProvider","ThemeStyles","Toolbar","CurrentPageView","SelectionFooter","Dat","page","useRouterSelectors","useConfig","useClearCollectionOnPageChange","Fragment","AssetFilter","AssetsView","CollectionsView","CollectionView"],"mappings":"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"}
|
package/AssetCard.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCard.js","sources":["../../src/views/asset/asset-card/AssetCard.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { Badge, Card, token, TruncatedText } from '@bynder/design-system';\nimport { useConfig } from '../../../app-config/ConfigContext';\nimport { Asset, TextMetapropertiesType } from '../asset.type';\nimport { getExtension, getStatusText, getThumbnail } from './utils';\nimport { MetapropertyType } from '../../../filter/filters/metaproperty/MetapropertyFilterContent';\nimport { __ } from '../../../localization';\nimport { Theme } from '../../../style/Theming';\nimport { ContextAction } from './ContextAction';\nimport { AssetCardMetaproperties } from './AssetCardMetaproperties';\nimport { useDat } from '@src/store/useDatStore';\n\ninterface Props {\n\tclassName?: string;\n\tfadeIn?: boolean;\n\tasset: Asset;\n\tisSelected: boolean;\n\tonClick?: (asset: Asset, event: React.MouseEvent) => void;\n\tisOutlined: boolean;\n\tchildren?: React.ReactNode;\n\tisSilimilaritySearchEnabled: boolean;\n\tonSimilaritySearch: (selectedAsset: string[]) => void;\n}\n\nexport function AssetCard({\n\tclassName,\n\tfadeIn = true,\n\tasset,\n\tisSelected,\n\tisOutlined,\n\tonClick,\n\tchildren = null,\n\tisSilimilaritySearchEnabled = false,\n\tonSimilaritySearch,\n}: Props) {\n\tconst [metapropertiesToDisplay, setMetapropertiesToDisplay] = useState<MetapropertyType[]>();\n\tconst [textMetapropertiesToDisplay, setTextMetapropertiesToDisplay] =\n\t\tuseState<TextMetapropertiesType[]>();\n\tconst { openDat, setTransformation } = useDat();\n\n\tconst { theme } = useConfig();\n\n\tconst statusText = getStatusText(asset);\n\tconst extension = getExtension(asset);\n\n\tuseEffect(() => {\n\t\tconst filteredMetaProps = asset.metaproperties?.nodes.filter(\n\t\t\t(prop) => prop.showInGridView || prop.showInListView,\n\t\t);\n\t\tsetMetapropertiesToDisplay(filteredMetaProps);\n\t}, [asset.metaproperties]);\n\n\tuseEffect(() => {\n\t\tconst filteredTextMetaProps = asset.textMetaproperties?.filter(\n\t\t\t(prop) => prop.showInGridView || prop.showInListView,\n\t\t);\n\t\tsetTextMetapropertiesToDisplay(filteredTextMetaProps);\n\t}, [asset.textMetaproperties]);\n\n\tconst handleClick = (e: React.MouseEvent) => {\n\t\tif (onClick !== undefined) {\n\t\t\te.stopPropagation();\n\t\t\tsetTransformation();\n\t\t\tonClick(asset, e);\n\t\t}\n\t};\n\n\tconst handleSimilaritySearchClick = (event: React.MouseEvent) => {\n\t\tevent.stopPropagation();\n\t\tonSimilaritySearch([asset.databaseId ? asset.databaseId : asset.id]);\n\t};\n\n\treturn (\n\t\t<Container\n\t\t\tid={asset.id}\n\t\t\t$theme={theme}\n\t\t\t$isOutlined={(isSelected || isOutlined) && theme?.colorPrimary !== undefined}\n\t\t\t$fadeIn={fadeIn}\n\t\t\tclassName={className}\n\t\t\tdata-drag-select-id={asset.id}\n\t\t>\n\t\t\t<Card\n\t\t\t\tcontextAction={\n\t\t\t\t\t<ContextAction\n\t\t\t\t\t\ttransformBaseUrl={asset.files?.transformBaseUrl?.url}\n\t\t\t\t\t\tportalUrl={asset.url}\n\t\t\t\t\t\tonOpenDAT={() => {\n\t\t\t\t\t\t\topenDat(asset.files?.transformBaseUrl?.url, asset, asset.name);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tselectButtonAriaLabel={isSelected ? __('Deselect') : __('Select')}\n\t\t\t\tonSelect={handleClick}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tisSelected={isSelected}\n\t\t\t\taria-selected={isSelected}\n\t\t\t\tdata-testid=\"asset-card\"\n\t\t\t>\n\t\t\t\t{/* Image */}\n\t\t\t\t<Card.Frame\n\t\t\t\t\ticon={\n\t\t\t\t\t\tstatusText ? (\n\t\t\t\t\t\t\t<TruncatedBadgeWrapper $limitWidth={!!extension}>\n\t\t\t\t\t\t\t\t<Badge color=\"black-alpha\" data-testid=\"asset-tag\">\n\t\t\t\t\t\t\t\t\t<TruncatedText>{statusText}</TruncatedText>\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t</TruncatedBadgeWrapper>\n\t\t\t\t\t\t) : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdata-testid=\"asset-type\"\n\t\t\t\t\tbadge={extension}\n\t\t\t\t>\n\t\t\t\t\t<Card.Images>\n\t\t\t\t\t\t{getThumbnail(asset) && (\n\t\t\t\t\t\t\t<Card.Img\n\t\t\t\t\t\t\t\tsrc={getThumbnail(asset)}\n\t\t\t\t\t\t\t\talt={asset.name}\n\t\t\t\t\t\t\t\tcontentResize=\"fit\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Card.Images>\n\t\t\t\t\t{isSilimilaritySearchEnabled && asset.__typename === 'Image' && (\n\t\t\t\t\t\t<SimilarityButtonWrapper\n\t\t\t\t\t\t\tonClick={handleSimilaritySearchClick}\n\t\t\t\t\t\t\tdata-testid=\"similarity-search-indicator\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"similarity-search-button\"\n\t\t\t\t\t\t\tclassName=\"showSimilarButton\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Badge isSmall>{__('Show similar')}</Badge>\n\t\t\t\t\t\t</SimilarityButtonWrapper>\n\t\t\t\t\t)}\n\t\t\t\t</Card.Frame>\n\t\t\t\t{children}\n\t\t\t\t{/* Name */}\n\t\t\t\t{/* In case of problems with shadow dom and design-system tooltip,\n\t\t\t\t behavior was changed to simulate old BynderDAM expanding card*/}\n\t\t\t\t<AssestName data-testid=\"asset-name\">{asset.name}</AssestName>\n\t\t\t\t{/* Metaproperties */}\n\t\t\t\t<AssetCardMetaproperties\n\t\t\t\t\tmetaproperties={metapropertiesToDisplay}\n\t\t\t\t\ttextMetaproperties={textMetapropertiesToDisplay}\n\t\t\t\t/>\n\t\t\t</Card>\n\t\t</Container>\n\t);\n}\n\ninterface ContainerProps {\n\t$theme?: Theme;\n\t$isOutlined: boolean;\n\t$fadeIn: boolean;\n}\n\nconst Container = styled.div<ContainerProps>`\n\tmargin: ${token.spacing3};\n\twidth: 224px;\n\talign-self: flex-start;\n\tposition: relative;\n\t${(p) => (p.$fadeIn ? `animation: var(--fade-in-down);` : '')}\n\n\t--userComponentCardSelectedColor: ${({ $theme }: ContainerProps) => $theme?.colorButtonPrimary};\n\t--userComponentCardSelectedColorHover: ${({ $theme }: ContainerProps) =>\n\t\t$theme?.colorButtonPrimaryHover};\n\t--userComponentCardSelectedColorActive: ${({ $theme }: ContainerProps) =>\n\t\t$theme?.colorButtonPrimaryActive};\n\n\t.showSimilarButton {\n\t\tdisplay: none;\n\t}\n\n\t&:hover .showSimilarButton {\n\t\tdisplay: block;\n\t}\n`;\n\nconst TruncatedBadgeWrapper = styled.div<{ $limitWidth: boolean }>`\n\t${(p) => p.$limitWidth && 'max-width: 142px;'}\n\tmargin-top: ${token.spacing2};\n`;\n\nconst AssestName = styled.p`\n\twidth: auto;\n\tmax-width: 100%;\n\theight: auto;\n\tline-height: 20px;\n\tmin-height: 20px;\n\tmax-height: 20px;\n\tpadding: 0 ${token.spacing5};\n\tmargin: ${token.spacing3} 0;\n\ttransition: all 200ms ease;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tbox-sizing: content-box;\n\n\t&:hover {\n\t\tmax-height: 80px;\n\t\tword-break: break-all;\n\t\twhite-space: normal;\n\t}\n`;\n\nconst SimilarityButtonWrapper = styled.button`\n\tbackground: none;\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n\tfont: inherit;\n\tcolor: inherit;\n\tcursor: pointer;\n\toutline: none;\n\ttext-align: inherit;\n\n\tposition: absolute;\n\tbottom: ${token.spacing4};\n\tleft: ${token.spacing4};\n\tz-index: 1;\n`;\n"],"names":["AssetCard","className","fadeIn","asset","isSelected","isOutlined","onClick","children","isSilimilaritySearchEnabled","onSimilaritySearch","metapropertiesToDisplay","setMetapropertiesToDisplay","useState","textMetapropertiesToDisplay","setTextMetapropertiesToDisplay","openDat","setTransformation","useDat","theme","useConfig","statusText","getStatusText","extension","getExtension","useEffect","filteredMetaProps","prop","filteredTextMetaProps","handleClick","e","handleSimilaritySearchClick","event","jsx","Container","jsxs","Card","ContextAction","__","TruncatedBadgeWrapper","Badge","TruncatedText","getThumbnail","SimilarityButtonWrapper","AssestName","AssetCardMetaproperties","styled","token","p","$theme"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCardMetaproperties.js","sources":["../../src/views/asset/asset-card/AssetCardMetaproperties.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Card, token } from '@bynder/design-system';\nimport { MetapropertyType } from '@src/filter/filters/metaproperty/MetapropertyFilterContent';\nimport { TextMetapropertiesType } from '@src/views/asset/asset.type';\nimport { combineMetaproperties } from '@src/utils/combineMetaproperties';\nimport { trimMetapropertyValue } from '@src/utils/trimMetapropertyValue';\n\ninterface Props {\n\tmetaproperties?: MetapropertyType[];\n\ttextMetaproperties?: TextMetapropertiesType[];\n}\n\nexport const AssetCardMetaproperties = ({ metaproperties, textMetaproperties }: Props) => {\n\tconst combinedProperties = combineMetaproperties(metaproperties, textMetaproperties);\n\n\treturn combinedProperties?.length ? (\n\t\t<Card.AdditionalInfo>\n\t\t\t<DescriptionList>\n\t\t\t\t{combinedProperties.map(({ label, value }) => {\n\t\t\t\t\tconst trimmedValue = trimMetapropertyValue(value);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<DescriptionWrapper key={label} data-testid=\"asset-card-metaproperty\">\n\t\t\t\t\t\t\t<DescriptionTerm>{label}:</DescriptionTerm>\n\t\t\t\t\t\t\t<DescriptionDefinition title={value}>\n\t\t\t\t\t\t\t\t{trimmedValue}\n\t\t\t\t\t\t\t</DescriptionDefinition>\n\t\t\t\t\t\t</DescriptionWrapper>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</DescriptionList>\n\t\t</Card.AdditionalInfo>\n\t) : null;\n};\n\nconst DescriptionList = styled.dl`\n\tcolor: rgba(0, 34, 51, 0.5);\n\tfont-size: ${token.fontSize75};\n\tdisplay: flex;\n\tflex-direction: column;\n\tgrid-row-gap: 1px;\n\trow-gap: 1px;\n\tmargin: 0;\n`;\n\nconst DescriptionWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n`;\n\nconst DescriptionTerm = styled.dt`\n\tcolor: rgba(0, 34, 51, 0.3);\n\tpadding-right: 4px;\n\tmargin: 0;\n\twidth: 100%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n`;\n\nconst DescriptionDefinition = styled.dd`\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tmargin: 0;\n\twidth: 100%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n`;\n"],"names":["AssetCardMetaproperties","metaproperties","textMetaproperties","combinedProperties","combineMetaproperties","jsx","Card","DescriptionList","label","value","trimmedValue","trimMetapropertyValue","jsxs","DescriptionWrapper","DescriptionTerm","DescriptionDefinition","styled","token"],"mappings":";;;;;AAaO,MAAMA,IAA0B,CAAC,EAAE,gBAAAC,GAAgB,oBAAAC,QAAgC;AACzF,QAAMC,IAAqBC,EAAsBH,GAAgBC,CAAkB;AAEnF,SAAOC,GAAoB,SAC1B,gBAAAE,EAACC,EAAK,gBAAL,EACA,UAAA,gBAAAD,EAACE,GAAA,EACC,UAAAJ,EAAmB,IAAI,CAAC,EAAE,OAAAK,GAAO,OAAAC,QAAY;AAC7C,UAAMC,IAAeC,EAAsBF,CAAK;AAEhD,WACC,gBAAAG,EAACC,GAAA,EAA+B,eAAY,2BAC3C,UAAA;AAAA,MAAA,gBAAAD,EAACE,GAAA,EAAiB,UAAA;AAAA,QAAAN;AAAA,QAAM;AAAA,MAAA,GAAC;AAAA,MACzB,gBAAAH,EAACU,GAAA,EAAsB,OAAON,GAC5B,UAAAC,EAAA,CACF;AAAA,IAAA,EAAA,GAJwBF,CAKzB;AAAA,EAEF,CAAC,EAAA,CACF,EAAA,CACD,IACG;AACL,GAEMD,IAAkBS,EAAO;AAAA;AAAA,cAEjBC,EAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQxBJ,IAAqBG,EAAO;AAAA;AAAA;AAAA,GAK5BF,IAAkBE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASzBD,IAAwBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/AssetFilter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetFilter.js","sources":["../../src/filter/AssetFilter.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { styled } from 'styled-components';\nimport { Button, token } from '@bynder/design-system';\nimport { IconMultiSelect, IconRectangle } from '@bynder/icons';\nimport { useRouterSelectors } from '@src/store/useRouterStore';\nimport { useAssetFilter } from './AssetFilterContext';\nimport { useLocalization } from '../localization';\nimport { useConfig } from '../app-config/ConfigContext';\nimport { useGetFilters } from '../api/getFilters';\nimport { useGetFilters as useNewFilters } from '../api/getFilters_new';\nimport { Skeleton } from '../common/components/Skeleton';\nimport { HorizontalScroll } from '../common/components/HorizontalScroll';\nimport { Tags } from './filters/tags/Tags';\nimport { Advanced } from './filters/advanced/Advanced';\nimport { useSelection } from '@src/select/SelectionContext';\nimport { useAuth } from '@src/login/LoginContext';\nimport { getAssetCounts } from '../api/rest/getAssetCounts';\nimport { Smartfilter as SmartfilterComponentNew } from './filters/smartfilters/Smartfilters_new';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\n\nexport function AssetFilter() {\n\tconst filter = useAssetFilter();\n\tconst page = useRouterSelectors.use.page();\n\tconst { value: searchValue } = useSearchStateByPage('assets');\n\tconst {\n\t\tassetTypes,\n\t\tlanguage,\n\t\tassetFilter: predefinedFilter,\n\t\tnoCache,\n\t\tselectionMode,\n\t\tselectAllOption,\n\t} = useConfig();\n\tconst { clear: clearSelection, selectAll } = useSelection();\n\tconst auth = useAuth();\n\n\tconst [currentPage, setCurrentPage] = useState(page.page);\n\tuseLocalization(language);\n\tconst [isAllSelected, setIsAllSelected] = useState(false);\n\tconst {\n\t\tisSelected: isSimilaritySearchSelected,\n\t\tisNLSSelected,\n\t\tNLSSearchText,\n\t} = useSimilaritySearchStore();\n\tconst [isAssetCountsLoading, setIsAssetCountsLoading] = useState(false);\n\n\tconst { data, isLoading } = useGetFilters(\n\t\t{\n\t\t\tfilter,\n\t\t\tsearchTerm: searchValue || null,\n\t\t\tallAssetTypes: assetTypes,\n\t\t\tlanguage,\n\t\t\tpredefinedFilter,\n\t\t\tcollectionId: page.page === 'collection' ? page.collection.id : null,\n\t\t},\n\t\tnoCache,\n\t);\n\n\tconst { data: newData } = useNewFilters(noCache);\n\n\tuseEffect(() => {\n\t\tif (page.page !== currentPage) {\n\t\t\tsetCurrentPage(page.page);\n\t\t\tfilter.clear();\n\t\t}\n\n\t\treturn () => {\n\t\t\tfilter.clear();\n\t\t};\n\t}, [currentPage, page.page]); // eslint-disable-line react-hooks/exhaustive-deps\n\t// filter is not a dependency because it's a context value\n\t// we do not need to re-run the effect when the filter context value changes\n\n\tuseEffect(() => {\n\t\tlet isCancelled = false;\n\n\t\tconst fetchAssetCounts = async () => {\n\t\t\tsetIsAssetCountsLoading(true);\n\n\t\t\ttry {\n\t\t\t\tconst response = await getAssetCounts({\n\t\t\t\t\tauth,\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\tsearchTerm: searchValue,\n\t\t\t\t\t\tassetTypes,\n\t\t\t\t\t\tcollectionId: page.page === 'collection' ? page.collection.id : undefined,\n\t\t\t\t\t\ttagNames: filter.tags,\n\t\t\t\t\t\tisLimitedUse: filter.isLimited,\n\t\t\t\t\t\tmetaproperties: filter.selectedSmartfilterOptions,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tif (!isCancelled) {\n\t\t\t\t\tfilter.setActiveFiltersState(response);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (!isCancelled) {\n\t\t\t\t\tconsole.error('Error fetching asset counts:', error);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tif (!isCancelled) {\n\t\t\t\t\tsetIsAssetCountsLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfetchAssetCounts();\n\n\t\treturn () => {\n\t\t\tisCancelled = true;\n\t\t};\n\t}, [filter.tags, searchValue, assetTypes, page.page, filter.selectedSmartfilterOptions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tif (\n\t\tdata.tag === 'Failure' ||\n\t\t!data.value ||\n\t\tnewData.tag === 'Failure' ||\n\t\tnewData.tag === 'Loading' ||\n\t\t!newData.value ||\n\t\tisAssetCountsLoading\n\t) {\n\t\treturn (\n\t\t\t<NavParent>\n\t\t\t\t<SkeletonFilters />\n\t\t\t</NavParent>\n\t\t);\n\t}\n\n\tconst { tags, count } = data.value.searchAssets;\n\tconst { value: filterData } = newData;\n\n\tconst selectAllHandler = (() => {\n\t\tif (isAllSelected) {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tclearSelection();\n\t\t\t\t\t\tsetIsAllSelected(false);\n\t\t\t\t\t}}\n\t\t\t\t\ticon={<IconMultiSelect />}\n\t\t\t\t\ttitle=\"\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tdata-testid=\"deselect-all\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tonClick={() => {\n\t\t\t\t\tselectAll();\n\t\t\t\t\tsetIsAllSelected(true);\n\t\t\t\t}}\n\t\t\t\ticon={<IconRectangle />}\n\t\t\t\ttitle=\"\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tdata-testid=\"select-all\"\n\t\t\t/>\n\t\t);\n\t})();\n\n\tif (isSimilaritySearchSelected || (isNLSSelected && NLSSearchText)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<NavParent data-testid=\"filter-nav\">\n\t\t\t<HorizontalScroll>\n\t\t\t\t{filterData && filterData.filters.length > 0 && (\n\t\t\t\t\t<SmartfilterComponentNew filterData={filterData} />\n\t\t\t\t)}\n\t\t\t\t{tags && tags.nodes.length > 0 && <Tags tags={tags.nodes} isLoading={isLoading} />}\n\t\t\t\t<Advanced isLoading={isLoading} count={count.assetType} />\n\t\t\t</HorizontalScroll>\n\n\t\t\t<AssetFilterDropdownContainer>\n\t\t\t\t{selectionMode === 'MultiSelect' &&\n\t\t\t\t\tselectAllOption &&\n\t\t\t\t\tpage.page === 'assets' &&\n\t\t\t\t\tselectAllHandler}\n\t\t\t</AssetFilterDropdownContainer>\n\t\t</NavParent>\n\t);\n}\n\n// eslint-disable-next-line react/no-multi-comp\nfunction SkeletonFilters() {\n\treturn (\n\t\t<SkeletonWrapper>\n\t\t\t<Skeleton width={100} />\n\t\t\t<Skeleton width={80} />\n\t\t\t<Skeleton width={110} />\n\t\t</SkeletonWrapper>\n\t);\n}\n\nconst NavParent = styled.nav`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tbackground-color: #fff;\n\tpadding: ${token.spacing3} ${token.spacing4};\n\tz-index: 20;\n`;\n\nconst AssetFilterDropdownContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\n\tbutton {\n\t\theight: initial;\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n`;\n\nconst SkeletonWrapper = styled.div`\n\tdisplay: inline-flex;\n\talign-items: center;\n`;\n"],"names":["AssetFilter","filter","useAssetFilter","page","useRouterSelectors","searchValue","useSearchStateByPage","assetTypes","language","predefinedFilter","noCache","selectionMode","selectAllOption","useConfig","clearSelection","selectAll","useSelection","auth","useAuth","currentPage","setCurrentPage","useState","useLocalization","isAllSelected","setIsAllSelected","isSimilaritySearchSelected","isNLSSelected","NLSSearchText","useSimilaritySearchStore","isAssetCountsLoading","setIsAssetCountsLoading","data","isLoading","useGetFilters","newData","useNewFilters","useEffect","isCancelled","response","getAssetCounts","error","jsx","NavParent","SkeletonFilters","tags","count","filterData","selectAllHandler","Button","IconMultiSelect","IconRectangle","jsxs","HorizontalScroll","SmartfilterComponentNew","Tags","Advanced","AssetFilterDropdownContainer","SkeletonWrapper","Skeleton","styled","token"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBO,SAASA,KAAc;AAC7B,QAAMC,IAASC,EAAA,GACTC,IAAOC,EAAmB,IAAI,KAAA,GAC9B,EAAE,OAAOC,MAAgBC,GAAqB,QAAQ,GACtD;AAAA,IACL,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAaC;AAAA,IACb,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACGC,EAAA,GACE,EAAE,OAAOC,GAAgB,WAAAC,EAAA,IAAcC,EAAA,GACvCC,IAAOC,EAAA,GAEP,CAACC,GAAaC,CAAc,IAAIC,EAASlB,EAAK,IAAI;AACxD,EAAAmB,EAAgBd,CAAQ;AACxB,QAAM,CAACe,GAAeC,CAAgB,IAAIH,EAAS,EAAK,GAClD;AAAA,IACL,YAAYI;AAAA,IACZ,eAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACGC,GAAA,GACE,CAACC,GAAsBC,CAAuB,IAAIT,EAAS,EAAK,GAEhE,EAAE,MAAAU,GAAM,WAAAC,EAAA,IAAcC;AAAA,IAC3B;AAAA,MACC,QAAAhC;AAAA,MACA,YAAYI,KAAe;AAAA,MAC3B,eAAeE;AAAA,MACf,UAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,cAAcN,EAAK,SAAS,eAAeA,EAAK,WAAW,KAAK;AAAA,IAAA;AAAA,IAEjEO;AAAA,EAAA,GAGK,EAAE,MAAMwB,MAAYC,EAAczB,CAAO;AAuD/C,MArDA0B,EAAU,OACLjC,EAAK,SAASgB,MACjBC,EAAejB,EAAK,IAAI,GACxBF,EAAO,MAAA,IAGD,MAAM;AACZ,IAAAA,EAAO,MAAA;AAAA,EACR,IACE,CAACkB,GAAahB,EAAK,IAAI,CAAC,GAI3BiC,EAAU,MAAM;AACf,QAAIC,IAAc;AAgClB,YA9ByB,YAAY;AACpC,MAAAP,EAAwB,EAAI;AAE5B,UAAI;AACH,cAAMQ,IAAW,MAAMC,EAAe;AAAA,UACrC,MAAAtB;AAAA,UACA,QAAQ;AAAA,YACP,YAAYZ;AAAA,YACZ,YAAAE;AAAA,YACA,cAAcJ,EAAK,SAAS,eAAeA,EAAK,WAAW,KAAK;AAAA,YAChE,UAAUF,EAAO;AAAA,YACjB,cAAcA,EAAO;AAAA,YACrB,gBAAgBA,EAAO;AAAA,UAAA;AAAA,QACxB,CACA;AAED,QAAKoC,KACJpC,EAAO,sBAAsBqC,CAAQ;AAAA,MAEvC,SAASE,GAAO;AACf,QAAKH,KACJ,QAAQ,MAAM,gCAAgCG,CAAK;AAAA,MAErD,UAAA;AACC,QAAKH,KACJP,EAAwB,EAAK;AAAA,MAE/B;AAAA,IACD,GAEA,GAEO,MAAM;AACZ,MAAAO,IAAc;AAAA,IACf;AAAA,EACD,GAAG,CAACpC,EAAO,MAAMI,GAAaE,GAAYJ,EAAK,MAAMF,EAAO,0BAA0B,CAAC,GAGtF8B,EAAK,QAAQ,aACb,CAACA,EAAK,SACNG,EAAQ,QAAQ,aAChBA,EAAQ,QAAQ,aAChB,CAACA,EAAQ,SACTL;AAEA,WACC,gBAAAY,EAACC,GAAA,EACA,UAAA,gBAAAD,EAACE,IAAA,CAAA,CAAgB,GAClB;AAIF,QAAM,EAAE,MAAAC,GAAM,OAAAC,EAAA,IAAUd,EAAK,MAAM,cAC7B,EAAE,OAAOe,EAAA,IAAeZ,GAExBa,IACDxB,IAEF,gBAAAkB;AAAA,IAACO;AAAA,IAAA;AAAA,MACA,SAAS,MAAM;AACd,QAAAlC,EAAA,GACAU,EAAiB,EAAK;AAAA,MACvB;AAAA,MACA,wBAAOyB,GAAA,EAAgB;AAAA,MACvB,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,eAAY;AAAA,IAAA;AAAA,EAAA,IAMd,gBAAAR;AAAA,IAACO;AAAA,IAAA;AAAA,MACA,SAAS,MAAM;AACd,QAAAjC,EAAA,GACAS,EAAiB,EAAI;AAAA,MACtB;AAAA,MACA,wBAAO0B,GAAA,EAAc;AAAA,MACrB,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,eAAY;AAAA,IAAA;AAAA,EAAA;AAKf,SAAIzB,KAA+BC,KAAiBC,IAC5C,OAIP,gBAAAwB,EAACT,GAAA,EAAU,eAAY,cACtB,UAAA;AAAA,IAAA,gBAAAS,EAACC,GAAA,EACC,UAAA;AAAA,MAAAN,KAAcA,EAAW,QAAQ,SAAS,KAC1C,gBAAAL,EAACY,KAAwB,YAAAP,GAAwB;AAAA,MAEjDF,KAAQA,EAAK,MAAM,SAAS,uBAAMU,GAAA,EAAK,MAAMV,EAAK,OAAO,WAAAZ,EAAA,CAAsB;AAAA,MAChF,gBAAAS,EAACc,GAAA,EAAS,WAAAvB,GAAsB,OAAOa,EAAM,UAAA,CAAW;AAAA,IAAA,GACzD;AAAA,IAEA,gBAAAJ,EAACe,MACC,UAAA7C,MAAkB,iBAClBC,KACAT,EAAK,SAAS,YACd4C,EAAA,CACF;AAAA,EAAA,GACD;AAEF;AAGA,SAASJ,KAAkB;AAC1B,2BACEc,IAAA,EACA,UAAA;AAAA,IAAA,gBAAAhB,EAACiB,GAAA,EAAS,OAAO,IAAA,CAAK;AAAA,IACtB,gBAAAjB,EAACiB,GAAA,EAAS,OAAO,GAAA,CAAI;AAAA,IACrB,gBAAAjB,EAACiB,GAAA,EAAS,OAAO,IAAA,CAAK;AAAA,EAAA,GACvB;AAEF;AAEA,MAAMhB,IAAYiB,EAAO;AAAA;AAAA;AAAA;AAAA,YAIbC,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA,GAItCJ,KAA+BG,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYtCF,KAAkBE,EAAO;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetFilterContext.js","sources":["../../src/filter/AssetFilterContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, useMemo, useEffect } from 'react';\nimport { AssetType } from '../views/asset/asset.type';\nimport { MetapropertyOptionType as MetapropertyOption } from './filters/metaproperty/MetapropertyOption';\nimport { AssetFilterJson } from '@src/filter/assetFilter.type';\nimport {\n\tAutcompleteResponseOption,\n\tSmartfilterOption,\n\tAutocompleteOption,\n\tSmartfilterSelectedOptionType,\n\tselectedSmartfilterOptionsType,\n\tAssetCountType,\n} from '@src/api/rest/types';\nimport { MetapropertyOption as MetapropertyOptionType } from '@src/api/types/getFilters_new';\n\nexport interface Filter {\n\tassetTypes: AssetType[];\n\tmetaproperties: MetapropertyOption[];\n\tmetapropertyIds?: string[];\n\ttags: string[];\n\tisLimited?: boolean;\n\tisDropdownActive?: boolean;\n\tselectedSmartfilterOptions?: selectedSmartfilterOptionsType;\n\texistingFilters?: Record<string, Record<string, number>> | null;\n}\n\ninterface Actions {\n\taddAssetType: (assetType: AssetType) => void;\n\tremoveAssetType: (assetType: AssetType) => void;\n\taddMetaproperty: (metaproperty: MetapropertyOption) => void;\n\tremoveMetaproperty: (metaproperty: MetapropertyOption) => void;\n\tsetPredefinedMetaproperties: (metaproperties: Record<string, MetapropertyOption>) => void;\n\taddTag: (tag: string) => void;\n\tremoveTag: (tag: string) => void;\n\tclear: () => void;\n\tsetDropdownState: (active: boolean) => void;\n\tselectSmartfilterOption: (\n\t\tmetapropertyName: string,\n\t\toption: SmartfilterOption | AutcompleteResponseOption,\n\t\tisMultifilter?: boolean,\n\t) => void;\n\tremoveSmartfilterOption: (metapropertyName: string, optionId: string) => void;\n\tsetActiveFiltersState: (count: AssetCountType) => void;\n}\n\ntype MetapropertyMapType = Record<string, MetapropertyOption>;\n\nexport const AssetFilterContext = createContext<(Filter & Actions) | null>(null);\n\nexport function AssetFilterProvider({\n\tchildren,\n\thideLimitedUse = false,\n\tpredefinedFilter,\n}: {\n\tchildren: React.ReactNode;\n\thideLimitedUse?: boolean;\n\tpredefinedFilter?: AssetFilterJson;\n}) {\n\tconst [assetTypes, setAssetTypes] = useState<AssetType[]>(\n\t\tpredefinedFilter?.predefinedAssetType ? [...predefinedFilter?.predefinedAssetType] : [],\n\t);\n\tconst [metapropertyIds, setMetapropertyIds] = useState<string[]>([]);\n\tconst [isDropdownActive, setIsDropdownActive] = useState<boolean>(false);\n\tconst [tags, setTags] = useState<string[]>(\n\t\tpredefinedFilter?.predefinedTagNames ? [...predefinedFilter.predefinedTagNames] : [],\n\t);\n\tconst [isLimited, setIsLimited] = useState<boolean | undefined>();\n\tconst [metapropertyMap, setMetapropertyMap] = useState<MetapropertyMapType>({});\n\tconst [selectedSmartfilterOptions, setSelectedSmartfilterOptions] = useState<\n\t\tRecord<string, Record<string, SmartfilterSelectedOptionType>>\n\t>({});\n\tconst [existingFilters, setExistingFilters] = useState<Record<\n\t\tstring,\n\t\tRecord<string, number>\n\t> | null>(null);\n\n\tuseEffect(() => {\n\t\t// If hideLimitedUse is false, we want to display all assets and we don't\n\t\t// filter on isLimited. If hideLimitedUse is true we want to hide limited\n\t\t// assets, so we filter by setting isLimited to false.\n\t\tsetIsLimited(hideLimitedUse ? false : undefined);\n\t}, [hideLimitedUse]);\n\n\tuseEffect(() => {\n\t\tsetPredefinedMetaproperties();\n\t}, [predefinedFilter?.predefinedMetapropertiesOptions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tfunction addAssetType(assetType: AssetType) {\n\t\tsetAssetTypes((prevAssetTypes) => addToSet(prevAssetTypes, assetType));\n\t}\n\n\tfunction removeAssetType(assetType: AssetType) {\n\t\tif (\n\t\t\tpredefinedFilter?.showToolbar &&\n\t\t\tpredefinedFilter.predefinedAssetType?.includes(assetType)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAssetTypes((prevAssetTypes) => removeFromSet(prevAssetTypes, assetType));\n\t}\n\n\tfunction addMetaproperty(metaproperty: MetapropertyOption) {\n\t\tsetMetapropertyIds((prevMetapropertyIds) => addToSet(prevMetapropertyIds, metaproperty.id));\n\t\tsetMetapropertyMap((prevMetaproperties) => ({\n\t\t\t...prevMetaproperties,\n\t\t\t[metaproperty.id]: metaproperty,\n\t\t}));\n\t}\n\n\tfunction removeMetaproperty(metaproperty: MetapropertyOption) {\n\t\tsetMetapropertyIds((prevMetapropertyIds) =>\n\t\t\tremoveFromSet(prevMetapropertyIds, metaproperty.id),\n\t\t);\n\t\tsetMetapropertyMap((prevMetaproperties) => {\n\t\t\tconst { [metaproperty.id]: removed, ...remaining } = prevMetaproperties;\n\n\t\t\treturn remaining;\n\t\t});\n\t}\n\n\tfunction setPredefinedMetaproperties() {\n\t\tif (predefinedFilter?.predefinedMetapropertiesOptions) {\n\t\t\tsetSelectedSmartfilterOptions(() => {\n\t\t\t\treturn Object.entries(\n\t\t\t\t\tpredefinedFilter.predefinedMetapropertiesOptions || {},\n\t\t\t\t).reduce((acc, [key, value]) => {\n\t\t\t\t\tacc[key] = {};\n\t\t\t\t\tObject.entries(value).forEach(([name, id]) => {\n\t\t\t\t\t\tacc[key][id] = {\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\tmetapropertyName: key,\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, {});\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction addTag(tag: string) {\n\t\tsetTags((prevTags) => addToSet(prevTags, tag));\n\t}\n\n\tfunction removeTag(tag: string) {\n\t\tif (predefinedFilter?.showToolbar && predefinedFilter.predefinedTagNames?.includes(tag)) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTags((prevTags) => removeFromSet(prevTags, tag));\n\t}\n\n\tfunction selectSmartfilterOption(\n\t\tmetapropertyName: string,\n\t\toption: MetapropertyOptionType | AutocompleteOption,\n\t\tisMultifilter?: boolean,\n\t) {\n\t\tconst selectedOption: SmartfilterSelectedOptionType = {\n\t\t\tid: option.id,\n\t\t\tlabel: option.label,\n\t\t\tmetapropertyName,\n\t\t};\n\n\t\tsetSelectedSmartfilterOptions((prevOptions) => {\n\t\t\tconst currentSelections = prevOptions[metapropertyName] || {};\n\t\t\tconst isAlreadySelected = !!currentSelections[option.id];\n\n\t\t\tif (isMultifilter) {\n\t\t\t\treturn {\n\t\t\t\t\t...prevOptions,\n\t\t\t\t\t[metapropertyName]: isAlreadySelected\n\t\t\t\t\t\t? // Remove if already selected\n\t\t\t\t\t\t Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(currentSelections).filter(\n\t\t\t\t\t\t\t\t\t([key]) => key !== option.id,\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: // Add if not selected already\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t...currentSelections,\n\t\t\t\t\t\t\t\t[option.id]: selectedOption,\n\t\t\t\t\t\t },\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// For single selection:\n\t\t\t// Remove selection if already present\n\t\t\tif (isAlreadySelected) {\n\t\t\t\treturn {\n\t\t\t\t\t...prevOptions,\n\t\t\t\t\t[metapropertyName]: {},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Otherwise add the new selection\n\t\t\treturn {\n\t\t\t\t...prevOptions,\n\t\t\t\t[metapropertyName]: {\n\t\t\t\t\t[option.id]: selectedOption,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\t}\n\n\tfunction removeSmartfilterOption(metapropertyName: string, optionId: string) {\n\t\tsetSelectedSmartfilterOptions((prevOptions) => {\n\t\t\tconst { [metapropertyName]: removed, ...remaining } = prevOptions;\n\n\t\t\tconst { [optionId]: removedOption, ...remainingOptions } = removed || {};\n\n\t\t\tif (remainingOptions && Object.keys(remainingOptions).length > 0) {\n\t\t\t\treturn {\n\t\t\t\t\t...prevOptions,\n\t\t\t\t\t[metapropertyName]: remainingOptions,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn remaining;\n\t\t});\n\t}\n\n\tfunction setActiveFiltersState(count: AssetCountType) {\n\t\tconst activeMetaproperties = count.count;\n\t\tconst nonEmptyMetaproperties = Object.entries(activeMetaproperties || {})\n\t\t\t.filter(\n\t\t\t\t([key, value]) =>\n\t\t\t\t\tkey.startsWith('property') && value && Object.keys(value).length > 0,\n\t\t\t)\n\t\t\t.reduce((acc, [key, value]) => {\n\t\t\t\tacc[key.replace('property_', '')] = value;\n\n\t\t\t\treturn acc;\n\t\t\t}, {});\n\n\t\tsetExistingFilters(nonEmptyMetaproperties);\n\t}\n\n\tfunction clear() {\n\t\tsetAssetTypes(\n\t\t\tpredefinedFilter?.showToolbar && predefinedFilter?.predefinedAssetType\n\t\t\t\t? [...predefinedFilter.predefinedAssetType]\n\t\t\t\t: [],\n\t\t);\n\n\t\tsetTags(\n\t\t\tpredefinedFilter?.showToolbar && predefinedFilter?.predefinedTagNames\n\t\t\t\t? [...predefinedFilter.predefinedTagNames]\n\t\t\t\t: [],\n\t\t);\n\n\t\tsetSelectedSmartfilterOptions({});\n\t\tsetExistingFilters(null);\n\t}\n\n\tconst metaproperties = metapropertyIds.map((id) => metapropertyMap[id]);\n\n\t// This function is used to set the state of the dropdown\n\t// so we can re-render the content in order to set the ref\n\t// which we need for scrolling. Wihout this, the ref is not\n\t// set and we can't scroll unless we click a metaproperty which\n\t// causes a re-render.\n\tfunction setDropdownState(state: boolean) {\n\t\tsetIsDropdownActive(state);\n\t}\n\n\tconst assetFilterContext = useMemo(\n\t\t() => ({\n\t\t\tassetTypes,\n\t\t\tmetaproperties,\n\t\t\tmetapropertyIds,\n\t\t\ttags,\n\t\t\tisLimited,\n\t\t\taddAssetType,\n\t\t\tremoveAssetType,\n\t\t\taddMetaproperty,\n\t\t\tremoveMetaproperty,\n\t\t\tsetPredefinedMetaproperties,\n\t\t\taddTag,\n\t\t\tremoveTag,\n\t\t\tclear,\n\t\t\tsetDropdownState,\n\t\t\tisDropdownActive,\n\t\t\tselectSmartfilterOption,\n\t\t\tremoveSmartfilterOption,\n\t\t\tselectedSmartfilterOptions,\n\t\t\tsetActiveFiltersState,\n\t\t\texistingFilters,\n\t\t}),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[assetTypes, metaproperties, tags, isLimited, metapropertyIds, selectedSmartfilterOptions],\n\t);\n\n\treturn (\n\t\t<AssetFilterContext.Provider value={assetFilterContext}>\n\t\t\t{children}\n\t\t</AssetFilterContext.Provider>\n\t);\n}\n\nfunction addToSet<T>(set: T[], value: T) {\n\treturn set.includes(value) ? set : [...set, value];\n}\n\nfunction removeFromSet<T>(set: T[], value: T) {\n\treturn set.filter((prevValue) => prevValue !== value);\n}\n\nexport function keepPredefinedMetapropertiesInMap(\n\tmetapropertyMap: MetapropertyMapType,\n\tpredefinedMetaproperties: string[],\n) {\n\treturn predefinedMetaproperties.reduce((acc, id) => {\n\t\tif (metapropertyMap[id]) {\n\t\t\tacc[id] = metapropertyMap[id];\n\t\t}\n\n\t\treturn acc;\n\t}, {});\n}\n\nexport function useAssetFilter() {\n\tconst context = useContext(AssetFilterContext);\n\n\tif (context === null) {\n\t\tthrow new Error('useAssetFilter must be used with a AssetFilterProvider');\n\t}\n\n\treturn context;\n}\n"],"names":["AssetFilterContext","createContext","AssetFilterProvider","children","hideLimitedUse","predefinedFilter","assetTypes","setAssetTypes","useState","metapropertyIds","setMetapropertyIds","isDropdownActive","setIsDropdownActive","tags","setTags","isLimited","setIsLimited","metapropertyMap","setMetapropertyMap","selectedSmartfilterOptions","setSelectedSmartfilterOptions","existingFilters","setExistingFilters","useEffect","setPredefinedMetaproperties","addAssetType","assetType","prevAssetTypes","addToSet","removeAssetType","removeFromSet","addMetaproperty","metaproperty","prevMetapropertyIds","prevMetaproperties","removeMetaproperty","removed","remaining","acc","key","value","name","id","addTag","tag","prevTags","removeTag","selectSmartfilterOption","metapropertyName","option","isMultifilter","selectedOption","prevOptions","currentSelections","isAlreadySelected","removeSmartfilterOption","optionId","removedOption","remainingOptions","setActiveFiltersState","count","activeMetaproperties","nonEmptyMetaproperties","clear","metaproperties","setDropdownState","state","assetFilterContext","useMemo","set","prevValue","useAssetFilter","context","useContext"],"mappings":"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"}
|
package/AssetItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetItem.js","sources":["../../src/select/current-selection/AssetItem.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Thumbnail, token } from '@bynder/design-system';\n\nimport { getExtension, getThumbnail } from '../../views/asset/asset-card/utils';\nimport { Asset } from '../../views/asset/asset.type';\nimport { useSelection } from '../SelectionContext';\nimport { SelectedItemContainer } from './SelectedItemContainer';\n\nexport function AssetItem({ asset }: { asset: Asset }) {\n\tconst selectionState = useSelection();\n\n\treturn (\n\t\t<SelectedItemContainer\n\t\t\ttitle={asset.name}\n\t\t\tonRemove={() => selectionState.toggleAssets([asset])}\n\t\t>\n\t\t\t<AssetThumbnailWrapper>\n\t\t\t\t<Thumbnail variant=\"preview\" imageUrl={getThumbnail(asset)} size=\"m\" />\n\t\t\t</AssetThumbnailWrapper>\n\n\t\t\t<AssetName>{asset.name}</AssetName>\n\n\t\t\t{getExtension(asset) && <AssetExtensionName>{getExtension(asset)}</AssetExtensionName>}\n\t\t</SelectedItemContainer>\n\t);\n}\n\nconst AssetThumbnailWrapper = styled.div`\n\tmargin-right: ${token.spacing4};\n\tmax-width: 40px;\n`;\n\nconst AssetName = styled.span`\n\twidth: 160px;\n\tmargin-right: ${token.spacing3};\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n`;\n\nconst AssetExtensionName = styled.span`\n\tflex-grow: 1;\n\tcolor: rgba(0, 34, 51, 0.5);\n\tfont-size: ${token.fontSize75};\n\ttext-align: right;\n`;\n"],"names":["AssetItem","asset","selectionState","useSelection","jsxs","SelectedItemContainer","jsx","AssetThumbnailWrapper","Thumbnail","getThumbnail","AssetName","getExtension","AssetExtensionName","styled","token"],"mappings":";;;;;;AASO,SAASA,EAAU,EAAE,OAAAC,KAA2B;AACtD,QAAMC,IAAiBC,EAAA;AAEvB,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAOJ,EAAM;AAAA,MACb,UAAU,MAAMC,EAAe,aAAa,CAACD,CAAK,CAAC;AAAA,MAEnD,UAAA;AAAA,QAAA,gBAAAK,EAACC,GAAA,EACA,UAAA,gBAAAD,EAACE,GAAA,EAAU,SAAQ,WAAU,UAAUC,EAAaR,CAAK,GAAG,MAAK,IAAA,CAAI,GACtE;AAAA,QAEA,gBAAAK,EAACI,GAAA,EAAW,UAAAT,EAAM,KAAA,CAAK;AAAA,QAEtBU,EAAaV,CAAK,uBAAMW,GAAA,EAAoB,UAAAD,EAAaV,CAAK,EAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpE;AAEA,MAAMM,IAAwBM,EAAO;AAAA,iBACpBC,EAAM,QAAQ;AAAA;AAAA,GAIzBJ,IAAYG,EAAO;AAAA;AAAA,iBAERC,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA,GAMzBF,IAAqBC,EAAO;AAAA;AAAA;AAAA,cAGpBC,EAAM,UAAU;AAAA;AAAA;"}
|
package/AssetList.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetList.js","sources":["../../src/views/asset/AssetList.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\n\nimport { styled } from 'styled-components';\nimport { AssetCard } from './asset-card/AssetCard';\nimport { CardSkeleton } from '@src/common/components/CardSkeleton';\nimport { SelectionMode } from '@src/app-config/appConfig.type';\nimport { DragAction, DragSelect } from '@src/common/components/DragSelect';\nimport { Dimensions, useDimensions } from '@src/common/hooks/useDimensions';\nimport { InfiniteScroll } from '@src/common/components/InfiniteScroll';\nimport { Theme } from '@src/style/Theming';\nimport { useSelection } from '@src/select/SelectionContext';\nimport { Asset, AssetData } from './asset.type';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\ninterface Props {\n\tassets: AssetData;\n\tcount?: number;\n\thasNextPage?: boolean;\n\tisLoading?: boolean;\n\tloadMore?: () => void;\n\tonSelect?: (assets: Asset[]) => void;\n\tonToggle?: (assets: Asset[]) => void;\n\temptyStateElement?: React.ReactElement | null;\n\tselectedAssetIds?: string[];\n\tselectionMode?: SelectionMode;\n\ttheme?: Theme;\n\tchildren?: React.ReactNode;\n}\n\nexport function AssetList({\n\tassets,\n\tcount,\n\thasNextPage = false,\n\tisLoading = false,\n\tloadMore = () => {\n\t\t/** do nothing */\n\t},\n\tonSelect = () => {\n\t\t/** do nothing */\n\t},\n\tonToggle = () => {\n\t\t/** do nothing */\n\t},\n\temptyStateElement = null,\n\tselectedAssetIds = [],\n\tselectionMode = 'MultiSelect',\n\ttheme,\n\tchildren = null,\n}: Props) {\n\tconst nodeRef = useRef<HTMLDivElement>(null);\n\tconst { dimensions } = useDimensions(nodeRef.current);\n\tconst [assetIdsInDragSelectBox, setAssetIdsInDragSelectBox] = useState<string[]>([]);\n\tconst [dragState, setDragState] = useState<DragAction | 'inactive'>('inactive');\n\tconst { clear: clearSelection } = useSelection();\n\n\tconst {\n\t\tsetIsEnabled: setIsSimilaritySearchEnabled,\n\t\tisEnabled: isSimilaritySearchEnabled,\n\t\tsetIsSelected,\n\t} = useSimilaritySearchStore();\n\tconst { resetData, search } = useSimilarityAssets();\n\n\tconst [assetsPerColumn, assetsPerRow] = calculateAssetsInDimensions(count, dimensions);\n\n\tconst hasCheckedSimilarity = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (!hasCheckedSimilarity.current && assets.value && assets.value.length > 0) {\n\t\t\thasCheckedSimilarity.current = true;\n\n\t\t\tconst checkSimilaritySearchAvailability = async () => {\n\t\t\t\tif (assets.value && assets.value.length > 0) {\n\t\t\t\t\tconst firstImageAsset =\n\t\t\t\t\t\tassets.value.find((asset) => asset.__typename === 'Image') ||\n\t\t\t\t\t\tassets.value[0];\n\n\t\t\t\t\tconst isAISearchEnabled = await search([firstImageAsset.databaseId]);\n\t\t\t\t\tsetIsSimilaritySearchEnabled(isAISearchEnabled || false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tcheckSimilaritySearchAvailability();\n\t\t}\n\t}, [assets.value, search, setIsSimilaritySearchEnabled]);\n\n\tconst handleSimilaritySearch = (selectedAsset: string[]) => {\n\t\tresetData();\n\t\tsetIsSelected(true);\n\t\tclearSelection();\n\t\tsearch(selectedAsset);\n\t};\n\n\tfunction getAssetById(id: string): Asset | undefined {\n\t\tif (assets.tag === 'Loading' && !assets.value) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn assets.value?.find((asset) => id === asset.id);\n\t}\n\n\tfunction handleDragSelect(assetsToSelect) {\n\t\tsetAssetIdsInDragSelectBox((prevAssets) => [...prevAssets, ...assetsToSelect]);\n\t}\n\n\tfunction handleDragDeselect(assetsToDeselect) {\n\t\tsetAssetIdsInDragSelectBox((prevAssets) =>\n\t\t\tprevAssets.filter((id) => !assetsToDeselect.includes(id)),\n\t\t);\n\t}\n\n\tfunction handleDragStart(action: DragAction) {\n\t\tsetDragState(action);\n\t}\n\n\tfunction handleDragEnd(action: DragAction) {\n\t\tsetDragState('inactive');\n\n\t\tif (assetIdsInDragSelectBox.length) {\n\t\t\t// Typescript is complaining about the type being (Asset | undefined)[]\n\t\t\t// if I simply use .map() and .filter() instead of this foreach solution.\n\t\t\tconst assetIdsInDragBox: Asset[] = [];\n\t\t\tassetIdsInDragSelectBox.forEach((id) => {\n\t\t\t\tconst asset = getAssetById(id);\n\n\t\t\t\tif (asset) {\n\t\t\t\t\tassetIdsInDragBox.push(asset);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (action === 'inverse') {\n\t\t\t\tonToggle(assetIdsInDragBox);\n\t\t\t} else {\n\t\t\t\tonSelect(assetIdsInDragBox);\n\t\t\t}\n\n\t\t\tsetAssetIdsInDragSelectBox([]);\n\t\t}\n\t}\n\n\tfunction isAssetSelected(asset: Asset): boolean {\n\t\tif (\n\t\t\tdragState === 'inverse' &&\n\t\t\tselectedAssetIds.includes(asset.id) &&\n\t\t\tassetIdsInDragSelectBox.includes(asset.id)\n\t\t) {\n\t\t\t// If we are going to inverse the selection\n\t\t\t// this means that an asset will be deselected\n\t\t\t// if it was selected before and is part of the\n\t\t\t// dragselection now.\n\t\t\treturn false;\n\t\t}\n\n\t\treturn selectedAssetIds.includes(asset.id) || assetIdsInDragSelectBox.includes(asset.id);\n\t}\n\n\tfunction makeSelection(clickedAsset: Asset, event: React.MouseEvent) {\n\t\tif (event.shiftKey && selectionMode === 'MultiSelect' && assets.value?.length) {\n\t\t\t// if shift is pressed, select all assets between the previously selected one\n\t\t\t// and the current one.\n\t\t\tconst currentIndex = assets.value.findIndex((asset) => asset.id === clickedAsset.id);\n\t\t\tlet previousIndex = assets.value?.findIndex(\n\t\t\t\t(asset) => asset.id === selectedAssetIds[selectedAssetIds.length - 1],\n\t\t\t);\n\n\t\t\tif (previousIndex === -1) {\n\t\t\t\tpreviousIndex = 0;\n\t\t\t}\n\n\t\t\tif (previousIndex < currentIndex) {\n\t\t\t\tonSelect(assets.value?.slice(previousIndex, currentIndex + 1));\n\t\t\t} else {\n\t\t\t\tonSelect(assets.value.slice(currentIndex, previousIndex + 1));\n\t\t\t}\n\t\t} else {\n\t\t\tonToggle([clickedAsset]);\n\t\t}\n\t}\n\n\treturn (\n\t\t<AssetListContainer\n\t\t\tref={nodeRef}\n\t\t\tdata-drag-select-container\n\t\t\tdata-testid=\"asset-list-container\"\n\t\t>\n\t\t\t{children}\n\n\t\t\t<div className=\"card-list\" role=\"listbox\">\n\t\t\t\t{assets.tag === 'Loading' && !assets.value && (\n\t\t\t\t\t<CardSkeleton rows={assetsPerColumn} columns={assetsPerRow} />\n\t\t\t\t)}\n\n\t\t\t\t{assets.tag === 'Loaded' && assets.value.length === 0 && emptyStateElement}\n\n\t\t\t\t{((assets.tag === 'Loading' && assets.value) || assets.tag === 'Loaded') && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{selectionMode === 'MultiSelect' && (\n\t\t\t\t\t\t\t<DragSelect\n\t\t\t\t\t\t\t\tdragContainer=\"[data-drag-select-container]\"\n\t\t\t\t\t\t\t\tselectionBoxCustomAttr={{\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tzIndex: 1000000,\n\t\t\t\t\t\t\t\t\t\tborderColor: theme?.colorPrimary,\n\t\t\t\t\t\t\t\t\t\tborderWidth: '2px',\n\t\t\t\t\t\t\t\t\t\tborderRadius: '5px',\n\t\t\t\t\t\t\t\t\t\tcolor: 'rgba(0, 34, 51, 0.8)',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonSelect={handleDragSelect}\n\t\t\t\t\t\t\t\tonDeselect={handleDragDeselect}\n\t\t\t\t\t\t\t\tonDragStart={handleDragStart}\n\t\t\t\t\t\t\t\tonDragEnd={handleDragEnd}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<InfiniteScroll\n\t\t\t\t\t\t\thasNextPage={hasNextPage}\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\tloadMore={loadMore}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{assets.value?.map((asset, index) => (\n\t\t\t\t\t\t\t\t<AssetCard\n\t\t\t\t\t\t\t\t\tisSilimilaritySearchEnabled={isSimilaritySearchEnabled}\n\t\t\t\t\t\t\t\t\tkey={asset.id}\n\t\t\t\t\t\t\t\t\tisSelected={isAssetSelected(asset)}\n\t\t\t\t\t\t\t\t\tisOutlined={isAssetSelected(asset)}\n\t\t\t\t\t\t\t\t\tasset={asset}\n\t\t\t\t\t\t\t\t\tfadeIn={index >= assetsPerColumn * assetsPerRow}\n\t\t\t\t\t\t\t\t\tonClick={(clickedAsset: Asset, event: React.MouseEvent) =>\n\t\t\t\t\t\t\t\t\t\tmakeSelection(clickedAsset, event)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonSimilaritySearch={handleSimilaritySearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</InfiniteScroll>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</AssetListContainer>\n\t);\n}\n\nexport function calculateAssetsInDimensions(\n\tcount: number | undefined,\n\tdimensions: Dimensions | undefined,\n): [number, number] {\n\tif (count !== undefined) {\n\t\treturn [1, count];\n\t}\n\n\tif (!dimensions) {\n\t\treturn [0, 0];\n\t}\n\n\t// Taken from 'w-48' class applied to the Card component's root div\n\tconst cardWidth = 192;\n\n\t/* This value comes from the initial version of this module. The value '172' doesn't occur\n\t * anywhere else in the project, but it appears to be approx. the sum of the image\n\t * height (128px), the title's vertical padding (24px) and the title's line height (21px). My\n\t * guess is that it was taken by inspecting the height of the card component in the browser. */\n\tconst cardHeight = 172;\n\n\t// Taken from 'm-2' class applied to the Card component's root div\n\tconst cardMargin = 8;\n\n\t// Taken from 'px-2' tailwind class applied to 'card-list' class in Styles.css\n\tconst cardListHorizontalPadding = 8;\n\n\tconst assetWidth = cardWidth + 2 * cardMargin;\n\tconst assetHeight = cardHeight + 2 * cardMargin;\n\tconst cardListContainerPadding = 2 * cardListHorizontalPadding;\n\tconst assetsPerColumn = Math.ceil(dimensions.height / assetHeight);\n\tconst assetsPerRow = Math.round((dimensions.width - cardListContainerPadding) / assetWidth);\n\n\treturn [assetsPerColumn, assetsPerRow];\n}\n\nconst AssetListContainer = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\toverflow-y: auto;\n`;\n"],"names":["AssetList","assets","count","hasNextPage","isLoading","loadMore","onSelect","onToggle","emptyStateElement","selectedAssetIds","selectionMode","theme","children","nodeRef","useRef","dimensions","useDimensions","assetIdsInDragSelectBox","setAssetIdsInDragSelectBox","useState","dragState","setDragState","clearSelection","useSelection","setIsSimilaritySearchEnabled","isSimilaritySearchEnabled","setIsSelected","useSimilaritySearchStore","resetData","search","useSimilarityAssets","assetsPerColumn","assetsPerRow","calculateAssetsInDimensions","hasCheckedSimilarity","useEffect","firstImageAsset","asset","isAISearchEnabled","handleSimilaritySearch","selectedAsset","getAssetById","id","handleDragSelect","assetsToSelect","prevAssets","handleDragDeselect","assetsToDeselect","handleDragStart","action","handleDragEnd","assetIdsInDragBox","isAssetSelected","makeSelection","clickedAsset","event","currentIndex","previousIndex","jsxs","AssetListContainer","CardSkeleton","Fragment","jsx","DragSelect","InfiniteScroll","index","AssetCard","cardWidth","cardHeight","cardMargin","cardListHorizontalPadding","assetWidth","assetHeight","cardListContainerPadding","styled"],"mappings":"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"}
|
package/AssetTypeItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetTypeItem.js","sources":["../../src/filter/filters/advanced/AssetTypeItem.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Checkbox, token } from '@bynder/design-system';\n\nimport { useAssetFilter } from '../../AssetFilterContext';\nimport { AssetType, assetTypeToString, getAssetTypeIcon } from '../../../views/asset/asset.type';\nimport {\n\tContent,\n\tListItem,\n\tStyledCheckboxWrapper,\n} from '../../../common/components/Checkbox.styles';\n\nexport function AssetTypeItem(props: { type: AssetType; count: number; isLoading: boolean }) {\n\tconst assetFilterState = useAssetFilter();\n\n\tconst isChecked = assetFilterState.assetTypes.includes(props.type);\n\n\tfunction onClick() {\n\t\tif (isChecked) {\n\t\t\tassetFilterState.removeAssetType(props.type);\n\t\t} else {\n\t\t\tassetFilterState.addAssetType(props.type);\n\t\t}\n\t}\n\n\tconst Icon = getAssetTypeIcon(props.type);\n\n\treturn (\n\t\t<ListItem data-testid=\"advanced-options\">\n\t\t\t<StyledCheckboxWrapper $isChecked={isChecked} $isLoading={props.isLoading}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tisChecked={isChecked}\n\t\t\t\t\tonChange={onClick}\n\t\t\t\t\tdata-testid={`${assetTypeToString(props.type)}-filter`}\n\t\t\t\t>\n\t\t\t\t\t<Content $isChecked={isChecked}>\n\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t<Label>{assetTypeToString(props.type)}</Label>\n\t\t\t\t\t\t<span className=\"fade-in-down\">{props.count}</span>\n\t\t\t\t\t</Content>\n\t\t\t\t</Checkbox>\n\t\t\t</StyledCheckboxWrapper>\n\t\t</ListItem>\n\t);\n}\n\nconst Label = styled.div`\n\tmargin: 1px ${token.spacing3};\n\tflex-grow: 1;\n`;\n"],"names":["AssetTypeItem","props","assetFilterState","useAssetFilter","isChecked","onClick","Icon","getAssetTypeIcon","jsx","ListItem","StyledCheckboxWrapper","Checkbox","assetTypeToString","jsxs","Content","Label","styled","token"],"mappings":";;;;;;AAYO,SAASA,EAAcC,GAA+D;AAC5F,QAAMC,IAAmBC,EAAA,GAEnBC,IAAYF,EAAiB,WAAW,SAASD,EAAM,IAAI;AAEjE,WAASI,IAAU;AAClB,IAAID,IACHF,EAAiB,gBAAgBD,EAAM,IAAI,IAE3CC,EAAiB,aAAaD,EAAM,IAAI;AAAA,EAE1C;AAEA,QAAMK,IAAOC,EAAiBN,EAAM,IAAI;AAExC,SACC,gBAAAO,EAACC,GAAA,EAAS,eAAY,oBACrB,UAAA,gBAAAD,EAACE,KAAsB,YAAYN,GAAW,YAAYH,EAAM,WAC/D,UAAA,gBAAAO;AAAA,IAACG;AAAA,IAAA;AAAA,MACA,WAAAP;AAAA,MACA,UAAUC;AAAA,MACV,eAAa,GAAGO,EAAkBX,EAAM,IAAI,CAAC;AAAA,MAE7C,UAAA,gBAAAY,EAACC,GAAA,EAAQ,YAAYV,GACpB,UAAA;AAAA,QAAA,gBAAAI,EAACF,GAAA,EAAK;AAAA,QACN,gBAAAE,EAACO,GAAA,EAAO,UAAAH,EAAkBX,EAAM,IAAI,GAAE;AAAA,QACtC,gBAAAO,EAAC,QAAA,EAAK,WAAU,gBAAgB,YAAM,MAAA,CAAM;AAAA,MAAA,EAAA,CAC7C;AAAA,IAAA;AAAA,EAAA,GAEF,EAAA,CACD;AAEF;AAEA,MAAMO,IAAQC,EAAO;AAAA,eACNC,EAAM,QAAQ;AAAA;AAAA;"}
|
package/AssetsView.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsView.js","sources":["../../src/views/asset/AssetsView.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { useFilterAssets } from '@src/api/filterAssets';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useAssetFilter } from '@src/filter/AssetFilterContext';\nimport { useOrderingSelectors } from '@src/store/useOrderingStore';\nimport { StatefulAssetList } from './StatefulAssetList';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\nexport function AssetsView() {\n\tconst { assetTypes, tags, isLimited, selectedSmartfilterOptions } = useAssetFilter();\n\tconst {\n\t\tisSelected: isSimilaritySearchSelected,\n\t\tisNLSSelected,\n\t\tNLSSearchText,\n\t} = useSimilaritySearchStore();\n\tconst { connection: similarityConnection } = useSimilarityAssets();\n\n\tconst { value: search } = useSearchStateByPage('assets');\n\tconst ordering = useOrderingSelectors.use.assets();\n\n\tconst {\n\t\tassetFilter: predefinedFilter,\n\t\tassetTypes: allAssetTypes,\n\t\tlanguage,\n\t\tnoCache,\n\t} = useConfig();\n\n\tconst filterAssetArgs = useMemo(() => {\n\t\tif (predefinedFilter === undefined) {\n\t\t\treturn {\n\t\t\t\tfilter: { assetTypes, selectedSmartfilterOptions, tags, isLimited },\n\t\t\t\tsearchTerm: search,\n\t\t\t\torderBy: ordering,\n\t\t\t\tallAssetTypes,\n\t\t\t\tlanguage,\n\t\t\t};\n\t\t} else if (predefinedFilter && predefinedFilter.showToolbar) {\n\t\t\treturn {\n\t\t\t\tfilter: { assetTypes, selectedSmartfilterOptions, tags, isLimited },\n\t\t\t\tsearchTerm: search,\n\t\t\t\torderBy: ordering,\n\t\t\t\tpredefinedFilter,\n\t\t\t\tallAssetTypes,\n\t\t\t\tlanguage,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tfilter: { assetTypes, selectedSmartfilterOptions, tags, isLimited },\n\t\t\tpredefinedFilter,\n\t\t\torderBy: ordering,\n\t\t\tlanguage,\n\t\t};\n\t}, [\n\t\tassetTypes,\n\t\ttags,\n\t\tisLimited,\n\t\tsearch,\n\t\tordering,\n\t\tpredefinedFilter,\n\t\tallAssetTypes,\n\t\tlanguage,\n\t\tselectedSmartfilterOptions,\n\t]);\n\n\tconst connection = useFilterAssets(filterAssetArgs, noCache);\n\n\tconst isAISearchEnabled = isSimilaritySearchSelected || (isNLSSelected && !!NLSSearchText);\n\n\treturn (\n\t\t<StatefulAssetList\n\t\t\tconnection={isAISearchEnabled ? similarityConnection : connection}\n\t\t\tshowActiveFilters={\n\t\t\t\tpredefinedFilter === undefined || (predefinedFilter && predefinedFilter.showToolbar)\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"names":["AssetsView","assetTypes","tags","isLimited","selectedSmartfilterOptions","useAssetFilter","isSimilaritySearchSelected","isNLSSelected","NLSSearchText","useSimilaritySearchStore","similarityConnection","useSimilarityAssets","search","useSearchStateByPage","ordering","useOrderingSelectors","predefinedFilter","allAssetTypes","language","noCache","useConfig","filterAssetArgs","useMemo","connection","useFilterAssets","jsx","StatefulAssetList"],"mappings":";;;;;;;;;;AAWO,SAASA,IAAa;AAC5B,QAAM,EAAE,YAAAC,GAAY,MAAAC,GAAM,WAAAC,GAAW,4BAAAC,EAAA,IAA+BC,EAAA,GAC9D;AAAA,IACL,YAAYC;AAAA,IACZ,eAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACGC,EAAA,GACE,EAAE,YAAYC,EAAA,IAAyBC,EAAA,GAEvC,EAAE,OAAOC,MAAWC,EAAqB,QAAQ,GACjDC,IAAWC,EAAqB,IAAI,OAAA,GAEpC;AAAA,IACL,aAAaC;AAAA,IACb,YAAYC;AAAA,IACZ,UAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACGC,EAAA,GAEEC,IAAkBC,EAAQ,MAC3BN,MAAqB,SACjB;AAAA,IACN,QAAQ,EAAE,YAAAf,GAAY,4BAAAG,GAA4B,MAAAF,GAAM,WAAAC,EAAA;AAAA,IACxD,YAAYS;AAAA,IACZ,SAASE;AAAA,IACT,eAAAG;AAAA,IACA,UAAAC;AAAA,EAAA,IAESF,KAAoBA,EAAiB,cACxC;AAAA,IACN,QAAQ,EAAE,YAAAf,GAAY,4BAAAG,GAA4B,MAAAF,GAAM,WAAAC,EAAA;AAAA,IACxD,YAAYS;AAAA,IACZ,SAASE;AAAA,IACT,kBAAAE;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IAIK;AAAA,IACN,QAAQ,EAAE,YAAAjB,GAAY,4BAAAG,GAA4B,MAAAF,GAAM,WAAAC,EAAA;AAAA,IACxD,kBAAAa;AAAA,IACA,SAASF;AAAA,IACT,UAAAI;AAAA,EAAA,GAEC;AAAA,IACFjB;AAAA,IACAC;AAAA,IACAC;AAAA,IACAS;AAAA,IACAE;AAAA,IACAE;AAAA,IACAC;AAAA,IACAC;AAAA,IACAd;AAAA,EAAA,CACA,GAEKmB,IAAaC,EAAgBH,GAAiBF,CAAO;AAI3D,SACC,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,YAJwBpB,KAA+BC,KAAiB,CAAC,CAACC,IAI1CE,IAAuBa;AAAA,MACvD,mBACCP,MAAqB,UAAcA,KAAoBA,EAAiB;AAAA,IAAA;AAAA,EAAA;AAI5E;"}
|
package/Autocomplete_new.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete_new.js","sources":["../../src/filter/filters/smartfilters/Metaproperties/Autocomplete_new.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { Flex, Form, Input, token, TruncatedText } from '@bynder/design-system';\nimport { IconCheckCircle } from '@bynder/icons';\nimport { __ } from '@src/localization';\nimport { AutocompleteOptions } from '@src/api/rest/autocomplete';\nimport { Spinner } from '@src/Components';\nimport { Metaproperty, MetapropertyOption } from '@src/api/types/getFilters_new';\nimport { SmartfilterSelectedOptionType, AutocompleteOption } from '@src/api/rest/types';\n\ntype Props = {\n\tmetaproperty: Metaproperty;\n\tvalue: string;\n\tonChange: (metapropertyId: string, value: string) => void;\n\tonOptionSelect: (\n\t\tmetapropertyName: string,\n\t\toption: MetapropertyOption | AutocompleteOption,\n\t\tisMultifilter: boolean,\n\t) => void;\n\tautocompleteOptions: AutocompleteOptions;\n\tisLoading: boolean;\n\tselectedOptions: Record<string, Record<string, SmartfilterSelectedOptionType>>;\n};\n\nexport const Autocomplete = ({\n\tmetaproperty,\n\tvalue,\n\tonChange,\n\tonOptionSelect,\n\tautocompleteOptions,\n\tisLoading,\n\tselectedOptions,\n}: Props) => {\n\tconst { label, name: metapropertyName, id: metapropertyId } = metaproperty;\n\tconst handleChange = (inputValue: string) => {\n\t\tonChange(metapropertyId, inputValue);\n\t};\n\n\treturn (\n\t\t<DropdownContentContainer>\n\t\t\t<Flex direction=\"column\">\n\t\t\t\t<FormParent>\n\t\t\t\t\t<FormGroup $isLoading={isLoading}>\n\t\t\t\t\t\t<FormLabel\n\t\t\t\t\t\t\tdata-testid=\"metaproperty-title\"\n\t\t\t\t\t\t\t$isLoading={isLoading}\n\t\t\t\t\t\t\thtmlFor=\"Project Code\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TruncatedText>{label}</TruncatedText>\n\t\t\t\t\t\t</FormLabel>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tid=\"Project Code\"\n\t\t\t\t\t\t\tplaceholder={__('Want to search for something?')}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\t\tdata-testid=\"autocomplete-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{isLoading && <Spinner isNotUsingMargin />}\n\t\t\t\t\t</FormGroup>\n\t\t\t\t</FormParent>\n\t\t\t\t<ResultsParent\n\t\t\t\t\t$autocompleteOptions={\n\t\t\t\t\t\tautocompleteOptions[metapropertyId]?.metapropertyOptions.length\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{autocompleteOptions[metapropertyId]?.metapropertyOptions?.length ? (\n\t\t\t\t\t\t<Flex direction=\"column\">\n\t\t\t\t\t\t\t{autocompleteOptions[metapropertyId]?.metapropertyOptions.map(\n\t\t\t\t\t\t\t\t(result: AutocompleteOption) => (\n\t\t\t\t\t\t\t\t\t<AutocompleteOptionElement\n\t\t\t\t\t\t\t\t\t\t$isLoading={isLoading}\n\t\t\t\t\t\t\t\t\t\t$isSelected={\n\t\t\t\t\t\t\t\t\t\t\t!!selectedOptions[metapropertyName]?.[result.id]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tkey={result.id}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"autocomplete-option\"\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\tonOptionSelect(\n\t\t\t\t\t\t\t\t\t\t\t\tmetapropertyName,\n\t\t\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\t\t\t!!metaproperty.isMultifilter,\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{result.label}\n\t\t\t\t\t\t\t\t\t\t{selectedOptions[metapropertyName]?.[result.id] ? (\n\t\t\t\t\t\t\t\t\t\t\t<SelectedOption className=\"fade-in-down\">\n\t\t\t\t\t\t\t\t\t\t\t\t<IconCheckCircle />\n\t\t\t\t\t\t\t\t\t\t\t</SelectedOption>\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t</AutocompleteOptionElement>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NoAutocompleteOption>\n\t\t\t\t\t\t\t{__('Results will appear here')}\n\t\t\t\t\t\t</NoAutocompleteOption>\n\t\t\t\t\t)}\n\t\t\t\t</ResultsParent>\n\t\t\t</Flex>\n\t\t</DropdownContentContainer>\n\t);\n};\n\nconst DropdownContentContainer = styled.div`\n\tborder-right: 1px solid rgba(3, 16, 38, 0.1);\n\tmin-width: 224px;\n\theight: 100%;\n`;\n\nconst FormParent = styled(Form)`\n\tpadding: ${token.spacing5};\n\tborder-bottom: 1px solid rgba(3, 16, 38, 0.1);\n\tbox-shadow: 0px 0px 1px 0px rgba(3, 16, 38, 0.1), 0px 1px 4px -1px rgba(3, 16, 38, 0.1);\n`;\n\nconst FormGroup = styled(Form.Group)<{ $isLoading: boolean }>`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: ${token.spacing5};\n\tpadding: 0;\n\tposition: relative;\n\n\tlabel {\n\t\tmargin-bottom: 0;\n\t}\n\n\tinput {\n\t\tcolor: ${(p) => (p.$isLoading ? 'rgba(3, 16, 38, 0.46)' : 'inherit')} !important;\n\t\tmin-width: 220px !important;\n\t}\n`;\n\nconst FormLabel = styled(Form.Label)<{ $isLoading: boolean }>`\n\tcolor: ${(p) => (p.$isLoading ? 'rgba(3, 16, 38, 0.46)' : 'rgba(3, 16, 38, 0.88)')};\n\tfont-weight: 600;\n`;\n\nconst ResultsParent = styled.div<{ $autocompleteOptions: boolean }>`\n\tdisplay: flex;\n\tjustify-content: ${(p) => (p.$autocompleteOptions ? 'flex-start' : 'center')};\n\talign-items: ${(p) => (p.$autocompleteOptions ? 'flex-start' : 'center')};\n\tbackground: ${(p) => (p.$autocompleteOptions ? '#fff' : '#f8f8f9')};\n\tpadding: ${token.spacing3} 0;\n\theight: 100%;\n\tmin-height: 315px;\n`;\n\nconst AutocompleteOptionElement = styled.div<{ $isLoading: boolean; $isSelected: boolean }>`\n\tdisplay: ${(p) => (p.$isSelected ? 'flex' : 'block')};\n\tjustify-content: ${(p) => (p.$isSelected ? 'space-between' : 'flex-start')};\n\tcursor: pointer;\n\tpadding: ${token.spacing3} ${token.spacing5};\n\tcolor: ${(p) => (p.$isLoading ? 'rgba(3, 16, 38, 0.46)' : 'inherit')};\n\n\t&:hover {\n\t\tbackground-color: rgba(3, 16, 38, 0.03);\n\t}\n`;\n\nconst NoAutocompleteOption = styled.div`\n\tcolor: rgba(3, 16, 38, 0.46);\n`;\n\nconst SelectedOption = styled.span`\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0 ${token.spacing3};\n\tcolor: rgba(0, 34, 51, 0.8);\n\tbackground-color: #f7f8f9;\n\tborder: 1px solid rgba(0, 34, 51, 0.1);\n\tborder-radius: ${token.spacing5};\n\n\tsvg {\n\t\tmax-width: ${token.spacing5};\n\t\tmax-height: ${token.spacing5};\n\t\tmargin-right: ${token.spacing2};\n\t}\n`;\n"],"names":["Autocomplete","metaproperty","value","onChange","onOptionSelect","autocompleteOptions","isLoading","selectedOptions","label","metapropertyName","metapropertyId","handleChange","inputValue","jsx","DropdownContentContainer","jsxs","Flex","FormParent","FormGroup","FormLabel","TruncatedText","Input","__","Spinner","ResultsParent","result","AutocompleteOptionElement","SelectedOption","IconCheckCircle","NoAutocompleteOption","styled","Form","token","p"],"mappings":"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"}
|
package/ButtonAction.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonAction.js","sources":["../../src/select/add-media/ButtonAction.tsx"],"sourcesContent":["import React from 'react';\nimport { IconCheck } from '@bynder/icons';\n\nimport { __ } from '../../localization';\nimport { pluralize } from '../../utils/text';\nimport { State } from './addMedia.type';\n\nexport function ButtonAction({\n\tstatus,\n\tnumberOfSelectedItems,\n}: {\n\tstatus: State['status'];\n\tnumberOfSelectedItems: number;\n}) {\n\tif (status === 'Done') {\n\t\treturn <IconCheck data-testid=\"check\" />;\n\t} else if (status === 'Error') {\n\t\treturn <>{__('Retry')}</>;\n\t}\n\n\treturn <>{pluralize(numberOfSelectedItems, __('Add asset'), __('Add assets'))}</>;\n}\n"],"names":["ButtonAction","status","numberOfSelectedItems","jsx","IconCheck","Fragment","__"],"mappings":";;;;AAOO,SAASA,EAAa;AAAA,EAC5B,QAAAC;AAAA,EACA,uBAAAC;AACD,GAGG;AACF,SAAID,MAAW,SACP,gBAAAE,EAACC,GAAA,EAAU,eAAY,QAAA,CAAQ,IAC5BH,MAAW,UACd,gBAAAE,EAAAE,GAAA,EAAG,UAAAC,EAAG,OAAO,GAAE,IAGhB,gBAAAH,EAAAE,GAAA,EAAG,YAAUH,GAAuBI,EAAG,WAAW,GAAGA,EAAG,YAAY,CAAC,EAAA,CAAE;AAC/E;"}
|
package/CardSkeleton.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardSkeleton.js","sources":["../../src/common/components/CardSkeleton.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { Card, token } from '@bynder/design-system';\n\nimport { Skeleton } from './Skeleton';\n\ninterface Props {\n\ttitle?: React.ReactNode;\n\trows: number;\n\tcolumns: number;\n}\n\nexport function CardSkeleton(props: Props) {\n\treturn (\n\t\t<>\n\t\t\t{Array(props.rows * props.columns)\n\t\t\t\t.fill(undefined)\n\t\t\t\t.map((value, index) => (\n\t\t\t\t\t<AssetCard\n\t\t\t\t\t\tkey={index} // eslint-disable-line react/no-array-index-key\n\t\t\t\t\t\tdata-testid=\"asset-card\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Card>\n\t\t\t\t\t\t\t<Card.Frame>{/* empty */}</Card.Frame>\n\n\t\t\t\t\t\t\t<Card.AdditionalInfo>\n\t\t\t\t\t\t\t\t<Skeleton width={70 + randomInteger(100, index)} />\n\t\t\t\t\t\t\t</Card.AdditionalInfo>\n\n\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t</Card>\n\t\t\t\t\t</AssetCard>\n\t\t\t\t))}\n\t\t</>\n\t);\n}\n\n/* Stateless Park-Miller PRNG\n *\n * Our own 'random' function is used rather than Math.random to ensure the same value is returned\n * for a specific skeleton item. We don't actually care about randomness, we just want some\n * variation in the appearance of the Skeleton items.\n *\n * If we used Math.random, the width of the Skeleton component will change if React rerenders the\n * component, even if to the user it appears to be the same UI element. */\nfunction randomInteger(max: number, seed: number) {\n\treturn ((16807 * (((seed + 20) % 2147483647) + 2147483646)) % 2147483647) % max;\n}\n\nconst AssetCard = styled.div`\n\twidth: 224px;\n\tposition: relative;\n\tmargin: ${token.spacing3};\n\talign-self: flex-start;\n`;\n"],"names":["CardSkeleton","props","jsx","Fragment","value","index","AssetCard","Card","Skeleton","randomInteger","max","seed","styled","token"],"mappings":";;;;AAYO,SAASA,EAAaC,GAAc;AAC1C,SACC,gBAAAC,EAAAC,GAAA,EACE,UAAA,MAAMF,EAAM,OAAOA,EAAM,OAAO,EAC/B,KAAK,MAAS,EACd,IAAI,CAACG,GAAOC,MACZ,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MAEA,eAAY;AAAA,MAEZ,4BAACC,GAAA,EACA,UAAA;AAAA,QAAA,gBAAAL,EAACK,EAAK,OAAL,EAAwB;AAAA,QAEzB,gBAAAL,EAACK,EAAK,gBAAL,EACA,UAAA,gBAAAL,EAACM,GAAA,EAAS,OAAO,KAAKC,EAAc,KAAKJ,CAAK,EAAA,CAAG,EAAA,CAClD;AAAA,QAECJ,EAAM;AAAA,MAAA,EAAA,CACR;AAAA,IAAA;AAAA,IAXKI;AAAA,EAAA,CAaN,GACH;AAEF;AAUA,SAASI,EAAcC,GAAaC,GAAc;AACjD,SAAS,UAAWA,IAAO,MAAM,aAAc,cAAe,aAAcD;AAC7E;AAEA,MAAMJ,IAAYM,EAAO;AAAA;AAAA;AAAA,WAGdC,EAAM,QAAQ;AAAA;AAAA;"}
|
package/Checkbox.styles.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.styles.js","sources":["../../src/common/components/Checkbox.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { token } from '@bynder/design-system';\n\nexport const StyledCheckboxWrapper = styled.div<{\n\t$isLoading?: boolean;\n\t$isChecked: boolean;\n\t$isFlex?: boolean;\n}>`\n\twidth: 100%;\n\tfont-size: ${token.fontSize75};\n\talign-items: center;\n\tcursor: ${(p) => (p.$isLoading && !p.$isChecked ? 'wait' : 'pointer')};\n\tdisplay: ${(p) => (p.$isFlex ? 'flex' : 'block')};\n\n\tdiv:last-of-type {\n\t\tflex-grow: 1;\n\t}\n`;\n\nexport const ListItem = styled.li`\n\tpadding: ${token.spacing3} ${token.spacing5};\n\n\t&:hover {\n\t\tbackground-color: ${token.gray25};\n\t}\n`;\n\nexport const Content = styled.div<{ $isChecked: boolean }>`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tcolor: ${(p) => (p.$isChecked ? 'inherit' : token.gray500)};\n\tfont-size: ${token.fontSize100};\n\tgap: ${token.spacing4};\n`;\n\nexport const Label = styled.span`\n\tdisplay: flex;\n\talign-items: center;\n\tmargin: ${token.spacing1} ${token.spacing4} ${token.spacing1} 0;\n\tflex-grow: 1;\n`;\n"],"names":["StyledCheckboxWrapper","styled","token","p","ListItem","Content"],"mappings":";;AAGO,MAAMA,IAAwBC,EAAO;AAAA;AAAA,cAM9BC,EAAM,UAAU;AAAA;AAAA,WAEnB,CAACC,MAAOA,EAAE,cAAc,CAACA,EAAE,aAAa,SAAS,SAAU;AAAA,YAC1D,CAACA,MAAOA,EAAE,UAAU,SAAS,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAOpCC,IAAWH,EAAO;AAAA,YACnBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA;AAAA,sBAGtBA,EAAM,MAAM;AAAA;AAAA,GAIrBG,IAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA,UAIpB,CAACE,MAAOA,EAAE,aAAa,YAAYD,EAAM,OAAQ;AAAA,cAC7CA,EAAM,WAAW;AAAA,QACvBA,EAAM,QAAQ;AAAA;AAGDD,EAAO;AAAA;AAAA;AAAA,WAGjBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA;"}
|
package/Chip.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","sources":["../../src/common/components/Chip.tsx"],"sourcesContent":["import React from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { handleEnter } from '../../accesibility/helpers';\n\ninterface Props {\n\tloading?: boolean;\n\tactive?: boolean;\n\tonClick?: () => void;\n\tchildren: React.ReactNode;\n\t['data-testid']?: string;\n}\n\nexport function Chip(props: Props) {\n\treturn (\n\t\t<ChipContainer\n\t\t\tonClick={props.onClick}\n\t\t\tonKeyDown={(e) => handleEnter(e, props.onClick)}\n\t\t\trole=\"button\"\n\t\t\ttabIndex={0}\n\t\t\tdata-testid={props['data-testid']}\n\t\t\tloading={props.loading}\n\t\t\tactive={props.active}\n\t\t>\n\t\t\t{props.children}\n\t\t</ChipContainer>\n\t);\n}\n\nconst ChipContainer = styled.div<{ loading?: boolean; active?: boolean }>`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\tborder-radius: calc(infinity * 1px);\n\tfont-size: ${token.fontSize75};\n\theight: ${token.spacing7};\n\tpadding: 0 ${token.spacing4};\n\ttransition-property: color, background-color, border-color, opacity;\n\ttransition-timing-function: linear;\n\ttransition-duration: 0.05s;\n\n\tmargin-right: ${token.spacing3};\n\tmargin-bottom: ${token.spacing3};\n\tborder: 1px solid rgba(0, 34, 51, 0.1);\n\tbox-shadow: 0 1px 6px -2px rgba(0, 34, 51, 0.1);\n\tcursor: ${({ loading, active }) => (loading && !active ? 'default' : 'pointer')};\n\tbackground-color: ${({ active }) => (active ? 'rgba(0, 34, 51, .05)' : 'transparent')};\n`;\n"],"names":["Chip","props","jsx","ChipContainer","e","handleEnter","styled","token","loading","active"],"mappings":";;;;AAcO,SAASA,EAAKC,GAAc;AAClC,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAASF,EAAM;AAAA,MACf,WAAW,CAACG,MAAMC,EAAYD,GAAGH,EAAM,OAAO;AAAA,MAC9C,MAAK;AAAA,MACL,UAAU;AAAA,MACV,eAAaA,EAAM,aAAa;AAAA,MAChC,SAASA,EAAM;AAAA,MACf,QAAQA,EAAM;AAAA,MAEb,UAAAA,EAAM;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAME,IAAgBG,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMfC,EAAM,UAAU;AAAA,WACnBA,EAAM,QAAQ;AAAA,cACXA,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKXA,EAAM,QAAQ;AAAA,kBACbA,EAAM,QAAQ;AAAA;AAAA;AAAA,WAGrB,CAAC,EAAE,SAAAC,GAAS,QAAAC,EAAA,MAAcD,KAAW,CAACC,IAAS,YAAY,SAAU;AAAA,qBAC3D,CAAC,EAAE,QAAAA,EAAA,MAAcA,IAAS,yBAAyB,aAAc;AAAA;"}
|
package/CollectionCard.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionCard.js","sources":["../../src/views/collections/CollectionCard.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { IconOpenInNew } from '@bynder/icons';\nimport { Card, token } from '@bynder/design-system';\n\nimport { useConfig, useSelectionMode } from '../../app-config/ConfigContext';\nimport { __ } from '../../localization';\nimport { useRouter } from '@src/store/useRouterStore';\nimport { useSelection } from '../../select/SelectionContext';\nimport { pluralize } from '../../utils/text';\nimport { Collection as CollectionType } from '../collection/collection.types';\n\ninterface Props {\n\tcollection: CollectionType;\n\tfadeIn?: boolean;\n\tisSelected: boolean;\n\tstyle?: React.CSSProperties;\n}\n\nexport function CollectionCard({ collection, fadeIn = true, isSelected, style }: Props) {\n\tconst selectionMode = useSelectionMode();\n\tconst [, setPage] = useRouter();\n\tconst selectionState = useSelection();\n\tconst { hideExternalAccess } = useConfig();\n\n\treturn (\n\t\t<CollectionCardContainer id={collection.id} style={style} $fadeIn={fadeIn}>\n\t\t\t<Card\n\t\t\t\tcontextAction={\n\t\t\t\t\t!hideExternalAccess && (\n\t\t\t\t\t\t<Card.ContextActionButton\n\t\t\t\t\t\t\taria-label={__('Open in new tab')}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\twindow.open(collection.url, '_blank');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconOpenInNew />\n\t\t\t\t\t\t</Card.ContextActionButton>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tselectButtonAriaLabel={isSelected ? __('Deselect') : __('Select')}\n\t\t\t\tonSelect={\n\t\t\t\t\tselectionMode === 'MultiSelect'\n\t\t\t\t\t\t? (e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tselectionState.toggleCollection(collection);\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tisSelected={isSelected}\n\t\t\t\tonClick={() => setPage({ page: 'collection', collection })}\n\t\t\t\taria-selected={isSelected}\n\t\t\t\tdata-testid=\"asset-card\"\n\t\t\t>\n\t\t\t\t{/* Image(s) */}\n\t\t\t\t<Card.Frame>\n\t\t\t\t\t<Card.Images>\n\t\t\t\t\t\t{collection.thumbnailUrls.slice(0, 3).map((url) => (\n\t\t\t\t\t\t\t<Card.Img key={url} src={url} alt={collection.name} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Card.Images>\n\t\t\t\t</Card.Frame>\n\n\t\t\t\t{/* Name */}\n\t\t\t\t<Card.Header title={collection.name} data-testid=\"asset-name\" />\n\n\t\t\t\t{/* Total count */}\n\t\t\t\t<CollectionCardCount>\n\t\t\t\t\t{pluralize(collection.assetCount, __('{} asset'), __('{} assets'))}\n\t\t\t\t</CollectionCardCount>\n\t\t\t</Card>\n\t\t</CollectionCardContainer>\n\t);\n}\n\nconst CollectionCardContainer = styled.div<{ $fadeIn?: boolean }>`\n\twidth: 224px;\n\tposition: relative;\n\tmargin: ${token.spacing3};\n\talign-self: flex-start;\n\t${(p) => (p.$fadeIn ? `animation: var(--fade-in-down);` : '')}\n`;\n\nconst CollectionCardCount = styled.div`\n\tpadding: 0 0 ${token.spacing4} ${token.spacing5};\n\tmargin-top: -${token.spacing2};\n\tfont-size: ${token.fontSize75};\n\tcolor: rgba(0, 34, 51, 0.5);\n`;\n"],"names":["CollectionCard","collection","fadeIn","isSelected","style","selectionMode","useSelectionMode","setPage","useRouter","selectionState","useSelection","hideExternalAccess","useConfig","CollectionCardContainer","jsxs","Card","jsx","__","IconOpenInNew","e","url","CollectionCardCount","pluralize","styled","token","p"],"mappings":";;;;;;;;;AAmBO,SAASA,EAAe,EAAE,YAAAC,GAAY,QAAAC,IAAS,IAAM,YAAAC,GAAY,OAAAC,KAAgB;AACvF,QAAMC,IAAgBC,EAAA,GAChB,CAAA,EAAGC,CAAO,IAAIC,EAAA,GACdC,IAAiBC,EAAA,GACjB,EAAE,oBAAAC,EAAA,IAAuBC,EAAA;AAE/B,2BACEC,GAAA,EAAwB,IAAIZ,EAAW,IAAI,OAAAG,GAAc,SAASF,GAClE,UAAA,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,eACC,CAACJ,KACA,gBAAAK;AAAA,QAACD,EAAK;AAAA,QAAL;AAAA,UACA,cAAYE,EAAG,iBAAiB;AAAA,UAChC,SAAS,MAAM;AACd,mBAAO,KAAKhB,EAAW,KAAK,QAAQ;AAAA,UACrC;AAAA,UAEA,4BAACiB,GAAA,CAAA,CAAc;AAAA,QAAA;AAAA,MAAA;AAAA,MAIlB,uBAAuBf,IAAac,EAAG,UAAU,IAAIA,EAAG,QAAQ;AAAA,MAChE,UACCZ,MAAkB,gBACf,CAACc,MAAM;AACP,QAAAA,EAAE,gBAAA,GACFV,EAAe,iBAAiBR,CAAU;AAAA,MAC1C,IACA;AAAA,MAEJ,YAAAE;AAAA,MACA,SAAS,MAAMI,EAAQ,EAAE,MAAM,cAAc,YAAAN,GAAY;AAAA,MACzD,iBAAeE;AAAA,MACf,eAAY;AAAA,MAGZ,UAAA;AAAA,QAAA,gBAAAa,EAACD,EAAK,OAAL,EACA,UAAA,gBAAAC,EAACD,EAAK,QAAL,EACC,UAAAd,EAAW,cAAc,MAAM,GAAG,CAAC,EAAE,IAAI,CAACmB,MAC1C,gBAAAJ,EAACD,EAAK,KAAL,EAAmB,KAAKK,GAAK,KAAKnB,EAAW,KAAA,GAA/BmB,CAAqC,CACpD,EAAA,CACF,EAAA,CACD;AAAA,QAGA,gBAAAJ,EAACD,EAAK,QAAL,EAAY,OAAOd,EAAW,MAAM,eAAY,cAAa;AAAA,QAG9D,gBAAAe,EAACK,GAAA,EACC,UAAAC,EAAUrB,EAAW,YAAYgB,EAAG,UAAU,GAAGA,EAAG,WAAW,CAAC,EAAA,CAClE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEF;AAEF;AAEA,MAAMJ,IAA0BU,EAAO;AAAA;AAAA;AAAA,WAG5BC,EAAM,QAAQ;AAAA;AAAA,GAEtB,CAACC,MAAOA,EAAE,UAAU,oCAAoC,EAAG;AAAA,GAGxDJ,IAAsBE,EAAO;AAAA,gBACnBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA,gBAChCA,EAAM,QAAQ;AAAA,cAChBA,EAAM,UAAU;AAAA;AAAA;"}
|
package/CollectionItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionItem.js","sources":["../../src/select/current-selection/CollectionItem.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconCollection } from '@bynder/icons';\nimport { Thumbnail, token } from '@bynder/design-system';\n\nimport { __ } from '../../localization';\nimport { Collection } from '../../views/collection/collection.types';\nimport { useSelection } from '../SelectionContext';\nimport { pluralize } from '../../utils/text';\nimport { SelectedItemContainer } from './SelectedItemContainer';\n\nexport function CollectionItem({ collection }: { collection: Collection }) {\n\tconst selectionState = useSelection();\n\n\treturn (\n\t\t<SelectedItemContainer\n\t\t\ttitle={collection.name}\n\t\t\tonRemove={() => selectionState.toggleCollection(collection)}\n\t\t>\n\t\t\t<CollectionThumbnailWrapper>\n\t\t\t\t<Thumbnail variant=\"clean\" icon={<IconCollection />} />\n\t\t\t</CollectionThumbnailWrapper>\n\t\t\t<CollectionName>{collection.name}</CollectionName>\n\t\t\t<CollectionExtensionName>\n\t\t\t\t{pluralize(collection.assetCount, __('{} asset'), __('{} assets'))}\n\t\t\t</CollectionExtensionName>\n\t\t</SelectedItemContainer>\n\t);\n}\n\nconst CollectionThumbnailWrapper = styled.div`\n\tmargin-right: ${token.spacing4};\n`;\n\nconst CollectionName = styled.span`\n\twidth: 160px;\n\tmargin-right: ${token.spacing3};\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n`;\n\nconst CollectionExtensionName = styled.span`\n\tflex-grow: 1;\n\tcolor: rgba(0, 34, 51, 0.5);\n\tfont-size: ${token.fontSize75};\n\ttext-align: right;\n`;\n"],"names":["CollectionItem","collection","selectionState","useSelection","jsxs","SelectedItemContainer","jsx","CollectionThumbnailWrapper","Thumbnail","IconCollection","CollectionName","CollectionExtensionName","pluralize","__","styled","token"],"mappings":";;;;;;;;AAWO,SAASA,EAAe,EAAE,YAAAC,KAA0C;AAC1E,QAAMC,IAAiBC,EAAA;AAEvB,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAOJ,EAAW;AAAA,MAClB,UAAU,MAAMC,EAAe,iBAAiBD,CAAU;AAAA,MAE1D,UAAA;AAAA,QAAA,gBAAAK,EAACC,GAAA,EACA,4BAACC,GAAA,EAAU,SAAQ,SAAQ,MAAM,gBAAAF,EAACG,GAAA,CAAA,CAAe,EAAA,CAAI,EAAA,CACtD;AAAA,QACA,gBAAAH,EAACI,GAAA,EAAgB,UAAAT,EAAW,KAAA,CAAK;AAAA,QACjC,gBAAAK,EAACK,GAAA,EACC,UAAAC,EAAUX,EAAW,YAAYY,EAAG,UAAU,GAAGA,EAAG,WAAW,CAAC,EAAA,CAClE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH;AAEA,MAAMN,IAA6BO,EAAO;AAAA,iBACzBC,EAAM,QAAQ;AAAA,GAGzBL,IAAiBI,EAAO;AAAA;AAAA,iBAEbC,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA,GAMzBJ,IAA0BG,EAAO;AAAA;AAAA;AAAA,cAGzBC,EAAM,UAAU;AAAA;AAAA;"}
|
package/CollectionList.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionList.js","sources":["../../src/views/collections/CollectionList.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { CardSkeleton } from '../../common/components/CardSkeleton';\nimport { CollectionCard } from './CollectionCard';\nimport { useDimensions } from '../../common/hooks/useDimensions';\nimport { InfiniteScroll } from '../../common/components/InfiniteScroll';\nimport { NoResults } from '../../common/components/NoResults';\nimport { useSelectedCollectionIds } from '../../select/SelectionContext';\nimport { nbsp } from '../../utils/text';\nimport { Connection } from '../../api/graphql.types';\nimport { GraphqlResponse as GraphqlCollections } from '../../api/getCollections';\nimport { useSearchStore } from '@src/store/useSearchStore';\n\ninterface Props {\n\tconnection: Connection<GraphqlCollections>;\n}\n\nexport function CollectionList(props: Props) {\n\tconst [node, setNode] = useState<HTMLDivElement | null>(null);\n\tconst { dimensions } = useDimensions(node);\n\tconst selectedIds = useSelectedCollectionIds();\n\tconst { setSearch } = useSearchStore();\n\n\tconst { data, isLoading, loadMore, hasNextPage } = props.connection;\n\n\tconst count = dimensions !== undefined ? Math.ceil(dimensions.height / 184) : 0;\n\tconst collectionsPerRow =\n\t\tdimensions !== undefined ? Math.round((dimensions.width - 32) / 204) : 0;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"card-list\"\n\t\t\tref={(el) => {\n\t\t\t\tsetNode(el);\n\t\t\t}}\n\t\t>\n\t\t\t{(data.tag === 'Failure' || (data.tag === 'Loading' && !data.value)) && (\n\t\t\t\t<CardSkeleton\n\t\t\t\t\trows={count}\n\t\t\t\t\tcolumns={collectionsPerRow}\n\t\t\t\t\t// Empty row to match height with \"[n] files\"\n\t\t\t\t\ttitle={<CardSkeletonTitle>{nbsp}</CardSkeletonTitle>}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{data.tag === 'Loaded' && data.value?.collections.nodes.length === 0 && (\n\t\t\t\t<NoResults onReset={() => setSearch('collections', '')} />\n\t\t\t)}\n\n\t\t\t{((data.tag === 'Loading' && !!data.value) ||\n\t\t\t\t(data.tag === 'Loaded' && data.value.collections.nodes.length > 0)) && (\n\t\t\t\t<InfiniteScroll hasNextPage={hasNextPage} isLoading={isLoading} loadMore={loadMore}>\n\t\t\t\t\t{data.value?.collections.nodes.map((collection, index) => (\n\t\t\t\t\t\t<CollectionCard\n\t\t\t\t\t\t\tkey={collection.id}\n\t\t\t\t\t\t\tisSelected={selectedIds.includes(collection.id)}\n\t\t\t\t\t\t\tcollection={collection}\n\t\t\t\t\t\t\tfadeIn={index >= count * collectionsPerRow}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</InfiniteScroll>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nconst CardSkeletonTitle = styled.div`\n\tmargin-top: ${token.spacing3};\n\tfont-size: ${token.fontSize75};\n`;\n"],"names":["CollectionList","props","node","setNode","useState","dimensions","useDimensions","selectedIds","useSelectedCollectionIds","setSearch","useSearchStore","data","isLoading","loadMore","hasNextPage","count","collectionsPerRow","jsxs","el","jsx","CardSkeleton","CardSkeletonTitle","nbsp","NoResults","InfiniteScroll","collection","index","CollectionCard","styled","token"],"mappings":";;;;;;;;;;;;AAmBO,SAASA,EAAeC,GAAc;AAC5C,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAgC,IAAI,GACtD,EAAE,YAAAC,EAAA,IAAeC,EAAcJ,CAAI,GACnCK,IAAcC,EAAA,GACd,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhB,EAAE,MAAAC,GAAM,WAAAC,GAAW,UAAAC,GAAU,aAAAC,EAAA,IAAgBb,EAAM,YAEnDc,IAAQV,MAAe,SAAY,KAAK,KAAKA,EAAW,SAAS,GAAG,IAAI,GACxEW,IACLX,MAAe,SAAY,KAAK,OAAOA,EAAW,QAAQ,MAAM,GAAG,IAAI;AAExE,SACC,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,WAAU;AAAA,MACV,KAAK,CAACC,MAAO;AACZ,QAAAf,EAAQe,CAAE;AAAA,MACX;AAAA,MAEE,UAAA;AAAA,SAAAP,EAAK,QAAQ,aAAcA,EAAK,QAAQ,aAAa,CAACA,EAAK,UAC5D,gBAAAQ;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,MAAML;AAAA,YACN,SAASC;AAAA,YAET,OAAO,gBAAAG,EAACE,GAAA,EAAmB,UAAAC,EAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAIjCX,EAAK,QAAQ,YAAYA,EAAK,OAAO,YAAY,MAAM,WAAW,KAClE,gBAAAQ,EAACI,KAAU,SAAS,MAAMd,EAAU,eAAe,EAAE,GAAG;AAAA,SAGtDE,EAAK,QAAQ,aAAa,CAAC,CAACA,EAAK,SAClCA,EAAK,QAAQ,YAAYA,EAAK,MAAM,YAAY,MAAM,SAAS,MAChE,gBAAAQ,EAACK,GAAA,EAAe,aAAAV,GAA0B,WAAAF,GAAsB,UAAAC,GAC9D,UAAAF,EAAK,OAAO,YAAY,MAAM,IAAI,CAACc,GAAYC,MAC/C,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YAEA,YAAYpB,EAAY,SAASkB,EAAW,EAAE;AAAA,YAC9C,YAAAA;AAAA,YACA,QAAQC,KAASX,IAAQC;AAAA,UAAA;AAAA,UAHpBS,EAAW;AAAA,QAAA,CAKjB,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIJ;AAEA,MAAMJ,IAAoBO,EAAO;AAAA,eAClBC,EAAM,QAAQ;AAAA,cACfA,EAAM,UAAU;AAAA;"}
|
package/CollectionView.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionView.js","sources":["../../src/views/collection/CollectionView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useOrderingSelectors } from '@src/store/useOrderingStore';\nimport { useRouter } from '@src/store/useRouterStore';\nimport { Collection } from './collection.types';\nimport { useFilterAssets } from '@src/api/filterAssets';\nimport { __ } from '@src/localization';\nimport { StatefulAssetList } from '../asset/StatefulAssetList';\nimport { useAssetFilter } from '@src/filter/AssetFilterContext';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\ninterface Props {\n\tcollection: Collection;\n}\n\nexport function CollectionView(props: Props) {\n\tconst { value: searchValue } = useSearchStateByPage('collection');\n\tconst [, setPage] = useRouter();\n\tconst ordering = useOrderingSelectors.use.collection();\n\tconst { language, noCache } = useConfig();\n\tconst { assetTypes, tags, isLimited, selectedSmartfilterOptions } = useAssetFilter();\n\n\tconst {\n\t\tisSelected: isSimilaritySearchSelected,\n\t\tisNLSSelected,\n\t\tNLSSearchText,\n\t} = useSimilaritySearchStore();\n\tconst { connection: similarityConnection } = useSimilarityAssets();\n\n\tconst connection = useFilterAssets(\n\t\t{\n\t\t\tcollection: props.collection,\n\t\t\tfilter: { assetTypes, selectedSmartfilterOptions, tags, isLimited },\n\t\t\tsearchTerm: searchValue,\n\t\t\torderBy: ordering,\n\t\t\tlanguage,\n\t\t},\n\t\tnoCache,\n\t);\n\n\tconst isAISearchEnabled = isSimilaritySearchSelected || (isNLSSelected && NLSSearchText);\n\n\treturn (\n\t\t<>\n\t\t\t<CollectionViewNav data-testid=\"collection-toolbar\">\n\t\t\t\t<CollectionViewButton\n\t\t\t\t\tonClick={() => setPage({ page: 'collections' })}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t{__('Collections')}\n\t\t\t\t\t{' / '}\n\t\t\t\t</CollectionViewButton>\n\t\t\t\t<span> {props.collection.name} </span>\n\t\t\t</CollectionViewNav>\n\n\t\t\t<StatefulAssetList\n\t\t\t\tconnection={isAISearchEnabled ? similarityConnection : connection}\n\t\t\t\ttotalCount={props.collection.assetCount}\n\t\t\t\tshowActiveFilters\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst CollectionViewNav = styled.nav`\n\tpadding: ${token.spacing5} ${token.spacing5};\n`;\n\nconst CollectionViewButton = styled.button`\n\tcursor: pointer;\n\tuser-select: none;\n\tcolor: rgba(0, 34, 51, 0.5);\n\tbackground-color: transparent;\n\tbackground-image: none;\n\tborder: 0 solid rgba(0, 34, 51, 0.1);\n\tfont-size: ${token.fontSize100};\n\tpadding: 0;\n`;\n"],"names":["CollectionView","props","searchValue","useSearchStateByPage","setPage","useRouter","ordering","useOrderingSelectors","language","noCache","useConfig","assetTypes","tags","isLimited","selectedSmartfilterOptions","useAssetFilter","isSimilaritySearchSelected","isNLSSelected","NLSSearchText","useSimilaritySearchStore","similarityConnection","useSimilarityAssets","connection","useFilterAssets","isAISearchEnabled","jsxs","Fragment","CollectionViewNav","CollectionViewButton","__","jsx","StatefulAssetList","styled","token"],"mappings":";;;;;;;;;;;;;AAoBO,SAASA,EAAeC,GAAc;AAC5C,QAAM,EAAE,OAAOC,MAAgBC,EAAqB,YAAY,GAC1D,CAAA,EAAGC,CAAO,IAAIC,EAAA,GACdC,IAAWC,EAAqB,IAAI,WAAA,GACpC,EAAE,UAAAC,GAAU,SAAAC,EAAA,IAAYC,EAAA,GACxB,EAAE,YAAAC,GAAY,MAAAC,GAAM,WAAAC,GAAW,4BAAAC,EAAA,IAA+BC,EAAA,GAE9D;AAAA,IACL,YAAYC;AAAA,IACZ,eAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACGC,EAAA,GACE,EAAE,YAAYC,EAAA,IAAyBC,EAAA,GAEvCC,IAAaC;AAAA,IAClB;AAAA,MACC,YAAYtB,EAAM;AAAA,MAClB,QAAQ,EAAE,YAAAU,GAAY,4BAAAG,GAA4B,MAAAF,GAAM,WAAAC,EAAA;AAAA,MACxD,YAAYX;AAAA,MACZ,SAASI;AAAA,MACT,UAAAE;AAAA,IAAA;AAAA,IAEDC;AAAA,EAAA,GAGKe,IAAoBR,KAA+BC,KAAiBC;AAE1E,SACC,gBAAAO,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EAAkB,eAAY,sBAC9B,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACA,SAAS,MAAMxB,EAAQ,EAAE,MAAM,eAAe;AAAA,UAC9C,MAAK;AAAA,UAEJ,UAAA;AAAA,YAAAyB,EAAG,aAAa;AAAA,YAChB;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,wBAED,QAAA,EAAK,UAAA;AAAA,QAAA;AAAA,QAAE5B,EAAM,WAAW;AAAA,QAAK;AAAA,MAAA,EAAA,CAAC;AAAA,IAAA,GAChC;AAAA,IAEA,gBAAA6B;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,YAAYP,IAAoBJ,IAAuBE;AAAA,QACvD,YAAYrB,EAAM,WAAW;AAAA,QAC7B,mBAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACD;AAEF;AAEA,MAAM0B,IAAoBK,EAAO;AAAA,YACrBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA,GAGtCL,IAAuBI,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOtBC,EAAM,WAAW;AAAA;AAAA;"}
|
package/CollectionsView.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionsView.js","sources":["../../src/views/collections/CollectionsView.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useOrderingSelectors } from '@src/store/useOrderingStore';\nimport { Oops } from '../../error-handling/Oops';\nimport { DirectionSelect } from '../../order/DirectionSelect';\nimport { FieldSelect } from '../../order/FieldSelect';\nimport { pluralize } from '../../utils/text';\nimport { __ } from '../../localization';\nimport { CollectionList } from './CollectionList';\nimport { useGetCollections } from '../../api/getCollections';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\n\nexport function CollectionsView() {\n\tconst { value: searchTerm, setIsLoading } = useSearchStateByPage('collections');\n\tconst ordering = useOrderingSelectors.use.collections();\n\tconst { noCache } = useConfig();\n\n\tconst connection = useGetCollections(\n\t\t{\n\t\t\tsearchTerm,\n\t\t\torderBy: ordering,\n\t\t},\n\t\tnoCache,\n\t);\n\n\tuseEffect(() => {\n\t\tif (!connection.isLoading) {\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}, [connection.isLoading]); // eslint-disable-line\n\n\tif (connection.data.tag === 'Failure') {\n\t\treturn <Oops error={new Error(connection.data.value)} onRetry={connection.executeQuery} />;\n\t}\n\n\treturn (\n\t\t<CollectionsViewContainer data-testid=\"collections-view-container\">\n\t\t\t<CollectionsViewContent>\n\t\t\t\t{connection.data.value && (\n\t\t\t\t\t<CollectionsViewCount>\n\t\t\t\t\t\t{pluralize(\n\t\t\t\t\t\t\tconnection.data.value.collections.totalCount,\n\t\t\t\t\t\t\t__('{} collection'),\n\t\t\t\t\t\t\t__('{} collections'),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</CollectionsViewCount>\n\t\t\t\t)}\n\n\t\t\t\t{!connection.data.value && <span className=\"flex-grow\" />}\n\n\t\t\t\t<FieldSelect options={['CREATED_AT', 'NAME']} />\n\t\t\t\t<DirectionSelect />\n\t\t\t</CollectionsViewContent>\n\n\t\t\t<CollectionList connection={connection} />\n\t\t</CollectionsViewContainer>\n\t);\n}\n\nconst CollectionsViewContainer = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\toverflow-y: auto;\n`;\n\nconst CollectionsViewContent = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: ${token.spacing5} ${token.spacing5} ${token.spacing3} ${token.spacing5};\n\tz-index: 10;\n`;\n\nconst CollectionsViewCount = styled.span`\n\tcolor: rgba(0, 34, 51, 0.5);\n\tflex-shrink: 0;\n\tflex-grow: 1;\n\tanimation: fade-in-down 0.15s ease-out;\n`;\n"],"names":["CollectionsView","searchTerm","setIsLoading","useSearchStateByPage","ordering","useOrderingSelectors","noCache","useConfig","connection","useGetCollections","useEffect","jsx","Oops","jsxs","CollectionsViewContainer","CollectionsViewContent","CollectionsViewCount","pluralize","__","FieldSelect","DirectionSelect","CollectionList","styled","token"],"mappings":";;;;;;;;;;;;;;AAeO,SAASA,IAAkB;AACjC,QAAM,EAAE,OAAOC,GAAY,cAAAC,EAAA,IAAiBC,EAAqB,aAAa,GACxEC,IAAWC,EAAqB,IAAI,YAAA,GACpC,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEdC,IAAaC;AAAA,IAClB;AAAA,MACC,YAAAR;AAAA,MACA,SAASG;AAAA,IAAA;AAAA,IAEVE;AAAA,EAAA;AASD,SANAI,EAAU,MAAM;AACf,IAAKF,EAAW,aACfN,EAAa,EAAK;AAAA,EAEpB,GAAG,CAACM,EAAW,SAAS,CAAC,GAErBA,EAAW,KAAK,QAAQ,YACpB,gBAAAG,EAACC,GAAA,EAAK,OAAO,IAAI,MAAMJ,EAAW,KAAK,KAAK,GAAG,SAASA,EAAW,aAAA,CAAc,IAIxF,gBAAAK,EAACC,GAAA,EAAyB,eAAY,8BACrC,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EACC,UAAA;AAAA,MAAAP,EAAW,KAAK,SAChB,gBAAAG,EAACK,GAAA,EACC,UAAAC;AAAA,QACAT,EAAW,KAAK,MAAM,YAAY;AAAA,QAClCU,EAAG,eAAe;AAAA,QAClBA,EAAG,gBAAgB;AAAA,MAAA,GAErB;AAAA,MAGA,CAACV,EAAW,KAAK,SAAS,gBAAAG,EAAC,QAAA,EAAK,WAAU,aAAY;AAAA,wBAEtDQ,GAAA,EAAY,SAAS,CAAC,cAAc,MAAM,GAAG;AAAA,wBAC7CC,GAAA,CAAA,CAAgB;AAAA,IAAA,GAClB;AAAA,IAEA,gBAAAT,EAACU,KAAe,YAAAb,EAAA,CAAwB;AAAA,EAAA,GACzC;AAEF;AAEA,MAAMM,IAA2BQ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOlCP,IAAyBO,EAAO;AAAA;AAAA;AAAA,YAG1BC,EAAM,QAAQ,IAAIA,EAAM,QAAQ,IAAIA,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA,GAI1EP,IAAuBM,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/ConfigContext.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigContext.js","sources":["../../src/app-config/ConfigContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport { File } from '../select/file.type';\nimport { Config as ProvidedConfig, SelectionMode } from './appConfig.type';\n\ntype Config =\n\t// Required config options\n\tRequired<Pick<ProvidedConfig, 'language' | 'onSuccess' | 'assetTypes'>> &\n\t\t// Non-required options\n\t\tPick<\n\t\t\tProvidedConfig,\n\t\t\t| 'assetFieldSelection'\n\t\t\t| 'assetFilter'\n\t\t\t| 'hideExternalAccess'\n\t\t\t| 'defaultImageDerivativeName'\n\t\t\t| 'defaultVideoDerivativeName'\n\t\t\t| 'theme'\n\t\t\t| 'mode'\n\t\t\t| 'hideSwitch'\n\t\t\t| '__shouldAddOriginal__'\n\t\t\t| 'noCache'\n\t\t\t| 'selectAllOption'\n\t\t> & {\n\t\t\t// renamed option\n\t\t\tselectionMode: SelectionMode;\n\t\t};\n\nexport const defaultConfig: Config = {\n\tassetTypes: [],\n\tlanguage: 'en_US',\n\tonSuccess: (assets: unknown[], { selectedFile }: { selectedFile?: File }) =>\n\t\tconsole.log(assets, selectedFile), // eslint-disable-line no-console\n\tselectionMode: 'MultiSelect',\n\thideExternalAccess: false,\n};\n\nconst ConfigContext = createContext(defaultConfig);\n\nexport const ConfigProvider = ConfigContext.Provider;\nexport const useConfig = () => useContext(ConfigContext);\nexport const useTheme = () => useConfig().theme;\nexport const useAssetFilter = () => useConfig().assetFilter;\nexport const useSelectionMode = () => useConfig().selectionMode;\nexport const useHideSwitch = () => useConfig().hideSwitch;\n"],"names":["defaultConfig","assets","selectedFile","ConfigContext","createContext","ConfigProvider","useConfig","useContext","useAssetFilter","useSelectionMode","useHideSwitch"],"mappings":";AA2BO,MAAMA,IAAwB;AAAA,EACpC,YAAY,CAAA;AAAA,EACZ,UAAU;AAAA,EACV,WAAW,CAACC,GAAmB,EAAE,cAAAC,QAChC,QAAQ,IAAID,GAAQC,CAAY;AAAA;AAAA,EACjC,eAAe;AAAA,EACf,oBAAoB;AACrB,GAEMC,IAAgBC,EAAcJ,CAAa,GAEpCK,IAAiBF,EAAc,UAC/BG,IAAY,MAAMC,EAAWJ,CAAa,GAE1CK,IAAiB,MAAMF,IAAY,aACnCG,IAAmB,MAAMH,IAAY,eACrCI,IAAgB,MAAMJ,IAAY;"}
|
package/ConnectButton.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectButton.js","sources":["../../src/login/components/ConnectButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '@bynder/design-system';\n\nimport { __ } from '../../localization';\n\nexport function ConnectButton(props: {\n\tisValidDomain: boolean;\n\tisSubmitting: boolean;\n\tonClick: () => void;\n}) {\n\treturn (\n\t\t<Button\n\t\t\tvariant=\"primary\"\n\t\t\tisDisabled={!props.isValidDomain || props.isSubmitting}\n\t\t\tonClick={props.onClick}\n\t\t\tisLoading={props.isSubmitting}\n\t\t\tdata-testid=\"login-button\"\n\t\t>\n\t\t\t{__('Connect')}\n\t\t</Button>\n\t);\n}\n"],"names":["ConnectButton","props","jsx","Button"],"mappings":";;;AAKO,SAASA,EAAcC,GAI3B;AACF,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,YAAY,CAACF,EAAM,iBAAiBA,EAAM;AAAA,MAC1C,SAASA,EAAM;AAAA,MACf,WAAWA,EAAM;AAAA,MACjB,eAAY;AAAA,MAEX,YAAG,SAAS;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
|
package/Container.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","sources":["../../src/login/components/Container.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconCancel } from '@bynder/icons';\nimport { Button, token } from '@bynder/design-system';\n\nimport { useModalContext } from '../../common/components/Modal';\nimport { __ } from '../../localization';\n\nexport function Container(props: { children: React.ReactNode }) {\n\tconst modal = useModalContext();\n\n\treturn (\n\t\t<StyledContainer\n\t\t\tclassName=\"cv-root\"\n\t\t\tstyle={{\n\t\t\t\tminHeight: 320,\n\t\t\t}}\n\t\t>\n\t\t\t{modal !== null && (\n\t\t\t\t<StyledButtonWrapper>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"clean\"\n\t\t\t\t\t\tonClick={modal.onClose}\n\t\t\t\t\t\ttitle={__('Close')}\n\t\t\t\t\t\ticon={<IconCancel />}\n\t\t\t\t\t/>\n\t\t\t\t</StyledButtonWrapper>\n\t\t\t)}\n\n\t\t\t<StyledWrapper>{props.children}</StyledWrapper>\n\t\t</StyledContainer>\n\t);\n}\n\nconst StyledContainer = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tbackground-color: ${token.gray10};\n`;\n\nconst StyledButtonWrapper = styled.div`\n\tposition: absolute;\n\ttop: ${token.spacing4};\n\tright: ${token.spacing5};\n`;\n\nconst StyledWrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tfont-size: ${token.fontSize300};\n`;\n"],"names":["Container","props","modal","useModalContext","jsxs","StyledContainer","StyledButtonWrapper","jsx","Button","__","IconCancel","StyledWrapper","styled","token"],"mappings":";;;;;;AAQO,SAASA,EAAUC,GAAsC;AAC/D,QAAMC,IAAQC,EAAA;AAEd,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAO;AAAA,QACN,WAAW;AAAA,MAAA;AAAA,MAGX,UAAA;AAAA,QAAAH,MAAU,0BACTI,GAAA,EACA,UAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,SAAQ;AAAA,YACR,SAASN,EAAM;AAAA,YACf,OAAOO,EAAG,OAAO;AAAA,YACjB,wBAAOC,GAAA,CAAA,CAAW;AAAA,UAAA;AAAA,QAAA,GAEpB;AAAA,QAGD,gBAAAH,EAACI,GAAA,EAAe,UAAAV,EAAM,SAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlC;AAEA,MAAMI,IAAkBO,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAQVC,EAAM,MAAM;AAAA,GAG3BP,IAAsBM,EAAO;AAAA;AAAA,QAE3BC,EAAM,QAAQ;AAAA,UACZA,EAAM,QAAQ;AAAA,GAGlBF,IAAgBC,EAAO;AAAA;AAAA;AAAA,cAGfC,EAAM,WAAW;AAAA;"}
|
package/ContextAction.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContextAction.js","sources":["../../src/views/asset/asset-card/ContextAction.tsx"],"sourcesContent":["import React from 'react';\nimport { IconCrop, IconMore, IconOpenInNew } from '@bynder/icons';\nimport { Card, Dropdown } from '@bynder/design-system';\nimport { useConfig } from '../../../app-config/ConfigContext';\nimport { __ } from '../../../localization';\n\ninterface Props {\n\ttransformBaseUrl?: string;\n\tportalUrl: string;\n\tonOpenDAT: () => void;\n}\n\nexport function ContextAction({ transformBaseUrl, portalUrl, onOpenDAT }: Props) {\n\tconst { hideExternalAccess, selectionMode } = useConfig();\n\tconst showDat = selectionMode === 'SingleSelectFile' && transformBaseUrl;\n\n\tif (!showDat && hideExternalAccess) return null;\n\n\tif (!showDat && !hideExternalAccess)\n\t\treturn (\n\t\t\t<Card.ContextActionButton\n\t\t\t\taria-label={__('Open in new tab')}\n\t\t\t\tonClick={() => {\n\t\t\t\t\twindow.open(portalUrl, '_blank');\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<IconOpenInNew />\n\t\t\t</Card.ContextActionButton>\n\t\t);\n\n\tif (showDat && hideExternalAccess)\n\t\treturn (\n\t\t\t<Card.ContextActionButton aria-label=\"New transformation\" onClick={onOpenDAT}>\n\t\t\t\t<IconCrop />\n\t\t\t</Card.ContextActionButton>\n\t\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttrigger={({ isOpen, ...triggerProps }) => (\n\t\t\t\t<Card.ContextActionButton aria-label=\"Menu\" isPressed={isOpen} {...triggerProps}>\n\t\t\t\t\t<IconMore />\n\t\t\t\t</Card.ContextActionButton>\n\t\t\t)}\n\t\t\tisClosedOnScroll\n\t\t>\n\t\t\t<Dropdown.Item\n\t\t\t\ticon={<IconOpenInNew />}\n\t\t\t\tonClick={() => {\n\t\t\t\t\twindow.open(portalUrl, '_blank');\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tOpen asset\n\t\t\t</Dropdown.Item>\n\n\t\t\t<Dropdown.Divider />\n\t\t\t<Dropdown.Item icon={<IconCrop />} onClick={onOpenDAT}>\n\t\t\t\tNew transformation\n\t\t\t</Dropdown.Item>\n\t\t</Dropdown>\n\t);\n}\n"],"names":["ContextAction","transformBaseUrl","portalUrl","onOpenDAT","hideExternalAccess","selectionMode","useConfig","showDat","jsx","Card","__","IconOpenInNew","IconCrop","jsxs","Dropdown","isOpen","triggerProps","IconMore"],"mappings":";;;;;AAYO,SAASA,EAAc,EAAE,kBAAAC,GAAkB,WAAAC,GAAW,WAAAC,KAAoB;AAChF,QAAM,EAAE,oBAAAC,GAAoB,eAAAC,EAAA,IAAkBC,EAAA,GACxCC,IAAUF,MAAkB,sBAAsBJ;AAExD,SAAI,CAACM,KAAWH,IAA2B,OAEvC,CAACG,KAAW,CAACH,IAEf,gBAAAI;AAAA,IAACC,EAAK;AAAA,IAAL;AAAA,MACA,cAAYC,EAAG,iBAAiB;AAAA,MAChC,SAAS,MAAM;AACd,eAAO,KAAKR,GAAW,QAAQ;AAAA,MAChC;AAAA,MAEA,4BAACS,GAAA,CAAA,CAAc;AAAA,IAAA;AAAA,EAAA,IAIdJ,KAAWH,IAEb,gBAAAI,EAACC,EAAK,qBAAL,EAAyB,cAAW,sBAAqB,SAASN,GAClE,UAAA,gBAAAK,EAACI,GAAA,CAAA,CAAS,EAAA,CACX,IAID,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAAS,CAAC,EAAE,QAAAC,GAAQ,GAAGC,EAAA,MACtB,gBAAAR,EAACC,EAAK,qBAAL,EAAyB,cAAW,QAAO,WAAWM,GAAS,GAAGC,GAClE,UAAA,gBAAAR,EAACS,KAAS,GACX;AAAA,MAED,kBAAgB;AAAA,MAEhB,UAAA;AAAA,QAAA,gBAAAT;AAAA,UAACM,EAAS;AAAA,UAAT;AAAA,YACA,wBAAOH,GAAA,EAAc;AAAA,YACrB,SAAS,MAAM;AACd,qBAAO,KAAKT,GAAW,QAAQ;AAAA,YAChC;AAAA,YACA,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAID,gBAAAM,EAACM,EAAS,SAAT,EAAiB;AAAA,QAClB,gBAAAN,EAACM,EAAS,MAAT,EAAc,wBAAOF,GAAA,CAAA,CAAS,GAAI,SAAST,GAAW,UAAA,qBAAA,CAEvD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH;"}
|
package/Dat.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dat.js","sources":["../../src/Dat/Dat.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport styled from 'styled-components';\nimport { Button, Modal, token } from '@bynder/design-system';\nimport { DATBuilder, Preset } from '@bynder/dat-frontend';\n\nimport { useRootElement } from '../style/RootElementContext';\nimport { Transformation } from './types';\nimport { useDat } from '@src/store/useDatStore';\n\nexport function Dat() {\n\tconst root = useRootElement();\n\tconst [portalDiv, setPortalDiv] = useState<Element>();\n\tconst [backModal, setBackModal] = useState<Transformation | undefined>();\n\n\tconst {\n\t\tdatUrl: transformBaseUrl,\n\t\tassetName,\n\t\tdatExtension: extension,\n\t\ttransformation,\n\t\tcloseDat,\n\t\tsetTransformation,\n\t} = useDat();\n\n\tuseEffect(() => {\n\t\tconst div = root.querySelector('.cv-root');\n\n\t\tif (div) {\n\t\t\tsetPortalDiv(div);\n\t\t}\n\t}, [root]);\n\n\tconst onApply = (url?: string, preset?: Preset) => {\n\t\tif (url && transformation) {\n\t\t\tsetTransformation({ url, preset, asset: transformation.asset });\n\t\t}\n\n\t\tcloseDat();\n\t};\n\n\tconst onDone = (url: string, preset: Preset) => {\n\t\tif (hasActiveChanges(preset) && transformation) {\n\t\t\tsetBackModal({ url, preset, asset: transformation.asset });\n\t\t} else {\n\t\t\tonApply(url, preset);\n\t\t}\n\t};\n\n\tconst closeBackModal = () => setBackModal(undefined);\n\n\tconst applyFromBackModal = () => {\n\t\tonApply(backModal?.url, backModal?.preset);\n\t\tcloseBackModal();\n\t};\n\n\tconst discard = () => {\n\t\tsetTransformation(undefined);\n\t\tcloseBackModal();\n\t\tcloseDat();\n\t};\n\n\tconst hasActiveChanges = (preset: Preset) => preset.content.io.length > 0;\n\n\tif (!portalDiv) return null;\n\n\treturn createPortal(\n\t\t<Container>\n\t\t\t<StyledDatUi\n\t\t\t\tmediaInfo={{\n\t\t\t\t\textension,\n\t\t\t\t\tbaseURL: transformBaseUrl,\n\t\t\t\t\tname: assetName,\n\t\t\t\t\twidth: 1,\n\t\t\t\t\theight: 1,\n\t\t\t\t}}\n\t\t\t\tcanViewPresets={false}\n\t\t\t\tcanViewTransformations\n\t\t\t\thideBottomBar\n\t\t\t\tonApply={onApply}\n\t\t\t\tonDone={onDone}\n\t\t\t\tonBack={onDone}\n\t\t\t\tinitialTransformations={transformation?.preset?.content.io}\n\t\t\t/>\n\n\t\t\t<Modal\n\t\t\t\tisOpen={!!backModal}\n\t\t\t\ttitle=\"Transformations not yet applied\"\n\t\t\t\tcontainer={portalDiv}\n\t\t\t\tonClose={closeBackModal}\n\t\t\t\tactionPrimary={\n\t\t\t\t\t<Button variant=\"primary\" onClick={applyFromBackModal}>\n\t\t\t\t\t\tApply transformations\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t\tactionSecondary={\n\t\t\t\t\t<Button variant=\"secondary\" onClick={closeBackModal}>\n\t\t\t\t\t\tCancel\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t\tactionTertiary={\n\t\t\t\t\t<Button variant=\"secondary\" onClick={discard}>\n\t\t\t\t\t\tDiscard changes\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\tTransformations not yet applied. Do you want to apply transformations now, or\n\t\t\t\tdiscard changes?\n\t\t\t</Modal>\n\t\t</Container>,\n\t\tportalDiv,\n\t);\n}\n\nconst Container = styled.div`\n\tbackground-color: ${token.white};\n\tz-index: 999999;\n\toverflow: hidden;\n\tborder-radius: ${token.radiusBase};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tbox-shadow: 0 2px 12px 0 rgba(0, 34, 51, 0.1);\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n`;\n\nconst StyledDatUi = styled(DATBuilder)`\n\theight: 100%;\n\twidth: 100%;\n`;\n"],"names":["Dat","root","useRootElement","portalDiv","setPortalDiv","useState","backModal","setBackModal","transformBaseUrl","assetName","extension","transformation","closeDat","setTransformation","useDat","useEffect","div","onApply","url","preset","onDone","hasActiveChanges","closeBackModal","applyFromBackModal","discard","createPortal","Container","jsx","StyledDatUi","Modal","Button","styled","token","DATBuilder"],"mappings":";;;;;;;;AAUO,SAASA,IAAM;AACrB,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAWC,CAAY,IAAIC,EAAA,GAC5B,CAACC,GAAWC,CAAY,IAAIF,EAAA,GAE5B;AAAA,IACL,QAAQG;AAAA,IACR,WAAAC;AAAA,IACA,cAAcC;AAAA,IACd,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACGC,EAAA;AAEJ,EAAAC,EAAU,MAAM;AACf,UAAMC,IAAMf,EAAK,cAAc,UAAU;AAEzC,IAAIe,KACHZ,EAAaY,CAAG;AAAA,EAElB,GAAG,CAACf,CAAI,CAAC;AAET,QAAMgB,IAAU,CAACC,GAAcC,MAAoB;AAClD,IAAID,KAAOP,KACVE,EAAkB,EAAE,KAAAK,GAAK,QAAAC,GAAQ,OAAOR,EAAe,OAAO,GAG/DC,EAAA;AAAA,EACD,GAEMQ,IAAS,CAACF,GAAaC,MAAmB;AAC/C,IAAIE,EAAiBF,CAAM,KAAKR,IAC/BJ,EAAa,EAAE,KAAAW,GAAK,QAAAC,GAAQ,OAAOR,EAAe,OAAO,IAEzDM,EAAQC,GAAKC,CAAM;AAAA,EAErB,GAEMG,IAAiB,MAAMf,EAAa,MAAS,GAE7CgB,IAAqB,MAAM;AAChC,IAAAN,EAAQX,GAAW,KAAKA,GAAW,MAAM,GACzCgB,EAAA;AAAA,EACD,GAEME,IAAU,MAAM;AACrB,IAAAX,EAAkB,MAAS,GAC3BS,EAAA,GACAV,EAAA;AAAA,EACD,GAEMS,IAAmB,CAACF,MAAmBA,EAAO,QAAQ,GAAG,SAAS;AAExE,SAAKhB,IAEEsB;AAAA,sBACLC,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,WAAW;AAAA,YACV,WAAAlB;AAAA,YACA,SAASF;AAAA,YACT,MAAMC;AAAA,YACN,OAAO;AAAA,YACP,QAAQ;AAAA,UAAA;AAAA,UAET,gBAAgB;AAAA,UAChB,wBAAsB;AAAA,UACtB,eAAa;AAAA,UACb,SAAAQ;AAAA,UACA,QAAAG;AAAA,UACA,QAAQA;AAAA,UACR,wBAAwBT,GAAgB,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGzD,gBAAAgB;AAAA,QAACE;AAAA,QAAA;AAAA,UACA,QAAQ,CAAC,CAACvB;AAAA,UACV,OAAM;AAAA,UACN,WAAWH;AAAA,UACX,SAASmB;AAAA,UACT,eACC,gBAAAK,EAACG,GAAA,EAAO,SAAQ,WAAU,SAASP,GAAoB,UAAA,yBAEvD;AAAA,UAED,iBACC,gBAAAI,EAACG,GAAA,EAAO,SAAQ,aAAY,SAASR,GAAgB,UAAA,UAErD;AAAA,UAED,gBACC,gBAAAK,EAACG,GAAA,EAAO,SAAQ,aAAY,SAASN,GAAS,UAAA,mBAE9C;AAAA,UAED,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAGD,GACD;AAAA,IACArB;AAAA,EAAA,IA9CsB;AAgDxB;AAEA,MAAMuB,IAAYK,EAAO;AAAA,qBACJC,EAAM,KAAK;AAAA;AAAA;AAAA,kBAGdA,EAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAY5BJ,IAAcG,EAAOE,CAAU;AAAA;AAAA;AAAA;"}
|
package/DatDropdownItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatDropdownItem.js","sources":["../../src/Dat/DatDropdownItem.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { IconCrop, IconArrowRight } from '@bynder/icons';\nimport { List, Thumbnail } from '@bynder/design-system';\nimport { Asset } from '../views/asset/asset.type';\nimport { useDat } from '@src/store/useDatStore';\n\ninterface Props {\n\ttransformBaseUrl?: string;\n\tasset: Asset;\n\ttoggleDropdown: () => void;\n}\n\nexport function DatDropdownItem({ transformBaseUrl, asset, toggleDropdown }: Props) {\n\tconst { transformation, openDat } = useDat();\n\n\tconst [thumbnailUrl, setThumbnailUrl] = useState<string>();\n\tconst transformationAmount = transformation?.preset?.content?.io?.length ?? 0;\n\n\tuseEffect(() => {\n\t\t// Resize url to thumbnail size\n\t\tif (transformation?.url) {\n\t\t\tconst { url } = transformation;\n\t\t\tconst thumbnailSizeParam = 'io=transform:fill,width:40,height:40';\n\n\t\t\tif (url.includes('io=transform:fill')) {\n\t\t\t\tsetThumbnailUrl(\n\t\t\t\t\turl.replace(/io=transform:fill,width:[0-9]+,height:[0-9]+/, thumbnailSizeParam),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetThumbnailUrl(`${url}&${thumbnailSizeParam}`);\n\t\t}\n\t}, [transformation]);\n\n\tif (!transformBaseUrl) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<List.Divider />\n\t\t\t<ListItem\n\t\t\t\tthumbnail={\n\t\t\t\t\t!transformation || transformationAmount === 0 ? (\n\t\t\t\t\t\t<Thumbnail icon={<IconCrop />} data-testid=\"crop-icon\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Thumbnail\n\t\t\t\t\t\t\tvariant=\"content\"\n\t\t\t\t\t\t\timageUrl={thumbnailUrl}\n\t\t\t\t\t\t\tdata-testid=\"thumbnail-image\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\trightElements={<IconArrowRight />}\n\t\t\t\tonClick={() => {\n\t\t\t\t\ttoggleDropdown();\n\t\t\t\t\topenDat(transformBaseUrl, asset, asset.name);\n\t\t\t\t}}\n\t\t\t\tsubtext={\n\t\t\t\t\ttransformation && transformationAmount > 0\n\t\t\t\t\t\t? `${transformationAmount} transformation${\n\t\t\t\t\t\t\t\ttransformationAmount === 1 ? '' : 's'\n\t\t\t\t\t\t }`\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t>\n\t\t\t\tNew transformation\n\t\t\t</ListItem>\n\t\t</>\n\t);\n}\n\nconst ListItem = styled(List.Item)`\n\tmax-width: 100%;\n\twidth: 340px;\n\tmargin-left: 0;\n`;\n"],"names":["DatDropdownItem","transformBaseUrl","asset","toggleDropdown","transformation","openDat","useDat","thumbnailUrl","setThumbnailUrl","useState","transformationAmount","useEffect","url","thumbnailSizeParam","jsxs","Fragment","jsx","List","ListItem","Thumbnail","IconCrop","IconArrowRight","styled"],"mappings":";;;;;;AAaO,SAASA,EAAgB,EAAE,kBAAAC,GAAkB,OAAAC,GAAO,gBAAAC,KAAyB;AACnF,QAAM,EAAE,gBAAAC,GAAgB,SAAAC,EAAA,IAAYC,EAAA,GAE9B,CAACC,GAAcC,CAAe,IAAIC,EAAA,GAClCC,IAAuBN,GAAgB,QAAQ,SAAS,IAAI,UAAU;AAkB5E,SAhBAO,EAAU,MAAM;AAEf,QAAIP,GAAgB,KAAK;AACxB,YAAM,EAAE,KAAAQ,MAAQR,GACVS,IAAqB;AAE3B,MAAID,EAAI,SAAS,mBAAmB,KACnCJ;AAAA,QACCI,EAAI,QAAQ,gDAAgDC,CAAkB;AAAA,MAAA,GAIhFL,EAAgB,GAAGI,CAAG,IAAIC,CAAkB,EAAE;AAAA,IAC/C;AAAA,EACD,GAAG,CAACT,CAAc,CAAC,GAEdH,IAGJ,gBAAAa,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,EAAK,SAAL,EAAa;AAAA,IACd,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,WACC,CAACd,KAAkBM,MAAyB,IAC3C,gBAAAM,EAACG,GAAA,EAAU,MAAM,gBAAAH,EAACI,GAAA,CAAA,CAAS,GAAI,eAAY,aAAY,IAEvD,gBAAAJ;AAAA,UAACG;AAAA,UAAA;AAAA,YACA,SAAQ;AAAA,YACR,UAAUZ;AAAA,YACV,eAAY;AAAA,UAAA;AAAA,QAAA;AAAA,QAIf,iCAAgBc,GAAA,EAAe;AAAA,QAC/B,SAAS,MAAM;AACd,UAAAlB,EAAA,GACAE,EAAQJ,GAAkBC,GAAOA,EAAM,IAAI;AAAA,QAC5C;AAAA,QACA,SACCE,KAAkBM,IAAuB,IACtC,GAAGA,CAAoB,kBACvBA,MAAyB,IAAI,KAAK,GAClC,KACA;AAAA,QAEJ,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACD,IAhC6B;AAkC/B;AAEA,MAAMQ,IAAWI,EAAOL,EAAK,IAAI;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DesignSystemContext.js","sources":["../../src/style/DesignSystemContext.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheetManager } from 'styled-components';\nimport { DesignSystemProvider as BaseDesignSystemProvider } from '@bynder/design-system';\n\nimport { useRootElement } from './RootElementContext';\n\nexport function DesignSystemProvider(props: { children: React.ReactNode }) {\n\tconst rootElement = useRootElement();\n\n\treturn (\n\t\t<StyleSheetManager target={rootElement}>\n\t\t\t<BaseDesignSystemProvider zIndexBase={1000000}>\n\t\t\t\t{props.children}\n\t\t\t</BaseDesignSystemProvider>\n\t\t</StyleSheetManager>\n\t);\n}\n"],"names":["DesignSystemProvider","props","rootElement","useRootElement","jsx","StyleSheetManager","BaseDesignSystemProvider"],"mappings":";;;;AAMO,SAASA,EAAqBC,GAAsC;AAC1E,QAAMC,IAAcC,EAAA;AAEpB,SACC,gBAAAC,EAACC,GAAA,EAAkB,QAAQH,GAC1B,UAAA,gBAAAE,EAACE,KAAyB,YAAY,KACpC,UAAAL,EAAM,SAAA,CACR,GACD;AAEF;"}
|
package/DirectionSelect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DirectionSelect.js","sources":["../../src/order/DirectionSelect.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconSortOrder } from '@bynder/icons';\nimport { Button, token } from '@bynder/design-system';\n\nimport { __ } from '../localization';\nimport { Direction, useOrderingByPage } from '@src/store/useOrderingStore';\nimport { useRouterSelectors } from '@src/store/useRouterStore';\n\nexport function DirectionSelect({ nlSearch = false }: { nlSearch?: boolean }) {\n\tconst page = useRouterSelectors.use.page();\n\tconst [ordering, setOrdering] = useOrderingByPage(page.page);\n\n\tconst titleOfDirectionMap = {\n\t\tASC: __('Ascending'),\n\t\tDESC: __('Descending'),\n\t};\n\n\tconst oppositeDirectionMap: Record<Direction, Direction> = {\n\t\tASC: 'DESC',\n\t\tDESC: 'ASC',\n\t};\n\n\tfunction handleClick() {\n\t\tsetOrdering({ field: ordering.field, direction: oppositeDirectionMap[ordering.direction] });\n\t}\n\n\treturn (\n\t\t<SortButton\n\t\t\tvariant=\"clean\"\n\t\t\tisSmall\n\t\t\ttitle={titleOfDirectionMap[ordering.direction]}\n\t\t\tonClick={handleClick}\n\t\t\ticon={<SortIcon $isAscending={ordering.direction === 'ASC'} />}\n\t\t\tisDisabled={nlSearch}\n\t\t/>\n\t);\n}\n\nconst SortButton = styled(Button)`\n\tborder-radius: 5px 0 0 5px;\n\tborder: 1px solid #d9dee1;\n\theight: 42px;\n`;\n\nconst SortIcon = styled(IconSortOrder)<{ $isAscending: boolean }>`\n\twidth: ${token.spacing6};\n\theight: ${token.spacing6};\n\t${(p) => p.$isAscending && `transform: scaleY(-1)`}\n`;\n"],"names":["DirectionSelect","nlSearch","page","useRouterSelectors","ordering","setOrdering","useOrderingByPage","titleOfDirectionMap","__","oppositeDirectionMap","handleClick","jsx","SortButton","SortIcon","styled","Button","IconSortOrder","token","p"],"mappings":";;;;;;;AASO,SAASA,EAAgB,EAAE,UAAAC,IAAW,MAAiC;AAC7E,QAAMC,IAAOC,EAAmB,IAAI,KAAA,GAC9B,CAACC,GAAUC,CAAW,IAAIC,EAAkBJ,EAAK,IAAI,GAErDK,IAAsB;AAAA,IAC3B,KAAKC,EAAG,WAAW;AAAA,IACnB,MAAMA,EAAG,YAAY;AAAA,EAAA,GAGhBC,IAAqD;AAAA,IAC1D,KAAK;AAAA,IACL,MAAM;AAAA,EAAA;AAGP,WAASC,IAAc;AACtB,IAAAL,EAAY,EAAE,OAAOD,EAAS,OAAO,WAAWK,EAAqBL,EAAS,SAAS,GAAG;AAAA,EAC3F;AAEA,SACC,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,SAAO;AAAA,MACP,OAAOL,EAAoBH,EAAS,SAAS;AAAA,MAC7C,SAASM;AAAA,MACT,MAAM,gBAAAC,EAACE,GAAA,EAAS,cAAcT,EAAS,cAAc,OAAO;AAAA,MAC5D,YAAYH;AAAA,IAAA;AAAA,EAAA;AAGf;AAEA,MAAMW,IAAaE,EAAOC,CAAM;AAAA;AAAA;AAAA;AAAA,GAM1BF,IAAWC,EAAOE,CAAa;AAAA,UAC3BC,EAAM,QAAQ;AAAA,WACbA,EAAM,QAAQ;AAAA,GACtB,CAACC,MAAMA,EAAE,gBAAgB,uBAAuB;AAAA;"}
|
package/DocumentIcon.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentIcon.js","sources":["../../src/common/components/DocumentIcon.tsx"],"sourcesContent":["import React from 'react';\n\nexport function DocumentIcon() {\n\treturn (\n\t\t<svg viewBox=\"0 5 60 82\" className=\"h-20\">\n\t\t\t<defs>\n\t\t\t\t<filter\n\t\t\t\t\tx=\"-1.7%\"\n\t\t\t\t\ty=\"-1.2%\"\n\t\t\t\t\twidth=\"103.3%\"\n\t\t\t\t\theight=\"105%\"\n\t\t\t\t\tfilterUnits=\"objectBoundingBox\"\n\t\t\t\t\tid=\"prefix__a\"\n\t\t\t\t>\n\t\t\t\t\t<feOffset dy=\"2\" in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0.133333333 0 0 0 0 0.2 0 0 0 0.05 0\"\n\t\t\t\t\t\tin=\"shadowOffsetOuter1\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t\t<filter\n\t\t\t\t\tx=\"-5%\"\n\t\t\t\t\ty=\"-5%\"\n\t\t\t\t\twidth=\"110%\"\n\t\t\t\t\theight=\"120%\"\n\t\t\t\t\tfilterUnits=\"objectBoundingBox\"\n\t\t\t\t\tid=\"prefix__c\"\n\t\t\t\t>\n\t\t\t\t\t<feOffset dy=\"2\" in=\"SourceAlpha\" result=\"shadowOffsetOuter1\" />\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\tvalues=\"0 0 0 0 0 0 0 0 0 0.133333333 0 0 0 0 0.2 0 0 0 0.05 0\"\n\t\t\t\t\t\tin=\"shadowOffsetOuter1\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t\t<path\n\t\t\t\t\td=\"M5 5h35l20 20v55a5 5 0 01-5 5H5a5 5 0 01-5-5V10a5 5 0 015-5z\"\n\t\t\t\t\tid=\"prefix__b\"\n\t\t\t\t/>\n\t\t\t\t<path d=\"M40 5l20 20H45a5 5 0 01-5-5V5z\" id=\"prefix__d\" />\n\t\t\t</defs>\n\t\t\t<g fill=\"none\" fillRule=\"evenodd\">\n\t\t\t\t<use fill=\"#000\" filter=\"url(#prefix__a)\" xlinkHref=\"#prefix__b\" />\n\t\t\t\t<use fill=\"#FFF\" xlinkHref=\"#prefix__b\" />\n\t\t\t\t<g fillRule=\"nonzero\">\n\t\t\t\t\t<use fill=\"#000\" filter=\"url(#prefix__c)\" xlinkHref=\"#prefix__d\" />\n\t\t\t\t\t<use fill=\"#FFF\" xlinkHref=\"#prefix__d\" />\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t);\n}\n"],"names":["DocumentIcon","jsxs","jsx"],"mappings":";AAEO,SAASA,IAAe;AAC9B,SACC,gBAAAC,EAAC,OAAA,EAAI,SAAQ,aAAY,WAAU,QAClC,UAAA;AAAA,IAAA,gBAAAA,EAAC,QAAA,EACA,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,GAAE;AAAA,UACF,GAAE;AAAA,UACF,OAAM;AAAA,UACN,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,IAAG;AAAA,UAEH,UAAA;AAAA,YAAA,gBAAAC,EAAC,cAAS,IAAG,KAAI,IAAG,eAAc,QAAO,sBAAqB;AAAA,YAC9D,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,QAAO;AAAA,gBACP,IAAG;AAAA,cAAA;AAAA,YAAA;AAAA,UACJ;AAAA,QAAA;AAAA,MAAA;AAAA,MAED,gBAAAD;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,GAAE;AAAA,UACF,GAAE;AAAA,UACF,OAAM;AAAA,UACN,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,IAAG;AAAA,UAEH,UAAA;AAAA,YAAA,gBAAAC,EAAC,cAAS,IAAG,KAAI,IAAG,eAAc,QAAO,sBAAqB;AAAA,YAC9D,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,QAAO;AAAA,gBACP,IAAG;AAAA,cAAA;AAAA,YAAA;AAAA,UACJ;AAAA,QAAA;AAAA,MAAA;AAAA,MAED,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,GAAE;AAAA,UACF,IAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAEJ,gBAAAA,EAAC,QAAA,EAAK,GAAE,kCAAiC,IAAG,YAAA,CAAY;AAAA,IAAA,GACzD;AAAA,IACA,gBAAAD,EAAC,KAAA,EAAE,MAAK,QAAO,UAAS,WACvB,UAAA;AAAA,MAAA,gBAAAC,EAAC,SAAI,MAAK,QAAO,QAAO,mBAAkB,WAAU,cAAa;AAAA,MACjE,gBAAAA,EAAC,OAAA,EAAI,MAAK,QAAO,WAAU,cAAa;AAAA,MACxC,gBAAAD,EAAC,KAAA,EAAE,UAAS,WACX,UAAA;AAAA,QAAA,gBAAAC,EAAC,SAAI,MAAK,QAAO,QAAO,mBAAkB,WAAU,cAAa;AAAA,QACjE,gBAAAA,EAAC,OAAA,EAAI,MAAK,QAAO,WAAU,aAAA,CAAa;AAAA,MAAA,EAAA,CACzC;AAAA,IAAA,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
|
package/DomainInput.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DomainInput.js","sources":["../../src/login/components/DomainInput.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { InputField, token } from '@bynder/design-system';\n\nimport { Spinner } from '../../common/components/Spinner';\nimport { __ } from '../../localization';\nimport { DomainStatus } from '../useAccountDomain';\n\ninterface Props {\n\tvalue: string;\n\tisReadOnly: boolean;\n\tstatus: DomainStatus;\n\tonSubmit: () => void;\n\tonChange: (value: string) => void;\n}\n\nexport function DomainInput({ status, isReadOnly, value, onChange, onSubmit }: Props) {\n\tfunction handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n\t\tif (status === 'valid' && event.keyCode === 13) {\n\t\t\tonSubmit();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Container>\n\t\t\t<InputField\n\t\t\t\ttype=\"url\"\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder=\"yourdomain.bynder.com\"\n\t\t\t\tlabel={__('Enter the portal domain')}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\tisInvalid={status === 'invalid'}\n\t\t\t\thelperText={status === 'invalid' && __('This portal domain does not exist')}\n\t\t\t\thasClearButton={status !== 'validating' && !isReadOnly}\n\t\t\t\ticonRight={\n\t\t\t\t\tstatus === 'validating' ? (\n\t\t\t\t\t\t<LoadingContainer role=\"alert\" aria-live=\"polite\">\n\t\t\t\t\t\t\t<Spinner isRelative isNotUsingMargin />\n\t\t\t\t\t\t</LoadingContainer>\n\t\t\t\t\t) : undefined\n\t\t\t\t}\n\t\t\t\tisDisabled={isReadOnly}\n\t\t\t\tdata-testid=\"login-input\"\n\t\t\t/>\n\t\t</Container>\n\t);\n}\n\nconst Container = styled.div`\n\tmargin: ${token.spacing4} 0;\n\twidth: 320px;\n`;\n\nconst LoadingContainer = styled.div`\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n`;\n// margin-top: -${token.spacing4};\n"],"names":["DomainInput","status","isReadOnly","value","onChange","onSubmit","handleKeyDown","event","Container","jsx","InputField","__","LoadingContainer","Spinner","styled","token"],"mappings":";;;;;AAgBO,SAASA,EAAY,EAAE,QAAAC,GAAQ,YAAAC,GAAY,OAAAC,GAAO,UAAAC,GAAU,UAAAC,KAAmB;AACrF,WAASC,EAAcC,GAA8C;AACpE,IAAIN,MAAW,WAAWM,EAAM,YAAY,MAC3CF,EAAA;AAAA,EAEF;AAEA,2BACEG,GAAA,EACA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,OAAAP;AAAA,MACA,aAAY;AAAA,MACZ,OAAOQ,EAAG,yBAAyB;AAAA,MACnC,UAAAP;AAAA,MACA,WAAWE;AAAA,MACX,WAAWL,MAAW;AAAA,MACtB,YAAYA,MAAW,aAAaU,EAAG,mCAAmC;AAAA,MAC1E,gBAAgBV,MAAW,gBAAgB,CAACC;AAAA,MAC5C,WACCD,MAAW,eACV,gBAAAQ,EAACG,GAAA,EAAiB,MAAK,SAAQ,aAAU,UACxC,UAAA,gBAAAH,EAACI,KAAQ,YAAU,IAAC,kBAAgB,GAAA,CAAC,GACtC,IACG;AAAA,MAEL,YAAYX;AAAA,MACZ,eAAY;AAAA,IAAA;AAAA,EAAA,GAEd;AAEF;AAEA,MAAMM,IAAYM,EAAO;AAAA,WACdC,EAAM,QAAQ;AAAA;AAAA,GAInBH,IAAmBE,EAAO;AAAA;AAAA;AAAA;AAAA;"}
|
package/DragSelect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DragSelect.js","sources":["../../src/common/components/DragSelect.tsx"],"sourcesContent":["/*\n * This component is adapted from the DragSelect component used in the flagship application:\n * https://github.com/Bynder/paramount/blob/1aef68acaccf837e018856a47f2329ccb6ad1c1f/src/common/components/DragSelect.tsx\n *\n * The only changes that were made was adding the 'useRootElement' hook and then using that root instead of the 'document'\n * object when querying for elements and adding event listeners.\n */\n\nimport React, { useState, useEffect, useCallback, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useDebounce } from 'use-debounce';\n\nimport { useRootElement } from '../../style/RootElementContext';\n\nexport type DragAction = 'select' | 'inverse';\n\ntype Rect = {\n\tleft: number;\n\ttop: number;\n\theight: number;\n\twidth: number;\n};\n\ntype Position = {\n\tx: number | null;\n\ty: number | null;\n};\n\nconst INITIAL_POSITION: Position = {\n\tx: null,\n\ty: null,\n};\n\nconst LEFT_MOUSE_BUTTON_ID = 0;\nconst DATA_ATTRIBUTE_ID = 'data-drag-select-id';\nconst CONTAINER_DIV_ID = 'drag-select-container';\nconst DRAW_SELECTION_BOX_DEBOUNCE_MS = 10;\nconst CALCULATE_INTERSECTIONS_DEBOUNCE_MS = 50;\nconst POST_DRAG_DELAY_MS = 10;\n\ntype Props = {\n\tdragContainer: string;\n\tselectionBoxCustomAttr: React.HTMLAttributes<HTMLElement>;\n\tonSelect: (selectedIds: string[]) => void;\n\tonDeselect: (deselectedIds: string[]) => void;\n\tonDragStart?: (action: DragAction) => void;\n\tonDragEnd?: (action: DragAction) => void;\n};\n\nexport const DragSelect = ({\n\tdragContainer,\n\tselectionBoxCustomAttr,\n\tonSelect,\n\tonDeselect,\n\tonDragStart,\n\tonDragEnd,\n}: Props) => {\n\tconst [startPosition, setStartPosition] = useState<Position>(INITIAL_POSITION);\n\tconst [endPosition, setEndPosition] = useState<Position>(INITIAL_POSITION);\n\tconst [debouncedEndPosition] = useDebounce(endPosition, DRAW_SELECTION_BOX_DEBOUNCE_MS, {\n\t\tleading: true,\n\t\tmaxWait: DRAW_SELECTION_BOX_DEBOUNCE_MS,\n\t});\n\tconst [action, setAction] = useState<DragAction>();\n\tconst root = useRootElement();\n\n\tconst selectionBoxRect = React.useMemo(\n\t\t() =>\n\t\t\tgetSelectionBoxRect(\n\t\t\t\tstartPosition,\n\t\t\t\tdebouncedEndPosition,\n\t\t\t\troot.querySelector('.cv-root'),\n\t\t\t),\n\t\t[startPosition, debouncedEndPosition, root],\n\t);\n\n\tconst [debouncedSelectionBoxRect] = useDebounce(\n\t\tselectionBoxRect,\n\t\tCALCULATE_INTERSECTIONS_DEBOUNCE_MS,\n\t\t{\n\t\t\tleading: false,\n\t\t\tmaxWait: CALCULATE_INTERSECTIONS_DEBOUNCE_MS,\n\t\t},\n\t);\n\tconst [selectedIds, setSelectedIds] = useState<string[]>([]);\n\tconst prevSelectedIds = usePrevious(selectedIds);\n\n\t// Using ref because state is not accessible in onMouseMove,\n\t// keydown & keyup event callbacks.\n\tconst startPositionRef = useRef(startPosition);\n\tconst endPositionRef = useRef(endPosition);\n\tconst isSelectionBoxVisible = useRef<boolean>(\n\t\tstartPositionRef.current.x !== null &&\n\t\t\tstartPositionRef.current.y !== null &&\n\t\t\tendPositionRef.current.x !== null &&\n\t\t\tendPositionRef.current.y !== null,\n\t);\n\tconst keysPressed = useRef({\n\t\tshiftKey: false,\n\t\tmetaKey: false,\n\t});\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener('keydown', onKeyInteraction, false);\n\t\tdocument.addEventListener('keyup', onKeyInteraction, false);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keydown', onKeyInteraction, false);\n\t\t\tdocument.removeEventListener('keyup', onKeyInteraction, false);\n\t\t};\n\t}, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst onKeyInteraction = ({ shiftKey, metaKey }: KeyboardEvent) => {\n\t\tconst newAction = shiftKey || metaKey ? 'inverse' : 'select';\n\t\tkeysPressed.current = { shiftKey, metaKey };\n\n\t\t// We only want to set action if we are currently dragging\n\t\t// and the action has changed.\n\t\tif (isSelectionBoxVisible.current && newAction !== action) {\n\t\t\tsetAction(newAction);\n\t\t}\n\t};\n\tuseEffect(() => {\n\t\tlet timeoutFunc;\n\n\t\tif (typeof onDragStart === 'function' && isSelectionBoxVisible.current) {\n\t\t\t// Check if keys were pressed before we started dragging\n\t\t\tonKeyInteraction(keysPressed.current as KeyboardEvent);\n\t\t\tonDragStart(action ?? 'select');\n\t\t} else if (typeof onDragEnd === 'function' && !isSelectionBoxVisible.current) {\n\t\t\ttimeoutFunc = setTimeout(() => onDragEnd(action ?? 'select'), POST_DRAG_DELAY_MS);\n\t\t}\n\n\t\treturn () => clearTimeout(timeoutFunc);\n\t\t// onDragStart and onDragEnd are external functions which should not trigger the effect.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [isSelectionBoxVisible.current, action]);\n\n\tconst updateStartPosition = (position: Position) => {\n\t\tstartPositionRef.current = position;\n\t\tsetStartPosition(position);\n\t\tupdateIsSelectionBoxVisible();\n\t};\n\n\tconst updateEndPosition = (position: Position) => {\n\t\tendPositionRef.current = position;\n\t\tsetEndPosition(position);\n\t\tupdateIsSelectionBoxVisible();\n\t};\n\n\tconst updateIsSelectionBoxVisible = () => {\n\t\tisSelectionBoxVisible.current =\n\t\t\tstartPositionRef.current.x !== null &&\n\t\t\tstartPositionRef.current.y !== null &&\n\t\t\tendPositionRef.current.x !== null &&\n\t\t\tendPositionRef.current.y !== null;\n\t};\n\n\tconst onMouseMove = useCallback(({ clientY, clientX }: MouseEvent) => {\n\t\tconst hasStartPosition = startPositionRef.current.x !== null;\n\t\tconst isDragging =\n\t\t\tMath.abs(startPositionRef.current.x ?? 0 - clientX) >= 1 ||\n\t\t\tMath.abs(startPositionRef.current.y ?? 0 - clientY) >= 1;\n\n\t\tif (!hasStartPosition || !isDragging) {\n\t\t\treturn;\n\t\t}\n\n\t\tupdateEndPosition({\n\t\t\tx: clientX,\n\t\t\ty: clientY,\n\t\t});\n\t}, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst onMouseUp = useCallback(() => {\n\t\troot.removeEventListener('mousemove', onMouseMove);\n\t\troot.removeEventListener('mouseup', onMouseUp);\n\n\t\tupdateStartPosition(INITIAL_POSITION);\n\t\tupdateEndPosition(INITIAL_POSITION);\n\t}, [onMouseMove, root]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tconst onMouseDown = useCallback(\n\t\t({ clientY, clientX, button }: MouseEvent) => {\n\t\t\tif (button === LEFT_MOUSE_BUTTON_ID) {\n\t\t\t\troot.addEventListener('mousemove', onMouseMove);\n\t\t\t\troot.addEventListener('mouseup', onMouseUp);\n\n\t\t\t\tupdateStartPosition({\n\t\t\t\t\tx: clientX,\n\t\t\t\t\ty: clientY,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[onMouseMove, onMouseUp, root], // eslint-disable-line react-hooks/exhaustive-deps\n\t);\n\n\tuseEffect(() => {\n\t\tconst dragContainerElement = root.querySelector(dragContainer);\n\n\t\tif (dragContainerElement) {\n\t\t\tcreateMountingDiv(root);\n\t\t\tdragContainerElement.addEventListener('mousedown', onMouseDown);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (dragContainerElement) {\n\t\t\t\tdragContainerElement.removeEventListener('mousedown', onMouseDown);\n\t\t\t\tremoveMountingDiv(root);\n\t\t\t}\n\t\t};\n\t}, [dragContainer, onMouseDown, onMouseMove, onMouseUp, root]);\n\n\tuseEffect(() => {\n\t\tconst selectableBoxes = root.querySelectorAll(`[${DATA_ATTRIBUTE_ID}]`);\n\t\tconst _selectedIds = Array.from(selectableBoxes).reduce((boxes: string[], box: Element) => {\n\t\t\tconst selectableBoxRect = getAbsoluteBoundingClientRect(box);\n\n\t\t\tif (\n\t\t\t\tbox instanceof HTMLElement &&\n\t\t\t\tboxesIntersect(selectableBoxRect, debouncedSelectionBoxRect) &&\n\t\t\t\tbox.dataset.dragSelectId\n\t\t\t) {\n\t\t\t\tboxes.push(box.dataset.dragSelectId);\n\t\t\t}\n\n\t\t\treturn boxes;\n\t\t}, []);\n\n\t\tsetSelectedIds(_selectedIds);\n\t}, [debouncedSelectionBoxRect, root]);\n\n\tuseEffect(() => {\n\t\tif (!prevSelectedIds || prevSelectedIds === selectedIds || !isSelectionBoxVisible.current) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst addedIds = selectedIds.filter((selectedId) => !prevSelectedIds.includes(selectedId));\n\t\tconst removedIds = prevSelectedIds.filter(\n\t\t\t(prevSelectedId) => !selectedIds.includes(prevSelectedId),\n\t\t);\n\n\t\tif (addedIds.length) {\n\t\t\tonSelect(addedIds);\n\t\t}\n\n\t\tif (removedIds.length) {\n\t\t\tonDeselect(removedIds);\n\t\t}\n\t}, [selectedIds, prevSelectedIds, onSelect, onDeselect, isSelectionBoxVisible]);\n\n\tconst containerDiv = root.querySelector(`#${CONTAINER_DIV_ID}`);\n\n\tif (!isSelectionBoxVisible.current || !containerDiv) return null;\n\n\treturn createPortal(\n\t\t<div\n\t\t\t{...selectionBoxCustomAttr}\n\t\t\tstyle={\n\t\t\t\tselectionBoxCustomAttr.style\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...SELECTION_BOX_STYLE,\n\t\t\t\t\t\t\t...selectionBoxCustomAttr.style,\n\t\t\t\t\t\t\t...selectionBoxRect,\n\t\t\t\t\t }\n\t\t\t\t\t: { ...SELECTION_BOX_STYLE, ...selectionBoxRect }\n\t\t\t}\n\t\t\tdata-testid=\"drag-selection\"\n\t\t/>,\n\t\tcontainerDiv,\n\t);\n};\n\nexport const makeSelectable = ({ id }: { id: string }) => ({\n\t[DATA_ATTRIBUTE_ID]: id,\n});\n\nconst SELECTION_BOX_STYLE: React.CSSProperties = { position: 'absolute', zIndex: 100 };\n\nexport const getSelectionBoxRect = (\n\tstart: Position,\n\tend: Position,\n\trootElement: Element | null,\n): Rect => {\n\tif (!start.x || !start.y || !end.x || !end.y || !rootElement) {\n\t\treturn { left: 0, top: 0, height: 0, width: 0 };\n\t}\n\n\tconst rootRect = rootElement.getBoundingClientRect();\n\n\tconst endX = Math.max(end.x, 0);\n\tlet left = Math.min(start.x, endX);\n\tleft = Math.max(left, rootRect.left + 4);\n\n\tconst top = Math.min(start.y, end.y);\n\tconst height = Math.abs(end.y - start.y);\n\n\tlet width = Math.abs(endX - start.x);\n\tconst maxWidth = rootRect.width + rootRect.left - left - 4;\n\twidth = Math.min(width, maxWidth);\n\n\treturn { left, top, height, width };\n};\n\nconst boxesIntersect = (boxA: Rect, boxB: Rect) =>\n\tboxA.left <= boxB.left + boxB.width &&\n\tboxA.left + boxA.width >= boxB.left &&\n\tboxA.top <= boxB.top + boxB.height &&\n\tboxA.top + boxA.height >= boxB.top;\n\nconst getAbsoluteBoundingClientRect = (element: Element): Rect => {\n\tconst rect = element.getBoundingClientRect();\n\n\treturn {\n\t\tleft: rect.left,\n\t\ttop: rect.top + window.scrollY,\n\t\theight: rect.height,\n\t\twidth: rect.width,\n\t};\n};\n\nconst createMountingDiv = (root: Element) => {\n\tconst mountingDiv = document.createElement('div');\n\tmountingDiv.id = CONTAINER_DIV_ID;\n\troot.appendChild(mountingDiv);\n};\n\nconst removeMountingDiv = (root: Element) => {\n\tconst mountingDiv = root.querySelector(`#${CONTAINER_DIV_ID}`);\n\n\tif (mountingDiv) {\n\t\tmountingDiv.remove();\n\t}\n};\n\nconst usePrevious = <T extends unknown>(value: T): T | undefined => {\n\tconst ref = useRef<T>();\n\tuseEffect(() => {\n\t\tref.current = value;\n\t});\n\n\treturn ref.current;\n};\n"],"names":["INITIAL_POSITION","LEFT_MOUSE_BUTTON_ID","DATA_ATTRIBUTE_ID","CONTAINER_DIV_ID","DRAW_SELECTION_BOX_DEBOUNCE_MS","CALCULATE_INTERSECTIONS_DEBOUNCE_MS","POST_DRAG_DELAY_MS","DragSelect","dragContainer","selectionBoxCustomAttr","onSelect","onDeselect","onDragStart","onDragEnd","startPosition","setStartPosition","useState","endPosition","setEndPosition","debouncedEndPosition","useDebounce","action","setAction","root","useRootElement","selectionBoxRect","React","getSelectionBoxRect","debouncedSelectionBoxRect","selectedIds","setSelectedIds","prevSelectedIds","usePrevious","startPositionRef","useRef","endPositionRef","isSelectionBoxVisible","keysPressed","useEffect","onKeyInteraction","shiftKey","metaKey","newAction","timeoutFunc","updateStartPosition","position","updateIsSelectionBoxVisible","updateEndPosition","onMouseMove","useCallback","clientY","clientX","hasStartPosition","isDragging","onMouseUp","onMouseDown","button","dragContainerElement","createMountingDiv","removeMountingDiv","selectableBoxes","_selectedIds","boxes","box","selectableBoxRect","getAbsoluteBoundingClientRect","boxesIntersect","addedIds","selectedId","removedIds","prevSelectedId","containerDiv","createPortal","jsx","SELECTION_BOX_STYLE","start","end","rootElement","rootRect","endX","left","top","height","width","maxWidth","boxA","boxB","element","rect","mountingDiv","value","ref"],"mappings":"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"}
|
package/Dropdown.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../src/common/components/dropdown/Dropdown.tsx"],"sourcesContent":["import React, { useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Button, token } from '@bynder/design-system';\nimport { DropdownContent } from './DropdownContent';\nimport { useAssetFilter } from '@src/filter/AssetFilterContext';\n\ninterface Props {\n\tclassName?: string;\n\tfadeIn?: boolean;\n\tbuttonKind?: 'clean' | 'secondary';\n\tisSmall?: boolean;\n\tdirection?: 'Down' | 'Up';\n\ttitle: React.ReactNode;\n\talt?: string;\n\tdisabled?: boolean;\n\tisPaddingContent?: boolean;\n\tisMetapropertyDropdown?: boolean;\n\tchildren: (toggle: () => void) => React.ReactNode;\n}\n\nexport function Dropdown({\n\tbuttonKind = 'clean',\n\tdirection = 'Down',\n\tisSmall,\n\tfadeIn,\n\tisMetapropertyDropdown,\n\t...props\n}: Props) {\n\tconst assetFilterState = useAssetFilter();\n\n\tconst menuId = useId();\n\tconst [active, setActive] = useState(false);\n\tconst target = useRef<HTMLButtonElement | null>(null);\n\tconst toggle = () => {\n\t\tsetActive((prevActive) => !prevActive);\n\t\tassetFilterState.setDropdownState(!assetFilterState.isDropdownActive);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<AnimationWrapper $fadeIn={Boolean(fadeIn)}>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={buttonKind}\n\t\t\t\t\tisSmall={isSmall}\n\t\t\t\t\tonClick={toggle}\n\t\t\t\t\tref={target}\n\t\t\t\t\tisDisabled={props.disabled}\n\t\t\t\t\tisPressed={active}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\taria-expanded={active}\n\t\t\t\t\taria-controls={menuId}\n\t\t\t\t\tdata-testid=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<DropdownTitle title={props.alt}>{props.title}</DropdownTitle>\n\t\t\t\t\t<CaretDownArrow $active={active} className=\"fa fa-caret-down\" />\n\t\t\t\t</Button>\n\t\t\t</AnimationWrapper>\n\n\t\t\t{active && (\n\t\t\t\t<DropdownContent\n\t\t\t\t\tisPaddingContent={props.isPaddingContent}\n\t\t\t\t\tonClickOutside={toggle}\n\t\t\t\t\tdirection={direction}\n\t\t\t\t\ttarget={target}\n\t\t\t\t\tid={menuId}\n\t\t\t\t\tisMetapropertyDropdown={isMetapropertyDropdown}\n\t\t\t\t>\n\t\t\t\t\t{props.children(toggle)}\n\t\t\t\t</DropdownContent>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nfunction useId(): string {\n\treturn useMemo(\n\t\t() => `dropdownmenu-${Date.now()}-${Math.random().toString(36).substring(2)}`,\n\t\t[],\n\t);\n}\n\nconst AnimationWrapper = styled.div<{ $fadeIn: boolean }>`\n\ttext-transform: inherit;\n\t${(p) => (p.$fadeIn ? `animation: var(--fade-in-down);` : '')}\n`;\n\nconst CaretDownArrow = styled.i<{ $active?: boolean }>`\n\tmargin-left: ${token.spacing3};\n\ttransition: transform 200ms;\n\t${(p) => (p.$active ? 'transform: rotate(180deg);' : '')}\n`;\n\nconst DropdownTitle = styled.span`\n\tdisplay: inline-flex;\n\talign-items: center;\n`;\n"],"names":["Dropdown","buttonKind","direction","isSmall","fadeIn","isMetapropertyDropdown","props","assetFilterState","useAssetFilter","menuId","useId","active","setActive","useState","target","useRef","toggle","prevActive","jsxs","Fragment","jsx","AnimationWrapper","Button","DropdownTitle","CaretDownArrow","DropdownContent","useMemo","styled","p","token"],"mappings":";;;;;;AAoBO,SAASA,EAAS;AAAA,EACxB,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,GAAGC;AACJ,GAAU;AACT,QAAMC,IAAmBC,EAAA,GAEnBC,IAASC,EAAA,GACT,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAASC,EAAiC,IAAI,GAC9CC,IAAS,MAAM;AACpB,IAAAJ,EAAU,CAACK,MAAe,CAACA,CAAU,GACrCV,EAAiB,iBAAiB,CAACA,EAAiB,gBAAgB;AAAA,EACrE;AAEA,SACC,gBAAAW,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAiB,SAAS,EAAQjB,GAClC,UAAA,gBAAAc;AAAA,MAACI;AAAA,MAAA;AAAA,QACA,SAASrB;AAAA,QACT,SAAAE;AAAA,QACA,SAASa;AAAA,QACT,KAAKF;AAAA,QACL,YAAYR,EAAM;AAAA,QAClB,WAAWK;AAAA,QACX,iBAAa;AAAA,QACb,iBAAeA;AAAA,QACf,iBAAeF;AAAA,QACf,eAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAW,EAACG,GAAA,EAAc,OAAOjB,EAAM,KAAM,YAAM,OAAM;AAAA,UAC9C,gBAAAc,EAACI,GAAA,EAAe,SAASb,GAAQ,WAAU,mBAAA,CAAmB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAEhE;AAAA,IAECA,KACA,gBAAAS;AAAA,MAACK;AAAA,MAAA;AAAA,QACA,kBAAkBnB,EAAM;AAAA,QACxB,gBAAgBU;AAAA,QAChB,WAAAd;AAAA,QACA,QAAAY;AAAA,QACA,IAAIL;AAAA,QACJ,wBAAAJ;AAAA,QAEC,UAAAC,EAAM,SAASU,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EACvB,GAEF;AAEF;AAEA,SAASN,IAAgB;AACxB,SAAOgB;AAAA,IACN,MAAM,gBAAgB,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;AAAA,IAC3E,CAAA;AAAA,EAAC;AAEH;AAEA,MAAML,IAAmBM,EAAO;AAAA;AAAA,GAE7B,CAACC,MAAOA,EAAE,UAAU,oCAAoC,EAAG;AAAA,GAGxDJ,IAAiBG,EAAO;AAAA,gBACdE,EAAM,QAAQ;AAAA;AAAA,GAE3B,CAACD,MAAOA,EAAE,UAAU,+BAA+B,EAAG;AAAA,GAGnDL,IAAgBI,EAAO;AAAA;AAAA;AAAA;"}
|
package/DropdownContent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownContent.js","sources":["../../src/common/components/dropdown/DropdownContent.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { useClickOutside } from '../../hooks/useClickOutside';\nimport { useRootElement } from '../../../style/RootElementContext';\nimport { concatClasses } from '../../../utils/class';\n\ninterface DropdownContentProps {\n\tonClickOutside: () => void;\n\tdirection: 'Down' | 'Up';\n\ttarget: React.MutableRefObject<Element | null>;\n\tchildren: React.ReactNode;\n\tid: string;\n\tisPaddingContent?: boolean;\n\tisMetapropertyDropdown?: boolean;\n}\n\nexport function DropdownContent(props: DropdownContentProps) {\n\tconst overlay = useRef<HTMLDivElement | null>(null);\n\tconst [, setState] = useState(0.0);\n\n\tuseClickOutside([props.target, overlay], props.onClickOutside);\n\n\tconst isCompactViewContainer = !!document.querySelector('#compactViewContainer');\n\n\t// Hack to force recalculation of position after dropdown button rerenders\n\tuseLayoutEffect(() => {\n\t\tsetState(\n\t\t\tprops.target.current !== null ? props.target.current.getBoundingClientRect().x : 0.0,\n\t\t);\n\t}, [props.target]);\n\n\tconst root = useRootElement();\n\n\tif (root === null || props.target.current === null) {\n\t\treturn null;\n\t}\n\n\tconst maxWidthHandler = () => {\n\t\tif (!props.isMetapropertyDropdown) {\n\t\t\treturn 300;\n\t\t}\n\n\t\tif (isCompactViewContainer) {\n\t\t\treturn '39%';\n\t\t}\n\n\t\t// 1120 is max size of dropdown element per designs\n\t\treturn viewportWidth < 1120 ? viewportWidthOffset : 1120;\n\t};\n\n\tconst leftHandler = () => {\n\t\tconst left =\n\t\t\toverlay.current && x + overlay.current.clientWidth > viewportWidth ? undefined : x;\n\n\t\treturn isCompactViewContainer ? 'initial' : left;\n\t};\n\n\tconst boundingRect = props.target.current.getBoundingClientRect();\n\tconst x = boundingRect.x;\n\t// 32 is the padding around the root element\n\tconst viewportWidth = window.innerWidth - 32;\n\t// 16px is to account for offset from edge of modal. Designs have it at 8px on each side.\n\tconst viewportWidthOffset = viewportWidth - 16;\n\n\tconst minWidth = 280;\n\tconst maxWidth = maxWidthHandler();\n\tconst maxHeight = 600;\n\n\tconst left = leftHandler();\n\t// 24 is padding around modal (16px) + 8px from the designs as the dropdown is offset from the edge\n\tconst right =\n\t\toverlay.current && x + overlay.current.clientWidth > viewportWidth ? 24 : undefined;\n\n\tconst top = props.direction === 'Down' ? boundingRect.top + boundingRect.height : undefined;\n\tconst bottom = props.direction === 'Up' ? window.innerHeight - boundingRect.top : undefined;\n\n\tconst style: React.CSSProperties = {\n\t\tleft,\n\t\tright,\n\t\ttop,\n\t\tbottom,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tmaxHeight,\n\t};\n\tconst className = concatClasses('cv-root cv-dropdown');\n\n\treturn createPortal(\n\t\t<DropdownContentContainer\n\t\t\trole=\"menu\"\n\t\t\tid={props.id}\n\t\t\tclassName={className}\n\t\t\tref={overlay}\n\t\t\tstyle={style}\n\t\t\tisPaddingContent={props.isPaddingContent}\n\t\t>\n\t\t\t{props.children}\n\t\t</DropdownContentContainer>,\n\t\troot,\n\t);\n}\n\nconst DropdownContentContainer = styled.div<{ isPaddingContent?: boolean }>`\n\tpadding: ${({ isPaddingContent }) => (isPaddingContent ? `${token.spacing3} 0` : '0')};\n\tuser-select: none;\n\tborder-radius: 6px;\n\tborder: 1px solid rgba(3, 16, 38, 0.17);\n\tbox-shadow: 0px 0px 1px 0px rgba(3, 16, 38, 0.1), 0px 8px 12px -2px rgba(3, 16, 38, 0.1);\n`;\n"],"names":["DropdownContent","props","overlay","useRef","setState","useState","useClickOutside","isCompactViewContainer","useLayoutEffect","root","useRootElement","maxWidthHandler","viewportWidth","viewportWidthOffset","leftHandler","left","x","boundingRect","minWidth","maxWidth","maxHeight","right","top","bottom","style","className","concatClasses","createPortal","jsx","DropdownContentContainer","styled","isPaddingContent","token"],"mappings":";;;;;;;;AAmBO,SAASA,EAAgBC,GAA6B;AAC5D,QAAMC,IAAUC,EAA8B,IAAI,GAC5C,GAAGC,CAAQ,IAAIC,EAAS,CAAG;AAEjC,EAAAC,EAAgB,CAACL,EAAM,QAAQC,CAAO,GAAGD,EAAM,cAAc;AAE7D,QAAMM,IAAyB,CAAC,CAAC,SAAS,cAAc,uBAAuB;AAG/E,EAAAC,EAAgB,MAAM;AACrB,IAAAJ;AAAA,MACCH,EAAM,OAAO,YAAY,OAAOA,EAAM,OAAO,QAAQ,sBAAA,EAAwB,IAAI;AAAA,IAAA;AAAA,EAEnF,GAAG,CAACA,EAAM,MAAM,CAAC;AAEjB,QAAMQ,IAAOC,EAAA;AAEb,MAAID,MAAS,QAAQR,EAAM,OAAO,YAAY;AAC7C,WAAO;AAGR,QAAMU,IAAkB,MAClBV,EAAM,yBAIPM,IACI,QAIDK,IAAgB,OAAOC,IAAsB,OAR5C,KAWHC,IAAc,MAAM;AACzB,UAAMC,IACLb,EAAQ,WAAWc,IAAId,EAAQ,QAAQ,cAAcU,IAAgB,SAAYI;AAElF,WAAOT,IAAyB,YAAYQ;AAAAA,EAC7C,GAEME,IAAehB,EAAM,OAAO,QAAQ,sBAAA,GACpCe,IAAIC,EAAa,GAEjBL,IAAgB,OAAO,aAAa,IAEpCC,IAAsBD,IAAgB,IAEtCM,IAAW,KACXC,IAAWR,EAAA,GACXS,IAAY,KAEZL,IAAOD,EAAA,GAEPO,IACLnB,EAAQ,WAAWc,IAAId,EAAQ,QAAQ,cAAcU,IAAgB,KAAK,QAErEU,IAAMrB,EAAM,cAAc,SAASgB,EAAa,MAAMA,EAAa,SAAS,QAC5EM,IAAStB,EAAM,cAAc,OAAO,OAAO,cAAcgB,EAAa,MAAM,QAE5EO,IAA6B;AAAA,IAClC,MAAAT;AAAA,IACA,OAAAM;AAAA,IACA,KAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAL;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,GAEKK,IAAYC,EAAc,qBAAqB;AAErD,SAAOC;AAAA,IACN,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,MAAK;AAAA,QACL,IAAI5B,EAAM;AAAA,QACV,WAAAwB;AAAA,QACA,KAAKvB;AAAA,QACL,OAAAsB;AAAA,QACA,kBAAkBvB,EAAM;AAAA,QAEvB,UAAAA,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,IAERQ;AAAA,EAAA;AAEF;AAEA,MAAMoB,IAA2BC,EAAO;AAAA,YAC5B,CAAC,EAAE,kBAAAC,EAAA,MAAwBA,IAAmB,GAAGC,EAAM,QAAQ,OAAO,GAAI;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/DropdownListItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownListItem.js","sources":["../../src/common/components/dropdown/DropdownListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { IconCheck } from '@bynder/icons';\n\ninterface ListItemProps {\n\tclassName?: string;\n\tonClick?: () => void;\n\tselected?: boolean;\n\tchildren: React.ReactNode;\n\tisFieldSelect?: boolean;\n}\n\nexport function DropdownListItem({ selected = false, ...props }: ListItemProps) {\n\treturn (\n\t\t<li>\n\t\t\t<DropdownButton\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={props.onClick}\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\taria-checked={selected}\n\t\t\t\ttabIndex={-1}\n\t\t\t\tdata-testid=\"dropdown-list-item\"\n\t\t\t\t$isSelected={selected}\n\t\t\t\t$isFieldSelect={props.isFieldSelect}\n\t\t\t>\n\t\t\t\t{props.children}\n\n\t\t\t\t{selected && <CheckIcon />}\n\t\t\t</DropdownButton>\n\t\t</li>\n\t);\n}\n\nconst DropdownButton = styled.button<{ $isSelected: boolean; $isFieldSelect?: boolean }>`\n\tdisplay: flex;\n\talign-items: center;\n\tcursor: pointer;\n\twidth: 100%;\n\tcolor: ${(p) => (p.$isSelected ? 'rgba(0, 34, 51, 0.8);' : 'rgba(0, 34, 51, 0.5)')};\n\ttext-align: left;\n\ttransition-property: color, background-color, border-color, opacity;\n\ttransition-timing-function: linear;\n\ttransition-duration: 0.05s;\n\tborder: 0 solid rgba(0, 34, 51, 0.1);\n\tbackground-color: transparent;\n\tfont-size: ${token.fontSize75};\n\tpadding: ${(p) =>\n\t\tp.$isFieldSelect ? `1px ${token.spacing5}` : `${token.spacing3} ${token.spacing4}`};\n\n\t&:hover {\n\t\tcolor: rgba(0, 34, 51, 0.8);\n\t\tbackground-color: rgba(0, 34, 51, 0.03);\n\t}\n`;\n\nconst CheckIcon = styled(IconCheck)`\n\tmargin-left: ${token.spacing4};\n\theight: ${token.spacing6};\n\twidth: ${token.spacing6};\n\tanimation: fade-in 150ms ease-out;\n`;\n"],"names":["DropdownListItem","selected","props","jsxs","DropdownButton","CheckIcon","styled","p","token","IconCheck"],"mappings":";;;;AAaO,SAASA,EAAiB,EAAE,UAAAC,IAAW,IAAO,GAAGC,KAAwB;AAC/E,2BACE,MAAA,EACA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,SAASF,EAAM;AAAA,MACf,MAAK;AAAA,MACL,gBAAcD;AAAA,MACd,UAAU;AAAA,MACV,eAAY;AAAA,MACZ,aAAaA;AAAA,MACb,gBAAgBC,EAAM;AAAA,MAErB,UAAA;AAAA,QAAAA,EAAM;AAAA,QAEND,uBAAaI,GAAA,CAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE1B;AAEF;AAEA,MAAMD,IAAiBE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKpB,CAACC,MAAOA,EAAE,cAAc,0BAA0B,sBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOrEC,EAAM,UAAU;AAAA,YAClB,CAACD,MACXA,EAAE,iBAAiB,OAAOC,EAAM,QAAQ,KAAK,GAAGA,EAAM,QAAQ,IAAIA,EAAM,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ9EH,IAAYC,EAAOG,CAAS;AAAA,gBAClBD,EAAM,QAAQ;AAAA,WACnBA,EAAM,QAAQ;AAAA,UACfA,EAAM,QAAQ;AAAA;AAAA;"}
|
package/ErrorIcon.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorIcon.js","sources":["../../src/error-handling/ErrorIcon.tsx"],"sourcesContent":["import React from 'react';\n\nexport function ErrorIcon() {\n\treturn (\n\t\t<svg width=\"190\" height=\"130\">\n\t\t\t<defs>\n\t\t\t\t<linearGradient id=\"prefix__b\" x1=\"100%\" x2=\"25.598%\" y1=\"11.782%\" y2=\"100%\">\n\t\t\t\t\t<stop offset=\"0%\" stopColor=\"#F8FAFC\" />\n\t\t\t\t\t<stop offset=\"100%\" stopColor=\"#EFF2F4\" />\n\t\t\t\t</linearGradient>\n\t\t\t\t<rect id=\"prefix__a\" width=\"190\" height=\"130\" rx=\"3\" />\n\t\t\t</defs>\n\t\t\t<g fill=\"none\" fillRule=\"evenodd\">\n\t\t\t\t<mask id=\"prefix__c\" fill=\"#fff\">\n\t\t\t\t\t<use xlinkHref=\"#prefix__a\" />\n\t\t\t\t</mask>\n\t\t\t\t<use fill=\"url(#prefix__b)\" xlinkHref=\"#prefix__a\" />\n\t\t\t\t<g mask=\"url(#prefix__c)\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#F5A623\"\n\t\t\t\t\t\td=\"M100.296 45.951l23.01 43.23A6 6 0 01118.009 98H71.991a6 6 0 01-5.297-8.82l23.01-43.229a6 6 0 0110.592 0z\"\n\t\t\t\t\t/>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\t\tfillRule=\"nonzero\"\n\t\t\t\t\t\td=\"M93.21 60h3.58a2 2 0 011.99 2.199l-1.6 16A2 2 0 0195.19 80h-.38a2 2 0 01-1.99-1.801l-1.6-16A2 2 0 0193.21 60zM95 84a3 3 0 110 6 3 3 0 010-6z\"\n\t\t\t\t\t/>\n\t\t\t\t</g>\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#EEF1F3\"\n\t\t\t\t\td=\"M3 0h184a3 3 0 013 3v13H0V3a3 3 0 013-3z\"\n\t\t\t\t\tmask=\"url(#prefix__c)\"\n\t\t\t\t/>\n\t\t\t\t<circle cx=\"11\" cy=\"8\" r=\"3\" fill=\"#023\" fillOpacity=\"0.1\" mask=\"url(#prefix__c)\" />\n\t\t\t\t<circle cx=\"20\" cy=\"8\" r=\"3\" fill=\"#023\" fillOpacity=\"0.1\" mask=\"url(#prefix__c)\" />\n\t\t\t\t<circle cx=\"29\" cy=\"8\" r=\"3\" fill=\"#023\" fillOpacity=\"0.1\" mask=\"url(#prefix__c)\" />\n\t\t\t</g>\n\t\t</svg>\n\t);\n}\n"],"names":["ErrorIcon","jsxs","jsx"],"mappings":";AAEO,SAASA,IAAY;AAC3B,SACC,gBAAAC,EAAC,OAAA,EAAI,OAAM,OAAM,QAAO,OACvB,UAAA;AAAA,IAAA,gBAAAA,EAAC,QAAA,EACA,UAAA;AAAA,MAAA,gBAAAA,EAAC,kBAAA,EAAe,IAAG,aAAY,IAAG,QAAO,IAAG,WAAU,IAAG,WAAU,IAAG,QACrE,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EAAK,QAAO,MAAK,WAAU,WAAU;AAAA,QACtC,gBAAAA,EAAC,QAAA,EAAK,QAAO,QAAO,WAAU,UAAA,CAAU;AAAA,MAAA,GACzC;AAAA,MACA,gBAAAA,EAAC,UAAK,IAAG,aAAY,OAAM,OAAM,QAAO,OAAM,IAAG,IAAA,CAAI;AAAA,IAAA,GACtD;AAAA,IACA,gBAAAD,EAAC,KAAA,EAAE,MAAK,QAAO,UAAS,WACvB,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,IAAG,aAAY,MAAK,QACzB,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,aAAA,CAAa,EAAA,CAC7B;AAAA,MACA,gBAAAA,EAAC,OAAA,EAAI,MAAK,mBAAkB,WAAU,cAAa;AAAA,MACnD,gBAAAD,EAAC,KAAA,EAAE,MAAK,mBACP,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAK;AAAA,YACL,GAAE;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,MAAK;AAAA,YACL,UAAS;AAAA,YACT,GAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,GACD;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAEN,gBAAAA,EAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,aAAY,OAAM,MAAK,mBAAkB;AAAA,MAClF,gBAAAA,EAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,aAAY,OAAM,MAAK,mBAAkB;AAAA,MAClF,gBAAAA,EAAC,UAAA,EAAO,IAAG,MAAK,IAAG,KAAI,GAAE,KAAI,MAAK,QAAO,aAAY,OAAM,MAAK,kBAAA,CAAkB;AAAA,IAAA,EAAA,CACnF;AAAA,EAAA,GACD;AAEF;"}
|
package/ErrorMessage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorMessage.js","sources":["../../src/error-handling/ErrorMessage.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Button, token } from '@bynder/design-system';\n\nimport { __ } from '../localization';\nimport { ErrorIcon } from './ErrorIcon';\n\nexport function ErrorMessage(props: {\n\tisReportSent: boolean;\n\tonClickSend: () => void;\n\tonClickRetry: () => void;\n}) {\n\treturn (\n\t\t<>\n\t\t\t<ErrorIcon />\n\n\t\t\t<Title>{__('Oops! Something went wrong')}</Title>\n\n\t\t\t<Text>{__('Please try again or get in contact with our customer support.')}</Text>\n\n\t\t\t<ButtonContainer>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\ttitle={__('Send report')}\n\t\t\t\t\tonClick={props.onClickSend}\n\t\t\t\t\tisDisabled={props.isReportSent}\n\t\t\t\t>\n\t\t\t\t\t{props.isReportSent ? __('Report sent') : __('Send report...')}\n\t\t\t\t</Button>\n\n\t\t\t\t<Button variant=\"primary\" title={__('Try again')} onClick={props.onClickRetry}>\n\t\t\t\t\t{__('Try again')}\n\t\t\t\t</Button>\n\t\t\t</ButtonContainer>\n\t\t</>\n\t);\n}\n\nconst Title = styled.h1`\n\tmargin-top: ${token.spacing8};\n\tfont-size: ${token.fontSize400};\n`;\n\nconst Text = styled.span`\n\tmargin-top: ${token.spacing5};\n\tcolor: ${token.colorTextDisabled};\n`;\n\nconst ButtonContainer = styled.div`\n\tmargin-top: ${token.spacing7};\n\tdisplay: flex;\n\tgap: ${token.spacing3};\n`;\n"],"names":["ErrorMessage","props","jsxs","Fragment","jsx","ErrorIcon","Title","__","Text","ButtonContainer","Button","styled","token"],"mappings":";;;;;AAOO,SAASA,EAAaC,GAI1B;AACF,SACC,gBAAAC,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAU;AAAA,IAEX,gBAAAD,EAACE,GAAA,EAAO,UAAAC,EAAG,4BAA4B,EAAA,CAAE;AAAA,IAEzC,gBAAAH,EAACI,GAAA,EAAM,UAAAD,EAAG,+DAA+D,EAAA,CAAE;AAAA,sBAE1EE,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACA,SAAQ;AAAA,UACR,OAAOH,EAAG,aAAa;AAAA,UACvB,SAASN,EAAM;AAAA,UACf,YAAYA,EAAM;AAAA,UAEjB,YAAM,eAAeM,EAAG,aAAa,IAAIA,EAAG,gBAAgB;AAAA,QAAA;AAAA,MAAA;AAAA,MAG9D,gBAAAH,EAACM,GAAA,EAAO,SAAQ,WAAU,OAAOH,EAAG,WAAW,GAAG,SAASN,EAAM,cAC/D,UAAAM,EAAG,WAAW,EAAA,CAChB;AAAA,IAAA,EAAA,CACD;AAAA,EAAA,GACD;AAEF;AAEA,MAAMD,IAAQK,EAAO;AAAA,eACNC,EAAM,QAAQ;AAAA,cACfA,EAAM,WAAW;AAAA,GAGzBJ,IAAOG,EAAO;AAAA,eACLC,EAAM,QAAQ;AAAA,UACnBA,EAAM,iBAAiB;AAAA,GAG3BH,IAAkBE,EAAO;AAAA,eAChBC,EAAM,QAAQ;AAAA;AAAA,QAErBA,EAAM,QAAQ;AAAA;"}
|