@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/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sources":["../../src/auth/auth.ts"],"sourcesContent":["import { base64URLEncode, randomString, sha256 } from './crypto';\nimport { waitForAuthorizationFromLoginWindow } from './loginwindow';\nimport { makeAuthorizeRequestUrl, postTokenRequest } from './oauth2';\nimport { err, isErr, ok, Result } from './result.type';\n\nexport interface AuthenticationResponse {\n\taccessToken: string;\n\trefreshToken: string;\n\texpiresIn: number;\n}\n\nexport async function authenticate(\n\taccountDomain: string,\n): Promise<Result<AuthenticationResponse, string>> {\n\tconst codeVerifier = randomString();\n\n\tlet codeChallenge;\n\n\ttry {\n\t\tcodeChallenge = await sha256(codeVerifier);\n\t} catch (e) {\n\t\treturn err(e.toString());\n\t}\n\n\tconst base64CodeChallenge = base64URLEncode(codeChallenge);\n\tconst state = randomString();\n\n\tconst url = makeAuthorizeRequestUrl(base64CodeChallenge, state, accountDomain);\n\n\tconst authorizationResult = await waitForAuthorizationFromLoginWindow(url);\n\n\tif (isErr(authorizationResult)) {\n\t\treturn authorizationResult;\n\t}\n\n\tif (authorizationResult.value.state !== state || authorizationResult.value.code === null) {\n\t\treturn err('Error logging in');\n\t}\n\n\tconst tokenRequestResult = await postTokenRequest(\n\t\tauthorizationResult.value.code,\n\t\tcodeVerifier,\n\t\taccountDomain,\n\t);\n\n\tif (isErr(tokenRequestResult)) {\n\t\treturn tokenRequestResult;\n\t}\n\n\tconst { refreshToken, accessToken, expiresIn } = tokenRequestResult.value;\n\n\treturn ok({\n\t\taccessToken,\n\t\texpiresIn: parseFloat(expiresIn),\n\t\trefreshToken,\n\t});\n}\n"],"names":["authenticate","accountDomain","codeVerifier","randomString","codeChallenge","sha256","e","err","base64CodeChallenge","base64URLEncode","state","url","makeAuthorizeRequestUrl","authorizationResult","waitForAuthorizationFromLoginWindow","isErr","tokenRequestResult","postTokenRequest","refreshToken","accessToken","expiresIn","ok"],"mappings":";;;;AAWA,eAAsBA,EACrBC,GACkD;AAClD,QAAMC,IAAeC,EAAA;AAErB,MAAIC;AAEJ,MAAI;AACH,IAAAA,IAAgB,MAAMC,EAAOH,CAAY;AAAA,EAC1C,SAASI,GAAG;AACX,WAAOC,EAAID,EAAE,UAAU;AAAA,EACxB;AAEA,QAAME,IAAsBC,EAAgBL,CAAa,GACnDM,IAAQP,EAAA,GAERQ,IAAMC,EAAwBJ,GAAqBE,GAAOT,CAAa,GAEvEY,IAAsB,MAAMC,EAAoCH,CAAG;AAEzE,MAAII,EAAMF,CAAmB;AAC5B,WAAOA;AAGR,MAAIA,EAAoB,MAAM,UAAUH,KAASG,EAAoB,MAAM,SAAS;AACnF,WAAON,EAAI,kBAAkB;AAG9B,QAAMS,IAAqB,MAAMC;AAAA,IAChCJ,EAAoB,MAAM;AAAA,IAC1BX;AAAA,IACAD;AAAA,EAAA;AAGD,MAAIc,EAAMC,CAAkB;AAC3B,WAAOA;AAGR,QAAM,EAAE,cAAAE,GAAc,aAAAC,GAAa,WAAAC,EAAA,IAAcJ,EAAmB;AAEpE,SAAOK,EAAG;AAAA,IACT,aAAAF;AAAA,IACA,WAAW,WAAWC,CAAS;AAAA,IAC/B,cAAAF;AAAA,EAAA,CACA;AACF;"}
|
package/autocomplete.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.js","sources":["../../src/api/rest/autocomplete.ts"],"sourcesContent":["import { getRequest } from '.';\nimport { handlers } from './handlers';\nimport { AuthInformationState } from '@src/auth/useAuthInformation';\nimport { ensureValidUrl } from '@src/utils/url';\n\ntype AutocompleteOption = {\n\ticon: string;\n\tid: string;\n\tisSelected: boolean;\n\tlabel: string;\n\tname: string;\n};\ninterface Response {\n\thasNextPage?: boolean;\n\tmetapropertyOptions?: Array<AutocompleteOption>;\n}\nexport interface AutocompleteOptions extends Response {\n\tid?: string;\n}\n\nexport const getAutocompleteOptions = async ({\n\tmetapropertyId,\n\tauth,\n\tsearchTerm,\n\tpage = 1,\n}: {\n\tmetapropertyId: string;\n\tauth: AuthInformationState | null;\n\tsearchTerm: string;\n\tpage?: number;\n}): Promise<AutocompleteOptions> => {\n\tif (!auth) throw new Error('No authentication provided');\n\n\tlet host =\n\t\tauth.accountDomain !== undefined\n\t\t\t? ensureValidUrl(auth.accountDomain.trim())\n\t\t\t: `https://${window.location.host}`;\n\n\t// For the sake of consistency, check if last char is a slash\n\t// and remove it\n\tif (host.charAt(host.length - 1) === '/') {\n\t\thost = host.slice(0, -1);\n\t}\n\n\tconst accessToken = auth.getAccessToken && auth.getAccessToken();\n\n\tconst headers = accessToken === undefined ? {} : { Authorization: `Bearer ${accessToken}` };\n\n\t// page is used for pagination and starts with 1\n\t// isMicrofrontend=true is used to indicate that the request is coming from a microfrontend and is default parameter, set by Discover team\n\t// Perform the request\n\tconst response = (await getRequest(\n\t\t`${host}${handlers.autocomplete}?metaPropertyId=${metapropertyId}&term=${searchTerm}&page=${page}&isMicrofrontend=true`,\n\t\t{ headers },\n\t)) as Response;\n\n\treturn {\n\t\tid: metapropertyId,\n\t\t...response,\n\t};\n};\n"],"names":["getAutocompleteOptions","metapropertyId","auth","searchTerm","page","host","ensureValidUrl","accessToken","headers","response","getRequest","handlers"],"mappings":";;;AAoBO,MAAMA,IAAyB,OAAO;AAAA,EAC5C,gBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC,IAAO;AACR,MAKoC;AACnC,MAAI,CAACF,EAAM,OAAM,IAAI,MAAM,4BAA4B;AAEvD,MAAIG,IACHH,EAAK,kBAAkB,SACpBI,EAAeJ,EAAK,cAAc,KAAA,CAAM,IACxC,WAAW,OAAO,SAAS,IAAI;AAInC,EAAIG,EAAK,OAAOA,EAAK,SAAS,CAAC,MAAM,QACpCA,IAAOA,EAAK,MAAM,GAAG,EAAE;AAGxB,QAAME,IAAcL,EAAK,kBAAkBA,EAAK,eAAA,GAE1CM,IAAUD,MAAgB,SAAY,CAAA,IAAK,EAAE,eAAe,UAAUA,CAAW,GAAA,GAKjFE,IAAY,MAAMC;AAAA,IACvB,GAAGL,CAAI,GAAGM,EAAS,YAAY,mBAAmBV,CAAc,SAASE,CAAU,SAASC,CAAI;AAAA,IAChG,EAAE,SAAAI,EAAA;AAAA,EAAQ;AAGX,SAAO;AAAA,IACN,IAAIP;AAAA,IACJ,GAAGQ;AAAA,EAAA;AAEL;"}
|
package/base64Converter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base64Converter.js","sources":["../../src/utils/base64Converter.ts"],"sourcesContent":["import { selectedSmartfilterOptionsType } from '@src/api/rest/types';\n\nconst convertOptionToBase64 = ({\n\tmetapropertyName,\n\tid,\n}: {\n\tmetapropertyName: string;\n\tid: string;\n}) => {\n\treturn window.btoa(`(Metaproperty_option_id(${metapropertyName} ${id}))`);\n};\n\nexport const convertOptionsToBase64 = (\n\toptions: selectedSmartfilterOptionsType | undefined,\n): string[] | undefined => {\n\tif (!options) {\n\t\treturn undefined;\n\t}\n\n\treturn Object.values(options).reduce((acc: string[], optionsArray) => {\n\t\tconst convertedOptions = Object.values(optionsArray).map(convertOptionToBase64);\n\n\t\treturn [...acc, ...convertedOptions];\n\t}, []);\n};\n\nexport const convertAssetIdToBase64 = (assetId: string): string => {\n\treturn window.btoa(`(Asset_id ${assetId})`);\n};\n"],"names":["convertOptionToBase64","metapropertyName","id","convertOptionsToBase64","options","acc","optionsArray","convertedOptions","convertAssetIdToBase64","assetId"],"mappings":"AAEA,MAAMA,IAAwB,CAAC;AAAA,EAC9B,kBAAAC;AAAA,EACA,IAAAC;AACD,MAIQ,OAAO,KAAK,2BAA2BD,CAAgB,IAAIC,CAAE,IAAI,GAG5DC,IAAyB,CACrCC,MAC0B;AAC1B,MAAKA;AAIL,WAAO,OAAO,OAAOA,CAAO,EAAE,OAAO,CAACC,GAAeC,MAAiB;AACrE,YAAMC,IAAmB,OAAO,OAAOD,CAAY,EAAE,IAAIN,CAAqB;AAE9E,aAAO,CAAC,GAAGK,GAAK,GAAGE,CAAgB;AAAA,IACpC,GAAG,CAAA,CAAE;AACN,GAEaC,IAAyB,CAACC,MAC/B,OAAO,KAAK,aAAaA,CAAO,GAAG;"}
|
package/chunk.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","sources":["../../src/utils/chunk.ts"],"sourcesContent":["export const chunk = <T>(arr: T[], chunkSize: number): T[][] => {\n\tconst res: T[][] = [];\n\n\tfor (let i = 0; i < arr.length; i += chunkSize) {\n\t\tres.push(arr.slice(i, i + chunkSize));\n\t}\n\n\treturn res;\n};\n"],"names":["chunk","arr","chunkSize","res","i"],"mappings":"AAAO,MAAMA,IAAQ,CAAIC,GAAUC,MAA6B;AAC/D,QAAMC,IAAa,CAAA;AAEnB,WAASC,IAAI,GAAGA,IAAIH,EAAI,QAAQG,KAAKF;AACpC,IAAAC,EAAI,KAAKF,EAAI,MAAMG,GAAGA,IAAIF,CAAS,CAAC;AAGrC,SAAOC;AACR;"}
|
package/class.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sources":["../../src/utils/class.ts"],"sourcesContent":["/**\n * Concatenates the list of classes given into a single class string.\n *\n * If a parameter is `false` or `undefined`, then it will be ignored. This\n * is useful for building a single class string out of several classes,\n * some of which are conditionally included.\n *\n * @example\n * // When isActive is true, returns \"link active\"\n * // When isActive is false, returns \"link inactive\"\n * concatClasses(\n * \"link\",\n * isActive && \"active\",\n * !isActive && \"inactive\"\n * )\n *\n * @example\n * // Ehen props.icon is defined, returns \"base with-icon\"\n * // When props.icon is undefined, returns \"base\"\n * concatClasses(\n * \"base\",\n * props.icon && \"with-icon\"\n * )\n */\nexport function concatClasses(...classes: (string | false | undefined)[]): string {\n\treturn classes.filter(Boolean).join(' ');\n}\n"],"names":["concatClasses","classes"],"mappings":"AAwBO,SAASA,KAAiBC,GAAiD;AACjF,SAAOA,EAAQ,OAAO,OAAO,EAAE,KAAK,GAAG;AACxC;"}
|
package/combineFilters.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combineFilters.js","sources":["../../src/utils/combineFilters.ts"],"sourcesContent":["import { AssetType } from '@src/views/asset/asset.type';\n\ntype AssetTypeFiltersParams = {\n\tfilters?: string[] | AssetType[];\n\tpredefinedFilters?: string[] | AssetType[];\n\tshowToolbar?: boolean;\n};\n\nexport const combineFilters = ({\n\tfilters,\n\tpredefinedFilters,\n\tshowToolbar,\n}: AssetTypeFiltersParams): string[] | AssetType[] | undefined => {\n\tif (showToolbar) {\n\t\treturn filters?.length\n\t\t\t? Array.from(new Set([...(predefinedFilters || []), ...filters]))\n\t\t\t: predefinedFilters;\n\t} else if (filters?.length) {\n\t\treturn filters;\n\t}\n\n\treturn predefinedFilters;\n};\n"],"names":["combineFilters","filters","predefinedFilters","showToolbar"],"mappings":"AAQO,MAAMA,IAAiB,CAAC;AAAA,EAC9B,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,aAAAC;AACD,MACKA,IACIF,GAAS,SACb,MAAM,yBAAS,IAAI,CAAC,GAAIC,KAAqB,CAAA,GAAK,GAAGD,CAAO,CAAC,CAAC,IAC9DC,IACOD,GAAS,SACZA,IAGDC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combineMetaproperties.js","sources":["../../src/utils/combineMetaproperties.ts"],"sourcesContent":["import { MetapropertyType } from '@src/filter/filters/metaproperty/MetapropertyFilterContent';\nimport { TextMetapropertiesType } from '@src/views/asset/asset.type';\nimport {\n\tDATE_METAPROPERTY_LOCALE,\n\tDATE_METAPROPERTY_OPTIONS,\n\tDATE_METAPROPERTY_TYPE,\n} from '@src/constants';\n\ninterface ReturnType {\n\tlabel: string;\n\tvalue: string;\n\tzIndex: number;\n}\n\nconst sortMetaproperties = (first: ReturnType, second: ReturnType) => {\n\tif (first.zIndex && !second.zIndex) {\n\t\treturn -1;\n\t} else if (!first.zIndex && second.zIndex) {\n\t\treturn 1;\n\t} else if (!first.zIndex && !second.zIndex) {\n\t\treturn 0;\n\t}\n\n\treturn first.zIndex - second.zIndex;\n};\n\nconst normalizeDate = (date: string) => {\n\tif (!date) {\n\t\treturn '';\n\t}\n\n\tif (isNaN(Date.parse(date))) {\n\t\treturn date;\n\t}\n\n\treturn new Intl.DateTimeFormat(DATE_METAPROPERTY_LOCALE, DATE_METAPROPERTY_OPTIONS).format(\n\t\tnew Date(new Date(date).valueOf() + new Date(date).getTimezoneOffset() * 60 * 1000),\n\t);\n};\n\nexport const combineMetaproperties = (\n\tmetaproperties: MetapropertyType[] = [],\n\ttextMetaproperties: TextMetapropertiesType[] = [],\n): ReturnType[] => {\n\tconst normalizedMeta = metaproperties.map(({ label, options, zIndex }) => {\n\t\tconst metapropertyOptionValue = options.map((option) => option.label).join(', ');\n\n\t\treturn {\n\t\t\tlabel,\n\t\t\tvalue: metapropertyOptionValue,\n\t\t\tzIndex,\n\t\t};\n\t});\n\tconst normalizedTextMeta = textMetaproperties.map(({ label, value, type, zIndex }) => {\n\t\tconst normalizedValue = type === DATE_METAPROPERTY_TYPE ? normalizeDate(value) : value;\n\n\t\treturn {\n\t\t\tlabel,\n\t\t\tvalue: normalizedValue,\n\t\t\tzIndex,\n\t\t};\n\t});\n\n\treturn [...normalizedMeta, ...normalizedTextMeta].sort(sortMetaproperties);\n};\n"],"names":["sortMetaproperties","first","second","normalizeDate","date","DATE_METAPROPERTY_LOCALE","DATE_METAPROPERTY_OPTIONS","combineMetaproperties","metaproperties","textMetaproperties","normalizedMeta","label","options","zIndex","metapropertyOptionValue","option","normalizedTextMeta","value","type","normalizedValue","DATE_METAPROPERTY_TYPE"],"mappings":";AAcA,MAAMA,IAAqB,CAACC,GAAmBC,MAC1CD,EAAM,UAAU,CAACC,EAAO,SACpB,KACG,CAACD,EAAM,UAAUC,EAAO,SAC3B,IACG,CAACD,EAAM,UAAU,CAACC,EAAO,SAC5B,IAGDD,EAAM,SAASC,EAAO,QAGxBC,IAAgB,CAACC,MACjBA,IAID,MAAM,KAAK,MAAMA,CAAI,CAAC,IAClBA,IAGD,IAAI,KAAK,eAAeC,GAA0BC,CAAyB,EAAE;AAAA,EACnF,IAAI,KAAK,IAAI,KAAKF,CAAI,EAAE,QAAA,IAAY,IAAI,KAAKA,CAAI,EAAE,kBAAA,IAAsB,KAAK,GAAI;AAAA,IAR3E,IAYIG,IAAwB,CACpCC,IAAqC,IACrCC,IAA+C,CAAA,MAC7B;AAClB,QAAMC,IAAiBF,EAAe,IAAI,CAAC,EAAE,OAAAG,GAAO,SAAAC,GAAS,QAAAC,QAAa;AACzE,UAAMC,IAA0BF,EAAQ,IAAI,CAACG,MAAWA,EAAO,KAAK,EAAE,KAAK,IAAI;AAE/E,WAAO;AAAA,MACN,OAAAJ;AAAA,MACA,OAAOG;AAAA,MACP,QAAAD;AAAA,IAAA;AAAA,EAEF,CAAC,GACKG,IAAqBP,EAAmB,IAAI,CAAC,EAAE,OAAAE,GAAO,OAAAM,GAAO,MAAAC,GAAM,QAAAL,QAAa;AACrF,UAAMM,IAAkBD,MAASE,IAAyBjB,EAAcc,CAAK,IAAIA;AAEjF,WAAO;AAAA,MACN,OAAAN;AAAA,MACA,OAAOQ;AAAA,MACP,QAAAN;AAAA,IAAA;AAAA,EAEF,CAAC;AAED,SAAO,CAAC,GAAGH,GAAgB,GAAGM,CAAkB,EAAE,KAAKhB,CAAkB;AAC1E;"}
|
package/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/constants.ts"],"sourcesContent":["export const WEBDAM_TRANSFORM_BASE_URL_NAME = 'transformBaseURL';\nexport const BYNDER_TRANSFORM_BASE_URL_NAME = 'transformBaseUrl';\nexport const DATE_METAPROPERTY_TYPE = 'date';\nexport const DATE_METAPROPERTY_LOCALE = 'en-GB'; // en-GB locale provides date format like \"1 January 2021\"\nexport const DATE_METAPROPERTY_OPTIONS: Intl.DateTimeFormatOptions = {\n\tyear: 'numeric',\n\tmonth: 'long',\n\tday: '2-digit',\n};\nexport const MAX_METAPROPERTY_LENGTH = 100;\nexport const MAX_GET_ASSETS_LIMIT = 280; // This is the limitation of the Asset APIs. GET method can`t handle more than 280 assets IDs at once\n"],"names":["WEBDAM_TRANSFORM_BASE_URL_NAME","BYNDER_TRANSFORM_BASE_URL_NAME","DATE_METAPROPERTY_TYPE","DATE_METAPROPERTY_LOCALE","DATE_METAPROPERTY_OPTIONS","MAX_METAPROPERTY_LENGTH","MAX_GET_ASSETS_LIMIT"],"mappings":"AAAO,MAAMA,IAAiC,oBACjCC,IAAiC,oBACjCC,IAAyB,QACzBC,IAA2B,SAC3BC,IAAwD;AAAA,EACpE,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AACN,GACaC,IAA0B,KAC1BC,IAAuB;"}
|
package/createSelectors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSelectors.js","sources":["../../src/store/utils/createSelectors.ts"],"sourcesContent":["import { StoreApi, UseBoundStore } from 'zustand';\n\ntype WithSelectors<S> = S extends { getState: () => infer T }\n\t? S & { use: { [K in keyof T]: () => T[K] } }\n\t: never;\n\nexport const createSelectors = <S extends UseBoundStore<StoreApi<object>>>(_store: S) => {\n\tconst store = _store as WithSelectors<typeof _store>;\n\tstore.use = {};\n\n\tfor (const k of Object.keys(store.getState())) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t(store.use as any)[k] = () => store((s) => s[k as keyof typeof s]);\n\t}\n\n\treturn store;\n};\n"],"names":["createSelectors","_store","store","k"],"mappings":"AAMO,MAAMA,IAAkB,CAA4CC,MAAc;AACxF,QAAMC,IAAQD;AACd,EAAAC,EAAM,MAAM,CAAA;AAEZ,aAAWC,KAAK,OAAO,KAAKD,EAAM,SAAA,CAAU;AAE1C,IAAAA,EAAM,IAAYC,CAAC,IAAI,MAAMD,EAAM,CAAC,MAAM,EAAEC,CAAmB,CAAC;AAGlE,SAAOD;AACR;"}
|
package/crypto.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sources":["../../src/auth/crypto.ts"],"sourcesContent":["export function base64URLEncode(str: ArrayBuffer): string {\n\treturn btoa(String.fromCharCode.apply(null, Array.from(new Uint8Array(str))))\n\t\t.replace(/\\+/g, '-')\n\t\t.replace(/\\//g, '_')\n\t\t.replace(/[=]+$/, '');\n}\n\nexport function sha256(s: string) {\n\tif (!window.crypto?.subtle) {\n\t\treturn Promise.reject(\n\t\t\t'Access to the WebCrypto API is restricted to secure origins. Compact View requires HTTPS when used outside localhost (for development).',\n\t\t);\n\t}\n\n\tconst encodedText = new TextEncoder().encode(s);\n\n\treturn window.crypto.subtle.digest('SHA-256', encodedText);\n}\n\nexport function randomString(): string {\n\tconst emptyArray = new Uint32Array(28);\n\tconst randomValues = window.crypto.getRandomValues(emptyArray);\n\n\tconst values = Array.from(randomValues).map((n) => `0${n.toString(16)}`.substr(-2));\n\n\treturn values.join('');\n}\n"],"names":["base64URLEncode","str","sha256","s","encodedText","randomString","emptyArray","randomValues","n"],"mappings":"AAAO,SAASA,EAAgBC,GAA0B;AACzD,SAAO,KAAK,OAAO,aAAa,MAAM,MAAM,MAAM,KAAK,IAAI,WAAWA,CAAG,CAAC,CAAC,CAAC,EAC1E,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,SAAS,EAAE;AACtB;AAEO,SAASC,EAAOC,GAAW;AACjC,MAAI,CAAC,OAAO,QAAQ;AACnB,WAAO,QAAQ;AAAA,MACd;AAAA,IAAA;AAIF,QAAMC,IAAc,IAAI,cAAc,OAAOD,CAAC;AAE9C,SAAO,OAAO,OAAO,OAAO,OAAO,WAAWC,CAAW;AAC1D;AAEO,SAASC,IAAuB;AACtC,QAAMC,IAAa,IAAI,YAAY,EAAE,GAC/BC,IAAe,OAAO,OAAO,gBAAgBD,CAAU;AAI7D,SAFe,MAAM,KAAKC,CAAY,EAAE,IAAI,CAACC,MAAM,IAAIA,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAEpE,KAAK,EAAE;AACtB;"}
|
package/filterAssets.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filterAssets.js","sources":["../../src/api/filterAssets.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isErr, Ok, ok, Result } from '../auth/result.type';\nimport { fetchWithGraphql } from '.';\nimport { Ordering } from '@src/store/useOrderingStore';\nimport { Collection } from '../views/collection/collection.types';\nimport { AssetType, Asset } from '../views/asset/asset.type';\nimport { useAuth } from '../login/LoginContext';\nimport { Connection, Data } from './graphql.types';\nimport { Filter } from '../filter/AssetFilterContext';\nimport { AssetFilterJson } from '../filter/assetFilter.type';\nimport { MetapropertyType } from '../filter/filters/metaproperty/MetapropertyFilterContent';\nimport { AuthInformationState } from '../auth/useAuthInformation';\nimport { combineFilters } from '@src/utils/combineFilters';\nimport { convertOptionsToBase64 } from '@src/utils/base64Converter';\n\nexport interface GraphqlResponse {\n\tsearchAssets: { assets: Assets };\n}\n\nexport interface Assets {\n\tnodes: Asset[];\n\ttotalCount: number;\n\tpageInfo: {\n\t\tendCursor: string;\n\t\thasNextPage: boolean;\n\t};\n\tmetaproperties: {\n\t\tnodes: MetapropertyType[];\n\t};\n}\n\ninterface Options {\n\tallAssetTypes?: AssetType[];\n\tcollection?: Collection;\n\tsearchTerm?: string;\n\tfilter?: Omit<Filter, 'metaproperties' | 'existingFilters'>;\n\tpredefinedFilter?: AssetFilterJson;\n\torderBy: Ordering;\n\tlanguage: string;\n}\n\nconst fragment = `\nfragment DisplayAsset on Asset {\n __typename\n id\n\tdatabaseId\n derivatives {\n thumbnail\n }\n extensions\n name\n url\n isArchived\n isWatermarked\n\tisLimitedUse\n\tfiles\n\tmetaproperties {\n\t\tnodes {\n\t\t id\n\t\t label(language: $language)\n\t\t showInGridView\n\t\t showInListView\n\t\t zIndex\n\t\t options {\n\t\t\tid\n\t\t\tlabel(language: $language)\n\t\t\tassetCount\n\t\t }\n\t\t}\n\t}\n\ttextMetaproperties {\n name\n value\n type\n label\n zIndex\n showInGridView\n showInListView\n }\n}`;\n\nconst query = `\n query searchAssets($filter: AssetFilter!, $after: Cursor, $orderBy: AssetOrder!, $language: String) {\n searchAssets(filter: $filter) {\n assets(after: $after, first: 50, orderBy: $orderBy) {\n nodes {\n __typename\n ...DisplayAsset\n }\n\t\t\t\ttotalCount\n\t\t\t\tpageInfo {\n\t\t\t\t\tendCursor\n\t\t\t\t\thasNextPage\n }\n }\n }\n }\n ${fragment}\n`;\n\nexport function useFilterAssets(options: Options, noCache = false): Connection<GraphqlResponse> {\n\tconst auth = useAuth();\n\tconst [data, setData] = useState<Data<GraphqlResponse>>({ tag: 'Loading', value: null });\n\tlet cancelRequestActions = false;\n\n\tconst fetchAssets = async (after?: string) => {\n\t\tsetData((previousData) => ({\n\t\t\ttag: 'Loading',\n\t\t\tvalue: previousData.tag === 'Failure' ? null : previousData.value,\n\t\t}));\n\n\t\tconst variables = getVariables(options, after ?? null);\n\n\t\tconst queryResponse = (await fetchWithGraphql({\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\tauth,\n\t\t\tnoCache,\n\t\t\tisNewGQL: true,\n\t\t})) as Result<GraphqlResponse, string>;\n\n\t\tif (!cancelRequestActions) {\n\t\t\tif (isErr(queryResponse)) {\n\t\t\t\tsetData({\n\t\t\t\t\ttag: 'Failure',\n\t\t\t\t\tvalue: queryResponse.error,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsetOkStatus(queryResponse, after);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setOkStatus = (queryResponse: Ok<GraphqlResponse>, after?: string) => {\n\t\tif (!getAssets(data) || !after) {\n\t\t\tsetData({\n\t\t\t\ttag: 'Loaded',\n\t\t\t\tvalue: queryResponse.value,\n\t\t\t});\n\t\t} else {\n\t\t\tsetData((prev) => {\n\t\t\t\tconst prevNodes = getAssets(prev)?.nodes ?? [];\n\n\t\t\t\treturn {\n\t\t\t\t\ttag: 'Loaded',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tsearchAssets: {\n\t\t\t\t\t\t\tassets: {\n\t\t\t\t\t\t\t\t...queryResponse.value.searchAssets.assets,\n\t\t\t\t\t\t\t\tnodes: [\n\t\t\t\t\t\t\t\t\t...prevNodes,\n\t\t\t\t\t\t\t\t\t...queryResponse.value.searchAssets.assets.nodes,\n\t\t\t\t\t\t\t\t],\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};\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tfetchAssets();\n\n\t\treturn () => {\n\t\t\t// eslint-disable-next-line\n\t\t\tcancelRequestActions = true;\n\t\t};\n\t}, [\n\t\toptions.filter?.assetTypes,\n\t\toptions.filter?.selectedSmartfilterOptions,\n\t\toptions.filter?.tags,\n\t\toptions.filter?.isLimited,\n\t\toptions.collection,\n\t\toptions.orderBy,\n\t\toptions.searchTerm,\n\t\toptions.language,\n\t\toptions.predefinedFilter,\n\t]);\n\n\treturn {\n\t\tdata,\n\t\texecuteQuery: () => fetchAssets(),\n\t\tisLoading: !data || data.tag === 'Loading',\n\t\tloadMore: () => fetchAssets(getAssets(data)?.pageInfo.endCursor),\n\t\thasNextPage: !!getAssets(data)?.pageInfo.hasNextPage,\n\t};\n}\n\nconst getVariables = (options: Options, after: string | null) => {\n\tconst { filter, predefinedFilter, collection, orderBy, allAssetTypes, searchTerm, language } =\n\t\toptions;\n\n\tconst assetTypeFilter = combineFilters({\n\t\tfilters: filter?.assetTypes,\n\t\tpredefinedFilters: predefinedFilter?.predefinedAssetType,\n\t\tshowToolbar: predefinedFilter?.showToolbar,\n\t});\n\n\tconst tagNamesFilter = combineFilters({\n\t\tfilters: filter?.tags,\n\t\tpredefinedFilters: predefinedFilter?.predefinedTagNames,\n\t\tshowToolbar: predefinedFilter?.showToolbar,\n\t});\n\n\treturn {\n\t\torderBy,\n\t\tfilter: {\n\t\t\tcollectionId: collection?.id ?? predefinedFilter?.collectionId,\n\t\t\tassetType_in: assetTypeFilter ?? allAssetTypes,\n\t\t\tmetapropertyOptionId_in: convertOptionsToBase64(filter?.selectedSmartfilterOptions),\n\t\t\tsearchTerm: searchTerm ?? predefinedFilter?.searchTerm ?? null,\n\t\t\ttagNames_in: tagNamesFilter,\n\t\t\tisLimitedUse: filter?.isLimited,\n\t\t},\n\t\tafter,\n\t\tlanguage,\n\t};\n};\n\nconst getAssets = (\n\tdata: Data<GraphqlResponse>,\n\tpreviousData?: Data<GraphqlResponse>,\n): Assets | undefined => {\n\tconst assetData = previousData ?? data;\n\n\tif (assetData.tag === 'Failure') {\n\t\treturn undefined;\n\t}\n\n\treturn assetData.value?.searchAssets.assets;\n};\n\nexport async function getAssetsByMediaId(options: {\n\tids: string[];\n\tauth: AuthInformationState | null;\n\tlanguage: string;\n\tnoCache?: boolean;\n}): Promise<Result<Asset[], string>> {\n\tconst { ids, auth, language, noCache } = options;\n\tconst queryById = `\n query getAssetsById($ids: [ID!]!, $language: String) {\n nodes(ids: $ids) {\n __typename\n id\n ...on Asset {\n ...DisplayAsset\n files\n }\n }\n }\n ${fragment}`;\n\n\tconst variables = { ids, language };\n\n\tconst queryResponse = (await fetchWithGraphql({\n\t\tquery: queryById,\n\t\tvariables,\n\t\tauth,\n\t\tnoCache,\n\t\tisNewGQL: true,\n\t})) as Result<Pick<Assets, 'nodes'>, string>;\n\n\tif (isErr(queryResponse)) {\n\t\treturn queryResponse;\n\t}\n\n\treturn ok(queryResponse.value.nodes);\n}\n"],"names":["fragment","query","useFilterAssets","options","noCache","auth","useAuth","data","setData","useState","cancelRequestActions","fetchAssets","after","previousData","variables","getVariables","queryResponse","fetchWithGraphql","isErr","setOkStatus","getAssets","prev","prevNodes","useEffect","filter","predefinedFilter","collection","orderBy","allAssetTypes","searchTerm","language","assetTypeFilter","combineFilters","tagNamesFilter","convertOptionsToBase64","assetData","getAssetsByMediaId","ids","queryById","ok"],"mappings":";;;;;;AA0CA,MAAMA,IAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwCXC,IAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAgBRD,CAAQ;AAAA;AAGP,SAASE,EAAgBC,GAAkBC,IAAU,IAAoC;AAC/F,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAMC,CAAO,IAAIC,EAAgC,EAAE,KAAK,WAAW,OAAO,MAAM;AACvF,MAAIC,IAAuB;AAE3B,QAAMC,IAAc,OAAOC,MAAmB;AAC7C,IAAAJ,EAAQ,CAACK,OAAkB;AAAA,MAC1B,KAAK;AAAA,MACL,OAAOA,EAAa,QAAQ,YAAY,OAAOA,EAAa;AAAA,IAAA,EAC3D;AAEF,UAAMC,IAAYC,EAAaZ,GAASS,KAAS,IAAI,GAE/CI,IAAiB,MAAMC,EAAiB;AAAA,MAC7C,OAAAhB;AAAA,MACA,WAAAa;AAAA,MACA,MAAAT;AAAA,MACA,SAAAD;AAAA,MACA,UAAU;AAAA,IAAA,CACV;AAED,IAAKM,MACAQ,EAAMF,CAAa,IACtBR,EAAQ;AAAA,MACP,KAAK;AAAA,MACL,OAAOQ,EAAc;AAAA,IAAA,CACrB,IAEDG,EAAYH,GAAeJ,CAAK;AAAA,EAGnC,GAEMO,IAAc,CAACH,GAAoCJ,MAAmB;AAC3E,IAAI,CAACQ,EAAUb,CAAI,KAAK,CAACK,IACxBJ,EAAQ;AAAA,MACP,KAAK;AAAA,MACL,OAAOQ,EAAc;AAAA,IAAA,CACrB,IAEDR,EAAQ,CAACa,MAAS;AACjB,YAAMC,IAAYF,EAAUC,CAAI,GAAG,SAAS,CAAA;AAE5C,aAAO;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,UACN,cAAc;AAAA,YACb,QAAQ;AAAA,cACP,GAAGL,EAAc,MAAM,aAAa;AAAA,cACpC,OAAO;AAAA,gBACN,GAAGM;AAAA,gBACH,GAAGN,EAAc,MAAM,aAAa,OAAO;AAAA,cAAA;AAAA,YAC5C;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IAEF,CAAC;AAAA,EAEH;AAEA,SAAAO,EAAU,OACTZ,EAAA,GAEO,MAAM;AAEZ,IAAAD,IAAuB;AAAA,EACxB,IACE;AAAA,IACFP,EAAQ,QAAQ;AAAA,IAChBA,EAAQ,QAAQ;AAAA,IAChBA,EAAQ,QAAQ;AAAA,IAChBA,EAAQ,QAAQ;AAAA,IAChBA,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRA,EAAQ;AAAA,EAAA,CACR,GAEM;AAAA,IACN,MAAAI;AAAA,IACA,cAAc,MAAMI,EAAA;AAAA,IACpB,WAAW,CAACJ,KAAQA,EAAK,QAAQ;AAAA,IACjC,UAAU,MAAMI,EAAYS,EAAUb,CAAI,GAAG,SAAS,SAAS;AAAA,IAC/D,aAAa,CAAC,CAACa,EAAUb,CAAI,GAAG,SAAS;AAAA,EAAA;AAE3C;AAEA,MAAMQ,IAAe,CAACZ,GAAkBS,MAAyB;AAChE,QAAM,EAAE,QAAAY,GAAQ,kBAAAC,GAAkB,YAAAC,GAAY,SAAAC,GAAS,eAAAC,GAAe,YAAAC,GAAY,UAAAC,MACjF3B,GAEK4B,IAAkBC,EAAe;AAAA,IACtC,SAASR,GAAQ;AAAA,IACjB,mBAAmBC,GAAkB;AAAA,IACrC,aAAaA,GAAkB;AAAA,EAAA,CAC/B,GAEKQ,IAAiBD,EAAe;AAAA,IACrC,SAASR,GAAQ;AAAA,IACjB,mBAAmBC,GAAkB;AAAA,IACrC,aAAaA,GAAkB;AAAA,EAAA,CAC/B;AAED,SAAO;AAAA,IACN,SAAAE;AAAA,IACA,QAAQ;AAAA,MACP,cAAcD,GAAY,MAAMD,GAAkB;AAAA,MAClD,cAAcM,KAAmBH;AAAA,MACjC,yBAAyBM,EAAuBV,GAAQ,0BAA0B;AAAA,MAClF,YAAYK,KAAcJ,GAAkB,cAAc;AAAA,MAC1D,aAAaQ;AAAA,MACb,cAAcT,GAAQ;AAAA,IAAA;AAAA,IAEvB,OAAAZ;AAAA,IACA,UAAAkB;AAAA,EAAA;AAEF,GAEMV,IAAY,CACjBb,GACAM,MACwB;AACxB,QAAMsB,IAA4B5B;AAElC,MAAI4B,EAAU,QAAQ;AAItB,WAAOA,EAAU,OAAO,aAAa;AACtC;AAEA,eAAsBC,EAAmBjC,GAKJ;AACpC,QAAM,EAAE,KAAAkC,GAAK,MAAAhC,GAAM,UAAAyB,GAAU,SAAA1B,MAAYD,GACnCmC,IAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWTtC,CAAQ,IAIXgB,IAAiB,MAAMC,EAAiB;AAAA,IAC7C,OAAOqB;AAAA,IACP,WAJiB,EAAE,KAAAD,GAAK,UAAAP,EAAA;AAAA,IAKxB,MAAAzB;AAAA,IACA,SAAAD;AAAA,IACA,UAAU;AAAA,EAAA,CACV;AAED,SAAIc,EAAMF,CAAa,IACfA,IAGDuB,EAAGvB,EAAc,MAAM,KAAK;AACpC;"}
|
package/getAsset.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAsset.js","sources":["../../src/api/getAsset.ts"],"sourcesContent":["import { isErr, ok, Result } from '../auth/result.type';\nimport { fetchWithGraphql } from '.';\nimport { File } from '../select/file.type';\nimport { AuthInformationState } from '../auth/useAuthInformation';\n\nexport const defaultAssetFieldSelection = `\n id\n name\n description\n databaseId\n createdAt\n originalUrl\n publishedAt\n tags\n type\n updatedAt\n url\n extensions\n metaproperties {\n nodes {\n name\n type\n options {\n name\n displayLabel\n }\n }\n }\n textMetaproperties {\n name\n value\n }\n derivatives {\n thumbnail\n webImage\n }\n ... on Video {\n previewUrls\n streamingLinks {\n dash,\n hls\n }\n }\n`;\n\ninterface Data {\n\tnode: Asset;\n}\n\n// TODO: see if we can get type automatically from GraphQL schema\nexport interface StreamingLinks {\n\thls: string;\n\tdash: string;\n}\nexport interface Asset {\n\tid: string;\n\tfiles: Record<string, File>;\n\tdatabaseId?: string;\n\tstreamingLinks?: StreamingLinks;\n}\n\nexport async function getAsset(options: {\n\tassetId: string;\n\tauth: AuthInformationState | null;\n\tassetFieldSelection?: string;\n\tnoCache?: boolean;\n}): Promise<Result<Asset, string>> {\n\tconst { assetId, auth, assetFieldSelection = defaultAssetFieldSelection, noCache } = options;\n\tconst query = `\n fragment AddMediaAsset on Asset {\n ${assetFieldSelection}\n }\n\n query getAssetById($id: ID!) {\n node(id: $id) {\n __typename\n id\n ...on Asset {\n ...AddMediaAsset\n files\n }\n }\n }`;\n\n\tconst variables = { id: assetId };\n\n\tconst queryResponse = (await fetchWithGraphql({\n\t\tquery,\n\t\tvariables,\n\t\tauth,\n\t\tnoCache,\n\t\tisNewGQL: true,\n\t})) as Result<Data, string>;\n\n\tif (isErr(queryResponse)) {\n\t\treturn queryResponse;\n\t}\n\n\treturn ok(queryResponse.value.node);\n}\n"],"names":["defaultAssetFieldSelection","getAsset","options","assetId","auth","assetFieldSelection","noCache","query","queryResponse","fetchWithGraphql","isErr","ok"],"mappings":";;AAKO,MAAMA,IAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwD1C,eAAsBC,EAASC,GAKI;AAClC,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,qBAAAC,IAAsBL,GAA4B,SAAAM,MAAYJ,GAC/EK,IAAQ;AAAA;AAAA,cAEDF,CAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAgB1BG,IAAiB,MAAMC,EAAiB;AAAA,IAC7C,OAAAF;AAAA,IACA,WAJiB,EAAE,IAAIJ,EAAA;AAAA,IAKvB,MAAAC;AAAA,IACA,SAAAE;AAAA,IACA,UAAU;AAAA,EAAA,CACV;AAED,SAAII,EAAMF,CAAa,IACfA,IAGDG,EAAGH,EAAc,MAAM,IAAI;AACnC;"}
|
package/getAssetCounts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAssetCounts.js","sources":["../../src/api/rest/getAssetCounts.ts"],"sourcesContent":["import { AssetType } from '@src/views/asset/asset.type';\nimport { AuthInformationState } from '@src/auth/useAuthInformation';\nimport { ensureValidUrl } from '@src/utils/url';\nimport { getRequest } from '.';\nimport { selectedSmartfilterOptionsType, AssetCountType } from './types';\n\nexport interface AssetFilter {\n\tsearchTerm?: string;\n\ttagNames?: string[];\n\tassetTypes?: AssetType[];\n\tcollectionId?: string;\n\tmetaproperties?: selectedSmartfilterOptionsType;\n\tisLimitedUse?: boolean;\n}\n\nexport const getAssetCounts = async ({\n\tauth,\n\tfilter,\n}: {\n\tauth: AuthInformationState | null;\n\tfilter: AssetFilter;\n}): Promise<AssetCountType> => {\n\tif (!auth) throw new Error('No authentication provided');\n\n\tlet host =\n\t\tauth.accountDomain !== undefined\n\t\t\t? ensureValidUrl(auth.accountDomain.trim())\n\t\t\t: `https://${window.location.host}`;\n\n\t// For the sake of consistency, check if last char is a slash\n\t// and remove it\n\tif (host.charAt(host.length - 1) === '/') {\n\t\thost = host.slice(0, -1);\n\t}\n\n\tconst accessToken = auth.getAccessToken && auth.getAccessToken();\n\n\tconst headers = accessToken === undefined ? {} : { Authorization: `Bearer ${accessToken}` };\n\n\t// Build query parameters\n\tconst params = new URLSearchParams();\n\n\t// Add fixed parameters\n\tparams.append('total', 'false');\n\tparams.append('count', 'true');\n\tparams.append('limit', '0');\n\n\t// Add filter parameters\n\tif (filter.searchTerm) {\n\t\tparams.append('keyword', filter.searchTerm);\n\t}\n\n\tif (filter.assetTypes?.length) {\n\t\tparams.append('type', filter.assetTypes.join(',').toLowerCase());\n\t} else {\n\t\tparams.append('type', 'audio,document,image,video');\n\t}\n\n\tif (filter.collectionId) {\n\t\tparams.append('collectionId', filter.collectionId);\n\t}\n\n\tif (filter.tagNames?.length) {\n\t\tparams.append('tags', filter.tagNames.join(','));\n\t}\n\n\tif (filter.isLimitedUse !== undefined) {\n\t\tparams.append('keyVisual', filter.isLimitedUse ? '1' : '0');\n\t}\n\n\t// Add metaproperty filters\n\tif (filter.metaproperties) {\n\t\tObject.entries(filter.metaproperties).forEach(([name, values]) => {\n\t\t\tconst optionsIds = Object.keys(values);\n\n\t\t\tif (optionsIds.length > 0) {\n\t\t\t\tparams.append(`property_${name}`, optionsIds.join(','));\n\t\t\t}\n\t\t});\n\t}\n\n\ttry {\n\t\tconst response = await getRequest<AssetCountType>(\n\t\t\t`${host}/api/v4/media?${params.toString()}`,\n\t\t\t{ headers },\n\t\t);\n\n\t\treturn response;\n\t} catch (error) {\n\t\tthrow new Error(`Error fetching initial filters: ${error}`);\n\t}\n};\n"],"names":["getAssetCounts","auth","filter","host","ensureValidUrl","accessToken","headers","params","name","values","optionsIds","getRequest","error"],"mappings":";;AAeO,MAAMA,IAAiB,OAAO;AAAA,EACpC,MAAAC;AAAA,EACA,QAAAC;AACD,MAG+B;AAC9B,MAAI,CAACD,EAAM,OAAM,IAAI,MAAM,4BAA4B;AAEvD,MAAIE,IACHF,EAAK,kBAAkB,SACpBG,EAAeH,EAAK,cAAc,KAAA,CAAM,IACxC,WAAW,OAAO,SAAS,IAAI;AAInC,EAAIE,EAAK,OAAOA,EAAK,SAAS,CAAC,MAAM,QACpCA,IAAOA,EAAK,MAAM,GAAG,EAAE;AAGxB,QAAME,IAAcJ,EAAK,kBAAkBA,EAAK,eAAA,GAE1CK,IAAUD,MAAgB,SAAY,CAAA,IAAK,EAAE,eAAe,UAAUA,CAAW,GAAA,GAGjFE,IAAS,IAAI,gBAAA;AAGnB,EAAAA,EAAO,OAAO,SAAS,OAAO,GAC9BA,EAAO,OAAO,SAAS,MAAM,GAC7BA,EAAO,OAAO,SAAS,GAAG,GAGtBL,EAAO,cACVK,EAAO,OAAO,WAAWL,EAAO,UAAU,GAGvCA,EAAO,YAAY,SACtBK,EAAO,OAAO,QAAQL,EAAO,WAAW,KAAK,GAAG,EAAE,aAAa,IAE/DK,EAAO,OAAO,QAAQ,4BAA4B,GAG/CL,EAAO,gBACVK,EAAO,OAAO,gBAAgBL,EAAO,YAAY,GAG9CA,EAAO,UAAU,UACpBK,EAAO,OAAO,QAAQL,EAAO,SAAS,KAAK,GAAG,CAAC,GAG5CA,EAAO,iBAAiB,UAC3BK,EAAO,OAAO,aAAaL,EAAO,eAAe,MAAM,GAAG,GAIvDA,EAAO,kBACV,OAAO,QAAQA,EAAO,cAAc,EAAE,QAAQ,CAAC,CAACM,GAAMC,CAAM,MAAM;AACjE,UAAMC,IAAa,OAAO,KAAKD,CAAM;AAErC,IAAIC,EAAW,SAAS,KACvBH,EAAO,OAAO,YAAYC,CAAI,IAAIE,EAAW,KAAK,GAAG,CAAC;AAAA,EAExD,CAAC;AAGF,MAAI;AAMH,WALiB,MAAMC;AAAA,MACtB,GAAGR,CAAI,iBAAiBI,EAAO,UAAU;AAAA,MACzC,EAAE,SAAAD,EAAA;AAAA,IAAQ;AAAA,EAIZ,SAASM,GAAO;AACf,UAAM,IAAI,MAAM,mCAAmCA,CAAK,EAAE;AAAA,EAC3D;AACD;"}
|
package/getAssets.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAssets.js","sources":["../../src/api/getAssets.ts"],"sourcesContent":["import { isErr, ok, Result } from '../auth/result.type';\nimport { SelectedCollection, SelectedItem } from '../select/SelectionContext';\nimport { fetchWithGraphql } from '.';\nimport { Asset } from './getAsset';\nimport { AuthInformationState } from '../auth/useAuthInformation';\nimport { MAX_GET_ASSETS_LIMIT } from '@src/constants';\nimport { chunk } from '@src/utils/chunk';\nimport { convertAssetIdToBase64 } from '@src/utils/base64Converter';\n\nconst defaultAssetFieldSelection = `\n id\n name\n description\n databaseId\n createdAt\n originalUrl\n publishedAt\n tags\n type\n updatedAt\n url\n extensions\n metaproperties {\n nodes {\n name\n type\n options {\n name\n displayLabel\n }\n }\n }\n textMetaproperties {\n name\n value\n label\n }\n derivatives {\n thumbnail\n webImage\n }\n ... on Video {\n previewUrls\n\t streamingLinks {\n dash,\n hls\n }\n }\n`;\n\ntype CollectionNode = {\n\t__typename: 'Collection';\n\tassets: {\n\t\tnodes: Asset[];\n\t};\n};\n\n// There are more alternative types than 'Image', but here I only care that it's _not_ 'Collection'\ntype NonCollectionNode = { __typename: 'Image' } & Asset;\n\ninterface Data {\n\tnodes: (CollectionNode | NonCollectionNode)[];\n}\n\nexport async function getAssets(options: {\n\tselectedItems: SelectedItem[];\n\tauth: AuthInformationState | null;\n\tassetFieldSelection?: string;\n\tnoCache?: boolean;\n\tisSimilaritySearchEnabled?: boolean;\n}): Promise<Result<Asset[], string>> {\n\tconst {\n\t\tselectedItems,\n\t\tauth,\n\t\tassetFieldSelection = defaultAssetFieldSelection,\n\t\tnoCache,\n\t\tisSimilaritySearchEnabled = false,\n\t} = options;\n\n\tif (selectedItems.length <= MAX_GET_ASSETS_LIMIT) {\n\t\treturn fetchAssetsChunk({\n\t\t\tselectedItems,\n\t\t\tauth,\n\t\t\tassetFieldSelection,\n\t\t\tnoCache,\n\t\t\tisSimilaritySearchEnabled,\n\t\t});\n\t}\n\n\tconst chunks: SelectedItem[][] = chunk(selectedItems, 280);\n\tconst promises = chunks.map((chunkItem) =>\n\t\tfetchAssetsChunk({\n\t\t\tselectedItems: chunkItem,\n\t\t\tauth,\n\t\t\tassetFieldSelection,\n\t\t\tnoCache,\n\t\t\tisSimilaritySearchEnabled,\n\t\t}),\n\t);\n\n\tconst results = await Promise.all(promises);\n\n\tconst allAssets: Asset[] = [];\n\n\tfor (const result of results) {\n\t\tif (isErr(result)) {\n\t\t\treturn result;\n\t\t}\n\n\t\tallAssets.push(...result.value);\n\t}\n\n\treturn ok(allAssets);\n}\n\nconst fetchAssetsChunk = async ({\n\tselectedItems,\n\tauth,\n\tassetFieldSelection,\n\tnoCache,\n\tisSimilaritySearchEnabled,\n}: {\n\tselectedItems: SelectedItem[];\n\tauth: AuthInformationState | null;\n\tassetFieldSelection: string;\n\tnoCache?: boolean;\n\tisSimilaritySearchEnabled?: boolean;\n}): Promise<Result<Asset[], string>> => {\n\tconst query = `\n fragment AddMediaAsset on Asset {\n ${assetFieldSelection}\n }\n\n query getAssetsById($ids: [ID!]!, $collectionCount: Int) {\n nodes(ids: $ids) {\n __typename\n id\n ...on Asset {\n ...AddMediaAsset\n files\n }\n ...on Collection {\n assets(first: $collectionCount) {\n nodes {\n __typename\n id\n ...AddMediaAsset\n files\n }\n }\n }\n }\n }`;\n\n\tconst allCollectionCounts: number[] = selectedItems\n\t\t.filter((item): item is SelectedCollection => item.type === 'collection')\n\t\t.map((collection) => collection.value.assetCount);\n\tconst collectionAssetCounter = 0;\n\tconst collectionCountSum = allCollectionCounts.reduce(\n\t\t(previousValue, currentValue) => previousValue + currentValue,\n\t\tcollectionAssetCounter,\n\t);\n\n\tconst variables = {\n\t\tids: selectedItems.map((item) =>\n\t\t\tisSimilaritySearchEnabled ? convertAssetIdToBase64(item.value.id) : item.value.id,\n\t\t),\n\t\tcollectionCount: collectionCountSum,\n\t};\n\n\tconst queryResponse = (await fetchWithGraphql({\n\t\tquery,\n\t\tvariables,\n\t\tauth,\n\t\tnoCache,\n\t\tisNewGQL: true,\n\t})) as Result<Data, string>;\n\n\tif (isErr(queryResponse)) {\n\t\treturn queryResponse;\n\t}\n\n\tconst allAssets: Asset[] = [];\n\n\tfor (const node of queryResponse.value.nodes) {\n\t\tif (node.__typename === 'Collection') {\n\t\t\tallAssets.push(...node.assets.nodes);\n\t\t} else {\n\t\t\tallAssets.push(node);\n\t\t}\n\t}\n\n\tconst assetIdAccumulator = new Set<string>();\n\tconst uniqueAssets: Asset[] = [];\n\n\tfor (const asset of allAssets) {\n\t\tif (!assetIdAccumulator.has(asset.id)) {\n\t\t\tuniqueAssets.push(asset);\n\t\t\tassetIdAccumulator.add(asset.id);\n\t\t}\n\t}\n\n\treturn ok(uniqueAssets);\n};\n"],"names":["defaultAssetFieldSelection","getAssets","options","selectedItems","auth","assetFieldSelection","noCache","isSimilaritySearchEnabled","MAX_GET_ASSETS_LIMIT","fetchAssetsChunk","promises","chunk","chunkItem","results","allAssets","result","isErr","ok","query","collectionCountSum","item","collection","previousValue","currentValue","variables","convertAssetIdToBase64","queryResponse","fetchWithGraphql","node","assetIdAccumulator","uniqueAssets","asset"],"mappings":";;;;;AASA,MAAMA,IAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuDnC,eAAsBC,EAAUC,GAMK;AACpC,QAAM;AAAA,IACL,eAAAC;AAAA,IACA,MAAAC;AAAA,IACA,qBAAAC,IAAsBL;AAAA,IACtB,SAAAM;AAAA,IACA,2BAAAC,IAA4B;AAAA,EAAA,IACzBL;AAEJ,MAAIC,EAAc,UAAUK;AAC3B,WAAOC,EAAiB;AAAA,MACvB,eAAAN;AAAA,MACA,MAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,SAAAC;AAAA,MACA,2BAAAC;AAAA,IAAA,CACA;AAIF,QAAMG,IAD2BC,EAAMR,GAAe,GAAG,EACjC;AAAA,IAAI,CAACS,MAC5BH,EAAiB;AAAA,MAChB,eAAeG;AAAA,MACf,MAAAR;AAAA,MACA,qBAAAC;AAAA,MACA,SAAAC;AAAA,MACA,2BAAAC;AAAA,IAAA,CACA;AAAA,EAAA,GAGIM,IAAU,MAAM,QAAQ,IAAIH,CAAQ,GAEpCI,IAAqB,CAAA;AAE3B,aAAWC,KAAUF,GAAS;AAC7B,QAAIG,EAAMD,CAAM;AACf,aAAOA;AAGR,IAAAD,EAAU,KAAK,GAAGC,EAAO,KAAK;AAAA,EAC/B;AAEA,SAAOE,EAAGH,CAAS;AACpB;AAEA,MAAML,IAAmB,OAAO;AAAA,EAC/B,eAAAN;AAAA,EACA,MAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,2BAAAC;AACD,MAMwC;AACvC,QAAMW,IAAQ;AAAA;AAAA,cAEDb,CAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YA4B1Bc,IAJgChB,EACpC,OAAO,CAACiB,MAAqCA,EAAK,SAAS,YAAY,EACvE,IAAI,CAACC,MAAeA,EAAW,MAAM,UAAU,EAEF;AAAA,IAC9C,CAACC,GAAeC,MAAiBD,IAAgBC;AAAA,IAFnB;AAAA,EAG9B,GAGKC,IAAY;AAAA,IACjB,KAAKrB,EAAc;AAAA,MAAI,CAACiB,MACvBb,IAA4BkB,EAAuBL,EAAK,MAAM,EAAE,IAAIA,EAAK,MAAM;AAAA,IAAA;AAAA,IAEhF,iBAAiBD;AAAA,EAAA,GAGZO,IAAiB,MAAMC,EAAiB;AAAA,IAC7C,OAAAT;AAAA,IACA,WAAAM;AAAA,IACA,MAAApB;AAAA,IACA,SAAAE;AAAA,IACA,UAAU;AAAA,EAAA,CACV;AAED,MAAIU,EAAMU,CAAa;AACtB,WAAOA;AAGR,QAAMZ,IAAqB,CAAA;AAE3B,aAAWc,KAAQF,EAAc,MAAM;AACtC,IAAIE,EAAK,eAAe,eACvBd,EAAU,KAAK,GAAGc,EAAK,OAAO,KAAK,IAEnCd,EAAU,KAAKc,CAAI;AAIrB,QAAMC,wBAAyB,IAAA,GACzBC,IAAwB,CAAA;AAE9B,aAAWC,KAASjB;AACnB,IAAKe,EAAmB,IAAIE,EAAM,EAAE,MACnCD,EAAa,KAAKC,CAAK,GACvBF,EAAmB,IAAIE,EAAM,EAAE;AAIjC,SAAOd,EAAGa,CAAY;AACvB;"}
|
package/getCollections.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCollections.js","sources":["../../src/api/getCollections.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isErr, Ok, Result } from '../auth/result.type';\nimport { fetchWithGraphql } from '.';\nimport { Ordering } from '@src/store/useOrderingStore';\nimport { Collection } from '../views/collection/collection.types';\nimport { Connection, Data } from './graphql.types';\nimport { useAuth } from '../login/LoginContext';\n\nexport interface GraphqlResponse {\n\tcollections: Collections;\n}\n\nexport interface Collections {\n\tnodes: Collection[];\n\ttotalCount: number;\n\tpageInfo: {\n\t\tendCursor: string;\n\t\thasNextPage: boolean;\n\t};\n}\n\nconst query = `\nquery getCollections($searchTerm: String, $orderBy: CollectionOrder!, $after: Cursor) {\n collections(after: $after, first: 50, filter: {name_contains: $searchTerm, assetCount_gte: 1}, orderBy: $orderBy) {\n nodes {\n id\n name\n assetCount\n thumbnailUrls\n url\n }\n totalCount\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n}`;\n\nexport function useGetCollections(\n\toptions: {\n\t\tsearchTerm?: string;\n\t\torderBy: Ordering;\n\t},\n\tnoCache = false,\n): Connection<GraphqlResponse> {\n\tconst auth = useAuth();\n\tconst [data, setData] = useState<Data<GraphqlResponse>>({ tag: 'Loading', value: null });\n\tlet cancelRequestActions = false;\n\n\tconst fetchCollections = async (after?: string) => {\n\t\tsetData((previousData) => ({\n\t\t\ttag: 'Loading',\n\t\t\tvalue: previousData.tag === 'Failure' ? null : previousData.value,\n\t\t}));\n\n\t\tconst variables = {\n\t\t\t...options,\n\t\t\tsearchTerm: options.searchTerm ?? null,\n\t\t\tafter: after ?? null,\n\t\t};\n\n\t\tconst queryResponse = (await fetchWithGraphql({\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\tauth,\n\t\t\tnoCache,\n\t\t\tisNewGQL: true,\n\t\t})) as Result<GraphqlResponse, string>;\n\n\t\tif (!cancelRequestActions) {\n\t\t\tif (isErr(queryResponse)) {\n\t\t\t\tsetData({\n\t\t\t\t\ttag: 'Failure',\n\t\t\t\t\tvalue: queryResponse.error,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsetOkStatus(queryResponse, after);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setOkStatus = (queryResponse: Ok<GraphqlResponse>, after?: string) => {\n\t\tif (!getCollectionsData() || !after) {\n\t\t\tsetData({\n\t\t\t\ttag: 'Loaded',\n\t\t\t\tvalue: queryResponse.value,\n\t\t\t});\n\t\t} else {\n\t\t\tsetData((prev) => {\n\t\t\t\tconst previousNodes = getCollectionsData(prev)?.nodes ?? [];\n\n\t\t\t\treturn {\n\t\t\t\t\ttag: 'Loaded',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tcollections: {\n\t\t\t\t\t\t\t...queryResponse.value.collections,\n\t\t\t\t\t\t\tnodes: [...previousNodes, ...queryResponse.value.collections.nodes],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t};\n\n\tconst getCollectionsData = (previousData?: Data<GraphqlResponse>): Collections | undefined => {\n\t\tconst collectionData = previousData ?? data;\n\n\t\tif (collectionData.tag === 'Failure') {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn collectionData.value?.collections;\n\t};\n\n\tuseEffect(() => {\n\t\tfetchCollections();\n\n\t\treturn () => {\n\t\t\t// eslint-disable-next-line\n\t\t\tcancelRequestActions = true;\n\t\t};\n\t}, [options.searchTerm, options.orderBy]);\n\n\treturn {\n\t\tdata,\n\t\texecuteQuery: () => fetchCollections(),\n\t\tisLoading: !data || data.tag === 'Loading',\n\t\tloadMore: () => fetchCollections(getCollectionsData()?.pageInfo.endCursor),\n\t\thasNextPage: !!getCollectionsData()?.pageInfo.hasNextPage,\n\t};\n}\n"],"names":["query","useGetCollections","options","noCache","auth","useAuth","data","setData","useState","cancelRequestActions","fetchCollections","after","previousData","variables","queryResponse","fetchWithGraphql","isErr","setOkStatus","getCollectionsData","prev","previousNodes","collectionData","useEffect"],"mappings":";;;;AAsBA,MAAMA,IAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBP,SAASC,EACfC,GAIAC,IAAU,IACoB;AAC9B,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAMC,CAAO,IAAIC,EAAgC,EAAE,KAAK,WAAW,OAAO,MAAM;AACvF,MAAIC,IAAuB;AAE3B,QAAMC,IAAmB,OAAOC,MAAmB;AAClD,IAAAJ,EAAQ,CAACK,OAAkB;AAAA,MAC1B,KAAK;AAAA,MACL,OAAOA,EAAa,QAAQ,YAAY,OAAOA,EAAa;AAAA,IAAA,EAC3D;AAEF,UAAMC,IAAY;AAAA,MACjB,GAAGX;AAAA,MACH,YAAYA,EAAQ,cAAc;AAAA,MAClC,OAAOS,KAAS;AAAA,IAAA,GAGXG,IAAiB,MAAMC,EAAiB;AAAA,MAC7C,OAAAf;AAAA,MACA,WAAAa;AAAA,MACA,MAAAT;AAAA,MACA,SAAAD;AAAA,MACA,UAAU;AAAA,IAAA,CACV;AAED,IAAKM,MACAO,EAAMF,CAAa,IACtBP,EAAQ;AAAA,MACP,KAAK;AAAA,MACL,OAAOO,EAAc;AAAA,IAAA,CACrB,IAEDG,EAAYH,GAAeH,CAAK;AAAA,EAGnC,GAEMM,IAAc,CAACH,GAAoCH,MAAmB;AAC3E,IAAI,CAACO,OAAwB,CAACP,IAC7BJ,EAAQ;AAAA,MACP,KAAK;AAAA,MACL,OAAOO,EAAc;AAAA,IAAA,CACrB,IAEDP,EAAQ,CAACY,MAAS;AACjB,YAAMC,IAAgBF,EAAmBC,CAAI,GAAG,SAAS,CAAA;AAEzD,aAAO;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,UACN,aAAa;AAAA,YACZ,GAAGL,EAAc,MAAM;AAAA,YACvB,OAAO,CAAC,GAAGM,GAAe,GAAGN,EAAc,MAAM,YAAY,KAAK;AAAA,UAAA;AAAA,QACnE;AAAA,MACD;AAAA,IAEF,CAAC;AAAA,EAEH,GAEMI,IAAqB,CAACN,MAAkE;AAC7F,UAAMS,IAAiBT,KAAgBN;AAEvC,QAAIe,EAAe,QAAQ;AAI3B,aAAOA,EAAe,OAAO;AAAA,EAC9B;AAEA,SAAAC,EAAU,OACTZ,EAAA,GAEO,MAAM;AAEZ,IAAAD,IAAuB;AAAA,EACxB,IACE,CAACP,EAAQ,YAAYA,EAAQ,OAAO,CAAC,GAEjC;AAAA,IACN,MAAAI;AAAA,IACA,cAAc,MAAMI,EAAA;AAAA,IACpB,WAAW,CAACJ,KAAQA,EAAK,QAAQ;AAAA,IACjC,UAAU,MAAMI,EAAiBQ,EAAA,GAAsB,SAAS,SAAS;AAAA,IACzE,aAAa,CAAC,CAACA,EAAA,GAAsB,SAAS;AAAA,EAAA;AAEhD;"}
|
package/getFilterOptions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFilterOptions.js","sources":["../../src/api/getFilterOptions.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { isErr, Result } from '../auth/result.type';\nimport { useAuth } from '@src/login/LoginContext';\nimport { fetchWithGraphql } from '.';\nimport { FilterOptionsData } from './types/getFilters_new';\n\nexport const query = `\nquery getMetapropertyFilterOptions($smartfilterId: String!, $metapropertyId: String!, $cursor: String) {\n filterOptions(smartfilterId: $smartfilterId, metapropertyId: $metapropertyId, cursor: $cursor) {\n metadata {\n nextCursorMark\n }\n metaproperty {\n id,\n name,\n options {\n count,\n zindex,\n name,\n id,\n isSelected,\n label\n },\n showImage,\n type,\n label,\n showCounter,\n zindex\n }\n }\n}`;\n\nexport const useGetFilterOptions = (\n\toptions: {\n\t\tsmartfilterId: string;\n\t\tmetapropertyId: string;\n\t},\n\tnoCache = false,\n): {\n\tisLoading: boolean;\n\tfetchFilterOptions: (cursor: string) => Promise<FilterOptionsData | null | undefined>;\n} => {\n\tconst auth = useAuth();\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst cancelRequestActions = useRef(false);\n\n\tconst fetchFilterOptions = async (cursor: string) => {\n\t\tsetIsLoading(true);\n\n\t\tconst queryResponse = (await fetchWithGraphql({\n\t\t\tquery,\n\t\t\tauth,\n\t\t\tnoCache,\n\t\t\tisNewGQL: true,\n\t\t\tvariables: {\n\t\t\t\tsmartfilterId: options.smartfilterId,\n\t\t\t\tmetapropertyId: options.metapropertyId,\n\t\t\t\tcursor,\n\t\t\t},\n\t\t})) as Result<FilterOptionsData, string>;\n\n\t\tif (!cancelRequestActions.current) {\n\t\t\tif (isErr(queryResponse)) {\n\t\t\t\tsetIsLoading(false);\n\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tsetIsLoading(false);\n\n\t\t\treturn queryResponse.value;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tcancelRequestActions.current = true;\n\t\t};\n\t}, []);\n\n\treturn {\n\t\tfetchFilterOptions,\n\t\tisLoading,\n\t};\n};\n"],"names":["query","useGetFilterOptions","options","noCache","auth","useAuth","isLoading","setIsLoading","useState","cancelRequestActions","useRef","fetchFilterOptions","cursor","queryResponse","fetchWithGraphql","isErr","useEffect"],"mappings":";;;;AAOO,MAAMA,IAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA0BRC,IAAsB,CAClCC,GAIAC,IAAU,OAIN;AACJ,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAuBC,EAAO,EAAK,GAEnCC,IAAqB,OAAOC,MAAmB;AACpD,IAAAL,EAAa,EAAI;AAEjB,UAAMM,IAAiB,MAAMC,EAAiB;AAAA,MAC7C,OAAAd;AAAA,MACA,MAAAI;AAAA,MACA,SAAAD;AAAA,MACA,UAAU;AAAA,MACV,WAAW;AAAA,QACV,eAAeD,EAAQ;AAAA,QACvB,gBAAgBA,EAAQ;AAAA,QACxB,QAAAU;AAAA,MAAA;AAAA,IACD,CACA;AAED,QAAI,CAACH,EAAqB;AACzB,aAAIM,EAAMF,CAAa,KACtBN,EAAa,EAAK,GAEX,SAGRA,EAAa,EAAK,GAEXM,EAAc;AAAA,EAEvB;AAEA,SAAAG,EAAU,MACF,MAAM;AACZ,IAAAP,EAAqB,UAAU;AAAA,EAChC,GACE,CAAA,CAAE,GAEE;AAAA,IACN,oBAAAE;AAAA,IACA,WAAAL;AAAA,EAAA;AAEF;"}
|
package/getFilters.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFilters.js","sources":["../../src/api/getFilters.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isErr, Result } from '../auth/result.type';\nimport { fetchWithGraphql } from '.';\nimport { Data } from './graphql.types';\nimport { useAuth } from '../login/LoginContext';\nimport { Tag } from '../filter/filters/metaproperty/MetapropertyFilterContent';\n\nimport { Filter } from '../filter/AssetFilterContext';\nimport { AssetType } from '../views/asset/asset.type';\nimport { AssetFilterJson } from '@src/filter/assetFilter.type';\nimport { combineFilters } from '@src/utils/combineFilters';\nimport { convertOptionsToBase64 } from '@src/utils/base64Converter';\n\nexport interface GraphqlFiltersResponse {\n\tsearchAssets: {\n\t\tcount: {\n\t\t\tassetType: {\n\t\t\t\taudio: number;\n\t\t\t\tdocument: number;\n\t\t\t\timage: number;\n\t\t\t\tvideo: number;\n\t\t\t\tarchive: number;\n\t\t\t};\n\t\t};\n\t\ttags?: {\n\t\t\tnodes: Tag[];\n\t\t};\n\t};\n}\n\nexport const query = `\n\tquery searchAssets($filter: AssetFilter!, $language: String!) {\n\t\tsearchAssets(filter: $filter) {\n\t\ttags {\n\t\t\tnodes {\n\t\t\tid\n\t\t\tname\n\t\t\tassetCount\n\t\t\t}\n\t\t}\n\t\tcount {\n\t\t\tassetType {\n\t\t\timage\n\t\t\tvideo\n\t\t\taudio\n\t\t\tdocument\n\t\t\tarchive\n\t\t\t}\n\t\t}\n\t\t}\n\t}`;\n\nexport function useGetFilters(\n\toptions: {\n\t\tfilter: Filter;\n\t\tsearchTerm: null | undefined | string;\n\t\tallAssetTypes: AssetType[];\n\t\tlanguage: string;\n\t\tpredefinedFilter?: AssetFilterJson;\n\t\tcollectionId: string | null;\n\t},\n\tnoCache = false,\n): { data: Data<GraphqlFiltersResponse>; isLoading: boolean } {\n\tconst auth = useAuth();\n\tconst [data, setData] = useState<Data<GraphqlFiltersResponse>>({ tag: 'Loading', value: null });\n\tlet cancelRequestActions = false;\n\n\tconst fetchFilters = async () => {\n\t\tsetData((previousData) => ({\n\t\t\ttag: 'Loading',\n\t\t\tvalue: previousData.tag === 'Failure' ? null : previousData.value,\n\t\t}));\n\t\tconst { filter, searchTerm, allAssetTypes, language, predefinedFilter } = options;\n\n\t\tconst assetTypeFilter = combineFilters({\n\t\t\tfilters: filter?.assetTypes,\n\t\t\tpredefinedFilters: predefinedFilter?.predefinedAssetType,\n\t\t\tshowToolbar: predefinedFilter?.showToolbar,\n\t\t});\n\n\t\tconst tagNamesFilter = combineFilters({\n\t\t\tfilters: filter?.tags,\n\t\t\tpredefinedFilters: predefinedFilter?.predefinedTagNames,\n\t\t\tshowToolbar: predefinedFilter?.showToolbar,\n\t\t});\n\n\t\tconst metapropertyOptions = convertOptionsToBase64(filter.selectedSmartfilterOptions);\n\n\t\tconst variables = {\n\t\t\tfilter: {\n\t\t\t\tassetType_in: assetTypeFilter ?? allAssetTypes,\n\t\t\t\tcollectionId: options.collectionId || predefinedFilter?.collectionId,\n\t\t\t\tmetapropertyOptionId_in: metapropertyOptions,\n\t\t\t\tsearchTerm,\n\t\t\t\ttagNames_in: tagNamesFilter,\n\t\t\t\tisLimitedUse: filter.isLimited,\n\t\t\t},\n\t\t\tlanguage,\n\t\t};\n\n\t\tconst queryResponse = (await fetchWithGraphql({\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\tauth,\n\t\t\tnoCache,\n\t\t\tisNewGQL: true,\n\t\t})) as Result<GraphqlFiltersResponse, string>;\n\n\t\tif (!cancelRequestActions) {\n\t\t\tif (isErr(queryResponse)) {\n\t\t\t\tsetData({\n\t\t\t\t\ttag: 'Failure',\n\t\t\t\t\tvalue: queryResponse.error,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsetData({\n\t\t\t\t\ttag: 'Loaded',\n\t\t\t\t\tvalue: queryResponse.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tfetchFilters();\n\n\t\treturn () => {\n\t\t\t// eslint-disable-next-line\n\t\t\tcancelRequestActions = true;\n\t\t};\n\t}, [\n\t\toptions.filter.assetTypes,\n\t\toptions.filter.selectedSmartfilterOptions,\n\t\toptions.filter.tags,\n\t\toptions.searchTerm,\n\t]);\n\n\treturn {\n\t\tdata,\n\t\tisLoading: data.tag === 'Loading',\n\t};\n}\n"],"names":["query","useGetFilters","options","noCache","auth","useAuth","data","setData","useState","cancelRequestActions","fetchFilters","previousData","filter","searchTerm","allAssetTypes","language","predefinedFilter","assetTypeFilter","combineFilters","tagNamesFilter","metapropertyOptions","convertOptionsToBase64","variables","queryResponse","fetchWithGraphql","isErr","useEffect"],"mappings":";;;;;;AA+BO,MAAMA,IAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBd,SAASC,EACfC,GAQAC,IAAU,IACmD;AAC7D,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAMC,CAAO,IAAIC,EAAuC,EAAE,KAAK,WAAW,OAAO,MAAM;AAC9F,MAAIC,IAAuB;AAE3B,QAAMC,IAAe,YAAY;AAChC,IAAAH,EAAQ,CAACI,OAAkB;AAAA,MAC1B,KAAK;AAAA,MACL,OAAOA,EAAa,QAAQ,YAAY,OAAOA,EAAa;AAAA,IAAA,EAC3D;AACF,UAAM,EAAE,QAAAC,GAAQ,YAAAC,GAAY,eAAAC,GAAe,UAAAC,GAAU,kBAAAC,MAAqBd,GAEpEe,IAAkBC,EAAe;AAAA,MACtC,SAASN,GAAQ;AAAA,MACjB,mBAAmBI,GAAkB;AAAA,MACrC,aAAaA,GAAkB;AAAA,IAAA,CAC/B,GAEKG,IAAiBD,EAAe;AAAA,MACrC,SAASN,GAAQ;AAAA,MACjB,mBAAmBI,GAAkB;AAAA,MACrC,aAAaA,GAAkB;AAAA,IAAA,CAC/B,GAEKI,IAAsBC,EAAuBT,EAAO,0BAA0B,GAE9EU,IAAY;AAAA,MACjB,QAAQ;AAAA,QACP,cAAcL,KAAmBH;AAAA,QACjC,cAAcZ,EAAQ,gBAAgBc,GAAkB;AAAA,QACxD,yBAAyBI;AAAA,QACzB,YAAAP;AAAA,QACA,aAAaM;AAAA,QACb,cAAcP,EAAO;AAAA,MAAA;AAAA,MAEtB,UAAAG;AAAA,IAAA,GAGKQ,IAAiB,MAAMC,EAAiB;AAAA,MAC7C,OAAAxB;AAAA,MACA,WAAAsB;AAAA,MACA,MAAAlB;AAAA,MACA,SAAAD;AAAA,MACA,UAAU;AAAA,IAAA,CACV;AAED,IAAKM,MACAgB,EAAMF,CAAa,IACtBhB,EAAQ;AAAA,MACP,KAAK;AAAA,MACL,OAAOgB,EAAc;AAAA,IAAA,CACrB,IAEDhB,EAAQ;AAAA,MACP,KAAK;AAAA,MACL,OAAOgB,EAAc;AAAA,IAAA,CACrB;AAAA,EAGJ;AAEA,SAAAG,EAAU,OACThB,EAAA,GAEO,MAAM;AAEZ,IAAAD,IAAuB;AAAA,EACxB,IACE;AAAA,IACFP,EAAQ,OAAO;AAAA,IACfA,EAAQ,OAAO;AAAA,IACfA,EAAQ,OAAO;AAAA,IACfA,EAAQ;AAAA,EAAA,CACR,GAEM;AAAA,IACN,MAAAI;AAAA,IACA,WAAWA,EAAK,QAAQ;AAAA,EAAA;AAE1B;"}
|
package/getFilters_new.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFilters_new.js","sources":["../../src/api/getFilters_new.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isErr, Result } from '../auth/result.type';\nimport { useAuth } from '@src/login/LoginContext';\nimport { fetchWithGraphql } from '.';\nimport { Data } from './graphql.types';\nimport { FilterData } from './types/getFilters_new';\n\nexport const query = `\nquery getFilters {\n filters {\n smartfilter {\n id,\n icon,\n zindex,\n metaproperties\n labels\n }\n metapropertyFilters {\n metadata {\n nextCursorMark\n }\n metaproperty {\n id,\n name,\n options {\n count,\n zindex,\n name,\n id,\n isSelected,\n label\n },\n showImage,\n type,\n label,\n showCounter,\n zindex,\n\t\t\t\tisMultifilter\n }\n }\n }\n}`;\n\nexport const useGetFilters = (noCache = false): { data: Data<FilterData>; isLoading: boolean } => {\n\tconst auth = useAuth();\n\tconst [data, setData] = useState<Data<FilterData>>({ tag: 'Loading', value: null });\n\n\tuseEffect(() => {\n\t\tlet cancelRequestActions = false;\n\n\t\tconst fetchFilters = async () => {\n\t\t\tsetData((previousData) => ({\n\t\t\t\ttag: 'Loading',\n\t\t\t\tvalue: previousData.tag === 'Failure' ? null : previousData.value,\n\t\t\t}));\n\n\t\t\tconst queryResponse = (await fetchWithGraphql({\n\t\t\t\tquery,\n\t\t\t\tauth,\n\t\t\t\tnoCache,\n\t\t\t\tisNewGQL: true,\n\t\t\t})) as Result<FilterData, string>;\n\n\t\t\tif (!cancelRequestActions) {\n\t\t\t\tif (isErr(queryResponse)) {\n\t\t\t\t\tsetData({\n\t\t\t\t\t\ttag: 'Failure',\n\t\t\t\t\t\tvalue: queryResponse.error,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tsetData({\n\t\t\t\t\t\ttag: 'Loaded',\n\t\t\t\t\t\tvalue: queryResponse.value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfetchFilters();\n\n\t\treturn () => {\n\t\t\tcancelRequestActions = true;\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn {\n\t\tdata,\n\t\tisLoading: data.tag === 'Loading',\n\t};\n};\n"],"names":["query","useGetFilters","noCache","auth","useAuth","data","setData","useState","useEffect","cancelRequestActions","previousData","queryResponse","fetchWithGraphql","isErr"],"mappings":";;;;AAQO,MAAMA,IAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoCRC,IAAgB,CAACC,IAAU,OAA0D;AACjG,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAMC,CAAO,IAAIC,EAA2B,EAAE,KAAK,WAAW,OAAO,MAAM;AAElF,SAAAC,EAAU,MAAM;AACf,QAAIC,IAAuB;AA8B3B,YA5BqB,YAAY;AAChC,MAAAH,EAAQ,CAACI,OAAkB;AAAA,QAC1B,KAAK;AAAA,QACL,OAAOA,EAAa,QAAQ,YAAY,OAAOA,EAAa;AAAA,MAAA,EAC3D;AAEF,YAAMC,IAAiB,MAAMC,EAAiB;AAAA,QAC7C,OAAAZ;AAAA,QACA,MAAAG;AAAA,QACA,SAAAD;AAAA,QACA,UAAU;AAAA,MAAA,CACV;AAED,MAAKO,MACAI,EAAMF,CAAa,IACtBL,EAAQ;AAAA,QACP,KAAK;AAAA,QACL,OAAOK,EAAc;AAAA,MAAA,CACrB,IAEDL,EAAQ;AAAA,QACP,KAAK;AAAA,QACL,OAAOK,EAAc;AAAA,MAAA,CACrB;AAAA,IAGJ,GAEA,GAEO,MAAM;AACZ,MAAAF,IAAuB;AAAA,IACxB;AAAA,EAED,GAAG,CAAA,CAAE,GAEE;AAAA,IACN,MAAAJ;AAAA,IACA,WAAWA,EAAK,QAAQ;AAAA,EAAA;AAE1B;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getLimitedUseThumbnails.js","sources":["../../src/utils/getLimitedUseThumbnails.ts"],"sourcesContent":["import { Asset } from '@src/views/asset/asset.type';\n\nconst fetchThumbnailWithAuth = async (url: string, token: string): Promise<string> => {\n\tconst response = await fetch(url, {\n\t\theaders: { Authorization: `Bearer ${token}` },\n\t});\n\n\tif (!response.ok) throw new Error('Failed to fetch thumbnail');\n\n\tconst blob = await response.blob();\n\n\treturn URL.createObjectURL(blob);\n};\n\nexport const processAssetsWithLimitedUseFlag = (\n\tassets: Asset[],\n\ttoken?: string,\n): Promise<Asset[]> => {\n\tif (!token) {\n\t\treturn Promise.resolve(assets);\n\t}\n\n\treturn Promise.all(\n\t\tassets.map(async (asset) => {\n\t\t\tif (asset.isLimitedUse && asset.derivatives?.thumbnail) {\n\t\t\t\tconst newUrl = await fetchThumbnailWithAuth(asset.derivatives.thumbnail, token);\n\n\t\t\t\treturn {\n\t\t\t\t\t...asset,\n\t\t\t\t\tderivatives: {\n\t\t\t\t\t\t...asset.derivatives,\n\t\t\t\t\t\tthumbnail: newUrl,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn asset;\n\t\t}),\n\t);\n};\n"],"names":["fetchThumbnailWithAuth","url","token","response","blob","processAssetsWithLimitedUseFlag","assets","asset","newUrl"],"mappings":"AAEA,MAAMA,IAAyB,OAAOC,GAAaC,MAAmC;AACrF,QAAMC,IAAW,MAAM,MAAMF,GAAK;AAAA,IACjC,SAAS,EAAE,eAAe,UAAUC,CAAK,GAAA;AAAA,EAAG,CAC5C;AAED,MAAI,CAACC,EAAS,GAAI,OAAM,IAAI,MAAM,2BAA2B;AAE7D,QAAMC,IAAO,MAAMD,EAAS,KAAA;AAE5B,SAAO,IAAI,gBAAgBC,CAAI;AAChC,GAEaC,IAAkC,CAC9CC,GACAJ,MAEKA,IAIE,QAAQ;AAAA,EACdI,EAAO,IAAI,OAAOC,MAAU;AAC3B,QAAIA,EAAM,gBAAgBA,EAAM,aAAa,WAAW;AACvD,YAAMC,IAAS,MAAMR,EAAuBO,EAAM,YAAY,WAAWL,CAAK;AAE9E,aAAO;AAAA,QACN,GAAGK;AAAA,QACH,aAAa;AAAA,UACZ,GAAGA,EAAM;AAAA,UACT,WAAWC;AAAA,QAAA;AAAA,MACZ;AAAA,IAEF;AAEA,WAAOD;AAAA,EACR,CAAC;AAAA,IAlBM,QAAQ,QAAQD,CAAM;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSimilarityAssets.js","sources":["../../src/api/getSimilarityAssets.ts"],"sourcesContent":["import { useState } from 'react';\nimport { isErr, Ok, Result } from '@src/auth/result.type';\nimport { useAuth } from '@src/login/LoginContext';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { fetchWithGraphql } from '.';\nimport { Assets, GraphqlResponse } from './filterAssets';\nimport { Connection, Data } from './graphql.types';\nimport { AuthInformationState } from '../auth/useAuthInformation';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\n\ninterface SimilarityGraphqlResponse {\n\tsimilaritySearch: { assets: Assets };\n}\n\ntype GetSimilarityAssetsArgs = {\n\tassetIds?: string[];\n\ttextQuery?: string;\n\tauth: AuthInformationState | null;\n\tnoCache?: boolean;\n\tlanguage: string;\n};\n\nexport type useSimilaritySearchInterface = {\n\tsearch: (\n\t\tassetIds?: string[],\n\t\ttextQuery?: string,\n\t\tafter?: string,\n\t) => Promise<boolean | undefined>;\n\tresetData: () => void;\n\tconnection: Connection<GraphqlResponse>;\n};\n\nexport function normalizeSimilarityResponse(response: SimilarityGraphqlResponse): GraphqlResponse {\n\treturn {\n\t\tsearchAssets: {\n\t\t\tassets: response.similaritySearch.assets,\n\t\t},\n\t};\n}\n\nconst query = `\nquery QueriesIO($assetIds: [String!], $textQuery: String, $language: String) {\n similaritySearch(assetIds: $assetIds, textQuery: $textQuery) {\n\t\tassets {\n nodes {\n id\n __typename\n name\n extensions\n url\n derivatives {\n thumbnail\n }\n files\n isArchived\n isLimitedUse\n isWatermarked\n\t\t\t\tsimilarityScore\n metaproperties {\n nodes {\n options {\n label(language: $language)\n assetCount\n id\n }\n id\n label(language: $language)\n zIndex\n showInGridView,\n showInListView\n }\n },\n textMetaproperties {\n name\n label\n showInGridView\n showInListView\n value\n zIndex\n type\n }\n },\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n}`;\n\nexport function useSimilarityAssets(): useSimilaritySearchInterface {\n\tconst auth = useAuth();\n\tconst { language } = useConfig();\n\tconst { similarityAssetsData, setSimilarityAssetsData, updateSimilarityAssetsData } =\n\t\tuseSimilaritySearchStore();\n\n\tconst [selectedItems, setSelectedItems] = useState<string[] | undefined>(undefined);\n\tconst [nlTextQuery, setNlTextQuery] = useState<string | undefined>(undefined);\n\n\tconst search = async (assetIds?: string[], textQuery?: string, after?: string) => {\n\t\tupdateSimilarityAssetsData((previousData) => ({\n\t\t\ttag: 'Loading',\n\t\t\tvalue: previousData.tag === 'Failure' ? null : previousData.value,\n\t\t}));\n\n\t\tif (assetIds) {\n\t\t\tsetSelectedItems(assetIds);\n\t\t}\n\n\t\tif (textQuery) {\n\t\t\tsetNlTextQuery(textQuery);\n\t\t}\n\n\t\tconst response = await getSimilarityAssets({\n\t\t\tassetIds,\n\t\t\ttextQuery,\n\t\t\tlanguage,\n\t\t\tauth,\n\t\t\tnoCache: false,\n\t\t});\n\n\t\tif (isErr(response)) {\n\t\t\tsetSimilarityAssetsData({ tag: 'Failure', value: response.error });\n\t\t} else {\n\t\t\tif (!response.value.similaritySearch) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsetOkStatus(response, after);\n\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst resetData = () => {\n\t\tsetSimilarityAssetsData({ tag: 'Loading', value: null });\n\t};\n\n\tconst setOkStatus = (queryResponse: Ok<SimilarityGraphqlResponse>, after?: string) => {\n\t\tif (!getAssets(similarityAssetsData) || !after) {\n\t\t\tsetSimilarityAssetsData({\n\t\t\t\ttag: 'Loaded',\n\t\t\t\tvalue: normalizeSimilarityResponse(queryResponse.value),\n\t\t\t});\n\t\t} else {\n\t\t\tupdateSimilarityAssetsData((prev) => {\n\t\t\t\tconst prevNodes = getAssets(prev)?.nodes ?? [];\n\t\t\t\tconst normalizedResponse = normalizeSimilarityResponse(queryResponse.value);\n\n\t\t\t\treturn {\n\t\t\t\t\ttag: 'Loaded',\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\tsearchAssets: {\n\t\t\t\t\t\t\tassets: {\n\t\t\t\t\t\t\t\t...normalizedResponse.searchAssets.assets,\n\t\t\t\t\t\t\t\tnodes: [\n\t\t\t\t\t\t\t\t\t...prevNodes,\n\t\t\t\t\t\t\t\t\t...normalizedResponse.searchAssets.assets.nodes,\n\t\t\t\t\t\t\t\t],\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};\n\t\t\t});\n\t\t}\n\t};\n\n\treturn {\n\t\tsearch,\n\t\tresetData,\n\t\tconnection: {\n\t\t\tdata: similarityAssetsData,\n\t\t\texecuteQuery: () => search(selectedItems),\n\t\t\tisLoading: !similarityAssetsData || similarityAssetsData.tag === 'Loading',\n\t\t\tloadMore: () =>\n\t\t\t\tsearch(\n\t\t\t\t\tselectedItems,\n\t\t\t\t\tnlTextQuery,\n\t\t\t\t\tgetAssets(similarityAssetsData)?.pageInfo.endCursor,\n\t\t\t\t),\n\t\t\thasNextPage: !!getAssets(similarityAssetsData)?.pageInfo.hasNextPage,\n\t\t},\n\t};\n}\n\nexport const getSimilarityAssets = ({\n\tassetIds,\n\ttextQuery,\n\tauth,\n\tnoCache,\n\tlanguage,\n}: GetSimilarityAssetsArgs): Promise<Result<SimilarityGraphqlResponse, string>> => {\n\tconst variables = {\n\t\tassetIds,\n\t\ttextQuery,\n\t\tlanguage,\n\t};\n\n\treturn fetchWithGraphql({ query, variables, auth, noCache, isNewGQL: true }) as Promise<\n\t\tResult<SimilarityGraphqlResponse, string>\n\t>;\n};\n\nconst getAssets = (\n\tdata: Data<GraphqlResponse>,\n\tpreviousData?: Data<GraphqlResponse>,\n): Assets | undefined => {\n\tconst assetData = previousData ?? data;\n\n\tif (assetData.tag === 'Failure') {\n\t\treturn undefined;\n\t}\n\n\treturn assetData.value?.searchAssets.assets;\n};\n"],"names":["normalizeSimilarityResponse","response","query","useSimilarityAssets","auth","useAuth","language","useConfig","similarityAssetsData","setSimilarityAssetsData","updateSimilarityAssetsData","useSimilaritySearchStore","selectedItems","setSelectedItems","useState","nlTextQuery","setNlTextQuery","search","assetIds","textQuery","after","previousData","getSimilarityAssets","isErr","setOkStatus","resetData","queryResponse","getAssets","prev","prevNodes","normalizedResponse","noCache","fetchWithGraphql","data","assetData"],"mappings":";;;;;;AAgCO,SAASA,EAA4BC,GAAsD;AACjG,SAAO;AAAA,IACN,cAAc;AAAA,MACb,QAAQA,EAAS,iBAAiB;AAAA,IAAA;AAAA,EACnC;AAEF;AAEA,MAAMC,IAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmDP,SAASC,IAAoD;AACnE,QAAMC,IAAOC,EAAA,GACP,EAAE,UAAAC,EAAA,IAAaC,EAAA,GACf,EAAE,sBAAAC,GAAsB,yBAAAC,GAAyB,4BAAAC,EAAA,IACtDC,EAAA,GAEK,CAACC,GAAeC,CAAgB,IAAIC,EAA+B,MAAS,GAC5E,CAACC,GAAaC,CAAc,IAAIF,EAA6B,MAAS,GAEtEG,IAAS,OAAOC,GAAqBC,GAAoBC,MAAmB;AACjF,IAAAV,EAA2B,CAACW,OAAkB;AAAA,MAC7C,KAAK;AAAA,MACL,OAAOA,EAAa,QAAQ,YAAY,OAAOA,EAAa;AAAA,IAAA,EAC3D,GAEEH,KACHL,EAAiBK,CAAQ,GAGtBC,KACHH,EAAeG,CAAS;AAGzB,UAAMlB,IAAW,MAAMqB,EAAoB;AAAA,MAC1C,UAAAJ;AAAA,MACA,WAAAC;AAAA,MACA,UAAAb;AAAA,MACA,MAAAF;AAAA,MACA,SAAS;AAAA,IAAA,CACT;AAED,QAAImB,EAAMtB,CAAQ;AACjB,MAAAQ,EAAwB,EAAE,KAAK,WAAW,OAAOR,EAAS,OAAO;AAAA;AAEjE,aAAKA,EAAS,MAAM,oBAIpBuB,EAAYvB,GAAUmB,CAAK,GAEpB,MALC;AAAA,EAOV,GAEMK,IAAY,MAAM;AACvB,IAAAhB,EAAwB,EAAE,KAAK,WAAW,OAAO,MAAM;AAAA,EACxD,GAEMe,IAAc,CAACE,GAA8CN,MAAmB;AACrF,IAAI,CAACO,EAAUnB,CAAoB,KAAK,CAACY,IACxCX,EAAwB;AAAA,MACvB,KAAK;AAAA,MACL,OAAOT,EAA4B0B,EAAc,KAAK;AAAA,IAAA,CACtD,IAEDhB,EAA2B,CAACkB,MAAS;AACpC,YAAMC,IAAYF,EAAUC,CAAI,GAAG,SAAS,CAAA,GACtCE,IAAqB9B,EAA4B0B,EAAc,KAAK;AAE1E,aAAO;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,UACN,cAAc;AAAA,YACb,QAAQ;AAAA,cACP,GAAGI,EAAmB,aAAa;AAAA,cACnC,OAAO;AAAA,gBACN,GAAGD;AAAA,gBACH,GAAGC,EAAmB,aAAa,OAAO;AAAA,cAAA;AAAA,YAC3C;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IAEF,CAAC;AAAA,EAEH;AAEA,SAAO;AAAA,IACN,QAAAb;AAAA,IACA,WAAAQ;AAAA,IACA,YAAY;AAAA,MACX,MAAMjB;AAAA,MACN,cAAc,MAAMS,EAAOL,CAAa;AAAA,MACxC,WAAW,CAACJ,KAAwBA,EAAqB,QAAQ;AAAA,MACjE,UAAU,MACTS;AAAA,QACCL;AAAA,QACAG;AAAA,QACAY,EAAUnB,CAAoB,GAAG,SAAS;AAAA,MAAA;AAAA,MAE5C,aAAa,CAAC,CAACmB,EAAUnB,CAAoB,GAAG,SAAS;AAAA,IAAA;AAAA,EAC1D;AAEF;AAEO,MAAMc,IAAsB,CAAC;AAAA,EACnC,UAAAJ;AAAA,EACA,WAAAC;AAAA,EACA,MAAAf;AAAA,EACA,SAAA2B;AAAA,EACA,UAAAzB;AACD,MAOQ0B,EAAiB,EAAE,OAAA9B,GAAO,WANf;AAAA,EACjB,UAAAgB;AAAA,EACA,WAAAC;AAAA,EACA,UAAAb;AAAA,GAG2C,MAAAF,GAAM,SAAA2B,GAAS,UAAU,IAAM,GAKtEJ,IAAY,CACjBM,GACAZ,MACwB;AACxB,QAAMa,IAA4BD;AAElC,MAAIC,EAAU,QAAQ;AAItB,WAAOA,EAAU,OAAO,aAAa;AACtC;"}
|
package/handlers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sources":["../../src/api/rest/handlers.ts"],"sourcesContent":["export const handlers = {\n\tsmartfilters: '/api/v4/smartfilters',\n\tmetaproperties: '/api/v4/metaproperties',\n\tautocomplete: '/api/v4/filters/autocompleteMetaPropertyOptions',\n\toptions: (id: string) => `/api/v4/metaproperties/${id}/options/`,\n\tmetapropertiesWithOptions: (smartfilterId: string, metapropertyId: string) =>\n\t\t`/api/v4/filters/${smartfilterId}/metaproperties/${metapropertyId}`,\n};\n"],"names":["handlers"],"mappings":"AAAO,MAAMA,IAAW;AAAA,EAGvB,cAAc;AAIf;"}
|
package/helpers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../src/accesibility/helpers.ts"],"sourcesContent":["export function handleEnter(e: React.KeyboardEvent<Element>, fn?: (e?) => void) {\n\tif (fn && e.key === 'Enter') {\n\t\te.preventDefault();\n\t\tfn(e);\n\t}\n}\n\nexport function handleSpace(e: React.KeyboardEvent<Element>, fn?: (e?) => void) {\n\tif (fn && e.key === ' ') {\n\t\te.preventDefault();\n\t\tfn(e);\n\t}\n}\n"],"names":["handleEnter","fn"],"mappings":"AAAO,SAASA,EAAY,GAAiCC,GAAmB;AAC/E,EAAIA,KAAM,EAAE,QAAQ,YACnB,EAAE,eAAA,GACFA,EAAG,CAAC;AAEN;"}
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/index2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":["../../src/localization/index.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nexport function __(key: string): string {\n\treturn dictionary[key] ?? key;\n}\n\nlet dictionary: Record<string, string> = {};\n\nexport function useLocalization(locale: string) {\n\tuseEffect(() => {\n\t\tconst languageKey = locale.slice(0, 2).toLowerCase();\n\t\t// The i18n folder is dpeloyed to this url\n\t\tconst localisationUrl = `${process.env.COMPACT_VIEW_CLOUDFRONT_URL}/5.0.5/modules/compactview/i18n/${languageKey}.json`;\n\n\t\tfetch(localisationUrl)\n\t\t\t.then((response) => response.json())\n\t\t\t.then((localisationData) => {\n\t\t\t\tdictionary = localisationData;\n\t\t\t});\n\t}, [locale]);\n}\n"],"names":["__","key","dictionary","useLocalization","locale","useEffect","localisationUrl","response","localisationData"],"mappings":";AAEO,SAASA,EAAGC,GAAqB;AACvC,SAAOC,EAAWD,CAAG,KAAKA;AAC3B;AAEA,IAAIC,IAAqC,CAAA;AAElC,SAASC,EAAgBC,GAAgB;AAC/C,EAAAC,EAAU,MAAM;AAGf,UAAMC,IAAkB,uEAFJF,EAAO,MAAM,GAAG,CAAC,EAAE,YAAA,CAEyE;AAEhH,UAAME,CAAe,EACnB,KAAK,CAACC,MAAaA,EAAS,MAAM,EAClC,KAAK,CAACC,MAAqB;AAC3B,MAAAN,IAAaM;AAAA,IACd,CAAC;AAAA,EACH,GAAG,CAACJ,CAAM,CAAC;AACZ;"}
|
package/index3.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index3.js","sources":["../../src/api/index.ts"],"sourcesContent":["import { err, ok } from '@src/auth/result.type';\nimport { AuthInformationState } from '@src/auth/useAuthInformation';\nimport { ensureValidUrl } from '@src/utils/url';\nimport { normalizeAssetsResponse } from '@src/utils/normalizeResponse';\nimport { processAssetsWithLimitedUseFlag } from '@src/utils/getLimitedUseThumbnails';\nimport { Asset } from '@src/views/asset/asset.type';\n\ninterface AssetGroup {\n\tassets: {\n\t\tnodes: Asset[];\n\t\tpageInfo?: unknown;\n\t\ttotalCount?: number;\n\t};\n}\n\ninterface ResponseJson {\n\tdata: AssetGroup;\n\terrors: { message: string }[];\n}\n\nconst cache: Map<string, unknown> = new Map();\n\nexport async function fetchWithGraphql(options: {\n\tquery: string;\n\tvariables?: Record<string, unknown>;\n\tauth: AuthInformationState | null;\n\tnoCache?: boolean;\n\tisNewGQL?: boolean;\n}) {\n\tconst { query, variables, auth, noCache, isNewGQL } = options;\n\n\tif (!auth) return err('No authentication provided');\n\n\tconst accessToken = auth.getAccessToken?.();\n\n\tconst VERSION = process.env.BYNDER_UCV_VERSION;\n\n\tlet host =\n\t\tauth.accountDomain !== undefined\n\t\t\t? ensureValidUrl(auth.accountDomain.trim())\n\t\t\t: `https://${window.location.host}`;\n\n\t// For the sake of consistency, check if last char is a slash\n\t// and remove it\n\tif (host.charAt(host.length - 1) === '/') {\n\t\thost = host.slice(0, -1);\n\t}\n\n\tconst cacheKey = `${host}:${query}:${JSON.stringify(variables)}:${accessToken}`;\n\n\tif (cache.has(cacheKey) && !noCache) {\n\t\treturn ok(cache.get(cacheKey));\n\t}\n\n\tconst baseHeaders = {\n\t\tAccept: 'application/json',\n\t\t'Content-Type': 'application/json',\n\t\t// Custom header for UCV analytics tracking\n\t\t'X-Bynder-Integration': `UCV/v${VERSION}`,\n\t};\n\n\tconst headers =\n\t\taccessToken === undefined\n\t\t\t? baseHeaders\n\t\t\t: { ...baseHeaders, Authorization: `Bearer ${accessToken}` };\n\n\tconst fetchParameters = {\n\t\tmethod: 'post',\n\t\theaders,\n\t\tbody: JSON.stringify({ query, variables }),\n\t};\n\n\tlet json: ResponseJson;\n\tlet normalizedResponse;\n\n\tconst graphqlEndpoint = isNewGQL ? '/v7/api/graphql' : '/graphql';\n\n\ttry {\n\t\tconst response = await fetch(`${host}${graphqlEndpoint}`, fetchParameters);\n\t\tjson = await response.json();\n\n\t\tif (json.errors !== undefined) {\n\t\t\treturn err(json.errors.map((error) => error.message).join(','));\n\t\t}\n\n\t\tconst assetTypes = ['similaritySearch', 'searchAssets'] as const;\n\n\t\tawait Promise.all(\n\t\t\tassetTypes.map(async (type) => {\n\t\t\t\tconst assetGroup = json.data[type];\n\n\t\t\t\tif (assetGroup?.assets?.nodes) {\n\t\t\t\t\tconst nodes = assetGroup.assets.nodes;\n\t\t\t\t\tconst updatedNodes = await processAssetsWithLimitedUseFlag(nodes, accessToken);\n\n\t\t\t\t\tjson.data[type] = {\n\t\t\t\t\t\t...assetGroup,\n\t\t\t\t\t\tassets: {\n\t\t\t\t\t\t\t...assetGroup.assets,\n\t\t\t\t\t\t\tnodes: updatedNodes,\n\t\t\t\t\t\t\tpageInfo: assetGroup.assets.pageInfo,\n\t\t\t\t\t\t\ttotalCount: assetGroup.assets.totalCount,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\tnormalizedResponse = normalizeAssetsResponse(json.data);\n\t} catch (e) {\n\t\treturn err(e);\n\t}\n\n\tif (!noCache) {\n\t\tcache.set(cacheKey, normalizedResponse);\n\n\t\tif (cache.size > 50) {\n\t\t\t// Delete first item from cache to prevent\n\t\t\t// cache taking up too much memory.\n\t\t\tcache.delete(cache.keys().next().value);\n\t\t}\n\t}\n\n\treturn ok(normalizedResponse);\n}\n"],"names":["cache","fetchWithGraphql","options","query","variables","auth","noCache","isNewGQL","err","accessToken","VERSION","host","ensureValidUrl","cacheKey","ok","baseHeaders","fetchParameters","json","normalizedResponse","graphqlEndpoint","error","assetTypes","type","assetGroup","nodes","updatedNodes","processAssetsWithLimitedUseFlag","normalizeAssetsResponse","e"],"mappings":";;;;AAoBA,MAAMA,wBAAkC,IAAA;AAExC,eAAsBC,EAAiBC,GAMpC;AACF,QAAM,EAAE,OAAAC,GAAO,WAAAC,GAAW,MAAAC,GAAM,SAAAC,GAAS,UAAAC,MAAaL;AAEtD,MAAI,CAACG,EAAM,QAAOG,EAAI,4BAA4B;AAElD,QAAMC,IAAcJ,EAAK,iBAAA,GAEnBK,IAAU;AAEhB,MAAIC,IACHN,EAAK,kBAAkB,SACpBO,EAAeP,EAAK,cAAc,KAAA,CAAM,IACxC,WAAW,OAAO,SAAS,IAAI;AAInC,EAAIM,EAAK,OAAOA,EAAK,SAAS,CAAC,MAAM,QACpCA,IAAOA,EAAK,MAAM,GAAG,EAAE;AAGxB,QAAME,IAAW,GAAGF,CAAI,IAAIR,CAAK,IAAI,KAAK,UAAUC,CAAS,CAAC,IAAIK,CAAW;AAE7E,MAAIT,EAAM,IAAIa,CAAQ,KAAK,CAACP;AAC3B,WAAOQ,EAAGd,EAAM,IAAIa,CAAQ,CAAC;AAG9B,QAAME,IAAc;AAAA,IACnB,QAAQ;AAAA,IACR,gBAAgB;AAAA;AAAA,IAEhB,wBAAwB,QAAQL,CAAO;AAAA,EAAA,GAQlCM,IAAkB;AAAA,IACvB,QAAQ;AAAA,IACR,SANAP,MAAgB,SACbM,IACA,EAAE,GAAGA,GAAa,eAAe,UAAUN,CAAW,GAAA;AAAA,IAKzD,MAAM,KAAK,UAAU,EAAE,OAAAN,GAAO,WAAAC,GAAW;AAAA,EAAA;AAG1C,MAAIa,GACAC;AAEJ,QAAMC,IAAkBZ,IAAW,oBAAoB;AAEvD,MAAI;AAIH,QAFAU,IAAO,OADU,MAAM,MAAM,GAAGN,CAAI,GAAGQ,CAAe,IAAIH,CAAe,GACnD,KAAA,GAElBC,EAAK,WAAW;AACnB,aAAOT,EAAIS,EAAK,OAAO,IAAI,CAACG,MAAUA,EAAM,OAAO,EAAE,KAAK,GAAG,CAAC;AAG/D,UAAMC,IAAa,CAAC,oBAAoB,cAAc;AAEtD,UAAM,QAAQ;AAAA,MACbA,EAAW,IAAI,OAAOC,MAAS;AAC9B,cAAMC,IAAaN,EAAK,KAAKK,CAAI;AAEjC,YAAIC,GAAY,QAAQ,OAAO;AAC9B,gBAAMC,IAAQD,EAAW,OAAO,OAC1BE,IAAe,MAAMC,EAAgCF,GAAOf,CAAW;AAE7E,UAAAQ,EAAK,KAAKK,CAAI,IAAI;AAAA,YACjB,GAAGC;AAAA,YACH,QAAQ;AAAA,cACP,GAAGA,EAAW;AAAA,cACd,OAAOE;AAAA,cACP,UAAUF,EAAW,OAAO;AAAA,cAC5B,YAAYA,EAAW,OAAO;AAAA,YAAA;AAAA,UAC/B;AAAA,QAEF;AAAA,MACD,CAAC;AAAA,IAAA,GAGFL,IAAqBS,EAAwBV,EAAK,IAAI;AAAA,EACvD,SAASW,GAAG;AACX,WAAOpB,EAAIoB,CAAC;AAAA,EACb;AAEA,SAAKtB,MACJN,EAAM,IAAIa,GAAUK,CAAkB,GAElClB,EAAM,OAAO,MAGhBA,EAAM,OAAOA,EAAM,KAAA,EAAO,KAAA,EAAO,KAAK,IAIjCc,EAAGI,CAAkB;AAC7B;"}
|
package/index4.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index4.js","sources":["../../src/api/rest/index.ts"],"sourcesContent":["import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\n\nexport const onSuccess = <T>(response: AxiosResponse<T>) => response.data;\nexport const onError = (error: AxiosError) => {\n\tif (error.response) {\n\t\t// The request was made and the server responded with a status code\n\t\t// that falls out of the range of 2xx\n\t\tconst responseData = error.response.data as Record<'error' | string, unknown>;\n\n\t\tif (responseData?.error) {\n\t\t\tthrow responseData.error;\n\t\t}\n\n\t\tthrow responseData;\n\t} else if (error.request) {\n\t\t// The request was made but no response was received\n\t\t// `error.request` is aninstance of XMLHttpRequest\n\t\tthrow new Error('Server is not responding, please try again');\n\t}\n\n\t// Something happened in setting up the request that triggered an Error\n\tthrow error.message;\n};\n\nconst apiClient = axios.create({\n\ttimeout: 10000,\n\theaders: {\n\t\tAccept: 'application/json',\n\t\t'Content-Type': 'application/json',\n\t},\n});\n\nconst getRequest = async <T>(endpoint: string, params?: AxiosRequestConfig): Promise<T> => {\n\ttry {\n\t\tconst response = await apiClient.get(endpoint, params);\n\n\t\treturn onSuccess(response);\n\t} catch (error) {\n\t\tconsole.error('GET request error:', error);\n\t\tthrow error;\n\t}\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst postRequest = async <T>(\n\tendpoint: string,\n\tdata: unknown,\n\tconfig?: AxiosRequestConfig,\n): Promise<T> => {\n\ttry {\n\t\tconst response = await apiClient.post(endpoint, data, config);\n\n\t\treturn onSuccess(response);\n\t} catch (error) {\n\t\tconsole.error('POST request error:', error);\n\t\tthrow error;\n\t}\n};\n\nexport { getRequest, postRequest };\n"],"names":["onSuccess","response","apiClient","axios","getRequest","endpoint","params","error"],"mappings":";AAEO,MAAMA,IAAY,CAAIC,MAA+BA,EAAS,MAsB/DC,IAAYC,EAAM,OAAO;AAAA,EAC9B,SAAS;AAAA,EACT,SAAS;AAAA,IACR,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAAA;AAElB,CAAC,GAEKC,IAAa,OAAUC,GAAkBC,MAA4C;AAC1F,MAAI;AACH,UAAML,IAAW,MAAMC,EAAU,IAAIG,GAAUC,CAAM;AAErD,WAAON,EAAUC,CAAQ;AAAA,EAC1B,SAASM,GAAO;AACf,kBAAQ,MAAM,sBAAsBA,CAAK,GACnCA;AAAA,EACP;AACD;"}
|
package/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sources":["../../src/utils/logger.ts"],"sourcesContent":["/* This module is a wrapper around the console error function.\n *\n * Why is this wrapper needed?\n *\n * There are times when the compact view prints errors to the console intentionally\n * when expected errors occur, For example, if incorrect configuration options are\n * passed to the compact view. We don't want these expected errors to appear in the\n * Jest test runner output, and we also want to be able to make assertions in the\n * tests that the correct messages were printed. However, mocking console.error\n * directly interferes with other errors that we might want to see in our Jest test\n * runner if actual, unexpected errors occur. By having a separate module for\n * expected error logging, this module can be mocked while console.error is left to\n * its default implementation.\n */\n\nexport const logger = {\n\terror: console.error,\n};\n"],"names":["logger"],"mappings":"AAeO,MAAMA,IAAS;AAAA,EACrB,OAAO,QAAQ;AAChB;"}
|
package/loginwindow.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loginwindow.js","sources":["../../src/auth/loginwindow.ts"],"sourcesContent":["import { redirectOrigin } from './oauth2';\nimport { err, Err, isErr, ok, Ok, Result } from './result.type';\n\ninterface LoginWindowResponse {\n\tstate: string | null;\n\tcode: string | null;\n}\n\nexport async function waitForAuthorizationFromLoginWindow(\n\turl: string,\n): Promise<Result<LoginWindowResponse, string>> {\n\tconst screen = window.screen;\n\tconst width = 570;\n\tconst height = 700;\n\n\tconst popupLeft = screen.width / 2 - width / 2 + window.screenX;\n\tconst popupTop = screen.height / 2 - height / 2 + window.screenY;\n\n\tconst loginWindow = window.open(\n\t\t'',\n\t\t'Bynder Brand Portal',\n\t\t`height=${height},width=${width},left=${popupLeft},top=${popupTop}`,\n\t);\n\n\tif (loginWindow === null) {\n\t\treturn err('Error opening login window');\n\t}\n\n\tloginWindow.document.head.innerHTML = redirectingPageHeadHtml;\n\tloginWindow.document.body.innerHTML = redirectingPageBodyHtml;\n\tloginWindow.location.href = url;\n\n\tconst result = await Promise.race([\n\t\twaitForMessage(),\n\t\twaitForTimeout(),\n\t\twaitForWindowToClose(loginWindow),\n\t]);\n\n\tif (isErr(result)) {\n\t\treturn result;\n\t}\n\n\tconst queryParameters = new URLSearchParams(result.value.data);\n\n\treturn ok({\n\t\tstate: queryParameters.get('state'),\n\t\tcode: queryParameters.get('code'),\n\t});\n}\n\nfunction waitForMessage(): Promise<Ok<MessageEvent>> {\n\treturn new Promise((resolve) => {\n\t\twindow.addEventListener('message', (message) => {\n\t\t\t/* There can be message events which aren't directly from the OAuth process.\n\t\t\t * Checking for the correct 'origin' property lets us ignore other events that\n\t\t\t * this listener catches.\n\t\t\t *\n\t\t\t * For example, React Dev Tools will emit message events, but we don't want the\n\t\t\t * promise to resolve for these events.\n\t\t\t */\n\t\t\tif (message.origin === redirectOrigin) {\n\t\t\t\tresolve(ok(message));\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction waitForTimeout(): Promise<Err<'Timeout'>> {\n\treturn new Promise((resolve) => {\n\t\tsetTimeout(() => resolve(err('Timeout')), 600000);\n\t});\n}\n\nfunction waitForWindowToClose(targetWindow: Window): Promise<Err<'Login window closed'>> {\n\treturn new Promise((resolve) => {\n\t\tfunction resolveIfClosed() {\n\t\t\tif (targetWindow.closed) {\n\t\t\t\tclearInterval(interval);\n\t\t\t\tresolve(err('Login window closed'));\n\t\t\t}\n\t\t}\n\n\t\tconst interval = setInterval(resolveIfClosed, 1000);\n\t});\n}\n\nconst redirectingPageHeadHtml = `\n<title>Redirecting...</title>\n<style>\n @keyframes cv-spinner-animation {\n to {\n transform:rotate(1turn)\n }\n }\n\n .cv-spinner {\n position: relative;\n display: inline-block;\n padding: 175px 0 100px;\n width: 100%;\n height: auto;\n background: #fff;\n box-sizing: border-box;\n }\n \n .cv-spinner:before {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 40px;\n height: 40px;\n margin-top: -20px;\n margin-left: -20px;\n box-sizing: border-box;\n border-top: 3px solid #7e8890;\n border-right: 3px solid transparent;\n border-radius: 50%;\n content: \"\";\n animation: cv-spinner-animation .8s linear infinite;\n z-index: 3;\n }\n</style>`;\n\nconst redirectingPageBodyHtml = '<div class=\"cv-spinner\"></div>';\n"],"names":["waitForAuthorizationFromLoginWindow","url","screen","width","height","popupLeft","popupTop","loginWindow","err","redirectingPageHeadHtml","redirectingPageBodyHtml","result","waitForMessage","waitForTimeout","waitForWindowToClose","isErr","queryParameters","ok","resolve","message","redirectOrigin","targetWindow","resolveIfClosed","interval"],"mappings":";;AAQA,eAAsBA,EACrBC,GAC+C;AAC/C,QAAMC,IAAS,OAAO,QAChBC,IAAQ,KACRC,IAAS,KAETC,IAAYH,EAAO,QAAQ,IAAIC,IAAQ,IAAI,OAAO,SAClDG,IAAWJ,EAAO,SAAS,IAAIE,IAAS,IAAI,OAAO,SAEnDG,IAAc,OAAO;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,UAAUH,CAAM,UAAUD,CAAK,SAASE,CAAS,QAAQC,CAAQ;AAAA,EAAA;AAGlE,MAAIC,MAAgB;AACnB,WAAOC,EAAI,4BAA4B;AAGxC,EAAAD,EAAY,SAAS,KAAK,YAAYE,GACtCF,EAAY,SAAS,KAAK,YAAYG,GACtCH,EAAY,SAAS,OAAON;AAE5B,QAAMU,IAAS,MAAM,QAAQ,KAAK;AAAA,IACjCC,EAAA;AAAA,IACAC,EAAA;AAAA,IACAC,EAAqBP,CAAW;AAAA,EAAA,CAChC;AAED,MAAIQ,EAAMJ,CAAM;AACf,WAAOA;AAGR,QAAMK,IAAkB,IAAI,gBAAgBL,EAAO,MAAM,IAAI;AAE7D,SAAOM,EAAG;AAAA,IACT,OAAOD,EAAgB,IAAI,OAAO;AAAA,IAClC,MAAMA,EAAgB,IAAI,MAAM;AAAA,EAAA,CAChC;AACF;AAEA,SAASJ,IAA4C;AACpD,SAAO,IAAI,QAAQ,CAACM,MAAY;AAC/B,WAAO,iBAAiB,WAAW,CAACC,MAAY;AAQ/C,MAAIA,EAAQ,WAAWC,KACtBF,EAAQD,EAAGE,CAAO,CAAC;AAAA,IAErB,CAAC;AAAA,EACF,CAAC;AACF;AAEA,SAASN,IAA0C;AAClD,SAAO,IAAI,QAAQ,CAACK,MAAY;AAC/B,eAAW,MAAMA,EAAQV,EAAI,SAAS,CAAC,GAAG,GAAM;AAAA,EACjD,CAAC;AACF;AAEA,SAASM,EAAqBO,GAA2D;AACxF,SAAO,IAAI,QAAQ,CAACH,MAAY;AAC/B,aAASI,IAAkB;AAC1B,MAAID,EAAa,WAChB,cAAcE,CAAQ,GACtBL,EAAQV,EAAI,qBAAqB,CAAC;AAAA,IAEpC;AAEA,UAAMe,IAAW,YAAYD,GAAiB,GAAI;AAAA,EACnD,CAAC;AACF;AAEA,MAAMb,IAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAqC1BC,IAA0B;"}
|
package/normalizeResponse.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeResponse.js","sources":["../../src/utils/normalizeResponse.ts"],"sourcesContent":["import { WEBDAM_TRANSFORM_BASE_URL_NAME, BYNDER_TRANSFORM_BASE_URL_NAME } from '@src/constants';\n\nimport { File } from '@src/select/file.type';\n\nexport function normalizeFilesResponse(files: Record<string, File>): Record<string, File> {\n\tif (files[WEBDAM_TRANSFORM_BASE_URL_NAME]) {\n\t\tconst { [WEBDAM_TRANSFORM_BASE_URL_NAME]: prevTransformFiles, ...restFiles } = files;\n\n\t\treturn { ...restFiles, [BYNDER_TRANSFORM_BASE_URL_NAME]: { ...prevTransformFiles } };\n\t}\n\n\treturn files;\n}\n\nexport function normalizeAssetsResponse(response) {\n\tif (!response?.searchAssets?.assets?.nodes.length) {\n\t\treturn response;\n\t}\n\n\treturn {\n\t\t...response,\n\t\tsearchAssets: {\n\t\t\t...response.searchAssets,\n\t\t\tassets: {\n\t\t\t\t...response.searchAssets.assets,\n\t\t\t\tnodes: response.searchAssets?.assets?.nodes.map((el) => {\n\t\t\t\t\tif (el.files) {\n\t\t\t\t\t\tconst normalizedFiles = normalizeFilesResponse(el.files);\n\n\t\t\t\t\t\treturn { ...el, files: { ...normalizedFiles } };\n\t\t\t\t\t}\n\n\t\t\t\t\treturn el;\n\t\t\t\t}),\n\t\t\t},\n\t\t},\n\t};\n}\n"],"names":["normalizeFilesResponse","files","WEBDAM_TRANSFORM_BASE_URL_NAME","prevTransformFiles","restFiles","BYNDER_TRANSFORM_BASE_URL_NAME","normalizeAssetsResponse","response","el","normalizedFiles"],"mappings":";AAIO,SAASA,EAAuBC,GAAmD;AACzF,MAAIA,EAAMC,CAA8B,GAAG;AAC1C,UAAM,EAAE,CAACA,CAA8B,GAAGC,GAAoB,GAAGC,MAAcH;AAE/E,WAAO,EAAE,GAAGG,GAAW,CAACC,CAA8B,GAAG,EAAE,GAAGF,EAAA,EAAmB;AAAA,EAClF;AAEA,SAAOF;AACR;AAEO,SAASK,EAAwBC,GAAU;AACjD,SAAKA,GAAU,cAAc,QAAQ,MAAM,SAIpC;AAAA,IACN,GAAGA;AAAA,IACH,cAAc;AAAA,MACb,GAAGA,EAAS;AAAA,MACZ,QAAQ;AAAA,QACP,GAAGA,EAAS,aAAa;AAAA,QACzB,OAAOA,EAAS,cAAc,QAAQ,MAAM,IAAI,CAACC,MAAO;AACvD,cAAIA,EAAG,OAAO;AACb,kBAAMC,IAAkBT,EAAuBQ,EAAG,KAAK;AAEvD,mBAAO,EAAE,GAAGA,GAAI,OAAO,EAAE,GAAGC,IAAgB;AAAA,UAC7C;AAEA,iBAAOD;AAAA,QACR,CAAC;AAAA,MAAA;AAAA,IACF;AAAA,EACD,IAnBOD;AAqBT;"}
|
package/oauth2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.js","sources":["../../src/auth/oauth2.ts"],"sourcesContent":["import { ensureValidUrl } from '../utils/url';\nimport { err, ok, Result } from './result.type';\n\n/*\n Some info about the flow performed here:\n https://auth0.com/docs/api-auth/tutorials/authorization-code-grant-pkce\n https://developer.okta.com/blog/2019/05/01/is-the-oauth-implicit-flow-dead#begin-the-pkce-request\n https://tools.ietf.org/html/rfc7636#section-4.1\n */\n\nconst clientId = '42b1eefa-d754-4802-b9c4-bf80d6ab6052';\nconst authSvcPath = 'v6/authentication/oauth2/';\nexport const redirectOrigin = `${process.env.COMPACT_VIEW_CLOUDFRONT_URL}`;\n// The ./loginCompleted.html file is deployed to this url\nconst redirectUri = redirectOrigin + '/5.0.5/modules/compactview/loginCompleted.html';\nconst webdam_api_origin = `${process.env.WEBDAM_API_ORIGIN}/`;\nconst webdam_svc_path = 'oauth2/';\nconst scopes = ['offline', 'asset:read', 'collection:read', 'meta.assetbank:read'];\nexport type AuthPlatform = 'bynder' | 'webdam' | 'invalid';\n\nexport function makeAuthorizeRequestUrl(\n\tcodeChallenge: string,\n\tstate: string,\n\taccountDomain: string,\n) {\n\tconst params: Record<string, string> = {\n\t\tclient_id: clientId,\n\t\tcode_challenge: codeChallenge,\n\t\tcode_challenge_method: 'S256',\n\t\tredirect_uri: redirectUri,\n\t\tresponse_type: 'code',\n\t\tscope: scopes.join(' '),\n\t\tdomain: '',\n\t\tstate,\n\t};\n\tlet authEndpoint = 'auth?';\n\n\tif (getPlaformFromLocalStorage() === 'webdam') {\n\t\tauthEndpoint = 'authorize?';\n\t\t// Webdam Oauth currently does not support scopes\n\t\tdelete params.scope;\n\t\tparams.domain = accountDomain;\n\t}\n\n\tconst queryParams = new URLSearchParams(params);\n\n\treturn getAuthPathFromPlatform(accountDomain) + authEndpoint + queryParams;\n}\n\ninterface TokenRequest {\n\trefreshToken: string;\n\taccessToken: string;\n\texpiresIn: string;\n}\n\nexport async function postTokenRequest(\n\tcode: string,\n\tcode_verifier: string,\n\taccountDomain: string,\n): Promise<Result<TokenRequest, string>> {\n\tconst url = getAuthPathFromPlatform(accountDomain) + 'token';\n\n\tconst body = new URLSearchParams({\n\t\tclient_id: clientId,\n\t\tcode_verifier,\n\t\tcode,\n\t\tredirect_uri: redirectUri,\n\t\tgrant_type: 'authorization_code',\n\t});\n\n\ttry {\n\t\tconst response = await fetch(url, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\tAccept: 'application/json',\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n\t\t\t},\n\t\t\tbody,\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\treturn err(`Failed to fetch access token: ${response.status}`);\n\t\t}\n\n\t\tconst json = await response.json();\n\n\t\treturn ok({\n\t\t\trefreshToken: json.refresh_token,\n\t\t\taccessToken: json.access_token,\n\t\t\texpiresIn: json.expires_in,\n\t\t});\n\t} catch (e) {\n\t\treturn err(e.toString());\n\t}\n}\n\ninterface RefreshTokenRequest {\n\taccessToken: string;\n\texpiresIn: number;\n}\n\nexport async function postRefreshTokenRequest(\n\trefreshToken: string,\n\taccountDomain: string,\n): Promise<Result<RefreshTokenRequest, string>> {\n\tconst url = getAuthPathFromPlatform(accountDomain) + 'token';\n\n\tconst body = new URLSearchParams({\n\t\tclient_id: clientId,\n\t\trefresh_token: refreshToken,\n\t\tgrant_type: 'refresh_token',\n\t});\n\n\ttry {\n\t\tconst response = await fetch(url, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: {\n\t\t\t\tAccept: 'application/json',\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n\t\t\t},\n\t\t\tbody,\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\treturn err(`Failed to fetch refresh token: ${response.status}`);\n\t\t}\n\n\t\tconst json = await response.json();\n\n\t\treturn ok({\n\t\t\taccessToken: json.access_token,\n\t\t\texpiresIn: json.expires_in,\n\t\t});\n\t} catch (e) {\n\t\treturn err(e.toString());\n\t}\n}\n\nfunction getAuthPathFromPlatform(accountDomain: string): string {\n\treturn getPlaformFromLocalStorage() === 'webdam'\n\t\t? webdam_api_origin + webdam_svc_path\n\t\t: ensureValidUrl(accountDomain) + authSvcPath;\n}\n\nfunction getPlaformFromLocalStorage(): string | undefined {\n\treturn localStorage.getItem('cvp') ?? undefined;\n}\n"],"names":["clientId","authSvcPath","redirectOrigin","redirectUri","webdam_api_origin","webdam_svc_path","scopes","makeAuthorizeRequestUrl","codeChallenge","state","accountDomain","params","authEndpoint","getPlaformFromLocalStorage","queryParams","getAuthPathFromPlatform","postTokenRequest","code","code_verifier","url","body","response","err","json","ok","e","postRefreshTokenRequest","refreshToken","ensureValidUrl"],"mappings":";;AAUA,MAAMA,IAAW,wCACXC,IAAc,6BACPC,IAAiB,wCAExBC,IAAcD,IAAiB,kDAC/BE,IAAoB,+BACpBC,IAAkB,WAClBC,IAAS,CAAC,WAAW,cAAc,mBAAmB,qBAAqB;AAG1E,SAASC,EACfC,GACAC,GACAC,GACC;AACD,QAAMC,IAAiC;AAAA,IACtC,WAAWX;AAAA,IACX,gBAAgBQ;AAAA,IAChB,uBAAuB;AAAA,IACvB,cAAcL;AAAA,IACd,eAAe;AAAA,IACf,OAAOG,EAAO,KAAK,GAAG;AAAA,IACtB,QAAQ;AAAA,IACR,OAAAG;AAAA,EAAA;AAED,MAAIG,IAAe;AAEnB,EAAIC,EAAA,MAAiC,aACpCD,IAAe,cAEf,OAAOD,EAAO,OACdA,EAAO,SAASD;AAGjB,QAAMI,IAAc,IAAI,gBAAgBH,CAAM;AAE9C,SAAOI,EAAwBL,CAAa,IAAIE,IAAeE;AAChE;AAQA,eAAsBE,EACrBC,GACAC,GACAR,GACwC;AACxC,QAAMS,IAAMJ,EAAwBL,CAAa,IAAI,SAE/CU,IAAO,IAAI,gBAAgB;AAAA,IAChC,WAAWpB;AAAA,IACX,eAAAkB;AAAA,IACA,MAAAD;AAAA,IACA,cAAcd;AAAA,IACd,YAAY;AAAA,EAAA,CACZ;AAED,MAAI;AACH,UAAMkB,IAAW,MAAM,MAAMF,GAAK;AAAA,MACjC,QAAQ;AAAA,MACR,SAAS;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgB;AAAA,MAAA;AAAA,MAEjB,MAAAC;AAAA,IAAA,CACA;AAED,QAAI,CAACC,EAAS;AACb,aAAOC,EAAI,iCAAiCD,EAAS,MAAM,EAAE;AAG9D,UAAME,IAAO,MAAMF,EAAS,KAAA;AAE5B,WAAOG,EAAG;AAAA,MACT,cAAcD,EAAK;AAAA,MACnB,aAAaA,EAAK;AAAA,MAClB,WAAWA,EAAK;AAAA,IAAA,CAChB;AAAA,EACF,SAASE,GAAG;AACX,WAAOH,EAAIG,EAAE,UAAU;AAAA,EACxB;AACD;AAOA,eAAsBC,EACrBC,GACAjB,GAC+C;AAC/C,QAAMS,IAAMJ,EAAwBL,CAAa,IAAI,SAE/CU,IAAO,IAAI,gBAAgB;AAAA,IAChC,WAAWpB;AAAA,IACX,eAAe2B;AAAA,IACf,YAAY;AAAA,EAAA,CACZ;AAED,MAAI;AACH,UAAMN,IAAW,MAAM,MAAMF,GAAK;AAAA,MACjC,QAAQ;AAAA,MACR,SAAS;AAAA,QACR,QAAQ;AAAA,QACR,gBAAgB;AAAA,MAAA;AAAA,MAEjB,MAAAC;AAAA,IAAA,CACA;AAED,QAAI,CAACC,EAAS;AACb,aAAOC,EAAI,kCAAkCD,EAAS,MAAM,EAAE;AAG/D,UAAME,IAAO,MAAMF,EAAS,KAAA;AAE5B,WAAOG,EAAG;AAAA,MACT,aAAaD,EAAK;AAAA,MAClB,WAAWA,EAAK;AAAA,IAAA,CAChB;AAAA,EACF,SAAS,GAAG;AACX,WAAOD,EAAI,EAAE,UAAU;AAAA,EACxB;AACD;AAEA,SAASP,EAAwBL,GAA+B;AAC/D,SAAOG,QAAiC,WACrCT,IAAoBC,IACpBuB,EAAelB,CAAa,IAAIT;AACpC;AAEA,SAASY,IAAiD;AACzD,SAAO,aAAa,QAAQ,KAAK,KAAK;AACvC;"}
|
package/result.type.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"result.type.js","sources":["../../src/auth/result.type.ts"],"sourcesContent":["export type Ok<T> = {\n\ttag: 'ok';\n\tvalue: T;\n};\n\nexport interface Err<E> {\n\ttag: 'error';\n\terror: E;\n}\n\nexport type Result<T, E> = Ok<T> | Err<E>;\n\nexport function ok<T>(value: T): Ok<T> {\n\treturn {\n\t\ttag: 'ok',\n\t\tvalue,\n\t};\n}\n\nexport function err<E>(error: E): Err<E> {\n\treturn {\n\t\ttag: 'error',\n\t\terror,\n\t};\n}\n\nexport function isOk<T, E = unknown>(result: Result<T, E>): result is Ok<T> {\n\treturn result.tag === 'ok';\n}\n\nexport function isErr<E, T = unknown>(result: Result<T, E>): result is Err<E> {\n\treturn result.tag === 'error';\n}\n"],"names":["ok","value","err","error","isOk","result","isErr"],"mappings":"AAYO,SAASA,EAAMC,GAAiB;AACtC,SAAO;AAAA,IACN,KAAK;AAAA,IACL,OAAAA;AAAA,EAAA;AAEF;AAEO,SAASC,EAAOC,GAAkB;AACxC,SAAO;AAAA,IACN,KAAK;AAAA,IACL,OAAAA;AAAA,EAAA;AAEF;AAEO,SAASC,EAAqBC,GAAuC;AAC3E,SAAOA,EAAO,QAAQ;AACvB;AAEO,SAASC,EAAsBD,GAAwC;AAC7E,SAAOA,EAAO,QAAQ;AACvB;"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { Collection } from '../views/collection/collection.types';
|
|
3
|
-
type AssetsPage = 'assets';
|
|
4
|
-
type CollectionsPage = 'collections';
|
|
5
|
-
type CollectionPage = 'collection';
|
|
6
|
-
export type PageType = AssetsPage | CollectionsPage | CollectionPage;
|
|
7
|
-
type Page = {
|
|
8
|
-
page: AssetsPage;
|
|
9
|
-
} | {
|
|
10
|
-
page: CollectionsPage;
|
|
11
|
-
} | {
|
|
12
|
-
page: CollectionPage;
|
|
13
|
-
collection: Collection;
|
|
14
|
-
};
|
|
15
|
-
export declare function RouterProvider(props: {
|
|
16
|
-
children: React.ReactNode;
|
|
17
|
-
}): React.JSX.Element;
|
|
18
|
-
export declare function useRouter(): [Page, (page: Page) => void];
|
|
19
|
-
export {};
|
package/text.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sources":["../../src/utils/text.ts"],"sourcesContent":["export function pluralize(count: number, singular: string, plural: string) {\n\tconst noun = count === 1 ? singular : plural;\n\n\treturn noun.replace('{}', count.toString());\n}\n\nexport const nbsp = '\\u00a0';\n"],"names":["pluralize","count","singular","plural","nbsp"],"mappings":"AAAO,SAASA,EAAUC,GAAeC,GAAkBC,GAAgB;AAG1E,UAFaF,MAAU,IAAIC,IAAWC,GAE1B,QAAQ,MAAMF,EAAM,UAAU;AAC3C;AAEO,MAAMG,IAAO;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trimMetapropertyValue.js","sources":["../../src/utils/trimMetapropertyValue.ts"],"sourcesContent":["import { MAX_METAPROPERTY_LENGTH } from '@src/constants';\n\nexport const trimMetapropertyValue = (value: string) =>\n\tvalue.length <= 100 ? value : value.slice(0, MAX_METAPROPERTY_LENGTH) + '...';\n"],"names":["trimMetapropertyValue","value","MAX_METAPROPERTY_LENGTH"],"mappings":";AAEO,MAAMA,IAAwB,CAACC,MACrCA,EAAM,UAAU,MAAMA,IAAQA,EAAM,MAAM,GAAGC,CAAuB,IAAI;"}
|
package/url.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sources":["../../src/utils/url.ts"],"sourcesContent":["/**\n * Converts given string to an URL which starts with `https://` and ends with\n * a single trailing slash.\n *\n * @example\n * // Returns \"https://www.bynder.com/\"\n * ensureValidUrl(\"www.bynder.com\")\n *\n * @example\n * // Replaces http with https to return \"https://www.bynder.com/\"\n * ensureValidUrl(\"http://www.bynder.com/\")\n */\nexport function ensureValidUrl(url: string) {\n\tconst withoutProtocol = url.replace(/^https?:\\/\\//i, '');\n\tconst withoutTrailingSlashes = withoutProtocol.replace(/\\/+$/i, '');\n\n\treturn `https://${withoutTrailingSlashes}/`;\n}\n"],"names":["ensureValidUrl","url"],"mappings":"AAYO,SAASA,EAAeC,GAAa;AAI3C,SAAO,WAHiBA,EAAI,QAAQ,iBAAiB,EAAE,EACR,QAAQ,SAAS,EAAE,CAE1B;AACzC;"}
|
package/useAccountDomain.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAccountDomain.js","sources":["../../src/login/useAccountDomain.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { ensureValidUrl } from '../utils/url';\nimport { AuthPlatform } from '../auth/oauth2';\n\nexport type DomainStatus = 'empty' | 'validating' | 'valid' | 'invalid';\n\nexport function useAccountDomain(\n\tinitialUrl?: string | undefined,\n): [string, (domain: string) => void, DomainStatus] {\n\tconst [domain, setDomain] = useState(initialUrl ?? '');\n\tconst [status, setStatus] = useState<DomainStatus>(!initialUrl ? 'empty' : 'validating');\n\tconst debounceTimeoutId = useRef<ReturnType<typeof setTimeout>>();\n\n\tuseEffect(() => {\n\t\tif (!domain) return;\n\n\t\tlet isCancelled = false;\n\n\t\tdebounceTimeoutId.current = setTimeout(() => {\n\t\t\tisBynderPortal(domain).then((platform) => {\n\t\t\t\tif (!isCancelled) {\n\t\t\t\t\tsetStatus(platform !== 'invalid' ? 'valid' : 'invalid');\n\t\t\t\t\tlocalStorage.setItem('cvp', platform);\n\t\t\t\t}\n\t\t\t});\n\t\t}, 1000);\n\n\t\treturn () => {\n\t\t\tisCancelled = true;\n\t\t};\n\t}, [domain]);\n\n\tfunction setDomainWithValidation(value: string) {\n\t\t/* We cancel any previous debounced request, as that validation is now\n\t\t * for a different domain and the response is therefore redundant. */\n\t\tif (debounceTimeoutId.current) {\n\t\t\tclearTimeout(debounceTimeoutId.current);\n\t\t}\n\n\t\tsetDomain(value);\n\t\tsetStatus(value === '' ? 'empty' : 'validating');\n\t}\n\n\treturn [domain, setDomainWithValidation, status];\n}\n\nasync function isBynderPortal(domain: string): Promise<AuthPlatform> {\n\tconst endpoint = ensureValidUrl(domain.trim()) + 'feeds/media/is-bynder-portal/';\n\n\ttry {\n\t\tconst response = await fetch(endpoint);\n\t\tconst body = await response.json();\n\n\t\tif (\n\t\t\tresponse.status === 200 &&\n\t\t\tresponse.headers.get('Content-Type') === 'application/json;charset=UTF-8'\n\t\t) {\n\t\t\treturn body.webdam ? 'webdam' : 'bynder';\n\t\t}\n\n\t\treturn 'invalid';\n\t} catch (e) {\n\t\treturn 'invalid';\n\t}\n}\n"],"names":["useAccountDomain","initialUrl","domain","setDomain","useState","status","setStatus","debounceTimeoutId","useRef","useEffect","isCancelled","isBynderPortal","platform","setDomainWithValidation","value","endpoint","ensureValidUrl","response","body"],"mappings":";;AAMO,SAASA,EACfC,GACmD;AACnD,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASH,KAAc,EAAE,GAC/C,CAACI,GAAQC,CAAS,IAAIF,EAAwBH,IAAuB,eAAV,OAAsB,GACjFM,IAAoBC,EAAA;AAE1B,EAAAC,EAAU,MAAM;AACf,QAAI,CAACP,EAAQ;AAEb,QAAIQ,IAAc;AAElB,WAAAH,EAAkB,UAAU,WAAW,MAAM;AAC5C,MAAAI,EAAeT,CAAM,EAAE,KAAK,CAACU,MAAa;AACzC,QAAKF,MACJJ,EAAUM,MAAa,YAAY,UAAU,SAAS,GACtD,aAAa,QAAQ,OAAOA,CAAQ;AAAA,MAEtC,CAAC;AAAA,IACF,GAAG,GAAI,GAEA,MAAM;AACZ,MAAAF,IAAc;AAAA,IACf;AAAA,EACD,GAAG,CAACR,CAAM,CAAC;AAEX,WAASW,EAAwBC,GAAe;AAG/C,IAAIP,EAAkB,WACrB,aAAaA,EAAkB,OAAO,GAGvCJ,EAAUW,CAAK,GACfR,EAAUQ,MAAU,KAAK,UAAU,YAAY;AAAA,EAChD;AAEA,SAAO,CAACZ,GAAQW,GAAyBR,CAAM;AAChD;AAEA,eAAeM,EAAeT,GAAuC;AACpE,QAAMa,IAAWC,EAAed,EAAO,KAAA,CAAM,IAAI;AAEjD,MAAI;AACH,UAAMe,IAAW,MAAM,MAAMF,CAAQ,GAC/BG,IAAO,MAAMD,EAAS,KAAA;AAE5B,WACCA,EAAS,WAAW,OACpBA,EAAS,QAAQ,IAAI,cAAc,MAAM,mCAElCC,EAAK,SAAS,WAAW,WAG1B;AAAA,EACR,QAAY;AACX,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthInformation.js","sources":["../../src/auth/useAuthInformation.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { logger } from '../utils/logger';\nimport { postRefreshTokenRequest } from './oauth2';\nimport { isOk } from './result.type';\n\ninterface SetAuthInformationParameters {\n\tgetAccessToken: () => string;\n\texpiresIn?: number;\n\trefreshToken?: string;\n\taccountDomain?: string;\n}\n\nexport type AuthStatus = 'authenticated' | 'not-authenticated' | 'refreshing';\n\nexport interface AuthInformationState {\n\tgetAccessToken?: () => string;\n\taccountDomain?: string;\n\tstatus: AuthStatus;\n}\n\nexport function useAuthInformation(): [\n\tAuthInformationState,\n\t(info: SetAuthInformationParameters) => void,\n\t() => void,\n] {\n\tconst [getAccessToken, setGetAccessToken] = useState<(() => string) | undefined>(undefined);\n\tconst [refreshToken, setRefreshToken] = useState(localStorage.getItem('cvrt') ?? undefined);\n\tconst [accountDomain, setAccountDomain] = useState(localStorage.getItem('cvad') ?? undefined);\n\tconst [status, setStatus] = useState(getStatus());\n\tconst expireTokenTimeoutId = useRef<ReturnType<typeof setTimeout> | undefined>();\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\tif (expireTokenTimeoutId.current) {\n\t\t\t\tclearTimeout(expireTokenTimeoutId.current);\n\t\t\t}\n\t\t},\n\t\t[],\n\t);\n\n\tuseEffect(() => {\n\t\t// Should refresh if\n\t\tif ((!getAccessToken || !getAccessToken()) && refreshToken && accountDomain) {\n\t\t\tsetStatus('refreshing');\n\n\t\t\tpostRefreshTokenRequest(refreshToken, accountDomain).then((result) => {\n\t\t\t\tif (isOk(result)) {\n\t\t\t\t\tset({\n\t\t\t\t\t\tgetAccessToken: () => result.value.accessToken,\n\t\t\t\t\t\texpiresIn: result.value.expiresIn,\n\t\t\t\t\t\trefreshToken,\n\t\t\t\t\t\taccountDomain,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tlogger.error(result.error);\n\t\t\t\t\treset();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [getAccessToken, refreshToken, accountDomain]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tfunction set(information: {\n\t\tgetAccessToken: () => string;\n\t\texpiresIn?: number;\n\t\trefreshToken?: string;\n\t\taccountDomain?: string;\n\t}) {\n\t\tsetGetAccessToken(() => information.getAccessToken);\n\t\tsetRefreshToken(information.refreshToken);\n\t\tsetAccountDomain(information.accountDomain);\n\t\tsetStatus(getStatus(information.getAccessToken, information.refreshToken));\n\n\t\tif (information.accountDomain) {\n\t\t\tlocalStorage.setItem('cvad', information.accountDomain);\n\t\t}\n\n\t\tif (information.refreshToken) {\n\t\t\tlocalStorage.setItem('cvrt', information.refreshToken);\n\t\t}\n\n\t\tif (expireTokenTimeoutId.current) {\n\t\t\tclearTimeout(expireTokenTimeoutId.current);\n\t\t}\n\n\t\tif (information.expiresIn) {\n\t\t\texpireTokenTimeoutId.current = setTimeout(() => {\n\t\t\t\tsetGetAccessToken(undefined);\n\t\t\t}, information.expiresIn * 1000);\n\t\t}\n\t}\n\n\tfunction reset() {\n\t\tsetGetAccessToken(undefined);\n\t\tsetRefreshToken(undefined);\n\t\tsetAccountDomain(localStorage.getItem('cvad') ?? undefined);\n\t\tsetStatus('not-authenticated');\n\t\tlocalStorage.removeItem('cvrt');\n\n\t\tif (expireTokenTimeoutId.current) {\n\t\t\tclearTimeout(expireTokenTimeoutId.current);\n\t\t}\n\t}\n\n\tfunction getStatus(\n\t\taccess: (() => string) | undefined = getAccessToken,\n\t\trefresh: string | undefined = refreshToken,\n\t): AuthStatus {\n\t\tif (access !== undefined) {\n\t\t\treturn 'authenticated';\n\t\t} else if (refresh !== undefined) {\n\t\t\treturn 'refreshing';\n\t\t}\n\n\t\treturn 'not-authenticated';\n\t}\n\n\tconst authInformationState = {\n\t\tgetAccessToken,\n\t\taccountDomain,\n\t\tstatus,\n\t};\n\n\treturn [authInformationState, set, reset];\n}\n"],"names":["useAuthInformation","getAccessToken","setGetAccessToken","useState","refreshToken","setRefreshToken","accountDomain","setAccountDomain","status","setStatus","getStatus","expireTokenTimeoutId","useRef","useEffect","postRefreshTokenRequest","result","isOk","set","logger","reset","information","access","refresh"],"mappings":";;;;AAqBO,SAASA,IAId;AACD,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAAqC,MAAS,GACpF,CAACC,GAAcC,CAAe,IAAIF,EAAS,aAAa,QAAQ,MAAM,KAAK,MAAS,GACpF,CAACG,GAAeC,CAAgB,IAAIJ,EAAS,aAAa,QAAQ,MAAM,KAAK,MAAS,GACtF,CAACK,GAAQC,CAAS,IAAIN,EAASO,GAAW,GAC1CC,IAAuBC,EAAA;AAE7B,EAAAC;AAAA,IACC,MAAM,MAAM;AACX,MAAIF,EAAqB,WACxB,aAAaA,EAAqB,OAAO;AAAA,IAE3C;AAAA,IACA,CAAA;AAAA,EAAC,GAGFE,EAAU,MAAM;AAEf,KAAK,CAACZ,KAAkB,CAACA,EAAA,MAAqBG,KAAgBE,MAC7DG,EAAU,YAAY,GAEtBK,EAAwBV,GAAcE,CAAa,EAAE,KAAK,CAACS,MAAW;AACrE,MAAIC,EAAKD,CAAM,IACdE,EAAI;AAAA,QACH,gBAAgB,MAAMF,EAAO,MAAM;AAAA,QACnC,WAAWA,EAAO,MAAM;AAAA,QACxB,cAAAX;AAAA,QACA,eAAAE;AAAA,MAAA,CACA,KAEDY,EAAO,MAAMH,EAAO,KAAK,GACzBI,EAAA;AAAA,IAEF,CAAC;AAAA,EAEH,GAAG,CAAClB,GAAgBG,GAAcE,CAAa,CAAC;AAEhD,WAASW,EAAIG,GAKV;AACF,IAAAlB,EAAkB,MAAMkB,EAAY,cAAc,GAClDf,EAAgBe,EAAY,YAAY,GACxCb,EAAiBa,EAAY,aAAa,GAC1CX,EAAUC,EAAUU,EAAY,gBAAgBA,EAAY,YAAY,CAAC,GAErEA,EAAY,iBACf,aAAa,QAAQ,QAAQA,EAAY,aAAa,GAGnDA,EAAY,gBACf,aAAa,QAAQ,QAAQA,EAAY,YAAY,GAGlDT,EAAqB,WACxB,aAAaA,EAAqB,OAAO,GAGtCS,EAAY,cACfT,EAAqB,UAAU,WAAW,MAAM;AAC/C,MAAAT,EAAkB,MAAS;AAAA,IAC5B,GAAGkB,EAAY,YAAY,GAAI;AAAA,EAEjC;AAEA,WAASD,IAAQ;AAChB,IAAAjB,EAAkB,MAAS,GAC3BG,EAAgB,MAAS,GACzBE,EAAiB,aAAa,QAAQ,MAAM,KAAK,MAAS,GAC1DE,EAAU,mBAAmB,GAC7B,aAAa,WAAW,MAAM,GAE1BE,EAAqB,WACxB,aAAaA,EAAqB,OAAO;AAAA,EAE3C;AAEA,WAASD,EACRW,IAAqCpB,GACrCqB,IAA8BlB,GACjB;AACb,WAAIiB,MAAW,SACP,kBACGC,MAAY,SACf,eAGD;AAAA,EACR;AAQA,SAAO,CANsB;AAAA,IAC5B,gBAAArB;AAAA,IACA,eAAAK;AAAA,IACA,QAAAE;AAAA,EAAA,GAG6BS,GAAKE,CAAK;AACzC;"}
|
package/useClickOutside.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClickOutside.js","sources":["../../src/common/hooks/useClickOutside.ts"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useRootElement } from '../../style/RootElementContext';\n\nexport function useClickOutside(\n\ttargetRefs: React.MutableRefObject<Element | null>[],\n\thandler: () => void,\n) {\n\tconst root = useRootElement();\n\n\tuseEffect(() => {\n\t\tfunction runHandler(e: Event) {\n\t\t\tconst target = e.target as Element;\n\n\t\t\tconst isWithinTargets = targetRefs\n\t\t\t\t.map((ref) => ref?.current)\n\t\t\t\t.some((element) => element && element.contains(target));\n\n\t\t\tif (!isWithinTargets) {\n\t\t\t\thandler();\n\t\t\t}\n\t\t}\n\n\t\troot?.addEventListener('mousedown', runHandler);\n\n\t\treturn () => root?.removeEventListener('mousedown', runHandler);\n\t}, [targetRefs, handler, root]);\n}\n"],"names":["useClickOutside","targetRefs","handler","root","useRootElement","useEffect","runHandler","e","target","ref","element"],"mappings":";;AAGO,SAASA,EACfC,GACAC,GACC;AACD,QAAMC,IAAOC,EAAA;AAEb,EAAAC,EAAU,MAAM;AACf,aAASC,EAAWC,GAAU;AAC7B,YAAMC,IAASD,EAAE;AAMjB,MAJwBN,EACtB,IAAI,CAACQ,MAAQA,GAAK,OAAO,EACzB,KAAK,CAACC,MAAYA,KAAWA,EAAQ,SAASF,CAAM,CAAC,KAGtDN,EAAA;AAAA,IAEF;AAEA,WAAAC,GAAM,iBAAiB,aAAaG,CAAU,GAEvC,MAAMH,GAAM,oBAAoB,aAAaG,CAAU;AAAA,EAC/D,GAAG,CAACL,GAAYC,GAASC,CAAI,CAAC;AAC/B;"}
|
package/useDatStore.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDatStore.js","sources":["../../src/store/useDatStore.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\nimport { Asset } from '@src/views/asset/asset.type';\nimport { Transformation } from '@src/Dat/types';\nimport { createSelectors } from './utils/createSelectors';\n\ntype datState = {\n\tdatUrl: string;\n\tassetName: string;\n\tdatExtension: string;\n\ttransformation: Transformation;\n\tresetTransformation: () => void;\n\tsetTransformation: (transformation?: Transformation) => void;\n\topenDat: (url: string, asset: Asset, name: string) => void;\n\tcloseDat: () => void;\n\treset: () => void;\n};\n\nexport const useDatStore = create<datState>()(\n\tdevtools(\n\t\t(set, _get, store) => ({\n\t\t\tdatUrl: '',\n\t\t\tassetName: '',\n\t\t\tdatExtension: '',\n\t\t\ttransformation: <Transformation>{},\n\n\t\t\topenDat: (url: string, asset: Asset, name: string) => {\n\t\t\t\tconst currentTransformation = _get().transformation;\n\n\t\t\t\tset({\n\t\t\t\t\tdatUrl: url,\n\t\t\t\t\tassetName: name,\n\t\t\t\t\tdatExtension: asset.extensions[0] || '',\n\t\t\t\t\ttransformation: {\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tasset,\n\t\t\t\t\t\tpreset:\n\t\t\t\t\t\t\tcurrentTransformation && currentTransformation.asset?.id === asset.id\n\t\t\t\t\t\t\t\t? currentTransformation.preset\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t},\n\t\t\tcloseDat: () => {\n\t\t\t\tset({ datUrl: '' });\n\t\t\t},\n\t\t\tsetTransformation: (transformation?: Transformation) => {\n\t\t\t\tset({ transformation });\n\t\t\t},\n\t\t\treset: () => set(store.getInitialState()),\n\t\t}),\n\t\t{ name: 'DatStore', enabled: process.env.NODE_ENV === 'development' },\n\t),\n);\n\nexport const useDatSelectors = createSelectors(useDatStore);\n\nexport const useDat = () => {\n\tconst {\n\t\tdatUrl,\n\t\tassetName,\n\t\tdatExtension,\n\t\ttransformation,\n\t\tsetTransformation,\n\t\tcloseDat,\n\t\topenDat,\n\t\treset,\n\t} = useDatStore();\n\n\treturn {\n\t\tdatUrl,\n\t\tassetName,\n\t\tdatExtension,\n\t\ttransformation,\n\t\tsetTransformation,\n\t\tcloseDat,\n\t\topenDat,\n\t\treset,\n\t};\n};\n"],"names":["useDatStore","create","devtools","set","_get","store","url","asset","name","currentTransformation","transformation","createSelectors","useDat","datUrl","assetName","datExtension","setTransformation","closeDat","openDat","reset"],"mappings":";;;AAkBO,MAAMA,IAAcC,EAAA;AAAA,EAC1BC;AAAA,IACC,CAACC,GAAKC,GAAMC,OAAW;AAAA,MACtB,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,cAAc;AAAA,MACd,gBAAgC,CAAA;AAAA,MAEhC,SAAS,CAACC,GAAaC,GAAcC,MAAiB;AACrD,cAAMC,IAAwBL,IAAO;AAErC,QAAAD,EAAI;AAAA,UACH,QAAQG;AAAA,UACR,WAAWE;AAAA,UACX,cAAcD,EAAM,WAAW,CAAC,KAAK;AAAA,UACrC,gBAAgB;AAAA,YACf,KAAAD;AAAA,YACA,OAAAC;AAAA,YACA,QACCE,KAAyBA,EAAsB,OAAO,OAAOF,EAAM,KAChEE,EAAsB,SACtB;AAAA,UAAA;AAAA,QACL,CACA;AAAA,MACF;AAAA,MACA,UAAU,MAAM;AACf,QAAAN,EAAI,EAAE,QAAQ,IAAI;AAAA,MACnB;AAAA,MACA,mBAAmB,CAACO,MAAoC;AACvD,QAAAP,EAAI,EAAE,gBAAAO,GAAgB;AAAA,MACvB;AAAA,MACA,OAAO,MAAMP,EAAIE,EAAM,iBAAiB;AAAA,IAAA;AAAA,IAEzC,EAAE,MAAM,YAAY,SAAS,GAAA;AAAA,EAAuC;AAEtE;AAE+BM,EAAgBX,CAAW;AAEnD,MAAMY,IAAS,MAAM;AAC3B,QAAM;AAAA,IACL,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAL;AAAA,IACA,mBAAAM;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACGnB,EAAA;AAEJ,SAAO;AAAA,IACN,QAAAa;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAL;AAAA,IACA,mBAAAM;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,EAAA;AAEF;"}
|
package/useDimensions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDimensions.js","sources":["../../src/common/hooks/useDimensions.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface Dimensions {\n\twidth: number;\n\theight: number;\n\tscrollWidth: number;\n}\n\nexport function useDimensions(node: Element | null): {\n\tdimensions?: Dimensions;\n\tremeasure: (newNode?: Element | null) => void;\n} {\n\tconst [dimensions, setDimensions] = useState<Dimensions | undefined>(undefined);\n\tconst animationFrameId = useRef<number | undefined>(undefined);\n\n\tfunction measureDimensions(newNode?: Element | null) {\n\t\tif (animationFrameId.current !== undefined) {\n\t\t\tcancelAnimationFrame(animationFrameId.current);\n\t\t}\n\n\t\tanimationFrameId.current = requestAnimationFrame(() => {\n\t\t\tconst nodeToUse = newNode ?? node;\n\n\t\t\tif (nodeToUse === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rect = nodeToUse.getBoundingClientRect();\n\t\t\tsetDimensions({\n\t\t\t\twidth: rect.width,\n\t\t\t\theight: rect.height,\n\t\t\t\tscrollWidth: nodeToUse.scrollWidth,\n\t\t\t});\n\t\t});\n\t}\n\n\tuseEffect(() => {\n\t\tmeasureDimensions();\n\t\tconst onResize = () => measureDimensions();\n\t\twindow.addEventListener('resize', onResize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', onResize);\n\n\t\t\tif (animationFrameId.current) {\n\t\t\t\tcancelAnimationFrame(animationFrameId.current);\n\t\t\t}\n\t\t};\n\t}, [node]); // eslint-disable-line react-hooks/exhaustive-deps\n\n\treturn {\n\t\tdimensions,\n\t\tremeasure: measureDimensions,\n\t};\n}\n"],"names":["useDimensions","node","dimensions","setDimensions","useState","animationFrameId","useRef","measureDimensions","newNode","nodeToUse","rect","useEffect","onResize"],"mappings":";AAQO,SAASA,EAAcC,GAG5B;AACD,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAiC,MAAS,GACxEC,IAAmBC,EAA2B,MAAS;AAE7D,WAASC,EAAkBC,GAA0B;AACpD,IAAIH,EAAiB,YAAY,UAChC,qBAAqBA,EAAiB,OAAO,GAG9CA,EAAiB,UAAU,sBAAsB,MAAM;AACtD,YAAMI,IAAYD,KAAWP;AAE7B,UAAIQ,MAAc;AACjB;AAGD,YAAMC,IAAOD,EAAU,sBAAA;AACvB,MAAAN,EAAc;AAAA,QACb,OAAOO,EAAK;AAAA,QACZ,QAAQA,EAAK;AAAA,QACb,aAAaD,EAAU;AAAA,MAAA,CACvB;AAAA,IACF,CAAC;AAAA,EACF;AAEA,SAAAE,EAAU,MAAM;AACf,IAAAJ,EAAA;AACA,UAAMK,IAAW,MAAML,EAAA;AACvB,kBAAO,iBAAiB,UAAUK,CAAQ,GAEnC,MAAM;AACZ,aAAO,oBAAoB,UAAUA,CAAQ,GAEzCP,EAAiB,WACpB,qBAAqBA,EAAiB,OAAO;AAAA,IAE/C;AAAA,EACD,GAAG,CAACJ,CAAI,CAAC,GAEF;AAAA,IACN,YAAAC;AAAA,IACA,WAAWK;AAAA,EAAA;AAEb;"}
|
package/useOrderingStore.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOrderingStore.js","sources":["../../src/store/useOrderingStore.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\nimport { PageType } from './useRouterStore';\nimport { createSelectors } from './utils/createSelectors';\n\nexport type Field = 'CREATED_AT' | 'NAME' | 'PUBLISHED_AT' | 'UPDATED_AT' | 'NL_SEARCH';\nexport type Direction = 'ASC' | 'DESC';\n\nexport type Ordering = {\n\tfield: Field;\n\tdirection: Direction;\n};\n\nconst defaultOrdering: Ordering = {\n\tfield: 'CREATED_AT',\n\tdirection: 'DESC',\n};\n\ntype OrderingState = {\n\tassets: Ordering;\n\tcollections: Ordering;\n\tcollection: Ordering;\n\n\tsetOrdering: (page: PageType, ordering: Ordering) => void;\n\treset: () => void;\n};\n\nexport const useOrderingStore = create<OrderingState>()(\n\tdevtools(\n\t\t(set, _get, store) => ({\n\t\t\tassets: defaultOrdering,\n\t\t\tcollections: defaultOrdering,\n\t\t\tcollection: defaultOrdering,\n\n\t\t\tsetOrdering: (page: PageType, ordering: Ordering) =>\n\t\t\t\tset(() => {\n\t\t\t\t\tif (page === 'assets') {\n\t\t\t\t\t\treturn { assets: ordering };\n\t\t\t\t\t} else if (page === 'collections') {\n\t\t\t\t\t\treturn { collections: ordering };\n\t\t\t\t\t}\n\n\t\t\t\t\treturn { collection: ordering };\n\t\t\t\t}),\n\n\t\t\treset: () => set(store.getInitialState()),\n\t\t}),\n\t\t{ name: 'OrderingStore', enabled: process.env.NODE_ENV === 'development' },\n\t),\n);\n\nexport const useOrderingSelectors = createSelectors(useOrderingStore);\n\nexport const useOrderingByPage = (page: PageType): [Ordering, (ordering: Ordering) => void] => {\n\tconst ordering = useOrderingStore((state) => state[page]);\n\tconst setOrdering = useOrderingStore((state) => state.setOrdering);\n\n\treturn [ordering, (newOrdering) => setOrdering(page, newOrdering)];\n};\n"],"names":["defaultOrdering","useOrderingStore","create","devtools","set","_get","store","page","ordering","useOrderingSelectors","createSelectors","useOrderingByPage","state","setOrdering","newOrdering"],"mappings":";;;AAaA,MAAMA,IAA4B;AAAA,EACjC,OAAO;AAAA,EACP,WAAW;AACZ,GAWaC,IAAmBC,EAAA;AAAA,EAC/BC;AAAA,IACC,CAACC,GAAKC,GAAMC,OAAW;AAAA,MACtB,QAAQN;AAAA,MACR,aAAaA;AAAA,MACb,YAAYA;AAAA,MAEZ,aAAa,CAACO,GAAgBC,MAC7BJ,EAAI,MACCG,MAAS,WACL,EAAE,QAAQC,EAAA,IACPD,MAAS,gBACZ,EAAE,aAAaC,EAAA,IAGhB,EAAE,YAAYA,EAAA,CACrB;AAAA,MAEF,OAAO,MAAMJ,EAAIE,EAAM,iBAAiB;AAAA,IAAA;AAAA,IAEzC,EAAE,MAAM,iBAAiB,SAAS,GAAA;AAAA,EAAuC;AAE3E,GAEaG,IAAuBC,EAAgBT,CAAgB,GAEvDU,IAAoB,CAACJ,MAA6D;AAC9F,QAAMC,IAAWP,EAAiB,CAACW,MAAUA,EAAML,CAAI,CAAC,GAClDM,IAAcZ,EAAiB,CAACW,MAAUA,EAAM,WAAW;AAEjE,SAAO,CAACJ,GAAU,CAACM,MAAgBD,EAAYN,GAAMO,CAAW,CAAC;AAClE;"}
|
package/useRouterStore.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRouterStore.js","sources":["../../src/store/useRouterStore.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\nimport { Collection } from '@src/views/collection/collection.types';\nimport { createSelectors } from './utils/createSelectors';\n\ntype AssetsPage = 'assets';\ntype CollectionsPage = 'collections';\ntype CollectionPage = 'collection';\n\nexport type PageType = AssetsPage | CollectionsPage | CollectionPage;\n\nexport type Page =\n\t| { page: AssetsPage }\n\t| { page: CollectionsPage }\n\t| { page: CollectionPage; collection: Collection };\n\ntype RouterState = {\n\tpage: Page;\n\tsetPage: (page: Page) => void;\n};\n\nexport const useRouterStore = create<RouterState>()(\n\tdevtools(\n\t\t(set) => ({\n\t\t\tpage: { page: 'assets' },\n\n\t\t\tsetPage: (newPage) => set({ page: newPage }),\n\t\t}),\n\t\t{ name: 'RouterStore', enabled: process.env.NODE_ENV === 'development' },\n\t),\n);\n\nexport const useRouterSelectors = createSelectors(useRouterStore);\n\nexport const useRouter = (): [Page, (page: Page) => void] => {\n\tconst page = useRouterStore((state) => state.page);\n\tconst setPage = useRouterStore((state) => state.setPage);\n\n\treturn [page, setPage];\n};\n"],"names":["useRouterStore","create","devtools","set","newPage","useRouterSelectors","createSelectors","useRouter","page","state","setPage"],"mappings":";;;AAqBO,MAAMA,IAAiBC,EAAA;AAAA,EAC7BC;AAAA,IACC,CAACC,OAAS;AAAA,MACT,MAAM,EAAE,MAAM,SAAA;AAAA,MAEd,SAAS,CAACC,MAAYD,EAAI,EAAE,MAAMC,GAAS;AAAA,IAAA;AAAA,IAE5C,EAAE,MAAM,eAAe,SAAS,GAAA;AAAA,EAAuC;AAEzE,GAEaC,IAAqBC,EAAgBN,CAAc,GAEnDO,IAAY,MAAoC;AAC5D,QAAMC,IAAOR,EAAe,CAACS,MAAUA,EAAM,IAAI,GAC3CC,IAAUV,EAAe,CAACS,MAAUA,EAAM,OAAO;AAEvD,SAAO,CAACD,GAAME,CAAO;AACtB;"}
|
package/useSearchStore.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchStore.js","sources":["../../src/store/useSearchStore.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { devtools } from 'zustand/middleware';\nimport { create } from 'zustand';\nimport { createSelectors } from './utils/createSelectors';\nimport { useRouterSelectors } from './useRouterStore';\n\ntype Page = 'assets' | 'collections' | 'collection';\n\ninterface State {\n\tassets: string;\n\tcollection: string;\n\tcollections: string;\n\tisLoading: boolean;\n}\n\ninterface Actions {\n\tsetSearch: (page: Page, value: string) => void;\n\tsetIsLoading: (isLoading: boolean) => void;\n\tclear: () => void;\n}\n\ntype SearchStore = State & Actions;\n\nconst initialState: State = {\n\tassets: '',\n\tcollection: '',\n\tcollections: '',\n\tisLoading: false,\n};\n\nexport const useSearchStore = create<SearchStore>()(\n\tdevtools(\n\t\t(set) => ({\n\t\t\t...initialState,\n\n\t\t\tsetSearch: (page, value) => {\n\t\t\t\tconst isLoading = value !== '';\n\t\t\t\tset((state) => ({\n\t\t\t\t\t...state,\n\t\t\t\t\t[page]: value,\n\t\t\t\t\tisLoading,\n\t\t\t\t}));\n\t\t\t},\n\n\t\t\tsetIsLoading: (isLoading) => set((state) => ({ ...state, isLoading })),\n\n\t\t\tclear: () => set(() => ({ ...initialState })),\n\t\t}),\n\t\t{ name: 'SearchStore', enabled: process.env.NODE_ENV === 'development' },\n\t),\n);\n\nexport const useSearchSelectors = createSelectors(useSearchStore);\n\nexport function useSearchStateByPage(page: Page) {\n\tconst value = useSearchStore((state) => state[page]);\n\tconst { isLoading, setSearch, setIsLoading } = useSearchStore();\n\n\treturn {\n\t\tvalue,\n\t\tisLoading,\n\t\tsetSearch: (newValue: string) => setSearch(page, newValue),\n\t\tsetIsLoading,\n\t};\n}\n\nexport function useClearCollectionOnPageChange(\n\tpage?: ReturnType<typeof useRouterSelectors.use.page>,\n) {\n\tconst setSearch = useSearchStore((state) => state.setSearch);\n\n\tuseEffect(() => {\n\t\tsetSearch('collection', '');\n\t}, [page, setSearch]);\n}\n"],"names":["initialState","useSearchStore","create","devtools","set","page","value","isLoading","state","createSelectors","useSearchStateByPage","setSearch","setIsLoading","newValue","useClearCollectionOnPageChange","useEffect"],"mappings":";;;;AAuBA,MAAMA,IAAsB;AAAA,EAC3B,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,WAAW;AACZ,GAEaC,IAAiBC,EAAA;AAAA,EAC7BC;AAAA,IACC,CAACC,OAAS;AAAA,MACT,GAAGJ;AAAA,MAEH,WAAW,CAACK,GAAMC,MAAU;AAC3B,cAAMC,IAAYD,MAAU;AAC5B,QAAAF,EAAI,CAACI,OAAW;AAAA,UACf,GAAGA;AAAA,UACH,CAACH,CAAI,GAAGC;AAAA,UACR,WAAAC;AAAA,QAAA,EACC;AAAA,MACH;AAAA,MAEA,cAAc,CAACA,MAAcH,EAAI,CAACI,OAAW,EAAE,GAAGA,GAAO,WAAAD,EAAA,EAAY;AAAA,MAErE,OAAO,MAAMH,EAAI,OAAO,EAAE,GAAGJ,IAAe;AAAA,IAAA;AAAA,IAE7C,EAAE,MAAM,eAAe,SAAS,GAAA;AAAA,EAAuC;AAEzE;AAEkCS,EAAgBR,CAAc;AAEzD,SAASS,EAAqBL,GAAY;AAChD,QAAMC,IAAQL,EAAe,CAACO,MAAUA,EAAMH,CAAI,CAAC,GAC7C,EAAE,WAAAE,GAAW,WAAAI,GAAW,cAAAC,EAAA,IAAiBX,EAAA;AAE/C,SAAO;AAAA,IACN,OAAAK;AAAA,IACA,WAAAC;AAAA,IACA,WAAW,CAACM,MAAqBF,EAAUN,GAAMQ,CAAQ;AAAA,IACzD,cAAAD;AAAA,EAAA;AAEF;AAEO,SAASE,EACfT,GACC;AACD,QAAMM,IAAYV,EAAe,CAACO,MAAUA,EAAM,SAAS;AAE3D,EAAAO,EAAU,MAAM;AACf,IAAAJ,EAAU,cAAc,EAAE;AAAA,EAC3B,GAAG,CAACN,GAAMM,CAAS,CAAC;AACrB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSimilaritySearchStore.js","sources":["../../src/store/useSimilaritySearchStore.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { devtools } from 'zustand/middleware';\nimport { createSelectors } from './utils/createSelectors';\nimport { GraphqlResponse } from '@src/api/filterAssets';\nimport { Data } from '@src/api/graphql.types';\n\ninterface SimilaritySearchState {\n\tisEnabled: boolean;\n\tisSelected: boolean;\n\tisNLSSelected: boolean;\n\tNLSSearchText?: string;\n\tsetIsEnabled: (isEnabled: boolean) => void;\n\tsetIsSelected: (isSelected: boolean) => void;\n\tsetIsNLSSelected: (isNLSSelected: boolean) => void;\n\tsetNLSSearchText: (NLSSearchText?: string) => void;\n\tsetSimilarityAssetsData: (similarityAssetsData: Data<GraphqlResponse>) => void;\n\tsimilarityAssetsData: Data<GraphqlResponse>;\n\tupdateSimilarityAssetsData: (\n\t\tfn: (prev: Data<GraphqlResponse>) => Data<GraphqlResponse>,\n\t) => void;\n}\n\nexport const useSimilaritySearchStore = create<SimilaritySearchState>()(\n\tdevtools(\n\t\t(set) => ({\n\t\t\tisEnabled: false,\n\t\t\tisSelected: false,\n\t\t\tisNLSSelected: false,\n\t\t\tNLSSearchText: <string | undefined>undefined,\n\t\t\tsimilarityAssetsData: <Data<GraphqlResponse>>{ tag: 'Loading', value: null },\n\n\t\t\tsetIsEnabled: (isEnabled: boolean) => set({ isEnabled }),\n\t\t\tsetIsSelected: (isSelected: boolean) => set({ isSelected }),\n\t\t\tsetIsNLSSelected: (isNLSSelected: boolean) => set({ isNLSSelected }),\n\t\t\tsetNLSSearchText: (NLSSearchText?: string) => set({ NLSSearchText }),\n\t\t\tsetSimilarityAssetsData: (similarityAssetsData: Data<GraphqlResponse>) =>\n\t\t\t\tset({ similarityAssetsData }),\n\t\t\tupdateSimilarityAssetsData: (\n\t\t\t\tfn: (prev: Data<GraphqlResponse>) => Data<GraphqlResponse>,\n\t\t\t) => {\n\t\t\t\tset((state) => ({ similarityAssetsData: fn(state.similarityAssetsData) }));\n\t\t\t},\n\t\t}),\n\t\t{ name: 'SimilaritySearchStore', enabled: process.env.NODE_ENV === 'development' },\n\t),\n);\n\nexport const useSimilaritySearchSelectors = createSelectors(useSimilaritySearchStore);\n"],"names":["useSimilaritySearchStore","create","devtools","set","isEnabled","isSelected","isNLSSelected","NLSSearchText","similarityAssetsData","fn","state","createSelectors"],"mappings":";;;AAsBO,MAAMA,IAA2BC,EAAA;AAAA,EACvCC;AAAA,IACC,CAACC,OAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,eAAmC;AAAA,MACnC,sBAA6C,EAAE,KAAK,WAAW,OAAO,KAAA;AAAA,MAEtE,cAAc,CAACC,MAAuBD,EAAI,EAAE,WAAAC,GAAW;AAAA,MACvD,eAAe,CAACC,MAAwBF,EAAI,EAAE,YAAAE,GAAY;AAAA,MAC1D,kBAAkB,CAACC,MAA2BH,EAAI,EAAE,eAAAG,GAAe;AAAA,MACnE,kBAAkB,CAACC,MAA2BJ,EAAI,EAAE,eAAAI,GAAe;AAAA,MACnE,yBAAyB,CAACC,MACzBL,EAAI,EAAE,sBAAAK,GAAsB;AAAA,MAC7B,4BAA4B,CAC3BC,MACI;AACJ,QAAAN,EAAI,CAACO,OAAW,EAAE,sBAAsBD,EAAGC,EAAM,oBAAoB,IAAI;AAAA,MAC1E;AAAA,IAAA;AAAA,IAED,EAAE,MAAM,yBAAyB,SAAS,GAAA;AAAA,EAAuC;AAEnF;AAE4CC,EAAgBX,CAAwB;"}
|
package/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/views/asset/asset-card/utils.ts"],"sourcesContent":["import { __ } from '../../../localization';\nimport { Asset } from '../asset.type';\n\nexport const supportedExtensionsWithThumbnails = [\n\t'xls',\n\t'xlsx',\n\t'ppt',\n\t'pdf',\n\t'pptx',\n\t'indd',\n\t'mp4',\n\t'wav',\n\t'docx',\n\t'doc',\n\t'numbers',\n\t'pages',\n\t'otf',\n\t'txt',\n\t'ttf',\n\t'mov',\n\t'avi',\n\t'mpeg',\n\t'webm',\n\t'fla',\n\t'aiff',\n\t'mp3',\n\t'm4r',\n\t'zip',\n\t'rar',\n];\n\nexport function getThumbnail(asset: Asset) {\n\tif (asset.derivatives.thumbnail) {\n\t\treturn asset.derivatives.thumbnail;\n\t}\n\n\tconst extension = asset.extensions[0];\n\n\tif (supportedExtensionsWithThumbnails.includes(extension)) {\n\t\treturn `${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/includes/img/placeholder/medium/${extension}.jpg`;\n\t} else if (extension === 'aif') {\n\t\treturn `${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/includes/img/placeholder/medium/aiff.jpg`;\n\t} else if (extension === 'm4a') {\n\t\treturn `${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/includes/img/placeholder/medium/m4r.jpg`;\n\t}\n\n\treturn `${process.env.BYNDER_THEMES_CLOUDFRONT_URL}/includes/img/common/no-image.png`;\n}\n\nexport function getStatusText(asset: Asset): string {\n\tconst archived = asset.isArchived && __('archived');\n\tconst watermarked = asset.isWatermarked && __('watermarked');\n\tconst limitedUse = asset.isLimitedUse && __('limited');\n\n\treturn [archived, watermarked, limitedUse].filter((val) => val).join(', ');\n}\n\nexport function getExtension(asset: Asset) {\n\tconst extension = asset.extensions[0];\n\n\tif (extension?.toUpperCase() === 'JPG') {\n\t\treturn 'JPEG';\n\t}\n\n\treturn extension?.toUpperCase();\n}\n"],"names":["supportedExtensionsWithThumbnails","getThumbnail","asset","extension","getStatusText","archived","__","watermarked","limitedUse","val","getExtension"],"mappings":";AAGO,MAAMA,IAAoC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,SAASC,EAAaC,GAAc;AAC1C,MAAIA,EAAM,YAAY;AACrB,WAAOA,EAAM,YAAY;AAG1B,QAAMC,IAAYD,EAAM,WAAW,CAAC;AAEpC,SAAIF,EAAkC,SAASG,CAAS,IAChD,wEAA+EA,CAAS,SACrFA,MAAc,QACjB,kFACGA,MAAc,QACjB,iFAGD;AACR;AAEO,SAASC,EAAcF,GAAsB;AACnD,QAAMG,IAAWH,EAAM,cAAcI,EAAG,UAAU,GAC5CC,IAAcL,EAAM,iBAAiBI,EAAG,aAAa,GACrDE,IAAaN,EAAM,gBAAgBI,EAAG,SAAS;AAErD,SAAO,CAACD,GAAUE,GAAaC,CAAU,EAAE,OAAO,CAACC,MAAQA,CAAG,EAAE,KAAK,IAAI;AAC1E;AAEO,SAASC,EAAaR,GAAc;AAC1C,QAAMC,IAAYD,EAAM,WAAW,CAAC;AAEpC,SAAIC,GAAW,YAAA,MAAkB,QACzB,SAGDA,GAAW,YAAA;AACnB;"}
|
package/utils2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils2.js","sources":["../../src/select/utils.ts"],"sourcesContent":["import { File } from './file.type';\n\nexport function getDefaultKey(\n\tfiles: Record<string, File>,\n): 'transformBaseUrl' | 'original' | 'webImage' | 'adaptiveVideo' {\n\tif ('adaptiveVideo' in files) {\n\t\treturn 'adaptiveVideo';\n\t} else if ('transformBaseUrl' in files) {\n\t\treturn 'transformBaseUrl';\n\t} else if ('original' in files) {\n\t\treturn 'original';\n\t}\n\n\treturn 'webImage';\n}\n\nexport function splitByCamelCase(str: string): string {\n\treturn str.replace(\n\t\t/([a-z0-9])([A-Z])/g,\n\t\t(fullMatch, firstCaptureGroup, secondCaptureGroup) =>\n\t\t\t`${firstCaptureGroup} ${secondCaptureGroup}`,\n\t);\n}\n\nexport function getUrlExtension(url: string): string | undefined {\n\tif (!url) return;\n\n\tconst extensionInQueryString = geExtensionByQueryString(url);\n\n\t// If we can find the filename in the url querystring, use\n\t// that value to get the extension.\n\tif (extensionInQueryString) {\n\t\treturn extensionInQueryString;\n\t}\n\n\t// Otherwise get extension from last part of the /url\n\treturn getExtensionByLastPartUrl(url);\n}\n\nfunction geExtensionByQueryString(url: string): string | undefined {\n\tconst filenameMatch = url.match(/filename=(.*?)&/);\n\n\tif (filenameMatch) {\n\t\tconst extensionRegex = /(?:\\.([^.]+))?$/;\n\t\tconst extension = extensionRegex.exec(filenameMatch[1]);\n\n\t\tif (extension && extension[1]) {\n\t\t\treturn extension[1];\n\t\t}\n\t}\n}\n\nfunction getExtensionByLastPartUrl(url: string): string | undefined {\n\tconst urlSplitBySlash = url.split('/');\n\tconst lastUrlPart = urlSplitBySlash[urlSplitBySlash.length - 1];\n\tconst lastUrlPartSplitByDot = lastUrlPart.split('.');\n\n\tif (lastUrlPartSplitByDot.length <= 1) return;\n\n\tconst extension = lastUrlPartSplitByDot[lastUrlPartSplitByDot.length - 1];\n\tconst indexOfParams = extension.indexOf('?');\n\n\treturn indexOfParams !== -1 ? extension.substring(0, indexOfParams) : extension;\n}\n\nexport function getHumanReadableFileSize(bytes: number): string {\n\tif (bytes < 1) {\n\t\treturn '0 Bytes';\n\t}\n\n\tconst k = 1024;\n\tconst i = Math.floor(Math.log(bytes) / Math.log(k));\n\n\tconst size = (bytes / Math.pow(k, i)).toFixed(1);\n\n\tconst iToUnitString = {\n\t\t0: 'Bytes',\n\t\t1: 'kB',\n\t\t2: 'MB',\n\t\t3: 'GB',\n\t\t4: 'TB',\n\t\t5: 'PB',\n\t\t6: 'EB',\n\t\t7: 'ZB',\n\t\t8: 'YB',\n\t};\n\n\tconst unit = iToUnitString[i];\n\n\treturn `${size} ${unit}`;\n}\n"],"names":["getDefaultKey","files","splitByCamelCase","str","fullMatch","firstCaptureGroup","secondCaptureGroup","getUrlExtension","url","extensionInQueryString","geExtensionByQueryString","getExtensionByLastPartUrl","filenameMatch","extension","urlSplitBySlash","lastUrlPartSplitByDot","indexOfParams","getHumanReadableFileSize","bytes","k","size","unit"],"mappings":"AAEO,SAASA,EACfC,GACiE;AACjE,SAAI,mBAAmBA,IACf,kBACG,sBAAsBA,IACzB,qBACG,cAAcA,IACjB,aAGD;AACR;AAEO,SAASC,EAAiBC,GAAqB;AACrD,SAAOA,EAAI;AAAA,IACV;AAAA,IACA,CAACC,GAAWC,GAAmBC,MAC9B,GAAGD,CAAiB,IAAIC,CAAkB;AAAA,EAAA;AAE7C;AAEO,SAASC,EAAgBC,GAAiC;AAChE,MAAI,CAACA,EAAK;AAEV,QAAMC,IAAyBC,EAAyBF,CAAG;AAI3D,SAAIC,KAKGE,EAA0BH,CAAG;AACrC;AAEA,SAASE,EAAyBF,GAAiC;AAClE,QAAMI,IAAgBJ,EAAI,MAAM,iBAAiB;AAEjD,MAAII,GAAe;AAElB,UAAMC,IADiB,kBACU,KAAKD,EAAc,CAAC,CAAC;AAEtD,QAAIC,KAAaA,EAAU,CAAC;AAC3B,aAAOA,EAAU,CAAC;AAAA,EAEpB;AACD;AAEA,SAASF,EAA0BH,GAAiC;AACnE,QAAMM,IAAkBN,EAAI,MAAM,GAAG,GAE/BO,IADcD,EAAgBA,EAAgB,SAAS,CAAC,EACpB,MAAM,GAAG;AAEnD,MAAIC,EAAsB,UAAU,EAAG;AAEvC,QAAMF,IAAYE,EAAsBA,EAAsB,SAAS,CAAC,GAClEC,IAAgBH,EAAU,QAAQ,GAAG;AAE3C,SAAOG,MAAkB,KAAKH,EAAU,UAAU,GAAGG,CAAa,IAAIH;AACvE;AAEO,SAASI,EAAyBC,GAAuB;AAC/D,MAAIA,IAAQ;AACX,WAAO;AAGR,QAAMC,IAAI,MACJ,IAAI,KAAK,MAAM,KAAK,IAAID,CAAK,IAAI,KAAK,IAAIC,CAAC,CAAC,GAE5CC,KAAQF,IAAQ,KAAK,IAAIC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAczCE,IAZgB;AAAA,IACrB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EAAA,EAGuB,CAAC;AAE5B,SAAO,GAAGD,CAAI,IAAIC,CAAI;AACvB;"}
|