@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/FieldSelect.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FieldSelect.js","sources":["../../src/order/FieldSelect.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { Dropdown } from '../common/components/dropdown/Dropdown';\nimport { __ } from '../localization';\nimport { Field, useOrderingByPage } from '@src/store/useOrderingStore';\nimport { useRouterSelectors } from '@src/store/useRouterStore';\nimport { DropdownListItem } from '../common/components/dropdown/DropdownListItem';\n\ninterface FieldProps {\n\toptions: Field[];\n}\n\nexport function FieldSelect({ options }: FieldProps) {\n\tconst page = useRouterSelectors.use.page();\n\tconst [ordering, setOrdering] = useOrderingByPage(page.page);\n\n\tconst stringOfFieldMap = {\n\t\tCREATED_AT: __('Date added'),\n\t\tNAME: __('Name'),\n\t\tPUBLISHED_AT: __('Date published'),\n\t\tUPDATED_AT: __('Date modified'),\n\t\tNL_SEARCH: __('Similarity'),\n\t};\n\n\treturn (\n\t\t<Container>\n\t\t\t<Dropdown\n\t\t\t\ttitle={\n\t\t\t\t\t<Title\n\t\t\t\t\t\tstringOfFieldMap={stringOfFieldMap}\n\t\t\t\t\t\torderingField={options[0] === 'NL_SEARCH' ? options[0] : ordering.field}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\talt={__('Order by')}\n\t\t\t\tisPaddingContent\n\t\t\t\tdisabled={options[0] === 'NL_SEARCH'}\n\t\t\t>\n\t\t\t\t{(toggle) => (\n\t\t\t\t\t<UnorderedList>\n\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t<DropdownListItems\n\t\t\t\t\t\t\t\tselected={ordering.field === option}\n\t\t\t\t\t\t\t\tkey={stringOfFieldMap[option]}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tsetOrdering({ field: option, direction: ordering.direction });\n\t\t\t\t\t\t\t\t\ttoggle();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tisFieldSelect\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownTitle>{stringOfFieldMap[option]}</DropdownTitle>\n\t\t\t\t\t\t\t</DropdownListItems>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</UnorderedList>\n\t\t\t\t)}\n\t\t\t</Dropdown>\n\t\t</Container>\n\t);\n}\n\ninterface TitleProps {\n\tstringOfFieldMap: Readonly<{ [key: string]: string }>;\n\torderingField: string;\n}\n\n// eslint-disable-next-line react/no-multi-comp\nfunction Title({ stringOfFieldMap, orderingField }: TitleProps) {\n\treturn (\n\t\t<span>\n\t\t\tOrder by{' '}\n\t\t\t<Strong $isDisabled={orderingField === 'NL_SEARCH'}>\n\t\t\t\t{stringOfFieldMap[orderingField]}\n\t\t\t</Strong>\n\t\t</span>\n\t);\n}\n\nconst UnorderedList = styled.ul`\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n`;\n\nconst DropdownListItems = styled(DropdownListItem)`\n\tfont-size: ${token.fontSize75};\n`;\n\nconst DropdownTitle = styled.span`\n\tflex-grow: 1;\n\tmin-width: 96px;\n\tpadding: ${token.spacing3} 0;\n\tfont-size: ${token.fontSize75};\n`;\n\nconst Container = styled.div`\n\tmargin-left: auto;\n\tborder-radius: 5px 0 0 5px;\n\tborder: 1px solid #d9dee1;\n`;\n\nconst Strong = styled.strong<{ $isDisabled?: boolean }>`\n\tfont-weight: 600;\n\tcolor: ${(p) => (p.$isDisabled ? 'rgba(0, 34, 51, 0.5)' : '#212c40')};\n`;\n"],"names":["FieldSelect","options","page","useRouterSelectors","ordering","setOrdering","useOrderingByPage","stringOfFieldMap","__","Container","jsx","Dropdown","Title","toggle","UnorderedList","option","DropdownListItems","DropdownTitle","orderingField","Strong","styled","DropdownListItem","token","p"],"mappings":";;;;;;;;AAaO,SAASA,EAAY,EAAE,SAAAC,KAAuB;AACpD,QAAMC,IAAOC,EAAmB,IAAI,KAAA,GAC9B,CAACC,GAAUC,CAAW,IAAIC,EAAkBJ,EAAK,IAAI,GAErDK,IAAmB;AAAA,IACxB,YAAYC,EAAG,YAAY;AAAA,IAC3B,MAAMA,EAAG,MAAM;AAAA,IACf,cAAcA,EAAG,gBAAgB;AAAA,IACjC,YAAYA,EAAG,eAAe;AAAA,IAC9B,WAAWA,EAAG,YAAY;AAAA,EAAA;AAG3B,2BACEC,GAAA,EACA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OACC,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACA,kBAAAL;AAAA,UACA,eAAeN,EAAQ,CAAC,MAAM,cAAcA,EAAQ,CAAC,IAAIG,EAAS;AAAA,QAAA;AAAA,MAAA;AAAA,MAGpE,KAAKI,EAAG,UAAU;AAAA,MAClB,kBAAgB;AAAA,MAChB,UAAUP,EAAQ,CAAC,MAAM;AAAA,MAExB,WAACY,MACD,gBAAAH,EAACI,KACC,UAAAb,EAAQ,IAAI,CAACc,MACb,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACA,UAAUZ,EAAS,UAAUW;AAAA,UAE7B,SAAS,MAAM;AACd,YAAAV,EAAY,EAAE,OAAOU,GAAQ,WAAWX,EAAS,WAAW,GAC5DS,EAAA;AAAA,UACD;AAAA,UACA,eAAa;AAAA,UAEb,UAAA,gBAAAH,EAACO,GAAA,EAAe,UAAAV,EAAiBQ,CAAM,EAAA,CAAE;AAAA,QAAA;AAAA,QAPpCR,EAAiBQ,CAAM;AAAA,MAAA,CAS7B,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAGH;AAEF;AAQA,SAASH,EAAM,EAAE,kBAAAL,GAAkB,eAAAW,KAA6B;AAC/D,2BACE,QAAA,EAAK,UAAA;AAAA,IAAA;AAAA,IACI;AAAA,sBACRC,GAAA,EAAO,aAAaD,MAAkB,aACrC,UAAAX,EAAiBW,CAAa,EAAA,CAChC;AAAA,EAAA,GACD;AAEF;AAEA,MAAMJ,IAAgBM,EAAO;AAAA;AAAA;AAAA;AAAA,GAMvBJ,IAAoBI,EAAOC,CAAgB;AAAA,cACnCC,EAAM,UAAU;AAAA,GAGxBL,IAAgBG,EAAO;AAAA;AAAA;AAAA,YAGjBE,EAAM,QAAQ;AAAA,cACZA,EAAM,UAAU;AAAA,GAGxBb,IAAYW,EAAO;AAAA;AAAA;AAAA;AAAA,GAMnBD,IAASC,EAAO;AAAA;AAAA,UAEZ,CAACG,MAAOA,EAAE,cAAc,yBAAyB,SAAU;AAAA;"}
|
package/FileSelector.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileSelector.js","sources":["../../src/select/FileSelector.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { IconAspectRatioOutline, IconCrop, IconImage } from '@bynder/icons';\nimport { Badge, token } from '@bynder/design-system';\n\nimport { DropdownListItem } from '../Components';\nimport { useConfig } from '../app-config/ConfigContext';\nimport { Dropdown } from '../common/components/dropdown/Dropdown';\nimport { DropdownContent } from '../common/components/dropdown/DropdownContent';\nimport { logger } from '../utils/logger';\nimport { useAuth } from '../login/LoginContext';\nimport { Skeleton } from '../common/components/Skeleton';\nimport { Asset } from '../views/asset/asset.type';\nimport { err, isErr, isOk, ok, Result } from '../auth/result.type';\nimport { File } from './file.type';\nimport { getAsset, StreamingLinks } from '../api/getAsset';\nimport {\n\tgetDefaultKey,\n\tgetHumanReadableFileSize,\n\tgetUrlExtension,\n\tsplitByCamelCase,\n} from './utils';\nimport { normalizeFilesResponse } from '@src/utils/normalizeResponse';\nimport { AuthInformationState } from '../auth/useAuthInformation';\nimport { DatDropdownItem } from '../Dat';\nimport { convertAssetIdToBase64 } from '@src/utils/base64Converter';\nimport { State } from './types';\nimport { useDat } from '@src/store/useDatStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\n\ntype returnFilesType = {\n\tfiles: Record<string, File>;\n\tdatabaseId: string;\n\tstreamingLinks?: StreamingLinks;\n};\n\nasync function getFiles(options: {\n\tasset: Asset;\n\tauth: AuthInformationState | null;\n\tassetFieldSelection?: string;\n\tisSimilaritySelected: boolean;\n\tnoCache?: boolean;\n}): Promise<Result<returnFilesType, string>> {\n\tconst { asset, auth, assetFieldSelection, noCache, isSimilaritySelected } = options;\n\n\tconst result = await getAsset({\n\t\tassetId: isSimilaritySelected ? convertAssetIdToBase64(asset.id) : asset.id,\n\t\tauth,\n\t\tassetFieldSelection,\n\t\tnoCache,\n\t});\n\n\tif (isOk(result) && result.value.files) {\n\t\tconst files = normalizeFilesResponse(result.value.files);\n\t\tconst streamingLinks = result.value.streamingLinks;\n\n\t\treturn ok({ files, databaseId: result.value.databaseId || '', streamingLinks });\n\t}\n\n\treturn err('Error retrieving asset files');\n}\n\ninterface Props {\n\treadonly asset: Asset;\n\treadonly onChange: (file: File | undefined) => void;\n}\n\nconst TRANSFORMATION_KEY = 'Custom transformation';\nconst ADAPTIVE_VIDEO_KEY = 'adaptiveVideo';\n\nexport function FileSelector({ asset, onChange }: Props) {\n\tconst [state, setState] = useState<State>({ status: 'Loading' });\n\tconst [isStreamingDropdownOpen, setIsStreamingDropdownOpen] = useState(false);\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst auth = useAuth();\n\tconst { isSelected, NLSSearchText, isNLSSelected } = useSimilaritySearchStore();\n\tconst {\n\t\tassetFieldSelection,\n\t\tnoCache,\n\t\tdefaultImageDerivativeName,\n\t\tdefaultVideoDerivativeName,\n\t\t__shouldAddOriginal__,\n\t} = useConfig();\n\tconst { transformation } = useDat();\n\n\tuseEffect(() => {\n\t\tif (transformation?.url && state.status === 'Data') {\n\t\t\tconst isTransformed = transformation.url !== state.files?.transformBaseUrl?.url;\n\t\t\tselectFile(isTransformed ? TRANSFORMATION_KEY : 'transformBaseUrl');\n\t\t}\n\t}, [transformation]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\t// Close dropdown when not on ADAPTIVE_VIDEO_KEY\n\tuseEffect(() => {\n\t\tif (state.status === 'Data' && state.key !== ADAPTIVE_VIDEO_KEY) {\n\t\t\tsetIsStreamingDropdownOpen(false);\n\t\t}\n\t}, [state]);\n\n\tuseEffect(() => {\n\t\tif (!asset.id) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetState({ status: 'Loading' });\n\t\tonChange(undefined);\n\n\t\tgetFiles({\n\t\t\tasset,\n\t\t\tauth,\n\t\t\tassetFieldSelection,\n\t\t\tnoCache,\n\t\t\tisSimilaritySelected: isSelected || (Boolean(NLSSearchText) && isNLSSelected),\n\t\t}).then((result) => {\n\t\t\tif (isErr(result)) {\n\t\t\t\tlogger.error(result.error);\n\t\t\t\tsetState({ status: 'Failure' });\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { files, streamingLinks } = result.value;\n\n\t\t\tif (__shouldAddOriginal__ && !('original' in files)) {\n\t\t\t\tfiles.original = {\n\t\t\t\t\turl: result.value.databaseId,\n\t\t\t\t\tisFakeOriginal: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst hasStreamingLinks = streamingLinks && Object.keys(streamingLinks).length > 0;\n\n\t\t\tif (hasStreamingLinks) {\n\t\t\t\tfiles[ADAPTIVE_VIDEO_KEY] = {\n\t\t\t\t\turl: 'Adaptive video',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst defaultKey = getDefaultKey(files) as string;\n\n\t\t\tconst selectedAdaptiveKey = Object.keys(streamingLinks || {})[0];\n\n\t\t\tsetState({\n\t\t\t\tstatus: 'Data',\n\t\t\t\tfiles,\n\t\t\t\tkey: defaultKey,\n\t\t\t\tstreamingLinks,\n\t\t\t\tselectedAdaptiveKey,\n\t\t\t});\n\n\t\t\tif (defaultKey === ADAPTIVE_VIDEO_KEY && streamingLinks) {\n\t\t\t\tonChange({ url: streamingLinks[selectedAdaptiveKey] });\n\t\t\t} else {\n\t\t\t\tonChange(files[defaultKey]);\n\t\t\t}\n\t\t});\n\t}, [asset.id, auth, assetFieldSelection]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tfunction selectFile(key: string, adaptiveKey?: string) {\n\t\tsetState((prevState) => {\n\t\t\tif (prevState.status !== 'Data') {\n\t\t\t\treturn prevState;\n\t\t\t}\n\n\t\t\tconst newState: State = { ...prevState, key };\n\t\t\tlet fileToSelect: File | undefined;\n\n\t\t\tif (key === TRANSFORMATION_KEY && transformation) {\n\t\t\t\tfileToSelect = { url: transformation.url };\n\t\t\t} else if (key === ADAPTIVE_VIDEO_KEY) {\n\t\t\t\tconst newAdaptiveKey = adaptiveKey || prevState.selectedAdaptiveKey;\n\n\t\t\t\tif (newAdaptiveKey && prevState.streamingLinks) {\n\t\t\t\t\tfileToSelect = { url: prevState.streamingLinks[newAdaptiveKey] };\n\t\t\t\t\tnewState.selectedAdaptiveKey = newAdaptiveKey;\n\n\t\t\t\t\t// Close the dropdown if an adaptive key was selected\n\t\t\t\t\tif (adaptiveKey) {\n\t\t\t\t\t\tsetIsStreamingDropdownOpen(false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Open the dropdown if ADAPTIVE_VIDEO_KEY was selected in the main dropdown\n\t\t\t\t\t\tsetIsStreamingDropdownOpen(true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfileToSelect = prevState.files[key];\n\t\t\t}\n\n\t\t\tsetTimeout(() => onChange(fileToSelect));\n\n\t\t\treturn newState;\n\t\t});\n\t}\n\n\tconst handleDropdownSelectedFileType = (key: string) => {\n\t\tif (state.status === 'Data') {\n\t\t\tif (\n\t\t\t\tasset.__typename === 'Image' &&\n\t\t\t\tdefaultImageDerivativeName &&\n\t\t\t\tdefaultImageDerivativeName in asset.files\n\t\t\t) {\n\t\t\t\treturn defaultImageDerivativeName === key;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tasset.__typename === 'Video' &&\n\t\t\t\tdefaultVideoDerivativeName &&\n\t\t\t\tdefaultVideoDerivativeName in asset.files\n\t\t\t) {\n\t\t\t\treturn defaultVideoDerivativeName === key;\n\t\t\t}\n\n\t\t\treturn state.key === key;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Container>\n\t\t\t<Dropdown\n\t\t\t\ttitle={\n\t\t\t\t\t<Title\n\t\t\t\t\t\tassetFileType={asset.__typename}\n\t\t\t\t\t\tdefaultImageDerivativeName={defaultImageDerivativeName}\n\t\t\t\t\t\tdefaultVideoDerivativeName={defaultVideoDerivativeName}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tbuttonKind=\"secondary\"\n\t\t\t\tisPaddingContent\n\t\t\t\tdirection=\"Up\"\n\t\t\t\tdisabled={state.status === 'Loading'}\n\t\t\t>\n\t\t\t\t{(toggle) =>\n\t\t\t\t\tstate.status === 'Data' && (\n\t\t\t\t\t\t<ListContainer>\n\t\t\t\t\t\t\t{Object.entries(state.files).map(([key, file]) => (\n\t\t\t\t\t\t\t\t<DropdownListItem\n\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\tselected={handleDropdownSelectedFileType(key)}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tselectFile(key);\n\n\t\t\t\t\t\t\t\t\t\tif (key !== ADAPTIVE_VIDEO_KEY) {\n\t\t\t\t\t\t\t\t\t\t\ttoggle();\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>\n\t\t\t\t\t\t\t\t\t<TransformImageContainer data-testid=\"file-extension\">\n\t\t\t\t\t\t\t\t\t\t{key === 'transformBaseUrl' ? (\n\t\t\t\t\t\t\t\t\t\t\t<AspectRatioIcon />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tgetUrlExtension(file.url) ?? <ImageIcon />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</TransformImageContainer>\n\t\t\t\t\t\t\t\t\t<TransformContentContainer>\n\t\t\t\t\t\t\t\t\t\t<TransformContentTitle>\n\t\t\t\t\t\t\t\t\t\t\t{splitByCamelCase(key)}\n\t\t\t\t\t\t\t\t\t\t\t{key === ADAPTIVE_VIDEO_KEY &&\n\t\t\t\t\t\t\t\t\t\t\t\tstate.selectedAdaptiveKey && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BadgeContainer>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge isSmall color=\"black-alpha\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{state.selectedAdaptiveKey.toUpperCase()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</BadgeContainer>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</TransformContentTitle>\n\t\t\t\t\t\t\t\t\t\t<TransformContentSubtitle>\n\t\t\t\t\t\t\t\t\t\t\t{file.width &&\n\t\t\t\t\t\t\t\t\t\t\t\tfile.height &&\n\t\t\t\t\t\t\t\t\t\t\t\t`${file.width} x ${file.height} px`}\n\n\t\t\t\t\t\t\t\t\t\t\t{file.width && file.height && file.fileSize && (\n\t\t\t\t\t\t\t\t\t\t\t\t<span>•</span>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t{file.fileSize &&\n\t\t\t\t\t\t\t\t\t\t\t\tgetHumanReadableFileSize(file.fileSize)}\n\t\t\t\t\t\t\t\t\t\t</TransformContentSubtitle>\n\t\t\t\t\t\t\t\t\t</TransformContentContainer>\n\t\t\t\t\t\t\t\t</DropdownListItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t<DatDropdownItem\n\t\t\t\t\t\t\t\ttransformBaseUrl={state.files?.transformBaseUrl?.url}\n\t\t\t\t\t\t\t\ttoggleDropdown={toggle}\n\t\t\t\t\t\t\t\tasset={asset}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ListContainer>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Dropdown>\n\t\t\t{state.status === 'Data' && state.key === ADAPTIVE_VIDEO_KEY && (\n\t\t\t\t<PositionedAdaptiveDropdown ref={dropdownRef}>\n\t\t\t\t\t{isStreamingDropdownOpen && (\n\t\t\t\t\t\t<DropdownContent\n\t\t\t\t\t\t\tisPaddingContent\n\t\t\t\t\t\t\tonClickOutside={() => setIsStreamingDropdownOpen(false)}\n\t\t\t\t\t\t\tdirection=\"Up\"\n\t\t\t\t\t\t\ttarget={dropdownRef}\n\t\t\t\t\t\t\tdata-testid=\"streaming-links-dropdown\"\n\t\t\t\t\t\t\tid=\"streaming-links-dropdown\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListContainer>\n\t\t\t\t\t\t\t\t{Object.keys(state.streamingLinks || {}).map((key) => (\n\t\t\t\t\t\t\t\t\t<DropdownListItem\n\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\tselected={state.selectedAdaptiveKey === key}\n\t\t\t\t\t\t\t\t\t\tonClick={() => selectFile(ADAPTIVE_VIDEO_KEY, key)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{key.toUpperCase()}\n\t\t\t\t\t\t\t\t\t</DropdownListItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ListContainer>\n\t\t\t\t\t\t</DropdownContent>\n\t\t\t\t\t)}\n\t\t\t\t</PositionedAdaptiveDropdown>\n\t\t\t)}\n\t\t</Container>\n\t);\n}\n\n// eslint-disable-next-line react/no-multi-comp\nfunction Title({\n\tassetFileType,\n\tdefaultImageDerivativeName,\n\tdefaultVideoDerivativeName,\n\tstate,\n}: {\n\tassetFileType: string;\n\treadonly state: State;\n\tdefaultImageDerivativeName?: string;\n\tdefaultVideoDerivativeName?: string;\n}) {\n\tconst handleContentTitleReturn = (key: string) => {\n\t\tif (state.status === 'Data') {\n\t\t\tif (\n\t\t\t\tassetFileType === 'Image' &&\n\t\t\t\tdefaultImageDerivativeName &&\n\t\t\t\tdefaultImageDerivativeName in state.files\n\t\t\t) {\n\t\t\t\treturn splitByCamelCase(defaultImageDerivativeName);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tassetFileType === 'Video' &&\n\t\t\t\tdefaultVideoDerivativeName &&\n\t\t\t\tdefaultVideoDerivativeName in state.files\n\t\t\t) {\n\t\t\t\treturn splitByCamelCase(defaultVideoDerivativeName);\n\t\t\t}\n\n\t\t\treturn splitByCamelCase(key);\n\t\t}\n\t};\n\n\tif (state.status === 'Loading') {\n\t\treturn <Skeleton width={50} />;\n\t} else if (state.status === 'Data') {\n\t\treturn (\n\t\t\t<TitleContainer>\n\t\t\t\t{state.key === TRANSFORMATION_KEY && <IconCrop />}\n\t\t\t\t{handleContentTitleReturn(state.key)}\n\t\t\t</TitleContainer>\n\t\t);\n\t}\n\n\treturn <>Error</>;\n}\n\nconst Container = styled.div`\n\tdisplay: flex;\n\tgap: ${token.spacing2};\n\tmargin-right: ${token.spacing3};\n\ttext-transform: capitalize;\n\tposition: relative;\n`;\n\nconst TitleContainer = styled.div`\n\tdisplay: flex;\n\tgap: ${token.spacing4};\n\talign-items: center;\n`;\n\nconst ListContainer = styled.ul`\n\tmax-height: 400px;\n\toverflow-y: auto;\n\tpadding: 0 0 ${token.spacing3} 0;\n\tlist-style: none;\n\tmargin: 0;\n`;\n\nconst TransformImageContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcolor: rgba(0, 34, 51, 0.5);\n\tfont-size: ${token.fontSize50};\n\theight: ${token.spacing8};\n\twidth: ${token.spacing8};\n\ttext-transform: uppercase;\n\tfont-weight: 600;\n\tborder-radius: 5px;\n\tbackground-color: rgba(0, 34, 51, 0.05);\n\tmargin-right: ${token.spacing4};\n`;\n\nconst AspectRatioIcon = styled(IconAspectRatioOutline)`\n\theight: ${token.spacing6};\n\twidth: ${token.spacing6};\n`;\n\nconst ImageIcon = styled(IconImage)`\n\theight: ${token.spacing6};\n\twidth: ${token.spacing6};\n`;\n\nconst TransformContentContainer = styled.div`\n\tflex-grow: 1;\n\twidth: 160px;\n`;\n\nconst TransformContentTitle = styled.div`\n\ttext-transform: capitalize;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tcolor: rgba(0, 34, 51, 0.8);\n`;\n\nconst TransformContentSubtitle = styled.div`\n\tfont-size: ${token.fontSize75};\n\n\t& > span {\n\t\tmargin: 0 ${token.spacing3};\n\t}\n`;\n\nconst BadgeContainer = styled.span`\n\tmargin-left: ${token.spacing2};\n\tdisplay: inline-flex;\n\tvertical-align: middle;\n`;\n\nconst PositionedAdaptiveDropdown = styled.div`\n\tposition: absolute;\n\tleft: -280px;\n\ttop: 0;\n\tz-index: 1000;\n`;\n"],"names":["getFiles","options","asset","auth","assetFieldSelection","noCache","isSimilaritySelected","result","getAsset","convertAssetIdToBase64","isOk","files","normalizeFilesResponse","streamingLinks","ok","err","TRANSFORMATION_KEY","ADAPTIVE_VIDEO_KEY","FileSelector","onChange","state","setState","useState","isStreamingDropdownOpen","setIsStreamingDropdownOpen","dropdownRef","useRef","useAuth","isSelected","NLSSearchText","isNLSSelected","useSimilaritySearchStore","defaultImageDerivativeName","defaultVideoDerivativeName","__shouldAddOriginal__","useConfig","transformation","useDat","useEffect","isTransformed","selectFile","isErr","logger","defaultKey","getDefaultKey","selectedAdaptiveKey","key","adaptiveKey","prevState","newState","fileToSelect","newAdaptiveKey","handleDropdownSelectedFileType","Container","jsx","Dropdown","Title","toggle","ListContainer","file","jsxs","DropdownListItem","TransformImageContainer","AspectRatioIcon","getUrlExtension","ImageIcon","TransformContentContainer","TransformContentTitle","splitByCamelCase","BadgeContainer","Badge","TransformContentSubtitle","getHumanReadableFileSize","DatDropdownItem","PositionedAdaptiveDropdown","DropdownContent","assetFileType","handleContentTitleReturn","Skeleton","TitleContainer","IconCrop","styled","token","IconAspectRatioOutline","IconImage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,eAAeA,GAASC,GAMqB;AAC5C,QAAM,EAAE,OAAAC,GAAO,MAAAC,GAAM,qBAAAC,GAAqB,SAAAC,GAAS,sBAAAC,MAAyBL,GAEtEM,IAAS,MAAMC,EAAS;AAAA,IAC7B,SAASF,IAAuBG,GAAuBP,EAAM,EAAE,IAAIA,EAAM;AAAA,IACzE,MAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,CACA;AAED,MAAIK,EAAKH,CAAM,KAAKA,EAAO,MAAM,OAAO;AACvC,UAAMI,IAAQC,GAAuBL,EAAO,MAAM,KAAK,GACjDM,IAAiBN,EAAO,MAAM;AAEpC,WAAOO,EAAG,EAAE,OAAAH,GAAO,YAAYJ,EAAO,MAAM,cAAc,IAAI,gBAAAM,GAAgB;AAAA,EAC/E;AAEA,SAAOE,EAAI,8BAA8B;AAC1C;AAOA,MAAMC,IAAqB,yBACrBC,IAAqB;AAEpB,SAASC,GAAa,EAAE,OAAAhB,GAAO,UAAAiB,KAAmB;AACxD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAgB,EAAE,QAAQ,WAAW,GACzD,CAACC,GAAyBC,CAA0B,IAAIF,EAAS,EAAK,GACtEG,IAAcC,EAAuB,IAAI,GACzCvB,IAAOwB,EAAA,GACP,EAAE,YAAAC,GAAY,eAAAC,GAAe,eAAAC,EAAA,IAAkBC,GAAA,GAC/C;AAAA,IACL,qBAAA3B;AAAA,IACA,SAAAC;AAAA,IACA,4BAAA2B;AAAA,IACA,4BAAAC;AAAA,IACA,uBAAAC;AAAA,EAAA,IACGC,EAAA,GACE,EAAE,gBAAAC,EAAA,IAAmBC,GAAA;AAE3B,EAAAC,EAAU,MAAM;AACf,QAAIF,GAAgB,OAAOhB,EAAM,WAAW,QAAQ;AACnD,YAAMmB,IAAgBH,EAAe,QAAQhB,EAAM,OAAO,kBAAkB;AAC5E,MAAAoB,EAAWD,IAAgBvB,IAAqB,kBAAkB;AAAA,IACnE;AAAA,EACD,GAAG,CAACoB,CAAc,CAAC,GAGnBE,EAAU,MAAM;AACf,IAAIlB,EAAM,WAAW,UAAUA,EAAM,QAAQH,KAC5CO,EAA2B,EAAK;AAAA,EAElC,GAAG,CAACJ,CAAK,CAAC,GAEVkB,EAAU,MAAM;AACf,IAAKpC,EAAM,OAIXmB,EAAS,EAAE,QAAQ,WAAW,GAC9BF,EAAS,MAAS,GAElBnB,GAAS;AAAA,MACR,OAAAE;AAAA,MACA,MAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,SAAAC;AAAA,MACA,sBAAsBuB,KAAe,EAAQC,KAAkBC;AAAA,IAAA,CAC/D,EAAE,KAAK,CAACvB,MAAW;AACnB,UAAIkC,EAAMlC,CAAM,GAAG;AAClB,QAAAmC,EAAO,MAAMnC,EAAO,KAAK,GACzBc,EAAS,EAAE,QAAQ,WAAW;AAE9B;AAAA,MACD;AAEA,YAAM,EAAE,OAAAV,GAAO,gBAAAE,EAAA,IAAmBN,EAAO;AAEzC,MAAI2B,KAAyB,EAAE,cAAcvB,OAC5CA,EAAM,WAAW;AAAA,QAChB,KAAKJ,EAAO,MAAM;AAAA,QAClB,gBAAgB;AAAA,MAAA,IAIQM,KAAkB,OAAO,KAAKA,CAAc,EAAE,SAAS,MAGhFF,EAAMM,CAAkB,IAAI;AAAA,QAC3B,KAAK;AAAA,MAAA;AAIP,YAAM0B,IAAaC,EAAcjC,CAAK,GAEhCkC,IAAsB,OAAO,KAAKhC,KAAkB,CAAA,CAAE,EAAE,CAAC;AAE/D,MAAAQ,EAAS;AAAA,QACR,QAAQ;AAAA,QACR,OAAAV;AAAA,QACA,KAAKgC;AAAA,QACL,gBAAA9B;AAAA,QACA,qBAAAgC;AAAA,MAAA,CACA,GAGA1B,EADGwB,MAAe1B,KAAsBJ,IAC/B,EAAE,KAAKA,EAAegC,CAAmB,MAEzClC,EAAMgC,CAAU,CAF4B;AAAA,IAIvD,CAAC;AAAA,EACF,GAAG,CAACzC,EAAM,IAAIC,GAAMC,CAAmB,CAAC;AAExC,WAASoC,EAAWM,GAAaC,GAAsB;AACtD,IAAA1B,EAAS,CAAC2B,MAAc;AACvB,UAAIA,EAAU,WAAW;AACxB,eAAOA;AAGR,YAAMC,IAAkB,EAAE,GAAGD,GAAW,KAAAF,EAAA;AACxC,UAAII;AAEJ,UAAIJ,MAAQ9B,KAAsBoB;AACjC,QAAAc,IAAe,EAAE,KAAKd,EAAe,IAAA;AAAA,eAC3BU,MAAQ7B,GAAoB;AACtC,cAAMkC,IAAiBJ,KAAeC,EAAU;AAEhD,QAAIG,KAAkBH,EAAU,mBAC/BE,IAAe,EAAE,KAAKF,EAAU,eAAeG,CAAc,EAAA,GAC7DF,EAAS,sBAAsBE,GAI9B3B,EADG,CAAAuB,CAC6B;AAAA,MAMnC;AACC,QAAAG,IAAeF,EAAU,MAAMF,CAAG;AAGnC,wBAAW,MAAM3B,EAAS+B,CAAY,CAAC,GAEhCD;AAAA,IACR,CAAC;AAAA,EACF;AAEA,QAAMG,IAAiC,CAACN,MAAgB;AACvD,QAAI1B,EAAM,WAAW;AACpB,aACClB,EAAM,eAAe,WACrB8B,KACAA,KAA8B9B,EAAM,QAE7B8B,MAA+Bc,IAItC5C,EAAM,eAAe,WACrB+B,KACAA,KAA8B/B,EAAM,QAE7B+B,MAA+Ba,IAGhC1B,EAAM,QAAQ0B;AAAA,EAEvB;AAEA,2BACEO,IAAA,EACA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,OACC,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACA,eAAetD,EAAM;AAAA,YACrB,4BAAA8B;AAAA,YACA,4BAAAC;AAAA,YACA,OAAAb;AAAA,UAAA;AAAA,QAAA;AAAA,QAGF,YAAW;AAAA,QACX,kBAAgB;AAAA,QAChB,WAAU;AAAA,QACV,UAAUA,EAAM,WAAW;AAAA,QAE1B,WAACqC,MACDrC,EAAM,WAAW,4BACfsC,GAAA,EACC,UAAA;AAAA,UAAA,OAAO,QAAQtC,EAAM,KAAK,EAAE,IAAI,CAAC,CAAC0B,GAAKa,CAAI,MAC3C,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cAEA,UAAUT,EAA+BN,CAAG;AAAA,cAC5C,SAAS,MAAM;AACd,gBAAAN,EAAWM,CAAG,GAEVA,MAAQ7B,KACXwC,EAAA;AAAA,cAEF;AAAA,cAEA,UAAA;AAAA,gBAAA,gBAAAH,EAACQ,IAAA,EAAwB,eAAY,kBACnC,UAAAhB,MAAQ,qBACR,gBAAAQ,EAACS,IAAA,CAAA,CAAgB,IAEjBC,GAAgBL,EAAK,GAAG,KAAK,gBAAAL,EAACW,MAAU,GAE1C;AAAA,kCACCC,IAAA,EACA,UAAA;AAAA,kBAAA,gBAAAN,EAACO,IAAA,EACC,UAAA;AAAA,oBAAAC,EAAiBtB,CAAG;AAAA,oBACpBA,MAAQ7B,KACRG,EAAM,uBACL,gBAAAkC,EAACe,MACA,UAAA,gBAAAf,EAACgB,GAAA,EAAM,SAAO,IAAC,OAAM,eACnB,UAAAlD,EAAM,oBAAoB,YAAA,GAC5B,EAAA,CACD;AAAA,kBAAA,GAEH;AAAA,oCACCmD,IAAA,EACC,UAAA;AAAA,oBAAAZ,EAAK,SACLA,EAAK,UACL,GAAGA,EAAK,KAAK,MAAMA,EAAK,MAAM;AAAA,oBAE9BA,EAAK,SAASA,EAAK,UAAUA,EAAK,YAClC,gBAAAL,EAAC,UAAK,UAAA,IAAA,CAAC;AAAA,oBAGPK,EAAK,YACLa,GAAyBb,EAAK,QAAQ;AAAA,kBAAA,EAAA,CACxC;AAAA,gBAAA,EAAA,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,YAzCKb;AAAA,UAAA,CA2CN;AAAA,UACD,gBAAAQ;AAAA,YAACmB;AAAA,YAAA;AAAA,cACA,kBAAkBrD,EAAM,OAAO,kBAAkB;AAAA,cACjD,gBAAgBqC;AAAA,cAChB,OAAAvD;AAAA,YAAA;AAAA,UAAA;AAAA,QACD,EAAA,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,IAIFkB,EAAM,WAAW,UAAUA,EAAM,QAAQH,KACzC,gBAAAqC,EAACoB,IAAA,EAA2B,KAAKjD,GAC/B,UAAAF,KACA,gBAAA+B;AAAA,MAACqB;AAAA,MAAA;AAAA,QACA,kBAAgB;AAAA,QAChB,gBAAgB,MAAMnD,EAA2B,EAAK;AAAA,QACtD,WAAU;AAAA,QACV,QAAQC;AAAA,QACR,eAAY;AAAA,QACZ,IAAG;AAAA,QAEH,UAAA,gBAAA6B,EAACI,GAAA,EACC,UAAA,OAAO,KAAKtC,EAAM,kBAAkB,CAAA,CAAE,EAAE,IAAI,CAAC0B,MAC7C,gBAAAQ;AAAA,UAACO;AAAA,UAAA;AAAA,YAEA,UAAUzC,EAAM,wBAAwB0B;AAAA,YACxC,SAAS,MAAMN,EAAWvB,GAAoB6B,CAAG;AAAA,YAEhD,YAAI,YAAA;AAAA,UAAY;AAAA,UAJZA;AAAA,QAAA,CAMN,EAAA,CACF;AAAA,MAAA;AAAA,IAAA,EACD,CAEF;AAAA,EAAA,GAEF;AAEF;AAGA,SAASU,GAAM;AAAA,EACd,eAAAoB;AAAA,EACA,4BAAA5C;AAAA,EACA,4BAAAC;AAAA,EACA,OAAAb;AACD,GAKG;AACF,QAAMyD,IAA2B,CAAC/B,MAAgB;AACjD,QAAI1B,EAAM,WAAW;AACpB,aACCwD,MAAkB,WAClB5C,KACAA,KAA8BZ,EAAM,QAE7BgD,EAAiBpC,CAA0B,IAIlD4C,MAAkB,WAClB3C,KACAA,KAA8Bb,EAAM,QAE7BgD,EAAiBnC,CAA0B,IAG5CmC,EAAiBtB,CAAG;AAAA,EAE7B;AAEA,SAAI1B,EAAM,WAAW,YACb,gBAAAkC,EAACwB,GAAA,EAAS,OAAO,GAAA,CAAI,IAClB1D,EAAM,WAAW,2BAEzB2D,IAAA,EACC,UAAA;AAAA,IAAA3D,EAAM,QAAQJ,KAAsB,gBAAAsC,EAAC0B,GAAA,CAAA,CAAS;AAAA,IAC9CH,EAAyBzD,EAAM,GAAG;AAAA,EAAA,GACpC,2BAIO,UAAA,QAAA,CAAK;AACf;AAEA,MAAMiC,KAAY4B,EAAO;AAAA;AAAA,QAEjBC,EAAM,QAAQ;AAAA,iBACLA,EAAM,QAAQ;AAAA;AAAA;AAAA,GAKzBH,KAAiBE,EAAO;AAAA;AAAA,QAEtBC,EAAM,QAAQ;AAAA;AAAA,GAIhBxB,IAAgBuB,EAAO;AAAA;AAAA;AAAA,gBAGbC,EAAM,QAAQ;AAAA;AAAA;AAAA,GAKxBpB,KAA0BmB,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,cAKzBC,EAAM,UAAU;AAAA,WACnBA,EAAM,QAAQ;AAAA,UACfA,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKPA,EAAM,QAAQ;AAAA,GAGzBnB,KAAkBkB,EAAOE,CAAsB;AAAA,WAC1CD,EAAM,QAAQ;AAAA,UACfA,EAAM,QAAQ;AAAA,GAGlBjB,KAAYgB,EAAOG,CAAS;AAAA,WACvBF,EAAM,QAAQ;AAAA,UACfA,EAAM,QAAQ;AAAA,GAGlBhB,KAA4Be,EAAO;AAAA;AAAA;AAAA,GAKnCd,KAAwBc,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ/BV,KAA2BU,EAAO;AAAA,cAC1BC,EAAM,UAAU;AAAA;AAAA;AAAA,cAGhBA,EAAM,QAAQ;AAAA;AAAA,GAItBb,KAAiBY,EAAO;AAAA,gBACdC,EAAM,QAAQ;AAAA;AAAA;AAAA,GAKxBR,KAA6BO,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/Header.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["../../src/login/components/Header.tsx"],"sourcesContent":["import React from 'react';\nimport { __ } from '../../localization';\n\nexport function Header() {\n\treturn (\n\t\t<>\n\t\t\t<svg\n\t\t\t\tviewBox=\"0 0 479.438 361.46\"\n\t\t\t\tclassName=\"w-10 mb-8\"\n\t\t\t\tstyle={{ width: 40, marginBottom: 32 }}\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td={`\n\t\t\t\t\t\tM365.18 0a114 114 0 00-85.9 38.93l-153.18 153-43.82-43.84a45.18 45.18\n\t\t\t\t\t\t0 01-11.54-30.75 46.06 46.06 0 0146.34-46.08 44.81 44.81 0 0130.42\n\t\t\t\t\t\t11.49c2.73 2.42 10.48 10.43 10.48 10.43l48.5-48.51-14-14C172.19 11.43\n\t\t\t\t\t\t144.48.03 114.3.03 51.24.03 0 51.03 0 114.1a115.08 115.08 0 0028.09\n\t\t\t\t\t\t75.46l98.35 98.77 205.53-205.5a44.78 44.78 0 0130.58-11.57 46.07 46.07 0\n\t\t\t\t\t\t0146.06 46.43 45.07 45.07 0 01-11.52 30.5l-136.6 136.57a28.73 28.73 0\n\t\t\t\t\t\t01-20.83 8.58 28.29 28.29 0 01-20.51-8.92l-10.27-10.16-48.28 48.28 9.88\n\t\t\t\t\t\t9.72a97.06 97.06 0 0069.38 29.2h.07a96 96 0\n\t\t\t\t\t\t0069-29.13l142.35-142.67A114.47 114.47 0 00365.18 0z`}\n\t\t\t\t\tfill=\"#0af\"\n\t\t\t\t/>\n\t\t\t</svg>\n\n\t\t\t<h1\n\t\t\t\tclassName=\"text-xl mb-2\"\n\t\t\t\tstyle={{ fontSize: 20, margin: 0, marginBottom: 8, fontWeight: 400 }}\n\t\t\t>\n\t\t\t\t{__('Connect your brand portal')}\n\t\t\t</h1>\n\t\t</>\n\t);\n}\n"],"names":["Header","jsxs","Fragment","jsx"],"mappings":";;AAGO,SAASA,IAAS;AACxB,SACC,gBAAAC,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,SAAQ;AAAA,QACR,WAAU;AAAA,QACV,OAAO,EAAE,OAAO,IAAI,cAAc,GAAA;AAAA,QAElC,UAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAUH,MAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,IAGD,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,OAAO,EAAE,UAAU,IAAI,QAAQ,GAAG,cAAc,GAAG,YAAY,IAAA;AAAA,QAE9D,YAAG,2BAA2B;AAAA,MAAA;AAAA,IAAA;AAAA,EAChC,GACD;AAEF;"}
|
package/HorizontalScroll.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalScroll.js","sources":["../../src/common/components/HorizontalScroll.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { useDimensions } from '../hooks/useDimensions';\nimport { RightArrow } from './RightArrow';\nimport { LeftArrow } from './LeftArrow';\n\ninterface Props {\n\tstatic?: React.ReactNode;\n\tchildren: React.ReactNode;\n\tisActiveFilter?: boolean;\n}\n\nexport function HorizontalScroll(props: Props) {\n\tconst [scroll, setScroll] = useState(0);\n\tconst nodeRef = useRef<HTMLDivElement>(null);\n\n\tconst { dimensions, remeasure } = useDimensions(nodeRef.current);\n\n\tconst maxScroll =\n\t\tnodeRef.current !== null ? nodeRef.current.scrollWidth - nodeRef.current.clientWidth : 0;\n\n\tconst showScrollButtons =\n\t\tdimensions !== undefined ? Math.ceil(dimensions.width) < dimensions.scrollWidth : false;\n\n\tuseEffect(() => {\n\t\tremeasure(nodeRef.current);\n\t}, [props.children, nodeRef.current]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (!showScrollButtons) {\n\t\t\tsetScroll(0);\n\t\t}\n\t}, [showScrollButtons]);\n\n\tconst isLeftArrowDisabled = scroll === 0;\n\tconst isRightArrowDisabled = maxScroll > 5 && scroll !== maxScroll;\n\n\tfunction handleLeftScroll() {\n\t\tsetScroll((prevScroll: number) => {\n\t\t\tconst newScroll = Math.max(prevScroll - 250, 0);\n\n\t\t\treturn newScroll >= 100 ? newScroll : 0;\n\t\t});\n\t}\n\n\tfunction handleRightScroll() {\n\t\tsetScroll((prevScroll: number) => {\n\t\t\tconst newScroll = Math.min(prevScroll + 250, maxScroll);\n\n\t\t\treturn newScroll <= maxScroll - 100 ? newScroll : maxScroll;\n\t\t});\n\t}\n\n\treturn (\n\t\t<HorizontalScrollContainer $isActiveFilter={props.isActiveFilter}>\n\t\t\t<HorizontalScrollContentParent ref={nodeRef}>\n\t\t\t\t<HorizontalScrollContent data-testid=\"horizontal-scrollable-el\" $scroll={scroll}>\n\t\t\t\t\t{props.children}\n\t\t\t\t</HorizontalScrollContent>\n\t\t\t</HorizontalScrollContentParent>\n\n\t\t\t{showScrollButtons && (\n\t\t\t\t<LeftArrow isDisabled={isLeftArrowDisabled} onClick={handleLeftScroll} />\n\t\t\t)}\n\t\t\t{showScrollButtons && (\n\t\t\t\t<RightArrow isDisabled={!isRightArrowDisabled} onClick={handleRightScroll} />\n\t\t\t)}\n\n\t\t\t{props.static}\n\t\t</HorizontalScrollContainer>\n\t);\n}\n\nconst HorizontalScrollContainer = styled.div<{ $isActiveFilter?: boolean }>`\n\tdisplay: inline-flex;\n\tflex-grow: 1;\n\toverflow: hidden;\n\theight: ${token.spacing7};\n\tmargin-left: ${(p) => (p.$isActiveFilter ? token.spacing3 : 0)};\n`;\n\nconst HorizontalScrollContentParent = styled.div`\n\toverflow: hidden;\n`;\n\nconst HorizontalScrollContent = styled.div<{ $scroll: number }>`\n\tdisplay: inline-flex;\n\ttransform: translateX(-${(p) => p.$scroll}px);\n\ttransition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.15);\n`;\n"],"names":["HorizontalScroll","props","scroll","setScroll","useState","nodeRef","useRef","dimensions","remeasure","useDimensions","maxScroll","showScrollButtons","useEffect","isLeftArrowDisabled","isRightArrowDisabled","handleLeftScroll","prevScroll","newScroll","handleRightScroll","jsxs","HorizontalScrollContainer","jsx","HorizontalScrollContentParent","HorizontalScrollContent","LeftArrow","RightArrow","styled","token","p"],"mappings":";;;;;;;AAcO,SAASA,EAAiBC,GAAc;AAC9C,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,CAAC,GAChCC,IAAUC,EAAuB,IAAI,GAErC,EAAE,YAAAC,GAAY,WAAAC,EAAA,IAAcC,EAAcJ,EAAQ,OAAO,GAEzDK,IACLL,EAAQ,YAAY,OAAOA,EAAQ,QAAQ,cAAcA,EAAQ,QAAQ,cAAc,GAElFM,IACLJ,MAAe,SAAY,KAAK,KAAKA,EAAW,KAAK,IAAIA,EAAW,cAAc;AAEnF,EAAAK,EAAU,MAAM;AACf,IAAAJ,EAAUH,EAAQ,OAAO;AAAA,EAC1B,GAAG,CAACJ,EAAM,UAAUI,EAAQ,OAAO,CAAC,GAEpCO,EAAU,MAAM;AACf,IAAKD,KACJR,EAAU,CAAC;AAAA,EAEb,GAAG,CAACQ,CAAiB,CAAC;AAEtB,QAAME,IAAsBX,MAAW,GACjCY,IAAuBJ,IAAY,KAAKR,MAAWQ;AAEzD,WAASK,IAAmB;AAC3B,IAAAZ,EAAU,CAACa,MAAuB;AACjC,YAAMC,IAAY,KAAK,IAAID,IAAa,KAAK,CAAC;AAE9C,aAAOC,KAAa,MAAMA,IAAY;AAAA,IACvC,CAAC;AAAA,EACF;AAEA,WAASC,IAAoB;AAC5B,IAAAf,EAAU,CAACa,MAAuB;AACjC,YAAMC,IAAY,KAAK,IAAID,IAAa,KAAKN,CAAS;AAEtD,aAAOO,KAAaP,IAAY,MAAMO,IAAYP;AAAA,IACnD,CAAC;AAAA,EACF;AAEA,SACC,gBAAAS,EAACC,GAAA,EAA0B,iBAAiBnB,EAAM,gBACjD,UAAA;AAAA,IAAA,gBAAAoB,EAACC,GAAA,EAA8B,KAAKjB,GACnC,UAAA,gBAAAgB,EAACE,GAAA,EAAwB,eAAY,4BAA2B,SAASrB,GACvE,UAAAD,EAAM,SAAA,CACR,GACD;AAAA,IAECU,KACA,gBAAAU,EAACG,GAAA,EAAU,YAAYX,GAAqB,SAASE,GAAkB;AAAA,IAEvEJ,KACA,gBAAAU,EAACI,GAAA,EAAW,YAAY,CAACX,GAAsB,SAASI,GAAmB;AAAA,IAG3EjB,EAAM;AAAA,EAAA,GACR;AAEF;AAEA,MAAMmB,IAA4BM,EAAO;AAAA;AAAA;AAAA;AAAA,WAI9BC,EAAM,QAAQ;AAAA,gBACT,CAACC,MAAOA,EAAE,kBAAkBD,EAAM,WAAW,CAAE;AAAA,GAGzDL,IAAgCI,EAAO;AAAA;AAAA,GAIvCH,IAA0BG,EAAO;AAAA;AAAA,0BAEb,CAACE,MAAMA,EAAE,OAAO;AAAA;AAAA;"}
|
package/InfiniteScroll.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InfiniteScroll.js","sources":["../../src/common/components/InfiniteScroll.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useInView } from 'react-intersection-observer';\n\nimport { styled } from 'styled-components';\nimport { Spinner } from './Spinner';\n\ninterface Props {\n\tisLoading: boolean;\n\thasNextPage: boolean;\n\tloadMore: () => void;\n\tchildren: React.ReactNode;\n}\n\nexport function InfiniteScroll(props: Props) {\n\tconst [spinnerRef, isInView] = useInView();\n\n\tuseEffect(() => {\n\t\tif (isInView && !props.isLoading && props.hasNextPage) {\n\t\t\tprops.loadMore();\n\t\t}\n\t}, [isInView]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\treturn (\n\t\t<>\n\t\t\t{props.children}\n\n\t\t\t{props.hasNextPage && (\n\t\t\t\t<InfiniteScrollContainer ref={spinnerRef} data-testid=\"loading-element\">\n\t\t\t\t\t<Spinner isHidden={!isInView} isRelative />\n\t\t\t\t</InfiniteScrollContainer>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nconst InfiniteScrollContainer = styled.div`\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tposition: relative;\n\theight: 128px;\n\twidth: 100%;\n`;\n"],"names":["InfiniteScroll","props","spinnerRef","isInView","useInView","useEffect","jsxs","Fragment","jsx","InfiniteScrollContainer","Spinner","styled"],"mappings":";;;;;AAaO,SAASA,EAAeC,GAAc;AAC5C,QAAM,CAACC,GAAYC,CAAQ,IAAIC,EAAA;AAE/B,SAAAC,EAAU,MAAM;AACf,IAAIF,KAAY,CAACF,EAAM,aAAaA,EAAM,eACzCA,EAAM,SAAA;AAAA,EAER,GAAG,CAACE,CAAQ,CAAC,GAGZ,gBAAAG,EAAAC,GAAA,EACE,UAAA;AAAA,IAAAN,EAAM;AAAA,IAENA,EAAM,eACN,gBAAAO,EAACC,GAAA,EAAwB,KAAKP,GAAY,eAAY,mBACrD,UAAA,gBAAAM,EAACE,KAAQ,UAAU,CAACP,GAAU,YAAU,IAAC,EAAA,CAC1C;AAAA,EAAA,GAEF;AAEF;AAEA,MAAMM,IAA0BE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/LeftArrow.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LeftArrow.js","sources":["../../src/common/components/LeftArrow.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconArrowLeft } from '@bynder/icons';\nimport { Button } from '@bynder/design-system';\n\nexport function LeftArrow(props: Readonly<{ isDisabled: boolean; onClick: () => void }>) {\n\treturn (\n\t\t<StyledButtonWrapper>\n\t\t\t<Button\n\t\t\t\ticon={<IconArrowLeft />}\n\t\t\t\taria-label=\"Previous\"\n\t\t\t\ttitle=\"Previous\"\n\t\t\t\tvariant=\"clean\"\n\t\t\t\tisSmall\n\t\t\t\tonClick={props.onClick}\n\t\t\t\tdata-testid=\"arrow-left\"\n\t\t\t\tisDisabled={props.isDisabled}\n\t\t\t/>\n\t\t</StyledButtonWrapper>\n\t);\n}\n\nconst StyledButtonWrapper = styled.div`\n\tz-index: 20;\n\tpadding: 0;\n\tbox-shadow: 4px 0 13px 13px #fff;\n\t&:hover {\n\t\tbox-shadow: 4px 0 13px 13px #fff;\n\t}\n`;\n"],"names":["LeftArrow","props","StyledButtonWrapper","jsx","Button","IconArrowLeft","styled"],"mappings":";;;;AAKO,SAASA,EAAUC,GAA+D;AACxF,2BACEC,GAAA,EACA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,wBAAOC,GAAA,EAAc;AAAA,MACrB,cAAW;AAAA,MACX,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,SAAO;AAAA,MACP,SAASJ,EAAM;AAAA,MACf,eAAY;AAAA,MACZ,YAAYA,EAAM;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;AAEA,MAAMC,IAAsBI,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/LoginComponent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginComponent.js","sources":["../../src/login/LoginComponent.tsx"],"sourcesContent":["import React from 'react';\nimport { DomainStatus } from './useAccountDomain';\nimport { Container } from './components/Container';\nimport { Header } from './components/Header';\nimport { DomainInput } from './components/DomainInput';\nimport { ConnectButton } from './components/ConnectButton';\n\ninterface Props {\n\tdomainValue: string;\n\tdomainStatus: DomainStatus;\n\tonChangeDomain: (value: string) => void;\n\tisSubmitting: boolean;\n\tisEditable: boolean;\n\tonSubmit: () => void;\n}\n\nexport function LoginComponent(props: Props) {\n\treturn (\n\t\t<Container>\n\t\t\t<Header />\n\n\t\t\t<DomainInput\n\t\t\t\tvalue={props.domainValue}\n\t\t\t\tisReadOnly={props.isEditable === false || props.isSubmitting}\n\t\t\t\tonChange={props.onChangeDomain}\n\t\t\t\tonSubmit={props.onSubmit}\n\t\t\t\tstatus={props.domainStatus}\n\t\t\t/>\n\n\t\t\t<ConnectButton\n\t\t\t\tisValidDomain={props.domainStatus === 'valid'}\n\t\t\t\tisSubmitting={props.isSubmitting}\n\t\t\t\tonClick={props.onSubmit}\n\t\t\t/>\n\t\t</Container>\n\t);\n}\n"],"names":["LoginComponent","props","Container","jsx","Header","DomainInput","ConnectButton"],"mappings":";;;;;AAgBO,SAASA,EAAeC,GAAc;AAC5C,2BACEC,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAO;AAAA,IAER,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,OAAOJ,EAAM;AAAA,QACb,YAAYA,EAAM,eAAe,MAASA,EAAM;AAAA,QAChD,UAAUA,EAAM;AAAA,QAChB,UAAUA,EAAM;AAAA,QAChB,QAAQA,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,IAGf,gBAAAE;AAAA,MAACG;AAAA,MAAA;AAAA,QACA,eAAeL,EAAM,iBAAiB;AAAA,QACtC,cAAcA,EAAM;AAAA,QACpB,SAASA,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB,GACD;AAEF;"}
|
package/LoginContext.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginContext.js","sources":["../../src/login/LoginContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState } from 'react';\n\nimport { authenticate, AuthenticationResponse } from '../auth/auth';\nimport { useAuthInformation, AuthInformationState } from '../auth/useAuthInformation';\nimport { useLocalization } from '../localization';\nimport { ShadowRoot } from '../style/shadowroot/ShadowRoot';\nimport { LoginComponent } from './LoginComponent';\nimport { isOk, Result } from '../auth/result.type';\nimport { logger } from '../utils/logger';\nimport { useAccountDomain } from './useAccountDomain';\nimport { Shield } from '../error-handling/Shield';\nimport { Config, PortalConfig } from '../app-config/appConfig.type';\nimport { RefreshingSpinner } from './components/RefreshingSpinner';\n\ntype ContextValue = AuthInformationState & { logout: () => void; hideLogout?: boolean };\n\nexport const AuthContext = createContext<ContextValue | null>(null);\n\ninterface Props {\n\tportal?: PortalConfig;\n\tlanguage?: string;\n\tchildren: React.ReactNode;\n\tauthentication?: Config['authentication'];\n\tonLogout?: Config['onLogout'];\n}\n\nfunction Login(props: Props) {\n\tuseLocalization(props.language ?? 'en_US');\n\tconst [auth, setAuth, resetAuth] = useAuthInformation();\n\tconst [domainInput, setDomainInput, domainStatus] = useAccountDomain(\n\t\tprops.portal?.url ?? auth.accountDomain,\n\t);\n\tconst [isSubmitting, setIsSubmitting] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (props.authentication?.hideLogout && !props.authentication?.getAccessToken) {\n\t\t\tlogger.error(\n\t\t\t\t'The hideLogout property can only be used in combination with getAccessToken property',\n\t\t\t);\n\t\t}\n\t}, [props.authentication?.hideLogout, props.authentication?.getAccessToken]);\n\n\tuseEffect(() => {\n\t\tif (props.authentication?.getAccessToken) {\n\t\t\t// authenticate by provided accessToken\n\t\t\tsetAuth({\n\t\t\t\tgetAccessToken: props.authentication.getAccessToken,\n\t\t\t\taccountDomain: props.portal?.url,\n\t\t\t});\n\t\t}\n\t\t// We only want to set the authentication if getAccessToken changes.\n\t\t// If the portal changes, the user will be able to provide their\n\t\t// credentials and we retrieve an accessToken via that process.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [props.authentication?.getAccessToken]);\n\n\tuseEffect(() => {\n\t\tlet isMounted = true;\n\n\t\tif (isSubmitting === true) {\n\t\t\tauthenticate(domainInput).then((result) => {\n\t\t\t\t// Make sure that state is only set if component is still mounted\n\t\t\t\tif (isMounted) {\n\t\t\t\t\tsetResult(result);\n\t\t\t\t\tsetIsSubmitting(false);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Clean up\n\t\treturn () => {\n\t\t\tisMounted = false;\n\t\t};\n\t}, [isSubmitting, domainInput]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tfunction setResult(result: Result<AuthenticationResponse, string>) {\n\t\tif (isOk(result)) {\n\t\t\tconst { accessToken, refreshToken, expiresIn } = result.value;\n\t\t\tsetAuth({\n\t\t\t\tgetAccessToken: () => accessToken,\n\t\t\t\trefreshToken,\n\t\t\t\texpiresIn,\n\t\t\t\taccountDomain: domainInput,\n\t\t\t});\n\t\t} else {\n\t\t\tlogger.error(result.error);\n\t\t}\n\t}\n\n\tfunction login() {\n\t\t// Setting isSubmitting to true will start authentication in useEffect\n\t\tsetIsSubmitting(true);\n\t}\n\n\tfunction logout() {\n\t\tresetAuth();\n\n\t\tprops.onLogout?.();\n\t}\n\n\tconst authContext = {\n\t\t...auth,\n\t\tlogout,\n\t\thideLogout: !!props.authentication?.getAccessToken && props.authentication.hideLogout,\n\t};\n\n\tswitch (auth.status) {\n\t\tcase 'authenticated':\n\t\t\treturn (\n\t\t\t\t<AuthContext.Provider value={authContext}>{props.children}</AuthContext.Provider>\n\t\t\t);\n\n\t\tcase 'not-authenticated':\n\t\t\treturn (\n\t\t\t\t<ShadowRoot isContainerMode>\n\t\t\t\t\t<LoginComponent\n\t\t\t\t\t\tdomainValue={domainInput}\n\t\t\t\t\t\tdomainStatus={domainStatus}\n\t\t\t\t\t\tonChangeDomain={setDomainInput}\n\t\t\t\t\t\tisSubmitting={isSubmitting}\n\t\t\t\t\t\tisEditable={props.portal?.editable ?? true}\n\t\t\t\t\t\tonSubmit={login}\n\t\t\t\t\t/>\n\t\t\t\t</ShadowRoot>\n\t\t\t);\n\n\t\tcase 'refreshing':\n\t\t\treturn <RefreshingSpinner />;\n\t}\n}\n\n// eslint-disable-next-line react/no-multi-comp\nconst LoginWithShield = (props: Props) => (\n\t<Shield>\n\t\t<Login {...props} />\n\t</Shield>\n);\n\nexport { LoginWithShield as Login };\n\nexport const useIsLoggedIn = () => useContext(AuthContext)?.status === 'authenticated' || false;\nexport const useAuth = () => useContext(AuthContext);\n"],"names":["AuthContext","createContext","Login","props","useLocalization","auth","setAuth","resetAuth","useAuthInformation","domainInput","setDomainInput","domainStatus","useAccountDomain","isSubmitting","setIsSubmitting","useState","useEffect","logger","isMounted","authenticate","result","setResult","isOk","accessToken","refreshToken","expiresIn","login","logout","authContext","jsx","ShadowRoot","LoginComponent","RefreshingSpinner","LoginWithShield","Shield","useIsLoggedIn","useContext","useAuth"],"mappings":";;;;;;;;;;;;AAgBO,MAAMA,IAAcC,EAAmC,IAAI;AAUlE,SAASC,EAAMC,GAAc;AAC5B,EAAAC,EAAgBD,EAAM,YAAY,OAAO;AACzC,QAAM,CAACE,GAAMC,GAASC,CAAS,IAAIC,EAAA,GAC7B,CAACC,GAAaC,GAAgBC,CAAY,IAAIC;AAAA,IACnDT,EAAM,QAAQ,OAAOE,EAAK;AAAA,EAAA,GAErB,CAACQ,GAAcC,CAAe,IAAIC,EAAS,EAAK;AAEtD,EAAAC,EAAU,MAAM;AACf,IAAIb,EAAM,gBAAgB,cAAc,CAACA,EAAM,gBAAgB,kBAC9Dc,EAAO;AAAA,MACN;AAAA,IAAA;AAAA,EAGH,GAAG,CAACd,EAAM,gBAAgB,YAAYA,EAAM,gBAAgB,cAAc,CAAC,GAE3Ea,EAAU,MAAM;AACf,IAAIb,EAAM,gBAAgB,kBAEzBG,EAAQ;AAAA,MACP,gBAAgBH,EAAM,eAAe;AAAA,MACrC,eAAeA,EAAM,QAAQ;AAAA,IAAA,CAC7B;AAAA,EAMH,GAAG,CAACA,EAAM,gBAAgB,cAAc,CAAC,GAEzCa,EAAU,MAAM;AACf,QAAIE,IAAY;AAEhB,WAAIL,MAAiB,MACpBM,EAAaV,CAAW,EAAE,KAAK,CAACW,MAAW;AAE1C,MAAIF,MACHG,EAAUD,CAAM,GAChBN,EAAgB,EAAK;AAAA,IAEvB,CAAC,GAIK,MAAM;AACZ,MAAAI,IAAY;AAAA,IACb;AAAA,EACD,GAAG,CAACL,GAAcJ,CAAW,CAAC;AAE9B,WAASY,EAAUD,GAAgD;AAClE,QAAIE,EAAKF,CAAM,GAAG;AACjB,YAAM,EAAE,aAAAG,GAAa,cAAAC,GAAc,WAAAC,EAAA,IAAcL,EAAO;AACxD,MAAAd,EAAQ;AAAA,QACP,gBAAgB,MAAMiB;AAAA,QACtB,cAAAC;AAAA,QACA,WAAAC;AAAA,QACA,eAAehB;AAAA,MAAA,CACf;AAAA,IACF;AACC,MAAAQ,EAAO,MAAMG,EAAO,KAAK;AAAA,EAE3B;AAEA,WAASM,IAAQ;AAEhB,IAAAZ,EAAgB,EAAI;AAAA,EACrB;AAEA,WAASa,IAAS;AACjB,IAAApB,EAAA,GAEAJ,EAAM,WAAA;AAAA,EACP;AAEA,QAAMyB,IAAc;AAAA,IACnB,GAAGvB;AAAA,IACH,QAAAsB;AAAA,IACA,YAAY,CAAC,CAACxB,EAAM,gBAAgB,kBAAkBA,EAAM,eAAe;AAAA,EAAA;AAG5E,UAAQE,EAAK,QAAA;AAAA,IACZ,KAAK;AACJ,+BACEL,EAAY,UAAZ,EAAqB,OAAO4B,GAAc,YAAM,UAAS;AAAA,IAG5D,KAAK;AACJ,aACC,gBAAAC,EAACC,GAAA,EAAW,iBAAe,IAC1B,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACA,aAAatB;AAAA,UACb,cAAAE;AAAA,UACA,gBAAgBD;AAAA,UAChB,cAAAG;AAAA,UACA,YAAYV,EAAM,QAAQ,YAAY;AAAA,UACtC,UAAUuB;AAAA,QAAA;AAAA,MAAA,GAEZ;AAAA,IAGF,KAAK;AACJ,+BAAQM,GAAA,EAAkB;AAAA,EAAA;AAE7B;AAGA,MAAMC,IAAkB,CAAC9B,MACxB,gBAAA0B,EAACK,KACA,UAAA,gBAAAL,EAAC3B,GAAA,EAAO,GAAGC,EAAA,CAAO,EAAA,CACnB,GAKYgC,IAAgB,MAAMC,EAAWpC,CAAW,GAAG,WAAW,mBAAmB,IAC7EqC,IAAU,MAAMD,EAAWpC,CAAW;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetapropertyFilterContent.js","sources":["../../src/filter/filters/metaproperty/MetapropertyFilterContent.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { token } from '@bynder/design-system';\n\nimport { MetapropertyOptionComponent, MetapropertyOptionType } from './MetapropertyOption';\n\nexport interface MetapropertyType {\n\t__typename: 'Metaproperty';\n\tid: string;\n\tlabel: string;\n\tzIndex: number;\n\toptions: MetapropertyOptionType[];\n\tshowInGridView: boolean;\n\tshowInListView: boolean;\n}\n\ninterface MetapropertyProps {\n\tmetaproperty: MetapropertyType;\n\tselectedOptionIds: string[];\n\tisLoading: boolean;\n\tonAddOption: (metapropertyOption: MetapropertyOptionType) => void;\n\tonRemoveOption: (metapropertyOption: MetapropertyOptionType) => void;\n}\n\nexport function MetaPropertyFilterContent(props: MetapropertyProps) {\n\treturn (\n\t\t<FilterContent data-testid=\"metaproperty-filter-content\">\n\t\t\t<h1 title={props.metaproperty.label}>{props.metaproperty.label}</h1>\n\n\t\t\t<FilterList>\n\t\t\t\t{props.metaproperty.options.map((metapropertyOption) => (\n\t\t\t\t\t<MetapropertyOptionComponent\n\t\t\t\t\t\tkey={metapropertyOption.id}\n\t\t\t\t\t\tmetapropertyOption={metapropertyOption}\n\t\t\t\t\t\tselectedOptionIds={props.selectedOptionIds}\n\t\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t\t\tonAddOption={() => props.onAddOption(metapropertyOption)}\n\t\t\t\t\t\tonRemoveOption={() => props.onRemoveOption(metapropertyOption)}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</FilterList>\n\t\t</FilterContent>\n\t);\n}\n\nexport interface Tag {\n\tid: string;\n\tname: string;\n\tassetCount: number;\n}\n\nconst FilterContent = styled.div`\n\th1 {\n\t\tpadding: ${token.spacing5};\n\t\tmargin: 0;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tfont-size: ${token.fontSize100};\n\t\tborder-bottom: 1px solid rgba(3, 16, 38, 0.1);\n\t\tbox-shadow: 0px 0px 1px 0px rgba(3, 16, 38, 0.1), 0px 1px 4px -1px rgba(3, 16, 38, 0.1);\n\t}\n`;\n\nconst FilterList = styled.ul`\n\tmax-height: 400px;\n\toverflow-y: auto;\n\tpadding: 0;\n\twidth: 100%;\n\tlist-style: none;\n\tmargin: 0;\n`;\n"],"names":["styled","token"],"mappings":";;;;AAmDsBA,EAAO;AAAA;AAAA,aAEhBC,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,eAKZA,EAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAMbD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetapropertyOption.js","sources":["../../src/filter/filters/metaproperty/MetapropertyOption.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token, TruncatedText } from '@bynder/design-system';\n\nimport { IconCheckCircle } from '@bynder/icons';\nimport {\n\tContent,\n\tLabel,\n\tListItem,\n\tStyledCheckboxWrapper,\n} from '../../../common/components/Checkbox.styles';\n\nexport interface MetapropertyOptionType {\n\tid: string;\n\tlabel: string;\n\tassetCount: number;\n}\n\ninterface MetapropertyOptionProps {\n\tmetapropertyOption: MetapropertyOptionType;\n\tselectedOptionIds?: string[];\n\tisLoading?: boolean;\n\tonAddOption: () => void;\n\tonRemoveOption: () => void;\n}\n\nexport function MetapropertyOptionComponent(props: MetapropertyOptionProps) {\n\tconst isChecked =\n\t\tprops.selectedOptionIds !== undefined &&\n\t\tprops.selectedOptionIds.includes(props.metapropertyOption.id);\n\n\tfunction handleClick() {\n\t\tif (isChecked) {\n\t\t\tprops.onRemoveOption();\n\t\t}\n\t\t// Adding a filter while loading can break the UI\n\t\telse if (!props.isLoading) {\n\t\t\tprops.onAddOption();\n\t\t}\n\t}\n\n\treturn (\n\t\t<ListItem>\n\t\t\t<StyledCheckboxWrapper $isChecked={isChecked} $isLoading={Boolean(props.isLoading)}>\n\t\t\t\t<Content\n\t\t\t\t\t$isChecked={isChecked}\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tdata-testid=\"metaproperty-option\"\n\t\t\t\t>\n\t\t\t\t\t<Label title={props.metapropertyOption.label}>\n\t\t\t\t\t\t<SitemapIcon className=\"fa fa-sitemap\" />\n\t\t\t\t\t\t<TruncatedText>{props.metapropertyOption.label}</TruncatedText>\n\t\t\t\t\t</Label>\n\t\t\t\t\t<AssetCount className=\"fade-in-down\">\n\t\t\t\t\t\t{isChecked ? <IconCheckCircle /> : null}{' '}\n\t\t\t\t\t\t{props.metapropertyOption.assetCount}\n\t\t\t\t\t</AssetCount>\n\t\t\t\t</Content>\n\t\t\t</StyledCheckboxWrapper>\n\t\t</ListItem>\n\t);\n}\n\nconst AssetCount = styled.span`\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0 8px;\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: 16px;\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\nconst SitemapIcon = styled.i`\n\tmargin-right: ${token.spacing4};\n`;\n"],"names":["styled","token"],"mappings":";;;;;AA+DmBA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAUXC,EAAM,QAAQ;AAAA,gBACbA,EAAM,QAAQ;AAAA,kBACZA,EAAM,QAAQ;AAAA;AAAA;AAIZD,EAAO;AAAA,iBACVC,EAAM,QAAQ;AAAA;"}
|
package/Modal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../src/common/components/Modal.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport styled from 'styled-components';\nimport { token } from '@bynder/design-system';\n\nimport { ShadowRoot } from '@src/style/shadowroot/ShadowRoot';\n\nconst ModalContext = createContext<{ onClose: () => void } | null>(null);\n\nexport const useModalContext = () => useContext(ModalContext);\n\ninterface Props {\n\tchildren: React.ReactNode;\n\tisOpen?: boolean;\n\tstyle?: React.CSSProperties;\n\tonClose?: () => void;\n}\n\nexport function Modal({\n\tchildren,\n\tisOpen = true,\n\tstyle,\n\tonClose = () => {\n\t\t/** do nothing */\n\t},\n}: Props) {\n\tconst [node, setNode] = useState<Element | null>(null);\n\tconst modalContextValue = useMemo(() => ({ onClose }), [onClose]);\n\n\tuseEffect(() => {\n\t\t// Create modal div to add content to\n\t\tconst el = document.createElement('div');\n\t\tel.dataset.testId = 'CompactViewContainer';\n\t\tdocument.body.appendChild(el);\n\t\tsetNode(el);\n\n\t\treturn () => {\n\t\t\tel.remove();\n\t\t};\n\t}, []);\n\n\tif (!isOpen) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ModalContext.Provider value={modalContextValue}>\n\t\t\t{node && (\n\t\t\t\t<>\n\t\t\t\t\t{createPortal(\n\t\t\t\t\t\t<ShadowRoot>\n\t\t\t\t\t\t\t<Container className=\"z-a-lot\">\n\t\t\t\t\t\t\t\t<ShadowModal style={style} data-testid=\"modal\">\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</ShadowModal>\n\t\t\t\t\t\t\t</Container>\n\t\t\t\t\t\t</ShadowRoot>,\n\t\t\t\t\t\tnode as Element,\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</ModalContext.Provider>\n\t);\n}\n\nconst Container = styled.div`\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: ${token.spacing5};\n\tposition: fixed;\n\tanimation: var(--fade-in-down);\n\tbackground: ${token.gray100a};\n`;\n\nconst ShadowModal = styled.div`\n\tbox-shadow: 0 2px 12px 0 rgba(0, 34, 51, 0.1);\n\theight: 100%;\n\twidth: 100%;\n\toverflow: hidden;\n\tborder-radius: ${token.radiusBase};\n`;\n"],"names":["ModalContext","createContext","useModalContext","useContext","Modal","children","isOpen","style","onClose","node","setNode","useState","modalContextValue","useMemo","useEffect","el","jsx","Fragment","createPortal","ShadowRoot","Container","ShadowModal","styled","token"],"mappings":";;;;;;AAOA,MAAMA,IAAeC,EAA8C,IAAI,GAE1DC,IAAkB,MAAMC,EAAWH,CAAY;AASrD,SAASI,EAAM;AAAA,EACrB,UAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,SAAAC,IAAU,MAAM;AAAA,EAEhB;AACD,GAAU;AACT,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAyB,IAAI,GAC/CC,IAAoBC,EAAQ,OAAO,EAAE,SAAAL,MAAY,CAACA,CAAO,CAAC;AAchE,SAZAM,EAAU,MAAM;AAEf,UAAMC,IAAK,SAAS,cAAc,KAAK;AACvC,WAAAA,EAAG,QAAQ,SAAS,wBACpB,SAAS,KAAK,YAAYA,CAAE,GAC5BL,EAAQK,CAAE,GAEH,MAAM;AACZ,MAAAA,EAAG,OAAA;AAAA,IACJ;AAAA,EACD,GAAG,CAAA,CAAE,GAEAT,sBAKHN,EAAa,UAAb,EAAsB,OAAOY,GAC5B,eACA,gBAAAI,EAAAC,GAAA,EACE,UAAAC;AAAA,IACA,gBAAAF,EAACG,GAAA,EACA,UAAA,gBAAAH,EAACI,GAAA,EAAU,WAAU,WACpB,UAAA,gBAAAJ,EAACK,GAAA,EAAY,OAAAd,GAAc,eAAY,SACrC,UAAAF,EAAA,CACF,GACD,GACD;AAAA,IACAI;AAAA,EAAA,GAEF,EAAA,CAEF,IAnBO;AAqBT;AAEA,MAAMW,IAAYE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAObC,EAAM,QAAQ;AAAA;AAAA;AAAA,eAGXA,EAAM,QAAQ;AAAA,GAGvBF,IAAcC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKTC,EAAM,UAAU;AAAA;"}
|
package/NoResults.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NoResults.js","sources":["../../src/common/components/NoResults.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconSearch } from '@bynder/icons';\nimport { Button, token } from '@bynder/design-system';\n\nimport { __ } from '../../localization';\nimport { DocumentIcon } from './DocumentIcon';\n\ninterface Props {\n\tonReset: () => void;\n}\n\nexport function NoResults(props: Props) {\n\treturn (\n\t\t<Container>\n\t\t\t<IconContainer>\n\t\t\t\t<DocumentIcon />\n\t\t\t\t<SearchIcon />\n\t\t\t</IconContainer>\n\n\t\t\t<Title>{__('No results found')}</Title>\n\n\t\t\t<Text>{__('Try adjusting the filter to find assets.')}</Text>\n\n\t\t\t<StyledButtonWrapper>\n\t\t\t\t<Button variant=\"primary\" title={__('Reset filters')} onClick={props.onReset}>\n\t\t\t\t\t{__('Reset filters')}\n\t\t\t\t</Button>\n\t\t\t</StyledButtonWrapper>\n\t\t</Container>\n\t);\n}\n\nconst Container = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n`;\n\nconst IconContainer = styled.div`\n\tbackground-color: ${token.gray25};\n\tborder-radius: 50%;\n\twidth: 160px;\n\theight: 160px;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n`;\n\nconst SearchIcon = styled(IconSearch)`\n\tposition: absolute;\n\tmargin: ${token.spacing2} 0 0 1px;\n\tcolor: ${token.gray300};\n\twidth: 36px;\n\theight: 36px;\n`;\n\nconst Title = styled.h1`\n\tmargin-top: ${token.spacing6};\n\tfont-size: ${token.fontSize400};\n`;\n\nconst Text = styled.span`\n\tmargin-top: ${token.spacing5};\n\tcolor: ${token.colorTextDisabled};\n`;\n\nconst StyledButtonWrapper = styled.div`\n\tmargin-top: ${token.spacing7};\n`;\n"],"names":["NoResults","props","Container","jsxs","IconContainer","jsx","DocumentIcon","SearchIcon","Title","__","Text","StyledButtonWrapper","Button","styled","token","IconSearch"],"mappings":";;;;;;AAYO,SAASA,EAAUC,GAAc;AACvC,2BACEC,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAa;AAAA,wBACbC,GAAA,CAAA,CAAW;AAAA,IAAA,GACb;AAAA,IAEA,gBAAAF,EAACG,GAAA,EAAO,UAAAC,EAAG,kBAAkB,EAAA,CAAE;AAAA,IAE/B,gBAAAJ,EAACK,GAAA,EAAM,UAAAD,EAAG,0CAA0C,EAAA,CAAE;AAAA,sBAErDE,GAAA,EACA,UAAA,gBAAAN,EAACO,GAAA,EAAO,SAAQ,WAAU,OAAOH,EAAG,eAAe,GAAG,SAASR,EAAM,SACnE,UAAAQ,EAAG,eAAe,GACpB,EAAA,CACD;AAAA,EAAA,GACD;AAEF;AAEA,MAAMP,IAAYW,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASnBT,IAAgBS,EAAO;AAAA,qBACRC,EAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS3BP,IAAaM,EAAOE,CAAU;AAAA;AAAA,WAEzBD,EAAM,QAAQ;AAAA,UACfA,EAAM,OAAO;AAAA;AAAA;AAAA,GAKjBN,IAAQK,EAAO;AAAA,eACNC,EAAM,QAAQ;AAAA,cACfA,EAAM,WAAW;AAAA,GAGzBJ,IAAOG,EAAO;AAAA,eACLC,EAAM,QAAQ;AAAA,UACnBA,EAAM,iBAAiB;AAAA,GAG3BH,IAAsBE,EAAO;AAAA,eACpBC,EAAM,QAAQ;AAAA;"}
|
package/Oops.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Oops.js","sources":["../../src/error-handling/Oops.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { BrowserClient } from '@sentry/browser';\nimport { logger } from '../utils/logger';\nimport { useRootElement } from '../style/RootElementContext';\nimport { ErrorMessage } from './ErrorMessage';\nimport { ReportModal } from './ReportModal';\n\ninterface Props {\n\terror: Error;\n\tonRetry: () => void;\n\tsentryClient?: BrowserClient;\n}\n\nexport function Oops({ error, onRetry, sentryClient }: Props) {\n\tconst rootElement = useRootElement();\n\n\tconst [isReportModalOpen, setIsReportModalOpen] = useState(false);\n\tconst [isReportSent, setIsReportSent] = useState(false);\n\n\tuseEffect(() => {\n\t\tlogger.error(error);\n\t}, [error]);\n\n\treturn (\n\t\t<Container>\n\t\t\t<ErrorMessage\n\t\t\t\tisReportSent={isReportSent}\n\t\t\t\tonClickSend={() => {\n\t\t\t\t\tsetIsReportModalOpen(true);\n\t\t\t\t}}\n\t\t\t\tonClickRetry={onRetry}\n\t\t\t/>\n\n\t\t\t<ReportModal\n\t\t\t\tisOpen={isReportModalOpen}\n\t\t\t\terror={error}\n\t\t\t\tcontainer={rootElement as Element}\n\t\t\t\tonDone={() => {\n\t\t\t\t\tsentryClient?.captureException(error);\n\t\t\t\t\tsetIsReportModalOpen(false);\n\t\t\t\t\tsetIsReportSent(true);\n\t\t\t\t}}\n\t\t\t\tonCancel={() => {\n\t\t\t\t\tsetIsReportModalOpen(false);\n\t\t\t\t}}\n\t\t\t/>\n\t\t</Container>\n\t);\n}\n\nconst Container = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: ${({ theme }) => theme.colors?.['ui-0'] || '#fff'};\n\tfont-family: ${({ theme }) => theme.fonts?.sans || 'sans-serif'};\n\tfont-size: 1rem;\n\tcolor: ${({ theme }) => theme.colors?.['body-500'] || '#666'};\n`;\n"],"names":["Oops","error","onRetry","sentryClient","rootElement","useRootElement","isReportModalOpen","setIsReportModalOpen","useState","isReportSent","setIsReportSent","useEffect","logger","Container","jsx","ErrorMessage","ReportModal","styled","theme"],"mappings":";;;;;;;AAeO,SAASA,EAAK,EAAE,OAAAC,GAAO,SAAAC,GAAS,cAAAC,KAAuB;AAC7D,QAAMC,IAAcC,EAAA,GAEd,CAACC,GAAmBC,CAAoB,IAAIC,EAAS,EAAK,GAC1D,CAACC,GAAcC,CAAe,IAAIF,EAAS,EAAK;AAEtD,SAAAG,EAAU,MAAM;AACf,IAAAC,EAAO,MAAMX,CAAK;AAAA,EACnB,GAAG,CAACA,CAAK,CAAC,qBAGRY,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,cAAAN;AAAA,QACA,aAAa,MAAM;AAClB,UAAAF,EAAqB,EAAI;AAAA,QAC1B;AAAA,QACA,cAAcL;AAAA,MAAA;AAAA,IAAA;AAAA,IAGf,gBAAAY;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,QAAQV;AAAA,QACR,OAAAL;AAAA,QACA,WAAWG;AAAA,QACX,QAAQ,MAAM;AACb,UAAAD,GAAc,iBAAiBF,CAAK,GACpCM,EAAqB,EAAK,GAC1BG,EAAgB,EAAI;AAAA,QACrB;AAAA,QACA,UAAU,MAAM;AACf,UAAAH,EAAqB,EAAK;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,EACD,GACD;AAEF;AAEA,MAAMM,IAAYI,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOV,CAAC,EAAE,OAAAC,QAAYA,EAAM,SAAS,MAAM,KAAK,MAAM;AAAA,gBAC9C,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,QAAQ,YAAY;AAAA;AAAA,UAEtD,CAAC,EAAE,OAAAA,QAAYA,EAAM,SAAS,UAAU,KAAK,MAAM;AAAA;"}
|
package/Option_new.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Option_new.js","sources":["../../src/filter/filters/smartfilters/Metaproperties/Option_new.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token, TruncatedText } from '@bynder/design-system';\n\nimport { IconCheckCircle } from '@bynder/icons';\nimport { Content, ListItem, StyledCheckboxWrapper } from '@src/common/components/Checkbox.styles';\nimport { MetapropertyOption } from '@src/api/types/getFilters_new';\n\ntype Props = {\n\toption: MetapropertyOption;\n\tonClick: (\n\t\tmetapropertyName: string,\n\t\toption: MetapropertyOption,\n\t\tmetapropertyMultifilter: boolean,\n\t) => void;\n\tmetapropertyName: string;\n\tisSelected: boolean;\n\tmetapropertyMultifilter: boolean;\n\tshowCount?: boolean;\n\tcount?: number;\n};\n\nconst OptionComponent = ({\n\toption,\n\tonClick,\n\tmetapropertyName,\n\tisSelected,\n\tmetapropertyMultifilter,\n\tshowCount = true,\n\tcount,\n}: Props) => {\n\tconst handleClick = () => {\n\t\tonClick(metapropertyName, option, metapropertyMultifilter);\n\t};\n\n\treturn (\n\t\t<ListItem>\n\t\t\t<StyledCheckboxWrapper $isChecked={isSelected}>\n\t\t\t\t<Content\n\t\t\t\t\t$isChecked={isSelected}\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tdata-testid=\"metaproperty-option\"\n\t\t\t\t>\n\t\t\t\t\t<TruncatedText>{option.label}</TruncatedText>\n\t\t\t\t\t{isSelected && !showCount ? <IconCheckCircle /> : null}\n\t\t\t\t\t{showCount && (\n\t\t\t\t\t\t<AssetCount className=\"fade-in-down\">\n\t\t\t\t\t\t\t{isSelected ? <IconCheckCircle /> : null} {count}\n\t\t\t\t\t\t</AssetCount>\n\t\t\t\t\t)}\n\t\t\t\t</Content>\n\t\t\t</StyledCheckboxWrapper>\n\t\t</ListItem>\n\t);\n};\n\nexport { OptionComponent };\n\nconst AssetCount = 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":["OptionComponent","option","onClick","metapropertyName","isSelected","metapropertyMultifilter","showCount","count","jsx","ListItem","StyledCheckboxWrapper","jsxs","Content","TruncatedText","IconCheckCircle","AssetCount","styled","token"],"mappings":";;;;;AAsBA,MAAMA,IAAkB,CAAC;AAAA,EACxB,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AACD,MAME,gBAAAC,EAACC,GAAA,EACA,UAAA,gBAAAD,EAACE,GAAA,EAAsB,YAAYN,GAClC,UAAA,gBAAAO;AAAA,EAACC;AAAA,EAAA;AAAA,IACA,YAAYR;AAAA,IACZ,SATgB,MAAM;AACzB,MAAAF,EAAQC,GAAkBF,GAAQI,CAAuB;AAAA,IAC1D;AAAA,IAQI,eAAY;AAAA,IAEZ,UAAA;AAAA,MAAA,gBAAAG,EAACK,GAAA,EAAe,YAAO,MAAA,CAAM;AAAA,MAC5BT,KAAc,CAACE,IAAY,gBAAAE,EAACM,KAAgB,IAAK;AAAA,MACjDR,KACA,gBAAAK,EAACI,GAAA,EAAW,WAAU,gBACpB,UAAA;AAAA,QAAAX,IAAa,gBAAAI,EAACM,KAAgB,IAAK;AAAA,QAAK;AAAA,QAAEP;AAAA,MAAA,EAAA,CAC5C;AAAA,IAAA;AAAA,EAAA;AAAA,GAGH,EAAA,CACD,GAMIQ,IAAaC,EAAO;AAAA;AAAA;AAAA,cAGZC,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA,kBAIVA,EAAM,QAAQ;AAAA;AAAA;AAAA,eAGjBA,EAAM,QAAQ;AAAA,gBACbA,EAAM,QAAQ;AAAA,kBACZA,EAAM,QAAQ;AAAA;AAAA;"}
|
package/RefreshingSpinner.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshingSpinner.js","sources":["../../src/login/components/RefreshingSpinner.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { Spinner } from '../../common/components/Spinner';\n\nexport function RefreshingSpinner() {\n\treturn (\n\t\t<RefreshingSpinnerContainer role=\"alert\" aria-live=\"polite\">\n\t\t\t{' '}\n\t\t\t<Spinner isRefreshingSpinner />{' '}\n\t\t</RefreshingSpinnerContainer>\n\t);\n}\n\nconst RefreshingSpinnerContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\theight: 100%;\n\twidth: 100%;\n\tbackground-color: #fff;\n`;\n"],"names":["RefreshingSpinner","jsxs","RefreshingSpinnerContainer","jsx","Spinner","styled"],"mappings":";;;AAIO,SAASA,IAAoB;AACnC,SACC,gBAAAC,EAACC,GAAA,EAA2B,MAAK,SAAQ,aAAU,UACjD,UAAA;AAAA,IAAA;AAAA,IACD,gBAAAC,EAACC,GAAA,EAAQ,qBAAmB,GAAA,CAAC;AAAA,IAAG;AAAA,EAAA,GACjC;AAEF;AAEA,MAAMF,IAA6BG,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/ReportModal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReportModal.js","sources":["../../src/error-handling/ReportModal.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport { Button, ModalConfirmation, token } from '@bynder/design-system';\nimport { __ } from '../localization';\n\nexport function ReportModal(props: {\n\tisOpen: boolean;\n\terror: Error;\n\tcontainer: Element;\n\tonDone: () => void;\n\tonCancel: () => void;\n}) {\n\treturn (\n\t\t<ModalConfirmation\n\t\t\ttitle={__('Send error report')}\n\t\t\tisOpen={props.isOpen}\n\t\t\tonClose={props.onCancel}\n\t\t\tactionPrimary={\n\t\t\t\t<Button variant=\"primary\" title={__('Send report')} onClick={props.onDone}>\n\t\t\t\t\t{__('Send report')}\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tactionSecondary={\n\t\t\t\t<Button variant=\"secondary\" title={__('Cancel')} onClick={props.onCancel}>\n\t\t\t\t\t{__('Cancel')}\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tcontainer={props.container}\n\t\t>\n\t\t\t<Text>\n\t\t\t\t{__(\n\t\t\t\t\t'We have created a report that you can send us to help us prevent this from happening in the future.',\n\t\t\t\t)}\n\t\t\t</Text>\n\n\t\t\t<ErrorStack data-testid=\"error-stack\">\n\t\t\t\t{props.error.stack?.split('\\n').map((line) => (\n\t\t\t\t\t<React.Fragment key={line}>\n\t\t\t\t\t\t{line}\n\t\t\t\t\t\t<br />\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t))}\n\t\t\t</ErrorStack>\n\n\t\t\t<Disclaimer>\n\t\t\t\t{__('We will treat this report as confidential and anonymous.')}\n\t\t\t</Disclaimer>\n\t\t</ModalConfirmation>\n\t);\n}\n\nconst Text = styled.div`\n\tline-height: ${token.lineHeightText};\n`;\n\nconst ErrorStack = styled.div`\n\tmargin: ${token.spacing5} 0;\n\tflex-grow: 1;\n\talign-self: stretch;\n\tbackground-color: ${token.gray25};\n\tborder-radius: ${token.radiusMedium};\n\tborder: 1px solid ${token.gray200};\n\tline-height: ${token.lineHeightText};\n\toverflow: scroll;\n\tpadding: ${token.spacing5} ${token.spacing4};\n\tmax-height: 200px;\n`;\n\nconst Disclaimer = styled.span`\n\tcolor: ${token.colorTextDisabled};\n\tline-height: ${token.lineHeightBase};\n\tfont-size: ${token.fontSize75};\n`;\n"],"names":["ReportModal","props","jsxs","ModalConfirmation","__","jsx","Button","Text","ErrorStack","line","React","Disclaimer","styled","token"],"mappings":";;;;;AAMO,SAASA,EAAYC,GAMzB;AACF,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAOC,EAAG,mBAAmB;AAAA,MAC7B,QAAQH,EAAM;AAAA,MACd,SAASA,EAAM;AAAA,MACf,eACC,gBAAAI,EAACC,GAAA,EAAO,SAAQ,WAAU,OAAOF,EAAG,aAAa,GAAG,SAASH,EAAM,QACjE,UAAAG,EAAG,aAAa,GAClB;AAAA,MAED,iBACC,gBAAAC,EAACC,GAAA,EAAO,SAAQ,aAAY,OAAOF,EAAG,QAAQ,GAAG,SAASH,EAAM,UAC9D,UAAAG,EAAG,QAAQ,GACb;AAAA,MAED,WAAWH,EAAM;AAAA,MAEjB,UAAA;AAAA,QAAA,gBAAAI,EAACE,GAAA,EACC,UAAAH;AAAA,UACA;AAAA,QAAA,GAEF;AAAA,0BAECI,GAAA,EAAW,eAAY,eACtB,UAAAP,EAAM,MAAM,OAAO,MAAM;AAAA,CAAI,EAAE,IAAI,CAACQ,MACpC,gBAAAP,EAACQ,EAAM,UAAN,EACC,UAAA;AAAA,UAAAD;AAAA,4BACA,MAAA,CAAA,CAAG;AAAA,QAAA,KAFgBA,CAGrB,CACA,GACF;AAAA,QAEA,gBAAAJ,EAACM,GAAA,EACC,UAAAP,EAAG,0DAA0D,EAAA,CAC/D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH;AAEA,MAAMG,IAAOK,EAAO;AAAA,gBACJC,EAAM,cAAc;AAAA,GAG9BL,IAAaI,EAAO;AAAA,WACfC,EAAM,QAAQ;AAAA;AAAA;AAAA,qBAGJA,EAAM,MAAM;AAAA,kBACfA,EAAM,YAAY;AAAA,qBACfA,EAAM,OAAO;AAAA,gBAClBA,EAAM,cAAc;AAAA;AAAA,YAExBA,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA,GAItCF,IAAaC,EAAO;AAAA,UAChBC,EAAM,iBAAiB;AAAA,gBACjBA,EAAM,cAAc;AAAA,cACtBA,EAAM,UAAU;AAAA;"}
|
package/RightArrow.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RightArrow.js","sources":["../../src/common/components/RightArrow.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconArrowRight } from '@bynder/icons';\nimport { Button } from '@bynder/design-system';\n\nexport function RightArrow(props: Readonly<{ isDisabled: boolean; onClick: () => void }>) {\n\treturn (\n\t\t<StyledButtonWrapper>\n\t\t\t<Button\n\t\t\t\ticon={<IconArrowRight />}\n\t\t\t\taria-label=\"Next\"\n\t\t\t\ttitle=\"Next\"\n\t\t\t\tvariant=\"clean\"\n\t\t\t\tisSmall\n\t\t\t\tonClick={props.onClick}\n\t\t\t\tdata-testid=\"arrow-right\"\n\t\t\t\tisDisabled={props.isDisabled}\n\t\t\t/>\n\t\t</StyledButtonWrapper>\n\t);\n}\n\nconst StyledButtonWrapper = styled.div`\n\tz-index: 20;\n\tpadding: 0;\n\tbox-shadow: -16px 0px 10px 0px #ffffff;\n\t&:hover {\n\t\tbox-shadow: -16px 0px 10px 0px #ffffff;\n\t}\n`;\n"],"names":["RightArrow","props","StyledButtonWrapper","jsx","Button","IconArrowRight","styled"],"mappings":";;;;AAKO,SAASA,EAAWC,GAA+D;AACzF,2BACEC,GAAA,EACA,UAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,wBAAOC,GAAA,EAAe;AAAA,MACtB,cAAW;AAAA,MACX,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,SAAO;AAAA,MACP,SAASJ,EAAM;AAAA,MACf,eAAY;AAAA,MACZ,YAAYA,EAAM;AAAA,IAAA;AAAA,EAAA,GAEpB;AAEF;AAEA,MAAMC,IAAsBI,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RootElementContext.js","sources":["../../src/style/RootElementContext.ts"],"sourcesContent":["/**\n RootElementProvider stores the mount point of Compact View in a Context. This\n is mostly useful for cases in which we use Shadow DOM and need to keep a\n handle to the Shadow Root.\n */\nimport { createContext, useContext } from 'react';\n\nconst RootElementContext = createContext<HTMLElement | null>(null);\n\nexport const RootElementProvider = RootElementContext.Provider;\nexport const useRootElement = () => {\n\tconst context = useContext(RootElementContext);\n\n\tif (!context) {\n\t\tthrow new Error('useRootElement must be used with a RootElementProvider');\n\t}\n\n\treturn context;\n};\n"],"names":["RootElementContext","createContext","RootElementProvider","useRootElement","context","useContext"],"mappings":";AAOA,MAAMA,IAAqBC,EAAkC,IAAI,GAEpDC,IAAsBF,EAAmB,UACzCG,IAAiB,MAAM;AACnC,QAAMC,IAAUC,EAAWL,CAAkB;AAE7C,MAAI,CAACI;AACJ,UAAM,IAAI,MAAM,wDAAwD;AAGzE,SAAOA;AACR;"}
|
package/SearchInput.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInput.js","sources":["../../src/search/SearchInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { IconImage, IconSearch } from '@bynder/icons';\nimport { Input } from '@bynder/design-system';\n\nimport { Spinner } from '../common/components/Spinner';\nimport { __ } from '../localization';\nimport { useRouterSelectors } from '@src/store/useRouterStore';\nimport { useHideSwitch } from '@src/app-config/ConfigContext';\nimport { SwitchNLS } from './SwitchNLS';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\nexport function SearchInput() {\n\tconst page = useRouterSelectors.use.page();\n\tconst hideSwitch = useHideSwitch();\n\tconst { value, isLoading, setSearch } = useSearchStateByPage(page.page);\n\n\tconst { isEnabled, isNLSSelected, setIsNLSSelected, setNLSSearchText, setIsSelected } =\n\t\tuseSimilaritySearchStore();\n\tconst { search: aiSearch, resetData } = useSimilarityAssets();\n\n\tconst debouncedAISearch = useDebouncedCallback(aiSearch, 500);\n\n\tconst [inputValue, setInputValue] = useState(value);\n\tconst [isFocused, setIsFocused] = useState(false);\n\n\tconst [isHandlingSwitchClick, setIsHandlingSwitchClick] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetInputValue(value);\n\t}, [page, value]);\n\n\tconst handleSetSearch = (search: string) => {\n\t\tsetIsSelected(false);\n\t\tsetSearch(search);\n\t};\n\tconst debouncedSetSearch = useDebouncedCallback(handleSetSearch, 500);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tdebouncedSetSearch.flush();\n\t\t\tdebouncedAISearch.flush();\n\t\t};\n\t}, [page, debouncedSetSearch, debouncedAISearch]);\n\n\tconst handleChange = (search: string) => {\n\t\tsetInputValue(search);\n\n\t\tif (isNLSSelected) {\n\t\t\tsetNLSSearchText(search);\n\n\t\t\tif (search.length === 0) {\n\t\t\t\tresetData();\n\t\t\t}\n\n\t\t\treturn debouncedAISearch(undefined, search);\n\t\t}\n\n\t\treturn debouncedSetSearch(search);\n\t};\n\n\tconst handleSwitchMouseDown = () => {\n\t\tsetIsHandlingSwitchClick(true);\n\t};\n\n\tconst handleSwitchMouseUp = () => {\n\t\tsetTimeout(() => {\n\t\t\tsetIsHandlingSwitchClick(false);\n\t\t}, 0);\n\t};\n\n\tconst placeholder =\n\t\tpage.page === 'collections' ? __('Search for collections') : __('Search for assets');\n\n\treturn (\n\t\t<StyledInputWrapper $hideSwitch={hideSwitch}>\n\t\t\t<Input\n\t\t\t\tvalue={inputValue}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\taria-label={placeholder}\n\t\t\t\tonChange={(val) => handleChange(val)}\n\t\t\t\tdata-testid=\"search-input\"\n\t\t\t\ticon={<IconSearch />}\n\t\t\t\ticonRight={\n\t\t\t\t\tisLoading ? (\n\t\t\t\t\t\t<div role=\"alert\" aria-live=\"polite\">\n\t\t\t\t\t\t\t<Spinner isRelative />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<IconImage />\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\thasClearButton={!isLoading && (!!value || !!inputValue)}\n\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\tonBlur={() => {\n\t\t\t\t\tif (!isHandlingSwitchClick) {\n\t\t\t\t\t\tsetIsFocused(false);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{isEnabled && isFocused && page.page === 'assets' && (\n\t\t\t\t<SwitchContainer\n\t\t\t\t\tonMouseDown={handleSwitchMouseDown}\n\t\t\t\t\tonMouseUp={handleSwitchMouseUp}\n\t\t\t\t>\n\t\t\t\t\t<SwitchNLS isNLSSearchOn={isNLSSelected} setIsNLSSearchOn={setIsNLSSelected} />\n\t\t\t\t</SwitchContainer>\n\t\t\t)}\n\t\t</StyledInputWrapper>\n\t);\n}\n\nconst StyledInputWrapper = styled.div<{ $hideSwitch?: boolean }>`\n\twidth: 100%;\n\tmax-width: 440px;\n\tmargin-left: ${(p) => (p.$hideSwitch ? 'auto' : 'none')};\n\tposition: relative;\n`;\n\nconst SwitchContainer = styled.div`\n\tposition: absolute;\n\tright: 0;\n\ttop: 100%;\n\tz-index: 10;\n\twidth: 100%;\n`;\n"],"names":["SearchInput","page","useRouterSelectors","hideSwitch","useHideSwitch","value","isLoading","setSearch","useSearchStateByPage","isEnabled","isNLSSelected","setIsNLSSelected","setNLSSearchText","setIsSelected","useSimilaritySearchStore","aiSearch","resetData","useSimilarityAssets","debouncedAISearch","useDebouncedCallback","inputValue","setInputValue","useState","isFocused","setIsFocused","isHandlingSwitchClick","setIsHandlingSwitchClick","useEffect","debouncedSetSearch","search","handleChange","handleSwitchMouseDown","handleSwitchMouseUp","placeholder","__","jsxs","StyledInputWrapper","jsx","Input","val","IconSearch","Spinner","IconImage","SwitchContainer","SwitchNLS","styled","p"],"mappings":";;;;;;;;;;;;;;AAeO,SAASA,KAAc;AAC7B,QAAMC,IAAOC,EAAmB,IAAI,KAAA,GAC9BC,IAAaC,EAAA,GACb,EAAE,OAAAC,GAAO,WAAAC,GAAW,WAAAC,MAAcC,EAAqBP,EAAK,IAAI,GAEhE,EAAE,WAAAQ,GAAW,eAAAC,GAAe,kBAAAC,GAAkB,kBAAAC,GAAkB,eAAAC,EAAA,IACrEC,EAAA,GACK,EAAE,QAAQC,GAAU,WAAAC,EAAA,IAAcC,EAAA,GAElCC,IAAoBC,EAAqBJ,GAAU,GAAG,GAEtD,CAACK,GAAYC,CAAa,IAAIC,EAASjB,CAAK,GAC5C,CAACkB,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAE1C,CAACG,GAAuBC,CAAwB,IAAIJ,EAAS,EAAK;AAExE,EAAAK,EAAU,MAAM;AACf,IAAAN,EAAchB,CAAK;AAAA,EACpB,GAAG,CAACJ,GAAMI,CAAK,CAAC;AAMhB,QAAMuB,IAAqBT,EAJH,CAACU,MAAmB;AAC3C,IAAAhB,EAAc,EAAK,GACnBN,EAAUsB,CAAM;AAAA,EACjB,GACiE,GAAG;AAEpE,EAAAF,EAAU,MACF,MAAM;AACZ,IAAAC,EAAmB,MAAA,GACnBV,EAAkB,MAAA;AAAA,EACnB,GACE,CAACjB,GAAM2B,GAAoBV,CAAiB,CAAC;AAEhD,QAAMY,IAAe,CAACD,OACrBR,EAAcQ,CAAM,GAEhBnB,KACHE,EAAiBiB,CAAM,GAEnBA,EAAO,WAAW,KACrBb,EAAA,GAGME,EAAkB,QAAWW,CAAM,KAGpCD,EAAmBC,CAAM,IAG3BE,IAAwB,MAAM;AACnC,IAAAL,EAAyB,EAAI;AAAA,EAC9B,GAEMM,IAAsB,MAAM;AACjC,eAAW,MAAM;AAChB,MAAAN,EAAyB,EAAK;AAAA,IAC/B,GAAG,CAAC;AAAA,EACL,GAEMO,IACLhC,EAAK,SAAS,gBAAgBiC,EAAG,wBAAwB,IAAIA,EAAG,mBAAmB;AAEpF,SACC,gBAAAC,EAACC,GAAA,EAAmB,aAAajC,GAChC,UAAA;AAAA,IAAA,gBAAAkC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,OAAOlB;AAAA,QACP,aAAAa;AAAA,QACA,cAAYA;AAAA,QACZ,UAAU,CAACM,MAAQT,EAAaS,CAAG;AAAA,QACnC,eAAY;AAAA,QACZ,wBAAOC,GAAA,EAAW;AAAA,QAClB,WACClC,IACC,gBAAA+B,EAAC,OAAA,EAAI,MAAK,SAAQ,aAAU,UAC3B,UAAA,gBAAAA,EAACI,KAAQ,YAAU,GAAA,CAAC,EAAA,CACrB,sBAECC,GAAA,EAAU;AAAA,QAGb,gBAAgB,CAACpC,MAAc,CAAC,CAACD,KAAS,CAAC,CAACe;AAAA,QAC5C,SAAS,MAAMI,EAAa,EAAI;AAAA,QAChC,QAAQ,MAAM;AACb,UAAKC,KACJD,EAAa,EAAK;AAAA,QAEpB;AAAA,MAAA;AAAA,IAAA;AAAA,IAEAf,KAAac,KAAatB,EAAK,SAAS,YACxC,gBAAAoC;AAAA,MAACM;AAAA,MAAA;AAAA,QACA,aAAaZ;AAAA,QACb,WAAWC;AAAA,QAEX,UAAA,gBAAAK,EAACO,GAAA,EAAU,eAAelC,GAAe,kBAAkBC,EAAA,CAAkB;AAAA,MAAA;AAAA,IAAA;AAAA,EAC9E,GAEF;AAEF;AAEA,MAAMyB,IAAqBS,EAAO;AAAA;AAAA;AAAA,gBAGlB,CAACC,MAAOA,EAAE,cAAc,SAAS,MAAO;AAAA;AAAA,GAIlDH,IAAkBE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedItemContainer.js","sources":["../../src/select/current-selection/SelectedItemContainer.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Checkbox, token } from '@bynder/design-system';\n\nimport { StyledCheckboxWrapper } from '@src/common/components/Checkbox.styles';\nimport { __ } from '@src/localization';\n\nexport function SelectedItemContainer({\n\ttitle,\n\tonRemove,\n\tchildren,\n}: {\n\ttitle: string;\n\tonRemove: () => void;\n\tchildren: React.ReactNode;\n}) {\n\treturn (\n\t\t<SelectedItemListContainer title={title}>\n\t\t\t<StyledCheckboxWrapper $isChecked $isFlex>\n\t\t\t\t<Checkbox\n\t\t\t\t\taria-label={__('Deselect')}\n\t\t\t\t\tid={`deselect-${title}`}\n\t\t\t\t\tisChecked\n\t\t\t\t\tonChange={onRemove}\n\t\t\t\t\tdata-testid=\"metaproperty-option\"\n\t\t\t\t/>\n\t\t\t\t<Content htmlFor={`deselect-${title}`}>{children}</Content>\n\t\t\t</StyledCheckboxWrapper>\n\t\t</SelectedItemListContainer>\n\t);\n}\n\nconst SelectedItemListContainer = styled.li`\n\tdisplay: flex;\n\tflex: 1 1 0%;\n\talign-items: center;\n\tposition: relative;\n\tpadding: ${token.spacing2} calc(${token.spacing6} - 4px) ${token.spacing2} ${token.spacing4};\n\theight: 48px;\n\tborder-bottom: 1px solid rgba(0, 34, 51, 0.1);\n`;\nconst Content = styled.label`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tfont-size: ${token.fontSize100};\n\tmargin-left: ${token.spacing3};\n\tcursor: pointer;\n`;\n"],"names":["SelectedItemContainer","title","onRemove","children","jsx","SelectedItemListContainer","jsxs","StyledCheckboxWrapper","Checkbox","__","Content","styled","token"],"mappings":";;;;;AAOO,SAASA,EAAsB;AAAA,EACrC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACD,GAIG;AACF,SACC,gBAAAC,EAACC,KAA0B,OAAAJ,GAC1B,UAAA,gBAAAK,EAACC,KAAsB,YAAU,IAAC,SAAO,IACxC,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACA,cAAYC,EAAG,UAAU;AAAA,QACzB,IAAI,YAAYR,CAAK;AAAA,QACrB,WAAS;AAAA,QACT,UAAUC;AAAA,QACV,eAAY;AAAA,MAAA;AAAA,IAAA;AAAA,sBAEZQ,GAAA,EAAQ,SAAS,YAAYT,CAAK,IAAK,UAAAE,EAAA,CAAS;AAAA,EAAA,EAAA,CAClD,EAAA,CACD;AAEF;AAEA,MAAME,IAA4BM,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,YAK7BC,EAAM,QAAQ,SAASA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA;AAAA,GAItFF,IAAUC,EAAO;AAAA;AAAA;AAAA;AAAA,cAITC,EAAM,WAAW;AAAA,gBACfA,EAAM,QAAQ;AAAA;AAAA;"}
|
package/SelectedItems.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedItems.js","sources":["../../src/select/current-selection/SelectedItems.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { SelectedItem } from '../SelectionContext';\nimport { AssetItem } from './AssetItem';\nimport { CollectionItem } from './CollectionItem';\n\nexport function SelectedItems({ selection }: { selection: SelectedItem[] }) {\n\treturn (\n\t\t<SelectedItemsListContainer data-testid=\"selected-items-list\">\n\t\t\t{selection.map((selectedItem) =>\n\t\t\t\tselectedItem.type === 'asset' ? (\n\t\t\t\t\t<AssetItem key={selectedItem.value.id} asset={selectedItem.value} />\n\t\t\t\t) : (\n\t\t\t\t\t<CollectionItem key={selectedItem.value.id} collection={selectedItem.value} />\n\t\t\t\t),\n\t\t\t)}\n\t\t</SelectedItemsListContainer>\n\t);\n}\n\nconst SelectedItemsListContainer = styled.ul`\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding: ${token.spacing3} 0;\n\toverflow-y: auto;\n\tmax-height: 400px;\n\tlist-style: none;\n\tmargin: 0;\n\n\tli:last-child {\n\t\tborder-bottom-width: 0;\n\t}\n`;\n"],"names":["SelectedItems","selection","jsx","SelectedItemsListContainer","selectedItem","AssetItem","CollectionItem","styled","token"],"mappings":";;;;;AAOO,SAASA,EAAc,EAAE,WAAAC,KAA4C;AAC3E,SACC,gBAAAC,EAACC,GAAA,EAA2B,eAAY,uBACtC,UAAAF,EAAU;AAAA,IAAI,CAACG,MACfA,EAAa,SAAS,UACrB,gBAAAF,EAACG,GAAA,EAAsC,OAAOD,EAAa,SAA3CA,EAAa,MAAM,EAA+B,IAElE,gBAAAF,EAACI,GAAA,EAA2C,YAAYF,EAAa,MAAA,GAAhDA,EAAa,MAAM,EAAoC;AAAA,EAAA,GAG/E;AAEF;AAEA,MAAMD,IAA6BI,EAAO;AAAA;AAAA;AAAA,YAG9BC,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/SelectionContext.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionContext.js","sources":["../../src/select/SelectionContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';\nimport { getAssetsByMediaId } from '../api/filterAssets';\n\nimport { Asset, AssetData } from '../views/asset/asset.type';\nimport { Collection } from '../views/collection/collection.types';\nimport { isErr } from '../auth/result.type';\nimport { useSelectionMode, useConfig } from '../app-config/ConfigContext';\nimport { useAuth } from '../login/LoginContext';\nimport { useDat } from '@src/store/useDatStore';\n\nexport type SelectedAsset = { type: 'asset'; value: Asset };\nexport type SelectedCollection = { type: 'collection'; value: Collection };\n\nexport type SelectedItem = SelectedAsset | SelectedCollection;\n\ninterface Context {\n\tselection: SelectedItem[];\n\tpreselectedAssetIds?: string[];\n\tclear: () => void;\n\tselectAll: () => void;\n\tselectAssets: (assets: Asset[]) => void;\n\ttoggleAssets: (assets: Asset[]) => void;\n\ttoggleCollection: (collection: Collection) => void;\n\tsetAllAssets: (assetData: AssetData) => void;\n}\n\nconst SelectionContext = createContext<Context | null>(null);\n\n/* NOTE: I have assumed in the logic here that IDs are unique, even between\n * assets and collections, as would be the case with UUIDs. */\nexport function SelectionProvider(props: {\n\tpreselectedAssetIds: string[];\n\tchildren: React.ReactNode;\n}) {\n\tconst [selection, setSelection] = useState<SelectedItem[]>([]);\n\tconst [allAssetsStore, setAllAssetsStore] = useState<Asset[]>([]);\n\tconst [preselectedEncodedIds, setPreselectedEncodedIds] = useState<string[]>();\n\tconst preselectedAssets = usePreselectedAssets(preselectedEncodedIds);\n\tconst selectionMode = useSelectionMode();\n\tconst { transformation } = useDat();\n\n\tuseEffect(() => {\n\t\tsetPreselectedEncodedIds(\n\t\t\t(props.preselectedAssetIds ?? [])\n\t\t\t\t.filter((id) => !!id)\n\t\t\t\t.map((id) => window.btoa('(Asset_id ' + id + ')')),\n\t\t);\n\t}, [props.preselectedAssetIds]);\n\n\tuseEffect(() => {\n\t\tif (preselectedAssets.length) {\n\t\t\tselectAssets(preselectedAssets);\n\t\t}\n\t}, [preselectedAssets]);\n\n\tuseEffect(() => {\n\t\t// If we do a new DAT transformation, automatically select that asset\n\t\tif (transformation && Object.keys(transformation).length) {\n\t\t\tclear();\n\t\t\tselectAssets([transformation?.asset]);\n\t\t}\n\t}, [transformation]);\n\n\tfunction setAllAssets(assetData: AssetData) {\n\t\tif (assetData.tag === 'Loaded' && assetData.value) {\n\t\t\tsetAllAssetsStore(assetData.value);\n\t\t}\n\t}\n\n\tfunction selectAll() {\n\t\tsetSelection((prevState) => {\n\t\t\tconst newAssets = allAssetsStore.filter(\n\t\t\t\t(asset) => !prevState.some((selectedItem) => selectedItem.value.id === asset.id),\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\t...prevState,\n\t\t\t\t...newAssets.map<SelectedItem>((asset) => ({\n\t\t\t\t\ttype: 'asset',\n\t\t\t\t\tvalue: asset,\n\t\t\t\t})),\n\t\t\t];\n\t\t});\n\t}\n\n\tfunction clear() {\n\t\tsetSelection([]);\n\t}\n\n\tfunction selectAssets(assets: Asset[]) {\n\t\tsetSelection((prevSelectedItems) => {\n\t\t\tconst assetstoAdd = assets.filter((asset) => !isInSelection(prevSelectedItems, asset));\n\n\t\t\treturn [\n\t\t\t\t...prevSelectedItems,\n\t\t\t\t...assetstoAdd.map<SelectedItem>((asset) => ({\n\t\t\t\t\ttype: 'asset',\n\t\t\t\t\tvalue: asset,\n\t\t\t\t})),\n\t\t\t];\n\t\t});\n\t}\n\n\tfunction toggleAsset(asset: Asset) {\n\t\tif (selection.some((item) => item.value.id === asset.id)) {\n\t\t\tsetSelection([]);\n\t\t} else {\n\t\t\tsetSelection([{ type: 'asset', value: asset }]);\n\t\t}\n\t}\n\n\tfunction toggleAssets(assets: Asset[]) {\n\t\tif (selectionMode !== 'MultiSelect') {\n\t\t\ttoggleAsset(assets[0]);\n\t\t} else {\n\t\t\tsetSelection((prevSelectedItems) => {\n\t\t\t\tconst assetstoAdd = assets.filter(\n\t\t\t\t\t(asset) => !isInSelection(prevSelectedItems, asset),\n\t\t\t\t);\n\t\t\t\tconst assetsToRemove = assets.filter((asset) =>\n\t\t\t\t\tisInSelection(prevSelectedItems, asset),\n\t\t\t\t);\n\n\t\t\t\tconst prevSelectedItemsAfterRemoval = prevSelectedItems.filter(\n\t\t\t\t\t(selectedItem) =>\n\t\t\t\t\t\t!assetsToRemove.some(\n\t\t\t\t\t\t\t(assetToRemove) => assetToRemove.id === selectedItem.value.id,\n\t\t\t\t\t\t),\n\t\t\t\t);\n\n\t\t\t\treturn [\n\t\t\t\t\t...prevSelectedItemsAfterRemoval,\n\t\t\t\t\t...assetstoAdd.map<SelectedItem>((asset) => ({\n\t\t\t\t\t\ttype: 'asset',\n\t\t\t\t\t\tvalue: asset,\n\t\t\t\t\t})),\n\t\t\t\t];\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction toggleCollection(collection: Collection) {\n\t\tsetSelection((prevSelectedItems) => {\n\t\t\tif (isInSelection(prevSelectedItems, collection)) {\n\t\t\t\treturn prevSelectedItems.filter(\n\t\t\t\t\t(selectedItem) => selectedItem.value.id !== collection.id,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t...prevSelectedItems,\n\t\t\t\t{\n\t\t\t\t\ttype: 'collection',\n\t\t\t\t\tvalue: collection,\n\t\t\t\t},\n\t\t\t];\n\t\t});\n\t}\n\n\tconst selectionContextValue = useMemo(\n\t\t() => ({\n\t\t\tselection,\n\t\t\tpreselectedAssetIds: preselectedEncodedIds,\n\t\t\tclear,\n\t\t\tselectAssets,\n\t\t\ttoggleAssets,\n\t\t\ttoggleCollection,\n\t\t\tselectAll,\n\t\t\tsetAllAssets,\n\t\t}),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[selection, allAssetsStore],\n\t);\n\n\treturn (\n\t\t<SelectionContext.Provider value={selectionContextValue}>\n\t\t\t{props.children}\n\t\t</SelectionContext.Provider>\n\t);\n}\n\nfunction isInSelection(selection: SelectedItem[], item: Asset | Collection) {\n\treturn selection.some((selectedItem) => selectedItem.value.id === item.id);\n}\n\nexport function useSelection() {\n\tconst context = useContext(SelectionContext);\n\n\tif (context === null) {\n\t\tthrow new Error('useSelection must be used with a SelectionProvider');\n\t}\n\n\treturn context;\n}\n\nexport function useSelectedAssetIds() {\n\tconst { selection } = useSelection();\n\n\treturn selection\n\t\t.filter((selectedItem) => selectedItem.type === 'asset')\n\t\t.map((asset) => asset.value.id);\n}\n\nexport function useSelectedCollectionIds() {\n\tconst { selection } = useSelection();\n\n\treturn selection\n\t\t.filter((selectedItem) => selectedItem.type === 'collection')\n\t\t.map((asset) => asset.value.id);\n}\n\nfunction usePreselectedAssets(preselectedAssetIds?: string[]): Asset[] {\n\tconst [preselectedAssets, setPreselectedAssets] = useState<Asset[]>([]);\n\tconst { selectionMode, language, noCache } = useConfig();\n\tconst auth = useAuth();\n\tlet cancelRequestActions = false;\n\n\tconst getPreselectedAssets = async (assetIds: string[]) => {\n\t\tif (assetIds.length) {\n\t\t\tconst assets = await getAssetsByMediaId({ ids: assetIds, auth, language, noCache });\n\n\t\t\tif (!cancelRequestActions) {\n\t\t\t\tif (!isErr(assets)) {\n\t\t\t\t\tassets.value?.sort((a, b) => assetIds.indexOf(a.id) - assetIds.indexOf(b.id));\n\t\t\t\t\tsetPreselectedAssets(assets.value ?? []);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (preselectedAssetIds) {\n\t\t\tlet preselected = preselectedAssetIds ?? [];\n\n\t\t\tif (selectionMode !== 'MultiSelect') {\n\t\t\t\tpreselected = preselected[0] ? [preselected[0]] : [];\n\t\t\t}\n\n\t\t\tgetPreselectedAssets(preselected);\n\t\t}\n\n\t\treturn () => {\n\t\t\t// eslint-disable-next-line\n\t\t\tcancelRequestActions = true;\n\t\t};\n\t}, [preselectedAssetIds]);\n\n\treturn preselectedAssets;\n}\n"],"names":["SelectionContext","createContext","SelectionProvider","props","selection","setSelection","useState","allAssetsStore","setAllAssetsStore","preselectedEncodedIds","setPreselectedEncodedIds","preselectedAssets","usePreselectedAssets","selectionMode","useSelectionMode","transformation","useDat","useEffect","id","selectAssets","clear","setAllAssets","assetData","selectAll","prevState","newAssets","asset","selectedItem","assets","prevSelectedItems","assetstoAdd","isInSelection","toggleAsset","item","toggleAssets","assetsToRemove","assetToRemove","toggleCollection","collection","selectionContextValue","useMemo","useSelection","context","useContext","useSelectedAssetIds","useSelectedCollectionIds","preselectedAssetIds","setPreselectedAssets","language","noCache","useConfig","auth","useAuth","cancelRequestActions","getPreselectedAssets","assetIds","getAssetsByMediaId","isErr","a","b","preselected"],"mappings":"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"}
|
package/SelectionFooter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionFooter.js","sources":["../../src/select/SelectionFooter.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Button, token } from '@bynder/design-system';\n\nimport { IconSteps } from '@bynder/icons';\nimport { Dropdown } from '../common/components/dropdown/Dropdown';\nimport { __ } from '../localization';\nimport { useSelection, SelectedAsset } from './SelectionContext';\nimport { AddMedia } from './add-media/AddMedia';\nimport { SelectedItems } from './current-selection/SelectedItems';\nimport { useConfig } from '../app-config/ConfigContext';\nimport { useRouterSelectors } from '@src/store/useRouterStore';\nimport { Tooltip } from '@src/common/components/Tooltip';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\nexport function SelectionFooter() {\n\tconst { selection, clear: clearSelection, selectAll } = useSelection();\n\tconst { selectionMode, selectAllOption } = useConfig();\n\tconst page = useRouterSelectors.use.page();\n\tconst { setIsSelected, isEnabled: isSimilaritySearchEnabled } = useSimilaritySearchStore();\n\tconst { search, resetData } = useSimilarityAssets();\n\n\tconst selectionForSearch =\n\t\tselection.length >= 1\n\t\t\t? selection\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t(item): item is SelectedAsset =>\n\t\t\t\t\t\t\titem.type === 'asset' && item.value.__typename === 'Image',\n\t\t\t\t\t)\n\t\t\t\t\t.map((item) => (item.value.databaseId ? item.value.databaseId : item.value.id))\n\t\t\t: [];\n\n\tconst handleSimilaritySearch = () => {\n\t\tresetData();\n\t\tsetIsSelected(true);\n\t\tsearch(selectionForSearch);\n\t\tclearSelection();\n\t};\n\n\tconst count = selection.length;\n\n\tif (count === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Container data-testid=\"selection-footer\">\n\t\t\t<SelectedAssetsContainer>\n\t\t\t\t<Dropdown\n\t\t\t\t\tbuttonKind=\"secondary\"\n\t\t\t\t\tdirection=\"Up\"\n\t\t\t\t\ttitle={__('View {} selected').replace('{}', count.toString())}\n\t\t\t\t>\n\t\t\t\t\t{() => <SelectedItems selection={selection} />}\n\t\t\t\t</Dropdown>\n\n\t\t\t\t{selectionMode === 'MultiSelect' && selectAllOption && page.page === 'assets' && (\n\t\t\t\t\t<Button variant=\"secondary\" onClick={selectAll}>\n\t\t\t\t\t\t{__('Select all')}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\n\t\t\t\t<Button variant=\"clean\" onClick={clearSelection}>\n\t\t\t\t\t{__('Clear selection')}\n\t\t\t\t</Button>\n\t\t\t</SelectedAssetsContainer>\n\n\t\t\t{selectionMode === 'MultiSelect' &&\n\t\t\t\tisSimilaritySearchEnabled &&\n\t\t\t\tselectionForSearch.length > 0 && (\n\t\t\t\t\t<Tooltip text={__('Show similar')} margin=\"right\" marginAmount=\"spacing3\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"clean\"\n\t\t\t\t\t\t\ticon={<IconSteps />}\n\t\t\t\t\t\t\taria-label={__('Show similar')}\n\t\t\t\t\t\t\tonClick={handleSimilaritySearch}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\n\t\t\t<AddMedia selection={selection} />\n\t\t</Container>\n\t);\n}\n\nconst Container = styled.div`\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tz-index: 10;\n\theight: ${token.layoutSpacing5};\n\tpadding: ${token.spacing6};\n\talign-items: center;\n\tbox-shadow: 0 -1px 0 0 rgba(0, 34, 51, 0.1), 0 -1px 6px 0 rgba(0, 34, 51, 0.1);\n\tanimation: var(--fade-in-down);\n`;\n\nconst SelectedAssetsContainer = styled.span`\n\tdisplay: flex;\n\tflex-grow: 1;\n\talign-items: center;\n\tgap: ${token.spacing2};\n`;\n"],"names":["SelectionFooter","selection","clearSelection","selectAll","useSelection","selectionMode","selectAllOption","useConfig","page","useRouterSelectors","setIsSelected","isSimilaritySearchEnabled","useSimilaritySearchStore","search","resetData","useSimilarityAssets","selectionForSearch","item","handleSimilaritySearch","count","jsxs","Container","SelectedAssetsContainer","jsx","Dropdown","__","SelectedItems","Button","Tooltip","IconSteps","AddMedia","styled","token"],"mappings":";;;;;;;;;;;;;;AAgBO,SAASA,IAAkB;AACjC,QAAM,EAAE,WAAAC,GAAW,OAAOC,GAAgB,WAAAC,EAAA,IAAcC,EAAA,GAClD,EAAE,eAAAC,GAAe,iBAAAC,EAAA,IAAoBC,EAAA,GACrCC,IAAOC,EAAmB,IAAI,KAAA,GAC9B,EAAE,eAAAC,GAAe,WAAWC,EAAA,IAA8BC,EAAA,GAC1D,EAAE,QAAAC,GAAQ,WAAAC,EAAA,IAAcC,EAAA,GAExBC,IACLf,EAAU,UAAU,IACjBA,EACC;AAAA,IACA,CAACgB,MACAA,EAAK,SAAS,WAAWA,EAAK,MAAM,eAAe;AAAA,EAAA,EAEpD,IAAI,CAACA,MAAUA,EAAK,MAAM,aAAaA,EAAK,MAAM,aAAaA,EAAK,MAAM,EAAG,IAC9E,CAAA,GAEEC,IAAyB,MAAM;AACpC,IAAAJ,EAAA,GACAJ,EAAc,EAAI,GAClBG,EAAOG,CAAkB,GACzBd,EAAA;AAAA,EACD,GAEMiB,IAAQlB,EAAU;AAExB,SAAIkB,MAAU,IACN,OAIP,gBAAAC,EAACC,GAAA,EAAU,eAAY,oBACtB,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,YAAW;AAAA,UACX,WAAU;AAAA,UACV,OAAOC,EAAG,kBAAkB,EAAE,QAAQ,MAAMN,EAAM,UAAU;AAAA,UAE3D,UAAA,MAAM,gBAAAI,EAACG,GAAA,EAAc,WAAAzB,EAAA,CAAsB;AAAA,QAAA;AAAA,MAAA;AAAA,MAG5CI,MAAkB,iBAAiBC,KAAmBE,EAAK,SAAS,YACpE,gBAAAe,EAACI,GAAA,EAAO,SAAQ,aAAY,SAASxB,GACnC,UAAAsB,EAAG,YAAY,GACjB;AAAA,MAGD,gBAAAF,EAACI,KAAO,SAAQ,SAAQ,SAASzB,GAC/B,UAAAuB,EAAG,iBAAiB,EAAA,CACtB;AAAA,IAAA,GACD;AAAA,IAECpB,MAAkB,iBAClBM,KACAK,EAAmB,SAAS,KAC3B,gBAAAO,EAACK,GAAA,EAAQ,MAAMH,EAAG,cAAc,GAAG,QAAO,SAAQ,cAAa,YAC9D,UAAA,gBAAAF;AAAA,MAACI;AAAA,MAAA;AAAA,QACA,SAAQ;AAAA,QACR,wBAAOE,GAAA,EAAU;AAAA,QACjB,cAAYJ,EAAG,cAAc;AAAA,QAC7B,SAASP;AAAA,MAAA;AAAA,IAAA,GAEX;AAAA,IAGF,gBAAAK,EAACO,KAAS,WAAA7B,EAAA,CAAsB;AAAA,EAAA,GACjC;AAEF;AAEA,MAAMoB,IAAYU,EAAO;AAAA;AAAA;AAAA;AAAA,WAIdC,EAAM,cAAc;AAAA,YACnBA,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA,GAMpBV,IAA0BS,EAAO;AAAA;AAAA;AAAA;AAAA,QAI/BC,EAAM,QAAQ;AAAA;"}
|
package/ShadowRoot.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowRoot.js","sources":["../../src/style/shadowroot/ShadowRoot.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\n\nimport { ShadowRootInternal } from './ShadowRootInternal';\n\nconst ShadowRootContext = createContext<'parent' | 'child'>('parent');\n\ninterface ShadowRootProps {\n\tchildren: React.ReactNode;\n\tisContainerMode?: boolean;\n}\n\n/**\n * This component will create a shadow root if it is the first ShadowRoot in the tree.\n * Otherwise, it will just render it's children. This is useful as we don't always know\n * which component will be first in the tree, especially when the components are used\n * externally from the npm package.\n */\nexport function ShadowRoot({ children, isContainerMode = false }: ShadowRootProps) {\n\tconst context = useContext(ShadowRootContext);\n\n\tif (context === 'parent') {\n\t\treturn (\n\t\t\t<ShadowRootContext.Provider value=\"child\">\n\t\t\t\t<ShadowRootInternal isContainerMode={isContainerMode}>\n\t\t\t\t\t{children}\n\t\t\t\t</ShadowRootInternal>\n\t\t\t</ShadowRootContext.Provider>\n\t\t);\n\t}\n\n\treturn <>{children}</>; // eslint-disable-line\n}\n"],"names":["ShadowRootContext","createContext","ShadowRoot","children","isContainerMode","useContext","jsx","ShadowRootInternal"],"mappings":";;;AAIA,MAAMA,IAAoBC,EAAkC,QAAQ;AAa7D,SAASC,EAAW,EAAE,UAAAC,GAAU,iBAAAC,IAAkB,MAA0B;AAGlF,SAFgBC,EAAWL,CAAiB,MAE5B,WAEd,gBAAAM,EAACN,EAAkB,UAAlB,EAA2B,OAAM,SACjC,UAAA,gBAAAM,EAACC,GAAA,EAAmB,iBAAAH,GAClB,UAAAD,EAAA,CACF,EAAA,CACD,2BAIQ,UAAAA,GAAS;AACpB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowRootInternal.js","sources":["../../src/style/shadowroot/ShadowRootInternal.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport styled from 'styled-components';\n\nimport { RootElementProvider } from '../RootElementContext';\n// eslint-disable-next-line\nimport styles from './Styles.css?inline';\nimport { DesignSystemProvider } from '../DesignSystemContext';\n\ninterface Props {\n\tchildren: React.ReactNode;\n\tisContainerMode?: boolean;\n}\n\ninterface ContainerProps {\n\t$isContainerMode: boolean;\n}\n\nfunction createShadowRoot(node: Element): ShadowRoot | null {\n\ttry {\n\t\treturn node.attachShadow({ mode: 'open' });\n\t} catch (e) {\n\t\treturn null;\n\t}\n}\n\n/**\n * This component creates a shadow root and injects styling so that outside\n * styling do not interfere with compactview and compactview styling does\n * not interfere with the DOM it's rendered in.\n */\nexport function ShadowRootInternal({ children, isContainerMode = false }: Props) {\n\tconst node = React.useRef<HTMLDivElement | null>(null);\n\tconst [root, setRoot] = useState<ShadowRoot | HTMLElement | null>(null);\n\n\tuseEffect(() => {\n\t\tif (node.current === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newRoot = createShadowRoot(node.current);\n\n\t\tinjectStyleSheet(newRoot);\n\n\t\tif (newRoot) {\n\t\t\t/**\n\t\t\t * If we're creating a Shadow Root, web-fonts still need to be loaded\n\t\t\t * outside of it by creating a style tag, otherwise the browser won't\n\t\t\t * load them.\n\t\t\t */\n\t\t\tinjectStyleElement(document.head, fontFaceStyles);\n\t\t}\n\n\t\tsetRoot(newRoot ?? node.current);\n\t}, []);\n\n\treturn (\n\t\t<div\n\t\t\tref={node}\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\theight: '100%',\n\t\t\t}}\n\t\t\tdata-testid=\"root\"\n\t\t>\n\t\t\t{root && (\n\t\t\t\t<RootElementProvider value={root as HTMLElement}>\n\t\t\t\t\t<DesignSystemProvider>\n\t\t\t\t\t\t{createPortal(\n\t\t\t\t\t\t\t<Container\n\t\t\t\t\t\t\t\t$isContainerMode={isContainerMode}\n\t\t\t\t\t\t\t\tdata-testid=\"ShadowRootInternalContainer\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</Container>,\n\t\t\t\t\t\t\troot as Element,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DesignSystemProvider>\n\t\t\t\t</RootElementProvider>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nfunction injectStyleSheet(shadowRoot: ShadowRoot | null) {\n\tconst envBasedImport = `@import url(${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/5.0.5/includes/css/vendor/font-awesome.min.css);`;\n\tconst completeStyles = envBasedImport + styles;\n\tinjectStyleElement(shadowRoot ?? document.head, completeStyles);\n}\n\nfunction injectStyleElement(root: ShadowRoot | Element, styling: string) {\n\t/**\n\t * CSSStyleSheet API could be used here, however at this it is moment only\n\t * supported in Chromium-based browsers. In this particular use case the\n\t * benefits (e.g. being able to share styles accross different element/shadowroots,\n\t * or updating stylesheets programtically) do not warrant having a different\n\t * implementation for different browsers.\n\t */\n\tconst styleElement = document.createElement('style');\n\tconst textNode = document.createTextNode(styling);\n\tstyleElement.appendChild(textNode);\n\troot.appendChild(styleElement);\n}\n\nconst fontFaceStyles = `\n@font-face {\n font-family: 'Source Sans Pro';\n font-style: normal;\n font-weight: 400;\n src: local('Source Sans Pro Regular'),\n local('SourceSansPro-Regular'),\n url('${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/5.0.5/includes/fonts/SourceSans/sourcesanspro-regular.woff2') format('woff2'),\n url('${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/5.0.5/includes/fonts/SourceSans/sourcesanspro-regular.woff') format('woff');\n }\n \n @font-face {\n font-family: \"FontAwesome\";\n src: url(\"${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/5.0.5/includes/fonts/fontawesome-webfont.woff2?v=4.7.0\") format(\"woff2\"),\n url(\"${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/5.0.5/includes/fonts/fontawesome-webfont.woff?v=4.7.0\") format(\"woff\");\n font-weight: 400;\n font-style: normal;\n }\n`;\n\nconst Container = styled.div<ContainerProps>`\n\twidth: ${(props) => (props.$isContainerMode ? '100%' : 'auto')};\n\tfont-family: 'Source Sans Pro';\n`;\n"],"names":["createShadowRoot","node","ShadowRootInternal","children","isContainerMode","React","root","setRoot","useState","useEffect","newRoot","injectStyleSheet","injectStyleElement","fontFaceStyles","jsx","RootElementProvider","DesignSystemProvider","createPortal","Container","shadowRoot","completeStyles","styles","styling","styleElement","textNode","styled","props"],"mappings":";;;;;;;AAkBA,SAASA,EAAiBC,GAAkC;AAC3D,MAAI;AACH,WAAOA,EAAK,aAAa,EAAE,MAAM,QAAQ;AAAA,EAC1C,QAAY;AACX,WAAO;AAAA,EACR;AACD;AAOO,SAASC,EAAmB,EAAE,UAAAC,GAAU,iBAAAC,IAAkB,MAAgB;AAChF,QAAMH,IAAOI,EAAM,OAA8B,IAAI,GAC/C,CAACC,GAAMC,CAAO,IAAIC,EAA0C,IAAI;AAEtE,SAAAC,EAAU,MAAM;AACf,QAAIR,EAAK,YAAY;AACpB;AAGD,UAAMS,IAAUV,EAAiBC,EAAK,OAAO;AAE7C,IAAAU,EAAiBD,CAAO,GAEpBA,KAMHE,EAAmB,SAAS,MAAMC,CAAc,GAGjDN,EAAQG,KAAWT,EAAK,OAAO;AAAA,EAChC,GAAG,CAAA,CAAE,GAGJ,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,KAAKb;AAAA,MACL,OAAO;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,MAAA;AAAA,MAET,eAAY;AAAA,MAEX,eACA,gBAAAa,EAACC,GAAA,EAAoB,OAAOT,GAC3B,4BAACU,GAAA,EACC,UAAAC;AAAA,QACA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACA,kBAAkBd;AAAA,YAClB,eAAY;AAAA,YAEX,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFG;AAAA,MAAA,EACD,CACD,EAAA,CACD;AAAA,IAAA;AAAA,EAAA;AAIJ;AAEA,SAASK,EAAiBQ,GAA+B;AAExD,QAAMC,IADiB,sGACiBC;AACxC,EAAAT,EAAmBO,KAAc,SAAS,MAAMC,CAAc;AAC/D;AAEA,SAASR,EAAmBN,GAA4BgB,GAAiB;AAQxE,QAAMC,IAAe,SAAS,cAAc,OAAO,GAC7CC,IAAW,SAAS,eAAeF,CAAO;AAChD,EAAAC,EAAa,YAAYC,CAAQ,GACjClB,EAAK,YAAYiB,CAAY;AAC9B;AAEA,MAAMV,IAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAoBjBK,IAAYO,EAAO;AAAA,UACf,CAACC,MAAWA,EAAM,mBAAmB,SAAS,MAAO;AAAA;AAAA;"}
|
package/Shield.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Shield.js","sources":["../../src/error-handling/Shield.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserClient } from '@sentry/browser';\n\nimport { Oops } from './Oops';\n\ninterface Props {\n\tchildren: React.ReactNode;\n\tsentryClient?: BrowserClient;\n}\n\ninterface State {\n\terror: Error | null;\n}\n\nexport class Shield extends React.Component<Props, State> {\n\tconstructor(props: Props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\n\tstatic getDerivedStateFromError(error: Error) {\n\t\treturn { error };\n\t}\n\n\trender() {\n\t\tif (this.state.error) {\n\t\t\treturn (\n\t\t\t\t<Oops\n\t\t\t\t\terror={this.state.error}\n\t\t\t\t\tsentryClient={this.props.sentryClient}\n\t\t\t\t\tonRetry={() => this.setState({ error: null })}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn this.props.children;\n\t}\n}\n"],"names":["Shield","React","props","error","jsx","Oops"],"mappings":";;;AAcO,MAAMA,UAAeC,EAAM,UAAwB;AAAA,EACzD,YAAYC,GAAc;AACzB,UAAMA,CAAK,GACX,KAAK,QAAQ,EAAE,OAAO,KAAA;AAAA,EACvB;AAAA,EAEA,OAAO,yBAAyBC,GAAc;AAC7C,WAAO,EAAE,OAAAA,EAAA;AAAA,EACV;AAAA,EAEA,SAAS;AACR,WAAI,KAAK,MAAM,QAEb,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,OAAO,KAAK,MAAM;AAAA,QAClB,cAAc,KAAK,MAAM;AAAA,QACzB,SAAS,MAAM,KAAK,SAAS,EAAE,OAAO,MAAM;AAAA,MAAA;AAAA,IAAA,IAKxC,KAAK,MAAM;AAAA,EACnB;AACD;"}
|
package/Skeleton.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","sources":["../../src/common/components/Skeleton.tsx"],"sourcesContent":["import React from 'react';\nimport { keyframes, styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\n\ninterface Props {\n\twidth?: number;\n}\n\nexport function Skeleton({ width = 100 }: Props) {\n\treturn (\n\t\t<SkeletonContainer width={width} data-testid=\"skeleton\">\n\t\t\t{'\\u200c'}\n\t\t</SkeletonContainer>\n\t);\n}\n\nconst CvSkeletonProgress = keyframes`\n\t0% {\n\t\tleft: -500px;\n\t}\n\t100% {\n\t\tleft: 100%;\n\t}\n`;\n\nconst SkeletonContainer = styled.span<{ width: number }>`\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: ${({ width }) => width}px;\n\tmargin: ${token.spacing3} ${token.spacing3};\n\theight: ${token.spacing5};\n\tbackground-color: ${token.gray50};\n\tborder-radius: ${token.brandRadiusBase};\n\n\t&before {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\theight: 100%;\n\t\tanimation: ${CvSkeletonProgress} 1.5s ease-in-out infinite;\n\t\tcontent: '';\n\t\twidth: 500px;\n\t\tleft: -500px;\n\t\tbackground-image: linear-gradient(\n\t\t\t90deg,\n\t\t\trgba(255, 255, 255, 0),\n\t\t\trgba(255, 255, 255, 0.6),\n\t\t\trgba(255, 255, 255, 0)\n\t\t);\n\t}\n`;\n"],"names":["Skeleton","width","jsx","SkeletonContainer","CvSkeletonProgress","keyframes","styled","token"],"mappings":";;;AAQO,SAASA,EAAS,EAAE,OAAAC,IAAQ,OAAc;AAChD,SACC,gBAAAC,EAACC,GAAA,EAAkB,OAAAF,GAAc,eAAY,YAC3C,UAAA,KACF;AAEF;AAEA,MAAMG,IAAqBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASrBF,IAAoBG,EAAO;AAAA;AAAA;AAAA;AAAA,UAIvB,CAAC,EAAE,OAAAL,EAAA,MAAYA,CAAK;AAAA,WACnBM,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA,WAChCA,EAAM,QAAQ;AAAA,qBACJA,EAAM,MAAM;AAAA,kBACfA,EAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMxBH,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SmartFilterContent.js","sources":["../../src/filter/filters/metaproperty/SmartFilterContent.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { token } from '@bynder/design-system';\n\nimport { MetaPropertyFilterContent, MetapropertyType } from './MetapropertyFilterContent';\nimport { MetapropertyOptionType } from './MetapropertyOption';\n\nexport interface SmartfilterType {\n\t__typename: 'Smartfilter';\n\tid: string;\n\tlabel: string;\n\tmetaproperties: MetapropertyType[];\n\ticon?: string;\n\tzIndex: number;\n}\n\ninterface SmartfilterProps {\n\tsmartfilter: SmartfilterType;\n\tselectedOptionIds: string[];\n\tisLoading: boolean;\n\tonAddOption: (metapropertyOption: MetapropertyOptionType) => void;\n\tonRemoveOption: (metapropertyOption: MetapropertyOptionType) => void;\n}\n\nexport function SmartFilterContent(props: SmartfilterProps) {\n\treturn (\n\t\t<Container>\n\t\t\t{props.smartfilter.metaproperties.map((metaproperty) => (\n\t\t\t\t<MetaPropertyFilterContent\n\t\t\t\t\tkey={metaproperty.id}\n\t\t\t\t\tmetaproperty={metaproperty}\n\t\t\t\t\tselectedOptionIds={props.selectedOptionIds}\n\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t\tonAddOption={props.onAddOption}\n\t\t\t\t\tonRemoveOption={props.onRemoveOption}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</Container>\n\t);\n}\n\nconst Container = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: ${token.spacing4};\n\toverflow: auto;\n`;\n"],"names":["styled","token"],"mappings":";;;;AAyCkBA,EAAO;AAAA;AAAA;AAAA,QAGjBC,EAAM,QAAQ;AAAA;AAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SmartFilterSelect_new.js","sources":["../../src/filter/filters/smartfilters/Metaproperties/SmartFilterSelect_new.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { token } from '@bynder/design-system';\n\nimport { Metaproperty, MetapropertyOption } from '@src/api/types/getFilters_new';\nimport { useGetFilterOptions } from '@src/api/getFilterOptions';\nimport { SmartfilterSelectedOptionType } from '@src/api/rest/types';\nimport { InfiniteScroll } from '@src/common/components/InfiniteScroll';\nimport { OptionComponent } from './Option_new';\n\ntype Props = {\n\tmetaproperty: Metaproperty;\n\tsmartfilterId: string;\n\tonOptionSelect: (\n\t\tmetapropertyName: string,\n\t\toption: MetapropertyOption,\n\t\tisMultifilter: boolean,\n\t) => void;\n\tselectedOptions: Record<string, Record<string, SmartfilterSelectedOptionType>>;\n\tfilteredMetaproperty: Record<string, number>;\n\tmetapropertyCursor?: string;\n};\n\nconst SmartFilterSelect = ({\n\tmetaproperty,\n\tsmartfilterId,\n\tonOptionSelect,\n\tselectedOptions,\n\tfilteredMetaproperty,\n\tmetapropertyCursor,\n}: Props) => {\n\tconst [options, setOptions] = useState(metaproperty.options);\n\tconst [cursor, setCursor] = useState<string | undefined>(metapropertyCursor);\n\n\tconst { isLoading, fetchFilterOptions } = useGetFilterOptions({\n\t\tsmartfilterId,\n\t\tmetapropertyId: metaproperty.id,\n\t});\n\n\tconst handleLoadMore = async () => {\n\t\tconst response = await fetchFilterOptions(cursor || '');\n\n\t\tif (!response) {\n\t\t\tsetCursor(undefined);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextCursor = response.filterOptions.metadata.nextCursorMark;\n\t\tsetCursor(nextCursor);\n\n\t\tconst newOptions = response.filterOptions.metaproperty.options;\n\t\tsetOptions((prevOptions) => [...prevOptions, ...newOptions]);\n\t};\n\n\treturn (\n\t\t<FilterContent data-testid=\"metaproperty-filter-content\">\n\t\t\t<FilterHead\n\t\t\t\tdata-testid=\"metaproperty-title\"\n\t\t\t\ttitle={metaproperty.label || metaproperty.name}\n\t\t\t>\n\t\t\t\t{metaproperty.label || metaproperty.name}\n\t\t\t</FilterHead>\n\t\t\t<FilterList>\n\t\t\t\t<InfiniteScroll\n\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\thasNextPage={!!cursor}\n\t\t\t\t\tloadMore={handleLoadMore}\n\t\t\t\t>\n\t\t\t\t\t{options.map((option) => {\n\t\t\t\t\t\tif (!filteredMetaproperty[option?.name]) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<OptionComponent\n\t\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\t\toption={option}\n\t\t\t\t\t\t\t\tonClick={onOptionSelect}\n\t\t\t\t\t\t\t\tmetapropertyName={metaproperty.name}\n\t\t\t\t\t\t\t\tisSelected={!!selectedOptions[metaproperty.name]?.[option.id]}\n\t\t\t\t\t\t\t\tmetapropertyMultifilter={!!metaproperty.isMultifilter}\n\t\t\t\t\t\t\t\tcount={filteredMetaproperty[option.name]}\n\t\t\t\t\t\t\t\tshowCount={metaproperty.showCounter}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</InfiniteScroll>\n\t\t\t</FilterList>\n\t\t</FilterContent>\n\t);\n};\n\nexport { SmartFilterSelect };\n\nconst FilterContent = styled.div`\n\tcolor: ${token.colorText};\n\twidth: 282px;\n`;\n\nconst FilterHead = styled.h3`\n\tpadding: ${token.spacing5};\n\tmargin: 0;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tfont-size: ${token.fontSize100};\n\tline-height: ${token.lineHeightText};\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 FilterList = styled.ul`\n\tmax-height: 400px;\n\toverflow-y: auto;\n\tpadding: 0;\n\twidth: 100%;\n\tlist-style: none;\n\tmargin: 0;\n\tscrollbar-width: none;\n`;\n"],"names":["SmartFilterSelect","metaproperty","smartfilterId","onOptionSelect","selectedOptions","filteredMetaproperty","metapropertyCursor","options","setOptions","useState","cursor","setCursor","isLoading","fetchFilterOptions","useGetFilterOptions","handleLoadMore","response","nextCursor","newOptions","prevOptions","jsxs","FilterContent","jsx","FilterHead","FilterList","InfiniteScroll","option","OptionComponent","styled","token"],"mappings":";;;;;;;AAuBA,MAAMA,IAAoB,CAAC;AAAA,EAC1B,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,oBAAAC;AACD,MAAa;AACZ,QAAM,CAACC,GAASC,CAAU,IAAIC,EAASR,EAAa,OAAO,GACrD,CAACS,GAAQC,CAAS,IAAIF,EAA6BH,CAAkB,GAErE,EAAE,WAAAM,GAAW,oBAAAC,EAAA,IAAuBC,EAAoB;AAAA,IAC7D,eAAAZ;AAAA,IACA,gBAAgBD,EAAa;AAAA,EAAA,CAC7B,GAEKc,IAAiB,YAAY;AAClC,UAAMC,IAAW,MAAMH,EAAmBH,KAAU,EAAE;AAEtD,QAAI,CAACM,GAAU;AACd,MAAAL,EAAU,MAAS;AAEnB;AAAA,IACD;AAEA,UAAMM,IAAaD,EAAS,cAAc,SAAS;AACnD,IAAAL,EAAUM,CAAU;AAEpB,UAAMC,IAAaF,EAAS,cAAc,aAAa;AACvD,IAAAR,EAAW,CAACW,MAAgB,CAAC,GAAGA,GAAa,GAAGD,CAAU,CAAC;AAAA,EAC5D;AAEA,SACC,gBAAAE,EAACC,GAAA,EAAc,eAAY,+BAC1B,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,eAAY;AAAA,QACZ,OAAOtB,EAAa,SAASA,EAAa;AAAA,QAEzC,UAAAA,EAAa,SAASA,EAAa;AAAA,MAAA;AAAA,IAAA;AAAA,sBAEpCuB,GAAA,EACA,UAAA,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACA,WAAAb;AAAA,QACA,aAAa,CAAC,CAACF;AAAA,QACf,UAAUK;AAAA,QAET,UAAAR,EAAQ,IAAI,CAACmB,MACRrB,EAAqBqB,GAAQ,IAAI,IAKrC,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YAEA,QAAAD;AAAA,YACA,SAASvB;AAAA,YACT,kBAAkBF,EAAa;AAAA,YAC/B,YAAY,CAAC,CAACG,EAAgBH,EAAa,IAAI,IAAIyB,EAAO,EAAE;AAAA,YAC5D,yBAAyB,CAAC,CAACzB,EAAa;AAAA,YACxC,OAAOI,EAAqBqB,EAAO,IAAI;AAAA,YACvC,WAAWzB,EAAa;AAAA,UAAA;AAAA,UAPnByB,EAAO;AAAA,QAAA,IALN,IAeR;AAAA,MAAA;AAAA,IAAA,EACF,CACD;AAAA,EAAA,GACD;AAEF,GAIML,IAAgBO,EAAO;AAAA,UACnBC,EAAM,SAAS;AAAA;AAAA,GAInBN,IAAaK,EAAO;AAAA,YACdC,EAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,cAKZA,EAAM,WAAW;AAAA,gBACfA,EAAM,cAAc;AAAA;AAAA;AAAA,GAK9BL,IAAaI,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/Smartfilters_new.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Smartfilters_new.js","sources":["../../src/filter/filters/smartfilters/Smartfilters_new.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { styled } from 'styled-components';\nimport { Box, Button, Flex, token } from '@bynder/design-system';\nimport { IconArrowLeft, IconArrowRight } from '@bynder/icons';\nimport { FilterData, MetapropertyOption } from '@src/api/types/getFilters_new';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useAssetFilter } from '../../AssetFilterContext';\nimport { Dropdown } from '@src/common/components/dropdown/Dropdown';\nimport { Autocomplete } from './Metaproperties/Autocomplete_new';\nimport { SmartFilterSelect } from './Metaproperties/SmartFilterSelect_new';\nimport { getAutocompleteOptions, AutocompleteOptions } from '@src/api/rest/autocomplete';\nimport { useAuth } from '@src/login/LoginContext';\nimport { debounceAsync } from '@src/utils/asyncDebounce';\nimport { AutocompleteOption } from '@src/api/rest/types';\n\ntype Props = {\n\tfilterData: FilterData;\n};\n\nconst Smartfilter = ({ filterData }: Props) => {\n\tconst assetFilterState = useAssetFilter();\n\tconst auth = useAuth();\n\tconst { language } = useConfig();\n\n\tconst sortedFilters = sortFilters(filterData);\n\n\tconst [inputValue, setInputValue] = useState<{ [key: string]: string }>({});\n\tconst [autocompleteOptions, setAutocompleteOptions] = useState<\n\t\tAutocompleteOptions | undefined\n\t>();\n\tconst [isLoading, setIsLoading] = useState<{ [key: string]: boolean }>({});\n\n\tconst [scroll, setScroll] = useState(0);\n\tconst [maxScroll, setMaxScroll] = useState(0);\n\n\tconst [isDragging, setIsDragging] = useState(false);\n\n\tconst nodeRef = useRef<HTMLDivElement>(null);\n\tconst hasMoved = useRef(false);\n\tconst initialX = useRef<number | null>(null);\n\tconst initialScrollPos = useRef<number | null>(null);\n\n\t// useRef to track inputs so we can debounce them individually\n\tconst debouncedFunctions = useRef<{\n\t\t[key: string]: (search: string, id: string) => Promise<void>;\n\t}>({});\n\n\tuseEffect(() => {\n\t\tif (nodeRef.current) {\n\t\t\tsetMaxScroll(nodeRef.current.scrollWidth - nodeRef.current.clientWidth);\n\t\t}\n\n\t\tif (!assetFilterState.isDropdownActive) {\n\t\t\tsetInputValue({});\n\t\t\tsetAutocompleteOptions({});\n\t\t}\n\t}, [filterData, nodeRef, assetFilterState]);\n\n\tconst isLeftArrowDisabled = scroll === 0;\n\tconst isRightArrowDisabled = maxScroll > 5 && scroll !== maxScroll;\n\n\tfunction handleLeftScroll() {\n\t\tsetScroll((prevScroll: number) => {\n\t\t\tconst leftScroll = Math.max(prevScroll - 250, 0);\n\n\t\t\treturn leftScroll >= 100 ? leftScroll : 0;\n\t\t});\n\t}\n\n\tfunction handleRightScroll() {\n\t\tsetScroll((prevScroll: number) => {\n\t\t\tconst rightScroll = Math.min(prevScroll + 250, maxScroll);\n\n\t\t\treturn rightScroll <= maxScroll - 100 ? rightScroll : maxScroll;\n\t\t});\n\t}\n\n\tconst handleApi = async (search: string, id: string) => {\n\t\tlet callAutocomplete;\n\t\t// set the loading state for the specific search as we can have more than 1\n\t\tsetIsLoading((prev) => ({\n\t\t\t...prev,\n\t\t\t[id]: true,\n\t\t}));\n\n\t\t// api searches of 1 character break the api returning a 500\n\t\tif (search.length >= 2) {\n\t\t\tcallAutocomplete = await getAutocompleteOptions({\n\t\t\t\tmetapropertyId: id,\n\t\t\t\tauth,\n\t\t\t\tsearchTerm: search,\n\t\t\t});\n\t\t}\n\n\t\tsetAutocompleteOptions((prev) => ({\n\t\t\t...prev,\n\t\t\t[id]: callAutocomplete ? callAutocomplete : null,\n\t\t}));\n\n\t\tsetIsLoading((prev) => ({\n\t\t\t...prev,\n\t\t\t[id]: false,\n\t\t}));\n\t};\n\n\tconst getDebouncedFunction = (id: string) => {\n\t\t// Create a debounced function for the specific input if it doesn't exist\n\t\tif (!debouncedFunctions.current[id]) {\n\t\t\tdebouncedFunctions.current[id] = debounceAsync(handleApi, 500) as (\n\t\t\t\tsearch: string,\n\t\t\t\tid: string,\n\t\t\t) => Promise<void>;\n\t\t}\n\n\t\treturn debouncedFunctions.current[id];\n\t};\n\n\tconst handleSmartfilterOptionSelections = (\n\t\tmetapropertyName: string,\n\t\toption: AutocompleteOption | MetapropertyOption,\n\t\tisMultifilter: boolean,\n\t) => {\n\t\tassetFilterState.selectSmartfilterOption(metapropertyName, option, isMultifilter);\n\t};\n\n\tconst handleAutocompleteInputChange = (metapropertyId: string, value: string) => {\n\t\tsetInputValue((prev) => ({\n\t\t\t...prev,\n\t\t\t[metapropertyId]: value,\n\t\t}));\n\t\tconst debouncedHandleApi = getDebouncedFunction(metapropertyId);\n\t\tdebouncedHandleApi(value, metapropertyId);\n\t};\n\n\tconst handleMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n\t\t// Save the initial position for movement detection\n\t\tinitialX.current = event.clientX;\n\t\thasMoved.current = false;\n\t\tsetIsDragging(true);\n\t};\n\n\tconst handleMouseUp = (event: React.MouseEvent<HTMLDivElement>) => {\n\t\tif (hasMoved.current) {\n\t\t\tevent.preventDefault();\n\t\t\tconst preventClickPropagation = (e: MouseEvent) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tdocument.removeEventListener('click', preventClickPropagation, true);\n\t\t\t};\n\n\t\t\t// Add a one-time click handler that will fire before any other click handlers\n\t\t\tdocument.addEventListener('click', preventClickPropagation, {\n\t\t\t\tcapture: true,\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t}\n\n\t\tinitialX.current = null;\n\t\tinitialScrollPos.current = null;\n\n\t\tsetIsDragging(false);\n\t};\n\n\tconst handleDrag = (event: React.MouseEvent<HTMLDivElement>) => {\n\t\tif (!isDragging || !nodeRef.current || !initialX.current) return;\n\n\t\tevent.preventDefault();\n\n\t\t// This tracks the initial scroll position when the drag starts so it doesn't reset\n\t\t// to 0 when the user starts dragging again.\n\t\tif (initialScrollPos.current === null) {\n\t\t\tinitialScrollPos.current = scroll;\n\t\t}\n\n\t\t// Check if we've moved enough to consider this a drag operation\n\t\tif (initialX.current) {\n\t\t\tconst deltaX = Math.abs(event.clientX - initialX.current);\n\n\t\t\t// If moved more than the threshold in either direction, mark as moved\n\t\t\tif (deltaX > 5) {\n\t\t\t\thasMoved.current = true;\n\t\t\t}\n\t\t}\n\n\t\tconst walkX = (event.clientX - initialX.current) * -1 + initialScrollPos.current;\n\n\t\t// 16 is to make the scroll a bit smoother in case of coming up short (Padding width offset)\n\t\tif (walkX <= 16) {\n\t\t\treturn setScroll(0);\n\t\t}\n\n\t\tif (walkX + 16 < maxScroll) {\n\t\t\treturn setScroll(walkX);\n\t\t}\n\n\t\treturn setScroll(maxScroll);\n\t};\n\n\t/* Note that it is important for the Dropdown component *not* to be rerendered when\n\t * the reference value of the filter object changes, only when it is actually a\n\t * different filter (i.e. when the ID changes). When a GraphQL request is made, the\n\t * same filter will be represented by a new object. If this causes a rerender of the\n\t * Dropdown component, the dropdown will close after every filter selection. Instead,\n\t * the dropdown should stay open after a filter is selected.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{sortedFilters.map((filter) => {\n\t\t\t\tconst smartfilter = filter.smartfilter;\n\t\t\t\tconst metaproperties = filter.metapropertyFilters;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tkey={smartfilter.id}\n\t\t\t\t\t\ttitle={smartfilter.labels[language] || smartfilter.labels.en_US}\n\t\t\t\t\t\talt={smartfilter.labels[language] || smartfilter.labels.en_US}\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t\tfadeIn\n\t\t\t\t\t\tisMetapropertyDropdown\n\t\t\t\t\t>\n\t\t\t\t\t\t{() => (\n\t\t\t\t\t\t\t<MetaPropertyFilterParent\n\t\t\t\t\t\t\t\tref={nodeRef}\n\t\t\t\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\t\t\t\tonMouseUp={handleMouseUp}\n\t\t\t\t\t\t\t\tonMouseMove={handleDrag}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\t\t\t\t\t$scroll={scroll}\n\t\t\t\t\t\t\t\t\tdata-testid=\"metaproperty-dropdown-content\"\n\t\t\t\t\t\t\t\t\t$isDragging={isDragging}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{metaproperties.map((metapropertObject) => {\n\t\t\t\t\t\t\t\t\t\tconst metaproperty = metapropertObject.metaproperty;\n\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t!assetFilterState.existingFilters?.[metaproperty.name]\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tmetaproperty.type !== 'autocomplete' &&\n\t\t\t\t\t\t\t\t\t\t\t((metaproperty.type !== 'smart-single' &&\n\t\t\t\t\t\t\t\t\t\t\t\tmetaproperty.type !== 'select') ||\n\t\t\t\t\t\t\t\t\t\t\t\tmetaproperty.options.length === 0)\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tconst content =\n\t\t\t\t\t\t\t\t\t\t\tmetaproperty.type === 'autocomplete' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Autocomplete\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetaproperty={metaproperty}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={inputValue[metaproperty.id] || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleAutocompleteInputChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonOptionSelect={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSmartfilterOptionSelections\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tautocompleteOptions={autocompleteOptions || {}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={isLoading[metaproperty.id] || false}\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedOptions={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tassetFilterState.selectedSmartfilterOptions ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<SmartFilterSelect\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetaproperty={metaproperty}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsmartfilterId={smartfilter.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonOptionSelect={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSmartfilterOptionSelections\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedOptions={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tassetFilterState.selectedSmartfilterOptions ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilteredMetaproperty={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tassetFilterState.existingFilters?.[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetaproperty.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmetapropertyCursor={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetapropertObject.metadata.nextCursorMark\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<DropdownContentContainer key={metaproperty.id}>\n\t\t\t\t\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t\t\t\t\t</DropdownContentContainer>\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</DropdownContentWrapper>\n\n\t\t\t\t\t\t\t\t<NavigationParent direction=\"row\" justifyContent=\"flex-end\">\n\t\t\t\t\t\t\t\t\t<NavigationArrow\n\t\t\t\t\t\t\t\t\t\ttitle=\"Previous\"\n\t\t\t\t\t\t\t\t\t\ticon={<IconArrowLeft />}\n\t\t\t\t\t\t\t\t\t\tonClick={handleLeftScroll}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"left-arrow\"\n\t\t\t\t\t\t\t\t\t\tisDisabled={isLeftArrowDisabled}\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<NavigationArrow\n\t\t\t\t\t\t\t\t\t\ttitle=\"Next\"\n\t\t\t\t\t\t\t\t\t\ticon={<IconArrowRight />}\n\t\t\t\t\t\t\t\t\t\tonClick={handleRightScroll}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"right-arrow\"\n\t\t\t\t\t\t\t\t\t\tisDisabled={!isRightArrowDisabled}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</NavigationParent>\n\t\t\t\t\t\t\t</MetaPropertyFilterParent>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Dropdown>\n\t\t\t\t);\n\t\t\t})}\n\t\t</>\n\t);\n};\n\nfunction sortFilters(filterData: FilterData) {\n\treturn [...filterData.filters].sort((a, b) => a.smartfilter.zindex - b.smartfilter.zindex);\n}\n\nexport { Smartfilter };\n\nconst MetaPropertyFilterParent = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n`;\n\nconst DropdownContentWrapper = styled.div<{ $scroll: number; $isDragging?: boolean }>`\n\tdisplay: flex;\n\tflex-direction: row;\n\ttransform: translateX(-${(p) => p.$scroll}px);\n\ttransition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.15);\n\twidth: fit-content;\n\tcursor: ${(p) => (p.$isDragging ? 'grabbing' : 'default')};\n`;\n\nconst DropdownContentContainer = styled(Box)`\n\tborder-right: 1px solid rgba(3, 16, 38, 0.1);\n\tmax-width: 300px;\n`;\n\nconst NavigationParent = styled(Flex)`\n\tpadding: ${token.spacing3};\n\tborder-top: 1px solid rgba(3, 16, 38, 0.1);\n\tgap: ${token.spacing3};\n`;\n\nconst NavigationArrow = styled(Button)`\n\tpadding: ${token.spacing3};\n\tborder-radius: 6px;\n\tborder: 1px solid rgba(3, 16, 38, 0.1);\n\tbackground: rgba(3, 16, 38, 0.03);\n\tcursor: pointer;\n`;\n"],"names":["Smartfilter","filterData","assetFilterState","useAssetFilter","auth","useAuth","language","useConfig","sortedFilters","sortFilters","inputValue","setInputValue","useState","autocompleteOptions","setAutocompleteOptions","isLoading","setIsLoading","scroll","setScroll","maxScroll","setMaxScroll","isDragging","setIsDragging","nodeRef","useRef","hasMoved","initialX","initialScrollPos","debouncedFunctions","useEffect","isLeftArrowDisabled","isRightArrowDisabled","handleLeftScroll","prevScroll","leftScroll","handleRightScroll","rightScroll","handleApi","search","id","callAutocomplete","prev","getAutocompleteOptions","getDebouncedFunction","debounceAsync","handleSmartfilterOptionSelections","metapropertyName","option","isMultifilter","handleAutocompleteInputChange","metapropertyId","value","handleMouseDown","event","handleMouseUp","preventClickPropagation","e","handleDrag","walkX","jsx","Fragment","filter","smartfilter","metaproperties","Dropdown","jsxs","MetaPropertyFilterParent","DropdownContentWrapper","metapropertObject","metaproperty","content","Autocomplete","SmartFilterSelect","DropdownContentContainer","NavigationParent","NavigationArrow","IconArrowLeft","IconArrowRight","a","styled","p","Box","Flex","token","Button"],"mappings":"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"}
|
package/Spinner.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sources":["../../src/common/components/Spinner.tsx"],"sourcesContent":["import React from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\n\ninterface Props {\n\tisRelative?: boolean;\n\tisHidden?: boolean;\n\tisRefreshingSpinner?: boolean;\n\tisNotUsingMargin?: boolean;\n}\n\nexport function Spinner(props: Props) {\n\treturn (\n\t\t<SpinnerContainer\n\t\t\tdata-testid=\"spinner\"\n\t\t\t$isRelative={props.isRelative}\n\t\t\t$isHidden={props.isHidden}\n\t\t\t$isRefreshingSpinner={props.isRefreshingSpinner}\n\t\t\t$isNotUsingMargin={props.isNotUsingMargin}\n\t\t>\n\t\t\t<svg className=\"spinner\" viewBox=\"0 0 20 20\">\n\t\t\t\t<circle cx=\"10\" cy=\"10\" r=\"8\" fill=\"none\" strokeWidth=\"3\" />\n\t\t\t</svg>\n\t\t</SpinnerContainer>\n\t);\n}\n\nconst SpinnerContainer = styled.div<{\n\t$isRelative?: boolean;\n\t$isHidden?: boolean;\n\t$isRefreshingSpinner?: boolean;\n\t$isNotUsingMargin?: boolean;\n}>`\n\tdisplay: ${(props) => (props.$isHidden ? 'none' : 'initial')};\n\tposition: ${(props) => (props.$isRelative ? 'relative' : 'absolute')};\n\ttop: ${(props) => (props.$isRefreshingSpinner ? 'initial' : '0')};\n\tright: ${(props) => (props.$isRefreshingSpinner ? 'initial' : '0')};\n\twidth: ${token.spacing6};\n\theight: ${token.spacing6};\n\tmargin-right: ${(props) => (props.$isNotUsingMargin ? '0' : token.spacing3)};\n\tmargin-top: ${(props) => (props.$isNotUsingMargin ? '0' : token.spacing4)};\n\tbackground-color: #fff;\n\tcolor: rgba(0, 34, 51, 0.3);\n`;\n"],"names":["Spinner","props","jsx","SpinnerContainer","styled","token"],"mappings":";;;AAYO,SAASA,EAAQC,GAAc;AACrC,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,aAAaF,EAAM;AAAA,MACnB,WAAWA,EAAM;AAAA,MACjB,sBAAsBA,EAAM;AAAA,MAC5B,mBAAmBA,EAAM;AAAA,MAEzB,4BAAC,OAAA,EAAI,WAAU,WAAU,SAAQ,aAChC,4BAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI,MAAK,QAAO,aAAY,KAAI,EAAA,CAC3D;AAAA,IAAA;AAAA,EAAA;AAGH;AAEA,MAAME,IAAmBC,EAAO;AAAA,YAMpB,CAACH,MAAWA,EAAM,YAAY,SAAS,SAAU;AAAA,aAChD,CAACA,MAAWA,EAAM,cAAc,aAAa,UAAW;AAAA,QAC7D,CAACA,MAAWA,EAAM,uBAAuB,YAAY,GAAI;AAAA,UACvD,CAACA,MAAWA,EAAM,uBAAuB,YAAY,GAAI;AAAA,UACzDI,EAAM,QAAQ;AAAA,WACbA,EAAM,QAAQ;AAAA,iBACR,CAACJ,MAAWA,EAAM,oBAAoB,MAAMI,EAAM,QAAS;AAAA,eAC7D,CAACJ,MAAWA,EAAM,oBAAoB,MAAMI,EAAM,QAAS;AAAA;AAAA;AAAA;"}
|
package/StatefulAssetList.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatefulAssetList.js","sources":["../../src/views/asset/StatefulAssetList.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { IconErrorOutline } from '@bynder/icons';\nimport { __ } from '@src/localization';\nimport { NoResults } from '@src/common/components/NoResults';\nimport { useAssetFilter } from '@src/filter/AssetFilterContext';\nimport { Connection } from '@src/api/graphql.types';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useSelectedAssetIds, useSelection } from '@src/select/SelectionContext';\nimport { Oops } from '@src/error-handling/Oops';\nimport { ActiveFilters } from '@src/filter/active-filters/ActiveFilters';\nimport { pluralize } from '@src/utils/text';\nimport { Asset } from './asset.type';\nimport { AssetList } from './AssetList';\nimport { DirectionSelect } from '@src/order/DirectionSelect';\nimport { FieldSelect } from '@src/order/FieldSelect';\nimport { Tooltip } from '@src/common/components/Tooltip';\nimport { useSearchStore } from '@src/store/useSearchStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\n\ninterface DataValue {\n\tsearchAssets: {\n\t\tassets: {\n\t\t\ttotalCount: number;\n\t\t\tnodes: Asset[];\n\t\t};\n\t};\n}\n\ninterface Props {\n\tconnection: Connection<DataValue>;\n\ttotalCount?: number;\n\tshowActiveFilters?: boolean;\n}\n\nexport function StatefulAssetList(props: Props) {\n\tconst { data, isLoading, loadMore, hasNextPage, executeQuery } = props.connection;\n\tconst { setIsLoading, setSearch } = useSearchStore();\n\tconst config = useConfig();\n\tconst selectedAssetIds = useSelectedAssetIds();\n\tconst { selectAssets, toggleAssets, setAllAssets } = useSelection();\n\tconst assetFilterState = useAssetFilter();\n\tconst {\n\t\tisNLSSelected,\n\t\tNLSSearchText,\n\t\tisSelected: isSimilaritySearchSelected,\n\t} = useSimilaritySearchStore();\n\n\tuseEffect(() => {\n\t\tif (!isLoading) {\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}, [isLoading]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect(() => {\n\t\tif (data.tag !== 'Failure') {\n\t\t\tsetAllAssets(getAssetNodes(data));\n\t\t}\n\t}, [data]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tif (data.tag === 'Failure') {\n\t\treturn <Oops error={new Error(data.value)} onRetry={executeQuery} />;\n\t}\n\n\tconst totalCount = data.value?.searchAssets?.assets?.totalCount ?? props.totalCount;\n\n\tconst onReset = () => {\n\t\tassetFilterState.clear();\n\t\tsetSearch('assets', '');\n\t\tsetSearch('collection', '');\n\t};\n\n\tconst isAISearchPerformed = Boolean(\n\t\tisSimilaritySearchSelected || (isNLSSelected && NLSSearchText),\n\t);\n\n\treturn (\n\t\t<AssetList\n\t\t\tassets={getAssetNodes(data)}\n\t\t\tcount={totalCount}\n\t\t\tisLoading={isLoading}\n\t\t\tloadMore={loadMore}\n\t\t\thasNextPage={hasNextPage}\n\t\t\ttheme={config.theme}\n\t\t\tselectionMode={config.selectionMode}\n\t\t\tselectedAssetIds={selectedAssetIds}\n\t\t\tonSelect={selectAssets}\n\t\t\tonToggle={toggleAssets}\n\t\t\temptyStateElement={<NoResults onReset={onReset} />}\n\t\t>\n\t\t\t<StatefulAssetListContainer>\n\t\t\t\t{totalCount !== undefined && (\n\t\t\t\t\t<StatefulAssetListCount data-testid=\"assets-amount\" key={totalCount}>\n\t\t\t\t\t\t{pluralize(totalCount, __('{} asset'), __('{} assets'))}\n\t\t\t\t\t</StatefulAssetListCount>\n\t\t\t\t)}\n\n\t\t\t\t{props.showActiveFilters && <ActiveFilters />}\n\n\t\t\t\t<FieldSelect\n\t\t\t\t\toptions={\n\t\t\t\t\t\tisAISearchPerformed\n\t\t\t\t\t\t\t? ['NL_SEARCH']\n\t\t\t\t\t\t\t: ['CREATED_AT', 'PUBLISHED_AT', 'UPDATED_AT', 'NAME']\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<DirectionSelect nlSearch={isAISearchPerformed} />\n\t\t\t\t{isAISearchPerformed && (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext=\"You cannot change the sorting criteria while a Visual Similarity filter\n\t\t\t\t\t\t\tis being applied\"\n\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\tmargin=\"left\"\n\t\t\t\t\t\tmarginAmount=\"spacing3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<IconErrorOutline />\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\t\t\t</StatefulAssetListContainer>\n\t\t</AssetList>\n\t);\n}\n\nfunction getAssetNodes(\n\tdata:\n\t\t| { tag: 'Loading'; value: undefined | null | DataValue }\n\t\t| { tag: 'Loaded'; value: DataValue },\n): { tag: 'Loading'; value: undefined | Asset[] } | { tag: 'Loaded'; value: Asset[] } {\n\tif (data.tag === 'Loading' && !data.value) {\n\t\treturn {\n\t\t\ttag: 'Loading',\n\t\t\tvalue: undefined,\n\t\t};\n\t} else if (data.tag === 'Loading') {\n\t\treturn {\n\t\t\ttag: data.tag,\n\t\t\tvalue: data.value?.searchAssets.assets.nodes,\n\t\t};\n\t}\n\n\treturn {\n\t\ttag: data.tag,\n\t\tvalue: data.value.searchAssets.assets.nodes,\n\t};\n}\n\nconst StatefulAssetListContainer = styled.div`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tz-index: 10;\n\tpadding: ${token.spacing5} ${token.spacing5} ${token.spacing3} ${token.spacing5};\n`;\n\nconst StatefulAssetListCount = styled.span`\n\tcolor: rgba(0, 34, 51, 0.5);\n\tflex-shrink: 0;\n\tanimation: fade-in-down 0.15s ease-out;\n`;\n"],"names":["StatefulAssetList","props","data","isLoading","loadMore","hasNextPage","executeQuery","setIsLoading","setSearch","useSearchStore","config","useConfig","selectedAssetIds","useSelectedAssetIds","selectAssets","toggleAssets","setAllAssets","useSelection","assetFilterState","useAssetFilter","isNLSSelected","NLSSearchText","isSimilaritySearchSelected","useSimilaritySearchStore","useEffect","getAssetNodes","jsx","Oops","totalCount","onReset","isAISearchPerformed","AssetList","NoResults","StatefulAssetListContainer","StatefulAssetListCount","pluralize","__","ActiveFilters","FieldSelect","DirectionSelect","Tooltip","IconErrorOutline","styled","token"],"mappings":"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"}
|
package/Styles.css.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/SwitchNLS.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchNLS.js","sources":["../../src/search/SwitchNLS.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Switch, textStyles, token, TruncatedText } from '@bynder/design-system';\nimport { IconSmart } from '@bynder/icons';\nimport { __ } from '@src/localization';\n\ninterface Props {\n\tisNLSSearchOn: boolean;\n\tsetIsNLSSearchOn: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const SwitchNLS = ({ isNLSSearchOn, setIsNLSSearchOn }: Props) => {\n\tconst toggleNLSAndFocusSpotlight = (event?: React.MouseEvent | React.KeyboardEvent) => {\n\t\t// Only proceed if the click was directly on the container, not on its children (especially the Switch)\n\t\tif (event && event.currentTarget !== event.target) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent?.stopPropagation();\n\t\tsetIsNLSSearchOn(!isNLSSearchOn);\n\t};\n\n\tconst handleSwitchChange = () => {\n\t\tsetIsNLSSearchOn(!isNLSSearchOn);\n\t};\n\n\treturn (\n\t\t<ItemStyled\n\t\t\tonClick={toggleNLSAndFocusSpotlight}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\tif (event.key === 'Enter' || event.key === ' ') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\ttoggleNLSAndFocusSpotlight(event);\n\t\t\t\t}\n\t\t\t}}\n\t\t\ttabIndex={0}\n\t\t\tdata-testid=\"switch-nls-container\"\n\t\t>\n\t\t\t<ThumbnailContainer>\n\t\t\t\t<IconSmart />\n\t\t\t</ThumbnailContainer>\n\n\t\t\t<Content id=\"labelId\">\n\t\t\t\t<TruncatedText>{__('Use natural language search')}</TruncatedText>\n\t\t\t\t<Subtext>\n\t\t\t\t\t<TruncatedText>{__('Find images by describing them')}</TruncatedText>\n\t\t\t\t</Subtext>\n\t\t\t</Content>\n\n\t\t\t<RightElements>\n\t\t\t\t<Switch\n\t\t\t\t\tisChecked={isNLSSearchOn}\n\t\t\t\t\taria-labelledby=\"labelId\"\n\t\t\t\t\tonChange={handleSwitchChange}\n\t\t\t\t/>\n\t\t\t</RightElements>\n\t\t</ItemStyled>\n\t);\n};\n\nconst ItemStyled = styled.div`\n\tdisplay: flex;\n\n\talign-items: flex-start;\n\tmargin: ${token.spacing3};\n\tpadding: ${token.spacing3};\n\tbackground-color: #f3f2fd;\n\tborder-radius: ${token.radiusLarge};\n\n\t&:hover {\n\t\tbackground-color: #eeedfc;\n\t\tcursor: pointer;\n\t}\n\n\t&:active {\n\t\tbackground-color: #f3f2fd;\n\t}\n`;\n\nconst ThumbnailContainer = styled.div`\n\tflex: none;\n\tmargin-right: ${token.spacing4};\n\tcolor: ${token.purple500};\n`;\n\nconst Content = styled.div`\n\t${textStyles.uiTextM}\n\n\tflex: 1;\n\tmin-width: 0;\n\tfont-weight: 400;\n\tcolor: #031026;\n`;\n\nconst Subtext = styled.div<{ $isDisabled?: boolean }>`\n\t${textStyles.uiTextS}\n\n\tcolor: ${token.colorTextMuted};\n`;\n\nconst RightElements = styled.div`\n\tdisplay: flex;\n\tflex: none;\n\tgap: ${token.spacing3};\n\talign-items: center;\n\tmargin-left: ${token.spacing4};\n`;\n"],"names":["SwitchNLS","isNLSSearchOn","setIsNLSSearchOn","toggleNLSAndFocusSpotlight","event","handleSwitchChange","jsxs","ItemStyled","jsx","ThumbnailContainer","IconSmart","Content","TruncatedText","__","Subtext","RightElements","Switch","styled","token","textStyles"],"mappings":";;;;;AAWO,MAAMA,IAAY,CAAC,EAAE,eAAAC,GAAe,kBAAAC,QAA8B;AACxE,QAAMC,IAA6B,CAACC,MAAmD;AAEtF,IAAIA,KAASA,EAAM,kBAAkBA,EAAM,WAI3CA,GAAO,gBAAA,GACPF,EAAiB,CAACD,CAAa;AAAA,EAChC,GAEMI,IAAqB,MAAM;AAChC,IAAAH,EAAiB,CAACD,CAAa;AAAA,EAChC;AAEA,SACC,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAASJ;AAAA,MACT,WAAW,CAACC,MAAU;AACrB,SAAIA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SAC1CA,EAAM,eAAA,GACND,EAA2BC,CAAK;AAAA,MAElC;AAAA,MACA,UAAU;AAAA,MACV,eAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAI,EAACC,GAAA,EACA,UAAA,gBAAAD,EAACE,GAAA,CAAA,CAAU,GACZ;AAAA,QAEA,gBAAAJ,EAACK,GAAA,EAAQ,IAAG,WACX,UAAA;AAAA,UAAA,gBAAAH,EAACI,GAAA,EAAe,UAAAC,EAAG,6BAA6B,EAAA,CAAE;AAAA,4BACjDC,GAAA,EACA,UAAA,gBAAAN,EAACI,KAAe,UAAAC,EAAG,gCAAgC,GAAE,EAAA,CACtD;AAAA,QAAA,GACD;AAAA,0BAECE,GAAA,EACA,UAAA,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YACA,WAAWf;AAAA,YACX,mBAAgB;AAAA,YAChB,UAAUI;AAAA,UAAA;AAAA,QAAA,EACX,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH,GAEME,IAAaU,EAAO;AAAA;AAAA;AAAA;AAAA,WAIfC,EAAM,QAAQ;AAAA,YACbA,EAAM,QAAQ;AAAA;AAAA,kBAERA,EAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAY7BT,IAAqBQ,EAAO;AAAA;AAAA,iBAEjBC,EAAM,QAAQ;AAAA,UACrBA,EAAM,SAAS;AAAA,GAGnBP,IAAUM,EAAO;AAAA,GACpBE,EAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQfL,IAAUG,EAAO;AAAA,GACpBE,EAAW,OAAO;AAAA;AAAA,UAEXD,EAAM,cAAc;AAAA,GAGxBH,IAAgBE,EAAO;AAAA;AAAA;AAAA,QAGrBC,EAAM,QAAQ;AAAA;AAAA,gBAENA,EAAM,QAAQ;AAAA;"}
|
package/TagItem.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TagItem.js","sources":["../../src/filter/filters/tags/TagItem.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { Chip } from '../../../common/components/Chip';\nimport { useAssetFilter } from '../../AssetFilterContext';\nimport { Tag } from '../metaproperty/MetapropertyFilterContent';\n\nexport function TagItem(props: { tag: Tag; isLoading: boolean }) {\n\tconst assetFilterState = useAssetFilter();\n\n\tconst active = assetFilterState.tags.includes(props.tag.name);\n\n\tfunction handleClick() {\n\t\tif (active) {\n\t\t\tassetFilterState.removeTag(props.tag.name);\n\t\t} else if (!props.isLoading) {\n\t\t\tassetFilterState.addTag(props.tag.name);\n\t\t}\n\t}\n\n\treturn (\n\t\t<Chip\n\t\t\tkey={props.tag.id}\n\t\t\tloading={props.isLoading}\n\t\t\tactive={active}\n\t\t\tonClick={handleClick}\n\t\t\tdata-testid=\"tag-item\"\n\t\t>\n\t\t\t<ChipName>{props.tag.name}</ChipName>\n\t\t\t<ChipCount>{props.tag.assetCount}</ChipCount>\n\t\t</Chip>\n\t);\n}\n\nconst ChipName = styled.span`\n\tmax-with: 128px;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n`;\n\nconst ChipCount = styled.span`\n\tcolor: rgba(0, 34, 51, 0.5);\n\tmargin-left: ${token.spacing3};\n`;\n"],"names":["TagItem","props","assetFilterState","useAssetFilter","active","handleClick","jsxs","Chip","jsx","ChipName","ChipCount","styled","token"],"mappings":";;;;;AAOO,SAASA,EAAQC,GAAyC;AAChE,QAAMC,IAAmBC,EAAA,GAEnBC,IAASF,EAAiB,KAAK,SAASD,EAAM,IAAI,IAAI;AAE5D,WAASI,IAAc;AACtB,IAAID,IACHF,EAAiB,UAAUD,EAAM,IAAI,IAAI,IAC9BA,EAAM,aACjBC,EAAiB,OAAOD,EAAM,IAAI,IAAI;AAAA,EAExC;AAEA,SACC,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MAEA,SAASN,EAAM;AAAA,MACf,QAAAG;AAAA,MACA,SAASC;AAAA,MACT,eAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAG,EAACC,GAAA,EAAU,UAAAR,EAAM,IAAI,MAAK;AAAA,QAC1B,gBAAAO,EAACE,GAAA,EAAW,UAAAT,EAAM,IAAI,WAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,IAP5BA,EAAM,IAAI;AAAA,EAAA;AAUlB;AAEA,MAAMQ,IAAWE,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOlBD,IAAYC,EAAO;AAAA;AAAA,gBAETC,EAAM,QAAQ;AAAA;"}
|
package/Tags.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tags.js","sources":["../../src/filter/filters/tags/Tags.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { IconTag } from '@bynder/icons';\nimport { Dropdown } from '../../../common/components/dropdown/Dropdown';\nimport { __ } from '../../../localization';\nimport { Tag } from '../metaproperty/MetapropertyFilterContent';\nimport { TagItem } from './TagItem';\nimport { Spinner } from '../../../common/components/Spinner';\n\ninterface Props {\n\ttags: Tag[];\n\tisLoading: boolean;\n}\n\nexport function Tags(props: Props) {\n\tconst sortedTags = sortTags(props.tags);\n\n\treturn (\n\t\t<Dropdown 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> {__('Tags')} </DropdownTitle>\n\t\t\t\t\t<TagsContainer>\n\t\t\t\t\t\t{sortedTags.map((tag) => (\n\t\t\t\t\t\t\t<TagItem key={tag.id} tag={tag} isLoading={props.isLoading} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TagsContainer>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</Dropdown>\n\t);\n}\n\nfunction sortTags(tags: Tag[]) {\n\treturn [...tags].sort((a, b) => b.assetCount - a.assetCount);\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<span data-testid=\"tags-filter\">{__('Tags')}</span>\n\t\t</>\n\t);\n}\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 TagsContainer = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tpadding: 0 ${token.spacing5};\n\tpadding-bottom: ${token.spacing2};\n`;\n\nconst Icon = styled(IconTag)`\n\tdisplay: inline;\n\tmargin-right: ${token.spacing3};\n\theight: ${token.spacing6};\n\twidth: ${token.spacing6};\n`;\n"],"names":["Tags","props","sortedTags","sortTags","jsx","Dropdown","Title","jsxs","Fragment","Spinner","DropdownTitle","__","TagsContainer","tag","TagItem","tags","a","b","Icon","styled","token","IconTag"],"mappings":";;;;;;;;AAeO,SAASA,EAAKC,GAAc;AAClC,QAAMC,IAAaC,EAASF,EAAM,IAAI;AAEtC,SACC,gBAAAG,EAACC,GAAA,EAAS,OAAO,gBAAAD,EAACE,GAAA,CAAA,CAAM,GAAI,SAAO,IAAC,QAAM,IACxC,UAAA,MACA,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAAP,EAAM,+BAAcQ,GAAA,CAAA,CAAQ;AAAA,sBAC5BC,GAAA,EAAc,UAAA;AAAA,MAAA;AAAA,MAAEC,EAAG,MAAM;AAAA,MAAE;AAAA,IAAA,GAAC;AAAA,IAC7B,gBAAAP,EAACQ,GAAA,EACC,UAAAV,EAAW,IAAI,CAACW,MAChB,gBAAAT,EAACU,GAAA,EAAqB,KAAAD,GAAU,WAAWZ,EAAM,UAAA,GAAnCY,EAAI,EAA0C,CAC5D,EAAA,CACF;AAAA,EAAA,EAAA,CACD,EAAA,CAEF;AAEF;AAEA,SAASV,EAASY,GAAa;AAC9B,SAAO,CAAC,GAAGA,CAAI,EAAE,KAAK,CAACC,GAAGC,MAAMA,EAAE,aAAaD,EAAE,UAAU;AAC5D;AAGA,SAASV,IAAQ;AAChB,SACC,gBAAAC,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAJ,EAACc,GAAA,EAAK;AAAA,sBACL,QAAA,EAAK,eAAY,eAAe,UAAAP,EAAG,MAAM,EAAA,CAAE;AAAA,EAAA,GAC7C;AAEF;AAEA,MAAMD,IAAgBS,EAAO;AAAA,YACjBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ,MAAMA,EAAM,QAAQ;AAAA,eACjDA,EAAM,QAAQ;AAAA,cACfA,EAAM,WAAW;AAAA,GAGzBR,IAAgBO,EAAO;AAAA;AAAA;AAAA,cAGfC,EAAM,QAAQ;AAAA,mBACTA,EAAM,QAAQ;AAAA,GAG3BF,IAAOC,EAAOE,CAAO;AAAA;AAAA,iBAEVD,EAAM,QAAQ;AAAA,WACpBA,EAAM,QAAQ;AAAA,UACfA,EAAM,QAAQ;AAAA;"}
|
package/Theming.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Theming.js","sources":["../../src/style/Theming.ts"],"sourcesContent":["import { createGlobalStyle, css } from 'styled-components';\n\nexport interface Theme {\n\tcolorPrimary?: string;\n\tcolorButtonPrimary?: string;\n\tcolorButtonPrimaryLabel?: string;\n\tcolorButtonPrimaryActive?: string;\n\tcolorButtonPrimaryHover?: string;\n\tcolorButtonPrimaryHoverLabel?: string;\n}\n\nexport const themeVariables = (theme?: Theme) => ({\n\t// Button component\n\t'--componentButtonPrimaryBorderHover': theme?.colorButtonPrimaryHover,\n\t'--componentButtonPrimaryBorderActive':\n\t\ttheme?.colorButtonPrimaryActive ?? theme?.colorButtonPrimaryHover,\n\t'--componentButtonPrimaryBorderFocus': theme?.colorButtonPrimary,\n\n\t'--componentButtonPrimaryColor': theme?.colorButtonPrimaryLabel,\n\t'--componentButtonPrimaryColorHover': theme?.colorButtonPrimaryHoverLabel,\n\t'--componentButtonPrimaryColorActive': theme?.colorButtonPrimaryLabel,\n\t'--componentButtonPrimaryColorFocus': theme?.colorButtonPrimaryLabel,\n\t'--componentButtonPrimaryColorDisabled': theme?.colorButtonPrimaryLabel,\n\n\t'--componentButtonPrimaryFill': theme?.colorButtonPrimary,\n\t'--componentButtonPrimaryFillHover': theme?.colorButtonPrimaryHover,\n\t'--componentButtonPrimaryFillActive':\n\t\ttheme?.colorButtonPrimaryActive ?? theme?.colorButtonPrimaryHover,\n\t'--componentButtonPrimaryFillFocus': theme?.colorButtonPrimary,\n});\n\nexport const ThemeStyles = createGlobalStyle<{ theme?: Theme }>`${css`\n\t.cv-root {\n\t\t${(props) => stringifyTheme(props.theme)}\n\t}:\n`}`;\n\nexport function stringifyTheme(theme?: Theme) {\n\tconst themeObject = themeVariables(theme);\n\tconst propertiesAndValues = Object.entries(themeObject).map((i) => {\n\t\treturn i.join(':');\n\t});\n\n\t// Also adds semicolon after the last property\n\treturn propertiesAndValues.join(';') + ';';\n}\n"],"names":["themeVariables","theme","ThemeStyles","createGlobalStyle","css","props","stringifyTheme","themeObject","i"],"mappings":";AAWO,MAAMA,IAAiB,CAACC,OAAmB;AAAA;AAAA,EAEjD,uCAAuCA,GAAO;AAAA,EAC9C,wCACCA,GAAO,4BAA4BA,GAAO;AAAA,EAC3C,uCAAuCA,GAAO;AAAA,EAE9C,iCAAiCA,GAAO;AAAA,EACxC,sCAAsCA,GAAO;AAAA,EAC7C,uCAAuCA,GAAO;AAAA,EAC9C,sCAAsCA,GAAO;AAAA,EAC7C,yCAAyCA,GAAO;AAAA,EAEhD,gCAAgCA,GAAO;AAAA,EACvC,qCAAqCA,GAAO;AAAA,EAC5C,sCACCA,GAAO,4BAA4BA,GAAO;AAAA,EAC3C,qCAAqCA,GAAO;AAC7C,IAEaC,IAAcC,IAAuCC;AAAA;AAAA,IAE9D,CAACC,MAAUC,EAAeD,EAAM,KAAK,CAAC;AAAA;AAAA,CAEzC;AAEM,SAASC,EAAeL,GAAe;AAC7C,QAAMM,IAAcP,EAAeC,CAAK;AAMxC,SAL4B,OAAO,QAAQM,CAAW,EAAE,IAAI,CAACC,MACrDA,EAAE,KAAK,GAAG,CACjB,EAG0B,KAAK,GAAG,IAAI;AACxC;"}
|
package/Toolbar.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sources":["../../src/toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconCancel, IconExitApp } from '@bynder/icons';\nimport { Button, token } from '@bynder/design-system';\n\nimport { __ } from '../localization';\nimport { useAuth, useIsLoggedIn } from '../login/LoginContext';\nimport { useModalContext } from '../common/components/Modal';\nimport { SearchInput } from '../search';\nimport { ViewSwitch } from './ViewSwitch';\nimport { useAssetFilter, useHideSwitch } from '../app-config/ConfigContext';\n\nexport function Toolbar() {\n\tconst isLoggedIn = useIsLoggedIn();\n\tconst modal = useModalContext();\n\tconst auth = useAuth();\n\tconst assetFilter = useAssetFilter();\n\tconst hideSwitch = useHideSwitch();\n\n\t/* If the user provides a predefined filter through the config option, then\n\t * only this filter is used and filtering through the toolbar is disabled. */\n\tconst isFilterPredefined = assetFilter !== undefined && !assetFilter.showToolbar;\n\n\t// Do not render toolbar if there is going to be no contents\n\tif (!isLoggedIn && !modal && isFilterPredefined) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Nav>\n\t\t\t{!isFilterPredefined && (\n\t\t\t\t<>\n\t\t\t\t\t{!hideSwitch && <ViewSwitch />}\n\t\t\t\t\t<SearchInput />\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<ButtonContainer>\n\t\t\t\t{isLoggedIn && !auth?.hideLogout && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"clean\"\n\t\t\t\t\t\tonClick={() => auth?.logout()}\n\t\t\t\t\t\trightIcon={<IconExitApp />}\n\t\t\t\t\t>\n\t\t\t\t\t\t{__('Log out')}\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\n\t\t\t\t{modal && (\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)}\n\t\t\t</ButtonContainer>\n\t\t</Nav>\n\t);\n}\n\nconst Nav = styled.nav`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tbackground: ${token.gray10};\n\tpadding: ${token.spacing4} ${token.spacing4};\n\tz-index: 30;\n`;\n\nconst ButtonContainer = styled.div`\n\tdisplay: inline-flex;\n\tmargin-left: auto;\n`;\n"],"names":["Toolbar","isLoggedIn","useIsLoggedIn","modal","useModalContext","auth","useAuth","assetFilter","useAssetFilter","hideSwitch","useHideSwitch","isFilterPredefined","Nav","jsxs","Fragment","ViewSwitch","SearchInput","ButtonContainer","jsx","Button","IconExitApp","__","IconCancel","styled","token"],"mappings":";;;;;;;;;;AAYO,SAASA,IAAU;AACzB,QAAMC,IAAaC,EAAA,GACbC,IAAQC,EAAA,GACRC,IAAOC,EAAA,GACPC,IAAcC,EAAA,GACdC,IAAaC,EAAA,GAIbC,IAAqBJ,MAAgB,UAAa,CAACA,EAAY;AAGrE,SAAI,CAACN,KAAc,CAACE,KAASQ,IACrB,yBAINC,GAAA,EACC,UAAA;AAAA,IAAA,CAACD,KACD,gBAAAE,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,CAACL,uBAAeM,GAAA,EAAW;AAAA,wBAC3BC,GAAA,CAAA,CAAY;AAAA,IAAA,GACd;AAAA,sBAGAC,GAAA,EACC,UAAA;AAAA,MAAAhB,KAAc,CAACI,GAAM,cACrB,gBAAAa;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,SAAQ;AAAA,UACR,SAAS,MAAMd,GAAM,OAAA;AAAA,UACrB,6BAAYe,GAAA,EAAY;AAAA,UAEvB,YAAG,SAAS;AAAA,QAAA;AAAA,MAAA;AAAA,MAIdjB,KACA,gBAAAe;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,SAAQ;AAAA,UACR,SAAS,MAAMhB,EAAM,QAAA;AAAA,UACrB,OAAOkB,EAAG,OAAO;AAAA,UACjB,wBAAOC,GAAA,CAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IACnB,EAAA,CAEF;AAAA,EAAA,GACD;AAEF;AAEA,MAAMV,IAAMW,EAAO;AAAA;AAAA;AAAA,eAGJC,EAAM,MAAM;AAAA,YACfA,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA,GAItCP,IAAkBM,EAAO;AAAA;AAAA;AAAA;"}
|
package/Tooltip.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../src/common/components/Tooltip.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\n\ntype TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\ntype TooltipMargin = 'top' | 'bottom' | 'left' | 'right';\ntype TooltipMarginAmount = 'spacing1' | 'spacing2' | 'spacing3' | 'spacing4' | 'spacing5';\n\ninterface TooltipProps {\n\ttext: string;\n\tposition?: TooltipPosition;\n\tmargin?: TooltipMargin;\n\tmarginAmount?: TooltipMarginAmount;\n\tchildren?: ReactNode;\n}\nexport const Tooltip = ({\n\ttext,\n\tposition = 'top',\n\tmargin,\n\tmarginAmount,\n\tchildren,\n}: TooltipProps) => {\n\treturn (\n\t\t<TooltipContainer margin={margin} marginAmount={marginAmount}>\n\t\t\t{children}\n\t\t\t<TooltipContent position={position}>{text}</TooltipContent>\n\t\t</TooltipContainer>\n\t);\n};\n\ninterface TooltipContainerProps {\n\tmargin?: TooltipMargin;\n\tmarginAmount?: TooltipMarginAmount;\n}\n\nconst TooltipContainer = styled.div<TooltipContainerProps>`\n\tposition: relative;\n\tdisplay: flex;\n\n\t${({ margin, marginAmount }) => {\n\t\tif (margin && marginAmount) {\n\t\t\tswitch (margin) {\n\t\t\t\tcase 'top':\n\t\t\t\t\treturn `margin-top: ${token[marginAmount]};`;\n\t\t\t\tcase 'bottom':\n\t\t\t\t\treturn `margin-bottom: ${token[marginAmount]};`;\n\t\t\t\tcase 'left':\n\t\t\t\t\treturn `margin-left: ${token[marginAmount]};`;\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn `margin-right: ${token[marginAmount]};`;\n\t\t\t\tdefault:\n\t\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\n\t\treturn '';\n\t}}\n`;\n\ninterface TooltipContentProps {\n\tposition: TooltipPosition;\n}\n\nconst TooltipContent = styled.span<TooltipContentProps>`\n\tvisibility: hidden;\n\tmin-width: max-content;\n\tbackground-color: black;\n\tcolor: #fff;\n\ttext-align: center;\n\tborder-radius: 5px;\n\tpadding: ${token.spacing3} ${token.spacing4};\n\tfont-size: ${token.fontSize75};\n\tposition: absolute;\n\n\t${({ position }) => {\n\t\tswitch (position) {\n\t\t\tcase 'bottom':\n\t\t\t\treturn `\n top: calc(100% + 5px);\n left: 50%;\n transform: translateX(-50%);\n `;\n\t\t\tcase 'left':\n\t\t\t\treturn `\n right: calc(100% + 5px);\n top: 50%;\n transform: translateY(-50%);\n `;\n\t\t\tcase 'right':\n\t\t\t\treturn `\n left: calc(100% + 5px);\n top: 50%;\n transform: translateY(-50%);\n `;\n\t\t\tcase 'top':\n\t\t\tdefault:\n\t\t\t\treturn `\n bottom: calc(100% + 5px);\n left: 50%;\n transform: translateX(-50%);\n `;\n\t\t}\n\t}}\n\n\t${TooltipContainer}:hover & {\n\t\tvisibility: visible;\n\t}\n`;\n"],"names":["Tooltip","text","position","margin","marginAmount","children","jsxs","TooltipContainer","jsx","TooltipContent","styled","token"],"mappings":";;;AAeO,MAAMA,IAAU,CAAC;AAAA,EACvB,MAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AACD,MAEE,gBAAAC,EAACC,GAAA,EAAiB,QAAAJ,GAAgB,cAAAC,GAChC,UAAA;AAAA,EAAAC;AAAA,EACD,gBAAAG,EAACC,GAAA,EAAe,UAAAP,GAAqB,UAAAD,EAAA,CAAK;AAAA,GAC3C,GASIM,IAAmBG,EAAO;AAAA;AAAA;AAAA;AAAA,GAI7B,CAAC,EAAE,QAAAP,GAAQ,cAAAC,QAAmB;AAC/B,MAAID,KAAUC;AACb,YAAQD,GAAA;AAAA,MACP,KAAK;AACJ,eAAO,eAAeQ,EAAMP,CAAY,CAAC;AAAA,MAC1C,KAAK;AACJ,eAAO,kBAAkBO,EAAMP,CAAY,CAAC;AAAA,MAC7C,KAAK;AACJ,eAAO,gBAAgBO,EAAMP,CAAY,CAAC;AAAA,MAC3C,KAAK;AACJ,eAAO,iBAAiBO,EAAMP,CAAY,CAAC;AAAA,MAC5C;AACC,eAAO;AAAA,IAAA;AAIV,SAAO;AACR,CAAC;AAAA,GAOIK,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAOlBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA,cAC9BA,EAAM,UAAU;AAAA;AAAA;AAAA,GAG3B,CAAC,EAAE,UAAAT,QAAe;AACnB,UAAQA,GAAA;AAAA,IACP,KAAK;AACJ,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,KAAK;AACJ,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,KAAK;AACJ,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,KAAK;AAAA,IACL;AACC,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMV,CAAC;AAAA;AAAA,GAECK,CAAgB;AAAA;AAAA;AAAA;"}
|
package/ViewSwitch.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSwitch.js","sources":["../../src/toolbar/ViewSwitch.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Button, token } from '@bynder/design-system';\n\nimport { __ } from '../localization';\nimport { useRouter } from '@src/store/useRouterStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\nexport function ViewSwitch() {\n\tconst [page, setPage] = useRouter();\n\tconst { setIsSelected, setIsNLSSelected } = useSimilaritySearchStore();\n\tconst { resetData } = useSimilarityAssets();\n\n\tconst resetAISearch = () => {\n\t\tsetIsSelected(false);\n\t\tsetIsNLSSelected(false);\n\t\tresetData();\n\t};\n\n\treturn (\n\t\t<Container>\n\t\t\t<Button\n\t\t\t\tisPressed={page.page === 'assets'}\n\t\t\t\tvariant=\"clean\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetPage({ page: 'assets' });\n\t\t\t\t\tresetAISearch();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{__('Assets')}\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tisPressed={page.page === 'collections'}\n\t\t\t\tvariant=\"clean\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetPage({ page: 'collections' });\n\t\t\t\t\tresetAISearch();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{__('Collections')}\n\t\t\t</Button>\n\t\t</Container>\n\t);\n}\n\nconst Container = styled.div`\n\tdisplay: inline-flex;\n\tmargin-right: auto;\n\tgap: ${token.spacing2};\n`;\n"],"names":["ViewSwitch","page","setPage","useRouter","setIsSelected","setIsNLSSelected","useSimilaritySearchStore","resetData","useSimilarityAssets","resetAISearch","Container","jsx","Button","styled","token"],"mappings":";;;;;;;AASO,SAASA,IAAa;AAC5B,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAA,GAClB,EAAE,eAAAC,GAAe,kBAAAC,EAAA,IAAqBC,EAAA,GACtC,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhBC,IAAgB,MAAM;AAC3B,IAAAL,EAAc,EAAK,GACnBC,EAAiB,EAAK,GACtBE,EAAA;AAAA,EACD;AAEA,2BACEG,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,WAAWX,EAAK,SAAS;AAAA,QACzB,SAAQ;AAAA,QACR,SAAS,MAAM;AACd,UAAAC,EAAQ,EAAE,MAAM,UAAU,GAC1BO,EAAA;AAAA,QACD;AAAA,QAEC,YAAG,QAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAEb,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,WAAWX,EAAK,SAAS;AAAA,QACzB,SAAQ;AAAA,QACR,SAAS,MAAM;AACd,UAAAC,EAAQ,EAAE,MAAM,eAAe,GAC/BO,EAAA;AAAA,QACD;AAAA,QAEC,YAAG,aAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACD;AAEF;AAEA,MAAMC,IAAYG,EAAO;AAAA;AAAA;AAAA,QAGjBC,EAAM,QAAQ;AAAA;"}
|
package/asset.type.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset.type.js","sources":["../../src/views/asset/asset.type.ts"],"sourcesContent":["import { IconFile, IconCamera, IconVideocam, IconVolumeUp, IconArchive } from '@bynder/icons';\nimport { MetapropertyType } from '../../filter/filters/metaproperty/MetapropertyFilterContent';\nimport { __ } from '../../localization';\nimport { File } from '../../select/file.type';\n\nexport type AssetType = 'AUDIO' | 'DOCUMENT' | 'IMAGE' | 'VIDEO' | 'ARCHIVE';\n\nexport type AssetData =\n\t| { tag: 'Loading'; value: undefined | Asset[] }\n\t| { tag: 'Loaded'; value: Asset[] };\n\nexport function assetTypeToString(type: AssetType): string {\n\tconst typeKey = {\n\t\tAUDIO: 'Audio',\n\t\tDOCUMENT: 'Document',\n\t\tIMAGE: 'Image',\n\t\tVIDEO: 'Video',\n\t\tARCHIVE: 'Archive',\n\t}[type];\n\n\treturn __(typeKey);\n}\n\nexport function getAssetTypeIcon(type: AssetType) {\n\tswitch (type) {\n\t\tcase 'AUDIO':\n\t\t\treturn IconVolumeUp;\n\t\tcase 'DOCUMENT':\n\t\t\treturn IconFile;\n\t\tcase 'IMAGE':\n\t\t\treturn IconCamera;\n\t\tcase 'VIDEO':\n\t\t\treturn IconVideocam;\n\t\tcase 'ARCHIVE':\n\t\t\treturn IconArchive;\n\t}\n}\n\ninterface Derivatives {\n\tthumbnail?: string;\n}\n\nexport interface TextMetapropertiesType {\n\tname: string;\n\tvalue: string;\n\tlabel: string;\n\ttype: string;\n\tzIndex: number;\n\tshowInGridView: boolean;\n\tshowInListView: boolean;\n}\n\nexport interface Asset {\n\t__typename: string;\n\tid: string;\n\tdatabaseId: string;\n\tderivatives: Derivatives;\n\textensions: string[];\n\tname: string;\n\turl: string;\n\tisArchived: boolean;\n\tisWatermarked: boolean;\n\tisLimitedUse: boolean;\n\tsimilarityScore?: number;\n\tmetaproperties?: {\n\t\tnodes: MetapropertyType[];\n\t};\n\ttextMetaproperties?: TextMetapropertiesType[];\n\tfiles: Record<string, File>;\n\tstreamingLinks?: {\n\t\thls: string;\n\t\tdash: string;\n\t};\n}\n"],"names":["assetTypeToString","type","typeKey","__","getAssetTypeIcon","IconVolumeUp","IconFile","IconCamera","IconVideocam","IconArchive"],"mappings":";;AAWO,SAASA,EAAkBC,GAAyB;AAC1D,QAAMC,IAAU;AAAA,IACf,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,EAAA,EACRD,CAAI;AAEN,SAAOE,EAAGD,CAAO;AAClB;AAEO,SAASE,EAAiBH,GAAiB;AACjD,UAAQA,GAAA;AAAA,IACP,KAAK;AACJ,aAAOI;AAAA,IACR,KAAK;AACJ,aAAOC;AAAA,IACR,KAAK;AACJ,aAAOC;AAAA,IACR,KAAK;AACJ,aAAOC;AAAA,IACR,KAAK;AACJ,aAAOC;AAAA,EAAA;AAEV;"}
|
package/asyncDebounce.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asyncDebounce.js","sources":["../../src/utils/asyncDebounce.ts"],"sourcesContent":["export const debounceAsync = (fn, wait) => {\n\tlet timeoutId: ReturnType<typeof setTimeout>;\n\n\treturn function debounce(...args) {\n\t\tif (timeoutId) {\n\t\t\tclearTimeout(timeoutId);\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\tfn(...args)\n\t\t\t\t\t.then(resolve)\n\t\t\t\t\t.catch(reject);\n\t\t\t}, wait);\n\t\t});\n\t};\n};\n"],"names":["debounceAsync","fn","wait","timeoutId","args","resolve","reject"],"mappings":"AAAO,MAAMA,IAAgB,CAACC,GAAIC,MAAS;AAC1C,MAAIC;AAEJ,SAAO,YAAqBC,GAAM;AACjC,WAAID,KACH,aAAaA,CAAS,GAGhB,IAAI,QAAQ,CAACE,GAASC,MAAW;AACvC,MAAAH,IAAY,WAAW,MAAM;AAC5B,QAAAF,EAAG,GAAGG,CAAI,EACR,KAAKC,CAAO,EACZ,MAAMC,CAAM;AAAA,MACf,GAAGJ,CAAI;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|