@bynder/compact-view 5.1.3 → 5.2.0
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/ActiveFilter.js +33 -0
- package/ActiveFilter.js.map +1 -0
- package/ActiveFilters.js +81 -0
- package/ActiveFilters.js.map +1 -0
- package/AddMedia.js +90 -0
- package/AddMedia.js.map +1 -0
- package/Advanced.js +66 -0
- package/Advanced.js.map +1 -0
- package/App.d.ts +4 -2
- package/App.js +93 -0
- package/App.js.map +1 -0
- package/AssetCard.js +172 -0
- package/AssetCard.js.map +1 -0
- package/AssetCardMetaproperties.js +47 -0
- package/AssetCardMetaproperties.js.map +1 -0
- package/AssetFilter.js +138 -0
- package/AssetFilter.js.map +1 -0
- package/AssetFilterContext.js +162 -0
- package/AssetFilterContext.js.map +1 -0
- package/AssetItem.js +40 -0
- package/AssetItem.js.map +1 -0
- package/AssetList.js +158 -0
- package/AssetList.js.map +1 -0
- package/AssetTypeItem.js +34 -0
- package/AssetTypeItem.js.map +1 -0
- package/AssetsView.js +61 -0
- package/AssetsView.js.map +1 -0
- package/Autocomplete_new.js +148 -0
- package/Autocomplete_new.js.map +1 -0
- package/ButtonAction.js +14 -0
- package/ButtonAction.js.map +1 -0
- package/CardSkeleton.js +31 -0
- package/CardSkeleton.js.map +1 -0
- package/Checkbox.styles.js +38 -0
- package/Checkbox.styles.js.map +1 -0
- package/Chip.js +43 -0
- package/Chip.js.map +1 -0
- package/CollectionCard.js +56 -0
- package/CollectionCard.js.map +1 -0
- package/CollectionItem.js +41 -0
- package/CollectionItem.js.map +1 -0
- package/CollectionList.js +53 -0
- package/CollectionList.js.map +1 -0
- package/CollectionView.js +73 -0
- package/CollectionView.js.map +1 -0
- package/CollectionsView.js +58 -0
- package/CollectionsView.js.map +1 -0
- package/ConfigContext.js +18 -0
- package/ConfigContext.js.map +1 -0
- package/ConnectButton.js +20 -0
- package/ConnectButton.js.map +1 -0
- package/Container.js +52 -0
- package/Container.js.map +1 -0
- package/ContextAction.js +42 -0
- package/ContextAction.js.map +1 -0
- package/Dat/Dat.d.ts +2 -12
- package/Dat/DatDropdownItem.d.ts +1 -1
- package/Dat/index.d.ts +0 -1
- package/Dat.js +90 -0
- package/Dat.js.map +1 -0
- package/DatDropdownItem.js +47 -0
- package/DatDropdownItem.js.map +1 -0
- package/DesignSystemContext.js +12 -0
- package/DesignSystemContext.js.map +1 -0
- package/DirectionSelect.js +43 -0
- package/DirectionSelect.js.map +1 -0
- package/DocumentIcon.js +69 -0
- package/DocumentIcon.js.map +1 -0
- package/DomainInput.js +39 -0
- package/DomainInput.js.map +1 -0
- package/DragSelect.js +144 -0
- package/DragSelect.js.map +1 -0
- package/Dropdown.js +72 -0
- package/Dropdown.js.map +1 -0
- package/DropdownContent.js +59 -0
- package/DropdownContent.js.map +1 -0
- package/DropdownListItem.js +52 -0
- package/DropdownListItem.js.map +1 -0
- package/ErrorIcon.js +48 -0
- package/ErrorIcon.js.map +1 -0
- package/ErrorMessage.js +40 -0
- package/ErrorMessage.js.map +1 -0
- package/FieldSelect.js +74 -0
- package/FieldSelect.js.map +1 -0
- package/FileSelector.js +266 -0
- package/FileSelector.js.map +1 -0
- package/Header.js +42 -0
- package/Header.js.map +1 -0
- package/HorizontalScroll.js +51 -0
- package/HorizontalScroll.js.map +1 -0
- package/InfiniteScroll.js +26 -0
- package/InfiniteScroll.js.map +1 -0
- package/LeftArrow.js +31 -0
- package/LeftArrow.js.map +1 -0
- package/LoginComponent.js +32 -0
- package/LoginComponent.js.map +1 -0
- package/LoginContext.js +85 -0
- package/LoginContext.js.map +1 -0
- package/MetapropertyFilterContent.js +25 -0
- package/MetapropertyFilterContent.js.map +1 -0
- package/MetapropertyOption.js +24 -0
- package/MetapropertyOption.js.map +1 -0
- package/Modal.js +48 -0
- package/Modal.js.map +1 -0
- package/NoResults.js +51 -0
- package/NoResults.js.map +1 -0
- package/Oops.js +54 -0
- package/Oops.js.map +1 -0
- package/Option_new.js +50 -0
- package/Option_new.js.map +1 -0
- package/RefreshingSpinner.js +22 -0
- package/RefreshingSpinner.js.map +1 -0
- package/ReportModal.js +51 -0
- package/ReportModal.js.map +1 -0
- package/RightArrow.js +31 -0
- package/RightArrow.js.map +1 -0
- package/RootElementContext.js +12 -0
- package/RootElementContext.js.map +1 -0
- package/SearchInput.js +76 -0
- package/SearchInput.js.map +1 -0
- package/SelectedItemContainer.js +44 -0
- package/SelectedItemContainer.js.map +1 -0
- package/SelectedItems.js +27 -0
- package/SelectedItems.js.map +1 -0
- package/SelectionContext.js +144 -0
- package/SelectionContext.js.map +1 -0
- package/SelectionFooter.js +65 -0
- package/SelectionFooter.js.map +1 -0
- package/ShadowRoot.js +11 -0
- package/ShadowRoot.js.map +1 -0
- package/ShadowRootInternal.js +78 -0
- package/ShadowRootInternal.js.map +1 -0
- package/Shield.js +25 -0
- package/Shield.js.map +1 -0
- package/Skeleton.js +43 -0
- package/Skeleton.js.map +1 -0
- package/SmartFilterContent.js +11 -0
- package/SmartFilterContent.js.map +1 -0
- package/SmartFilterSelect_new.js +86 -0
- package/SmartFilterSelect_new.js.map +1 -0
- package/Smartfilters_new.js +190 -0
- package/Smartfilters_new.js.map +1 -0
- package/Spinner.js +32 -0
- package/Spinner.js.map +1 -0
- package/StatefulAssetList.js +100 -0
- package/StatefulAssetList.js.map +1 -0
- package/Styles.css.js +5 -0
- package/Styles.css.js.map +1 -0
- package/SwitchNLS.js +80 -0
- package/SwitchNLS.js.map +1 -0
- package/TagItem.js +38 -0
- package/TagItem.js.map +1 -0
- package/Tags.js +48 -0
- package/Tags.js.map +1 -0
- package/Theming.js +30 -0
- package/Theming.js.map +1 -0
- package/Toolbar.js +53 -0
- package/Toolbar.js.map +1 -0
- package/Tooltip.js +81 -0
- package/Tooltip.js.map +1 -0
- package/ViewSwitch.js +45 -0
- package/ViewSwitch.js.map +1 -0
- package/api/filterAssets.d.ts +1 -1
- package/api/getCollections.d.ts +1 -1
- package/api/getFilterOptions.d.ts +9 -0
- package/api/getFilters.d.ts +2 -2
- package/api/getFilters_new.d.ts +7 -0
- package/api/getSimilarityAssets.d.ts +1 -1
- package/api/index.d.ts +3 -3
- package/api/rest/autocomplete.d.ts +1 -1
- package/api/rest/getAssetCounts.d.ts +2 -2
- package/api/rest/getInitialFilters.d.ts +2 -2
- package/api/rest/getMetapropertiesOptions.d.ts +1 -1
- package/api/types/getFilters_new.d.ts +56 -0
- package/app-config/ConfigContext.d.ts +4 -5
- package/app-config/appConfig.type.d.ts +2 -0
- package/app-config/appConfig.type.guard.d.ts +1 -1
- package/asset.type.js +31 -0
- package/asset.type.js.map +1 -0
- package/asyncDebounce.js +14 -0
- package/asyncDebounce.js.map +1 -0
- package/auth.js +35 -0
- package/auth.js.map +1 -0
- package/autocomplete.js +25 -0
- package/autocomplete.js.map +1 -0
- package/base64Converter.js +15 -0
- package/base64Converter.js.map +1 -0
- package/chunk.js +10 -0
- package/chunk.js.map +1 -0
- package/class.js +7 -0
- package/class.js.map +1 -0
- package/combineFilters.js +9 -0
- package/combineFilters.js.map +1 -0
- package/combineMetaproperties.js +25 -0
- package/combineMetaproperties.js.map +1 -0
- package/common/components/CardSkeleton.d.ts +1 -1
- package/common/components/Checkbox.styles.d.ts +4 -4
- package/common/components/Chip.d.ts +1 -1
- package/common/components/DocumentIcon.d.ts +1 -1
- package/common/components/DragSelect.d.ts +1 -1
- package/common/components/HorizontalScroll.d.ts +1 -1
- package/common/components/InfiniteScroll.d.ts +1 -1
- package/common/components/LeftArrow.d.ts +1 -1
- package/common/components/Modal.d.ts +1 -1
- package/common/components/NoResults.d.ts +1 -1
- package/common/components/RightArrow.d.ts +1 -1
- package/common/components/Skeleton.d.ts +1 -1
- package/common/components/Spinner.d.ts +1 -1
- package/common/components/Tooltip.d.ts +1 -1
- package/common/components/dropdown/Dropdown.d.ts +1 -1
- package/common/components/dropdown/DropdownContent.d.ts +1 -1
- package/common/components/dropdown/DropdownListItem.d.ts +1 -1
- package/common/hooks/useClickOutside.d.ts +1 -1
- package/constants.js +15 -0
- package/constants.js.map +1 -0
- package/createSelectors.js +11 -0
- package/createSelectors.js.map +1 -0
- package/crypto.js +21 -0
- package/crypto.js.map +1 -0
- package/error-handling/ErrorIcon.d.ts +1 -1
- package/error-handling/ErrorMessage.d.ts +1 -1
- package/error-handling/Oops.d.ts +1 -1
- package/error-handling/ReportModal.d.ts +1 -1
- package/error-handling/Shield.d.ts +1 -1
- package/filter/AssetFilter.d.ts +1 -1
- package/filter/AssetFilterContext.d.ts +3 -3
- package/filter/active-filters/ActiveFilter.d.ts +1 -1
- package/filter/active-filters/ActiveFilters.d.ts +1 -1
- package/filter/filters/advanced/Advanced.d.ts +1 -1
- package/filter/filters/advanced/AssetTypeItem.d.ts +1 -1
- package/filter/filters/metaproperty/Metaproperty.d.ts +1 -1
- package/filter/filters/metaproperty/MetapropertyFilterContent.d.ts +1 -1
- package/filter/filters/metaproperty/MetapropertyOption.d.ts +1 -1
- package/filter/filters/metaproperty/SmartFilterContent.d.ts +1 -1
- package/filter/filters/smartfilters/Metaproperties/Autocomplete.d.ts +3 -3
- package/filter/filters/smartfilters/Metaproperties/Autocomplete_new.d.ts +15 -0
- package/filter/filters/smartfilters/Metaproperties/Option.d.ts +2 -2
- package/filter/filters/smartfilters/Metaproperties/Option_new.d.ts +13 -0
- package/filter/filters/smartfilters/Metaproperties/SmartFilterSelect.d.ts +2 -2
- package/filter/filters/smartfilters/Metaproperties/SmartFilterSelect_new.d.ts +13 -0
- package/filter/filters/smartfilters/Smartfilters.d.ts +2 -2
- package/filter/filters/smartfilters/Smartfilters_new.d.ts +7 -0
- package/filter/filters/tags/TagItem.d.ts +1 -1
- package/filter/filters/tags/Tags.d.ts +1 -1
- package/filterAssets.js +177 -0
- package/filterAssets.js.map +1 -0
- package/getAsset.js +70 -0
- package/getAsset.js.map +1 -0
- package/getAssetCounts.js +27 -0
- package/getAssetCounts.js.map +1 -0
- package/getAssets.js +137 -0
- package/getAssets.js.map +1 -0
- package/getCollections.js +79 -0
- package/getCollections.js.map +1 -0
- package/getFilterOptions.js +57 -0
- package/getFilterOptions.js.map +1 -0
- package/getFilters.js +85 -0
- package/getFilters.js.map +1 -0
- package/getFilters_new.js +73 -0
- package/getFilters_new.js.map +1 -0
- package/getLimitedUseThumbnails.js +26 -0
- package/getLimitedUseThumbnails.js.map +1 -0
- package/getSimilarityAssets.js +141 -0
- package/getSimilarityAssets.js.map +1 -0
- package/handlers.js +7 -0
- package/handlers.js.map +1 -0
- package/helpers.js +7 -0
- package/helpers.js.map +1 -0
- package/index.js +9 -1162
- package/index.js.map +1 -0
- package/index2.js +18 -0
- package/index2.js.map +1 -0
- package/index3.js +56 -0
- package/index3.js.map +1 -0
- package/index4.js +20 -0
- package/index4.js.map +1 -0
- package/logger.js +7 -0
- package/logger.js.map +1 -0
- package/login/LoginComponent.d.ts +1 -1
- package/login/LoginContext.d.ts +1 -1
- package/login/components/ConnectButton.d.ts +1 -1
- package/login/components/Container.d.ts +1 -1
- package/login/components/DomainInput.d.ts +1 -1
- package/login/components/Header.d.ts +1 -1
- package/login/components/RefreshingSpinner.d.ts +1 -1
- package/loginwindow.js +84 -0
- package/loginwindow.js.map +1 -0
- package/normalizeResponse.js +31 -0
- package/normalizeResponse.js.map +1 -0
- package/oauth2.js +87 -0
- package/oauth2.js.map +1 -0
- package/order/DirectionSelect.d.ts +1 -1
- package/order/FieldSelect.d.ts +2 -2
- package/package.json +2 -9
- package/result.type.js +25 -0
- package/result.type.js.map +1 -0
- package/router/RouterContext.d.ts +1 -1
- package/search/SearchInput.d.ts +1 -1
- package/search/SwitchNLS.d.ts +1 -1
- package/search/index.d.ts +0 -2
- package/select/FileSelector.d.ts +1 -1
- package/select/SelectionContext.d.ts +1 -1
- package/select/SelectionFooter.d.ts +1 -1
- package/select/add-media/AddMedia.d.ts +1 -1
- package/select/add-media/ButtonAction.d.ts +1 -1
- package/select/current-selection/AssetItem.d.ts +1 -1
- package/select/current-selection/CollectionItem.d.ts +1 -1
- package/select/current-selection/SelectedItemContainer.d.ts +1 -1
- package/select/current-selection/SelectedItems.d.ts +1 -1
- package/store/useDatStore.d.ts +73 -0
- package/store/useOrderingStore.d.ts +2 -2
- package/store/useRouterStore.d.ts +4 -4
- package/store/useSearchStore.d.ts +69 -0
- package/store/useSimilaritySearchStore.d.ts +67 -0
- package/style/DesignSystemContext.d.ts +1 -1
- package/style/RootElementContext.d.ts +1 -1
- package/style/Theming.d.ts +1 -1
- package/style/shadowroot/ShadowRoot.d.ts +1 -1
- package/style/shadowroot/ShadowRootInternal.d.ts +1 -1
- package/text.js +9 -0
- package/text.js.map +1 -0
- package/toolbar/Toolbar.d.ts +1 -1
- package/toolbar/ViewSwitch.d.ts +1 -1
- package/trimMetapropertyValue.js +6 -0
- package/trimMetapropertyValue.js.map +1 -0
- package/url.js +7 -0
- package/url.js.map +1 -0
- package/useAccountDomain.js +33 -0
- package/useAccountDomain.js.map +1 -0
- package/useAuthInformation.js +42 -0
- package/useAuthInformation.js.map +1 -0
- package/useClickOutside.js +16 -0
- package/useClickOutside.js.map +1 -0
- package/useDatStore.js +62 -0
- package/useDatStore.js.map +1 -0
- package/useDimensions.js +31 -0
- package/useDimensions.js.map +1 -0
- package/useOrderingStore.js +27 -0
- package/useOrderingStore.js.map +1 -0
- package/useRouterStore.js +21 -0
- package/useRouterStore.js.map +1 -0
- package/useSearchStore.js +49 -0
- package/useSearchStore.js.map +1 -0
- package/useSimilaritySearchStore.js +28 -0
- package/useSimilaritySearchStore.js.map +1 -0
- package/utils/base64Converter.d.ts +1 -1
- package/utils/combineFilters.d.ts +1 -1
- package/utils/combineMetaproperties.d.ts +2 -2
- package/utils/filterEmptyMetaproperties.d.ts +1 -1
- package/utils/getLimitedUseThumbnails.d.ts +2 -0
- package/utils/getMetaPropertiesForFilter.d.ts +1 -1
- package/utils/normalizeResponse.d.ts +1 -1
- package/utils.js +49 -0
- package/utils.js.map +1 -0
- package/utils2.js +51 -0
- package/utils2.js.map +1 -0
- package/views/asset/AssetList.d.ts +5 -3
- package/views/asset/AssetsView.d.ts +1 -1
- package/views/asset/StatefulAssetList.d.ts +2 -2
- package/views/asset/asset-card/AssetCard.d.ts +1 -1
- package/views/asset/asset-card/AssetCardMetaproperties.d.ts +3 -3
- package/views/asset/asset-card/ContextAction.d.ts +1 -1
- package/views/collection/CollectionView.d.ts +1 -1
- package/views/collections/CollectionCard.d.ts +1 -1
- package/views/collections/CollectionList.d.ts +1 -1
- package/views/collections/CollectionsView.d.ts +1 -1
- package/Dat/DatContext.d.ts +0 -12
- package/__tests__/utils/index.d.ts +0 -116
- package/api/__tests__/testMocks/mocks.d.ts +0 -14
- package/api/__tests__/utils.d.ts +0 -10
- package/common/components/__mocks__/Tooltip.d.ts +0 -6
- package/common/components/__tests__/utils.d.ts +0 -34
- package/error-handling/__tests__/utils.d.ts +0 -56
- package/filter/__tests__/utils.d.ts +0 -13
- package/index.mjs +0 -1163
- package/login/__tests__/mocks.d.ts +0 -1
- package/login/__tests__/utils.d.ts +0 -41
- package/search/SearchContext.d.ts +0 -25
- package/search/SimilaritySearchContext.d.ts +0 -21
- package/search/__mocks__/SimilaritySearchContext.d.ts +0 -5
- package/select/__tests__/utils.d.ts +0 -11
- package/style/shadowroot/__mocks__/ShadowRoot.d.ts +0 -4
- package/utils/__mocks__/logger.d.ts +0 -4
- package/views/asset/__tests__/utils.d.ts +0 -7
- package/views/collections/__tests__/utils.d.ts +0 -5
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Asset } from '../views/asset/asset.type';
|
|
2
|
+
import { Transformation } from '../Dat/types';
|
|
3
|
+
type datState = {
|
|
4
|
+
datUrl: string;
|
|
5
|
+
assetName: string;
|
|
6
|
+
datExtension: string;
|
|
7
|
+
transformation: Transformation;
|
|
8
|
+
resetTransformation: () => void;
|
|
9
|
+
setTransformation: (transformation?: Transformation) => void;
|
|
10
|
+
openDat: (url: string, asset: Asset, name: string) => void;
|
|
11
|
+
closeDat: () => void;
|
|
12
|
+
reset: () => void;
|
|
13
|
+
};
|
|
14
|
+
export declare const useDatStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<datState>, "setState" | "devtools"> & {
|
|
15
|
+
setState(partial: datState | Partial<datState> | ((state: datState) => datState | Partial<datState>), replace?: false | undefined, action?: (string | {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
[x: number]: unknown;
|
|
18
|
+
[x: symbol]: unknown;
|
|
19
|
+
type: string;
|
|
20
|
+
}) | undefined): void;
|
|
21
|
+
setState(state: datState | ((state: datState) => datState), replace: true, action?: (string | {
|
|
22
|
+
[x: string]: unknown;
|
|
23
|
+
[x: number]: unknown;
|
|
24
|
+
[x: symbol]: unknown;
|
|
25
|
+
type: string;
|
|
26
|
+
}) | undefined): void;
|
|
27
|
+
devtools: {
|
|
28
|
+
cleanup: () => void;
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
export declare const useDatSelectors: {
|
|
32
|
+
(): datState;
|
|
33
|
+
<U>(selector: (state: datState) => U): U;
|
|
34
|
+
} & Omit<import('zustand').StoreApi<datState>, "setState" | "devtools"> & {
|
|
35
|
+
setState(partial: datState | Partial<datState> | ((state: datState) => datState | Partial<datState>), replace?: false | undefined, action?: (string | {
|
|
36
|
+
[x: string]: unknown;
|
|
37
|
+
[x: number]: unknown;
|
|
38
|
+
[x: symbol]: unknown;
|
|
39
|
+
type: string;
|
|
40
|
+
}) | undefined): void;
|
|
41
|
+
setState(state: datState | ((state: datState) => datState), replace: true, action?: (string | {
|
|
42
|
+
[x: string]: unknown;
|
|
43
|
+
[x: number]: unknown;
|
|
44
|
+
[x: symbol]: unknown;
|
|
45
|
+
type: string;
|
|
46
|
+
}) | undefined): void;
|
|
47
|
+
devtools: {
|
|
48
|
+
cleanup: () => void;
|
|
49
|
+
};
|
|
50
|
+
} & {
|
|
51
|
+
use: {
|
|
52
|
+
datUrl: () => string;
|
|
53
|
+
assetName: () => string;
|
|
54
|
+
datExtension: () => string;
|
|
55
|
+
transformation: () => Transformation;
|
|
56
|
+
resetTransformation: () => () => void;
|
|
57
|
+
setTransformation: () => (transformation?: Transformation) => void;
|
|
58
|
+
openDat: () => (url: string, asset: Asset, name: string) => void;
|
|
59
|
+
closeDat: () => () => void;
|
|
60
|
+
reset: () => () => void;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export declare const useDat: () => {
|
|
64
|
+
datUrl: string;
|
|
65
|
+
assetName: string;
|
|
66
|
+
datExtension: string;
|
|
67
|
+
transformation: Transformation;
|
|
68
|
+
setTransformation: (transformation?: Transformation) => void;
|
|
69
|
+
closeDat: () => void;
|
|
70
|
+
openDat: (url: string, asset: Asset, name: string) => void;
|
|
71
|
+
reset: () => void;
|
|
72
|
+
};
|
|
73
|
+
export {};
|
|
@@ -12,7 +12,7 @@ type OrderingState = {
|
|
|
12
12
|
setOrdering: (page: PageType, ordering: Ordering) => void;
|
|
13
13
|
reset: () => void;
|
|
14
14
|
};
|
|
15
|
-
export declare const useOrderingStore: import(
|
|
15
|
+
export declare const useOrderingStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<OrderingState>, "setState" | "devtools"> & {
|
|
16
16
|
setState(partial: OrderingState | Partial<OrderingState> | ((state: OrderingState) => OrderingState | Partial<OrderingState>), replace?: false | undefined, action?: (string | {
|
|
17
17
|
[x: string]: unknown;
|
|
18
18
|
[x: number]: unknown;
|
|
@@ -32,7 +32,7 @@ export declare const useOrderingStore: import("zustand").UseBoundStore<Omit<impo
|
|
|
32
32
|
export declare const useOrderingSelectors: {
|
|
33
33
|
(): OrderingState;
|
|
34
34
|
<U>(selector: (state: OrderingState) => U): U;
|
|
35
|
-
} & Omit<import(
|
|
35
|
+
} & Omit<import('zustand').StoreApi<OrderingState>, "setState" | "devtools"> & {
|
|
36
36
|
setState(partial: OrderingState | Partial<OrderingState> | ((state: OrderingState) => OrderingState | Partial<OrderingState>), replace?: false | undefined, action?: (string | {
|
|
37
37
|
[x: string]: unknown;
|
|
38
38
|
[x: number]: unknown;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Collection } from '
|
|
1
|
+
import { Collection } from '../views/collection/collection.types';
|
|
2
2
|
type AssetsPage = 'assets';
|
|
3
3
|
type CollectionsPage = 'collections';
|
|
4
4
|
type CollectionPage = 'collection';
|
|
5
5
|
export type PageType = AssetsPage | CollectionsPage | CollectionPage;
|
|
6
|
-
type Page = {
|
|
6
|
+
export type Page = {
|
|
7
7
|
page: AssetsPage;
|
|
8
8
|
} | {
|
|
9
9
|
page: CollectionsPage;
|
|
@@ -15,7 +15,7 @@ type RouterState = {
|
|
|
15
15
|
page: Page;
|
|
16
16
|
setPage: (page: Page) => void;
|
|
17
17
|
};
|
|
18
|
-
export declare const useRouterStore: import(
|
|
18
|
+
export declare const useRouterStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<RouterState>, "setState" | "devtools"> & {
|
|
19
19
|
setState(partial: RouterState | Partial<RouterState> | ((state: RouterState) => RouterState | Partial<RouterState>), replace?: false | undefined, action?: (string | {
|
|
20
20
|
[x: string]: unknown;
|
|
21
21
|
[x: number]: unknown;
|
|
@@ -35,7 +35,7 @@ export declare const useRouterStore: import("zustand").UseBoundStore<Omit<import
|
|
|
35
35
|
export declare const useRouterSelectors: {
|
|
36
36
|
(): RouterState;
|
|
37
37
|
<U>(selector: (state: RouterState) => U): U;
|
|
38
|
-
} & Omit<import(
|
|
38
|
+
} & Omit<import('zustand').StoreApi<RouterState>, "setState" | "devtools"> & {
|
|
39
39
|
setState(partial: RouterState | Partial<RouterState> | ((state: RouterState) => RouterState | Partial<RouterState>), replace?: false | undefined, action?: (string | {
|
|
40
40
|
[x: string]: unknown;
|
|
41
41
|
[x: number]: unknown;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { useRouterSelectors } from './useRouterStore';
|
|
2
|
+
type Page = 'assets' | 'collections' | 'collection';
|
|
3
|
+
interface State {
|
|
4
|
+
assets: string;
|
|
5
|
+
collection: string;
|
|
6
|
+
collections: string;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface Actions {
|
|
10
|
+
setSearch: (page: Page, value: string) => void;
|
|
11
|
+
setIsLoading: (isLoading: boolean) => void;
|
|
12
|
+
clear: () => void;
|
|
13
|
+
}
|
|
14
|
+
type SearchStore = State & Actions;
|
|
15
|
+
export declare const useSearchStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<SearchStore>, "setState" | "devtools"> & {
|
|
16
|
+
setState(partial: SearchStore | Partial<SearchStore> | ((state: SearchStore) => SearchStore | Partial<SearchStore>), replace?: false | undefined, action?: (string | {
|
|
17
|
+
[x: string]: unknown;
|
|
18
|
+
[x: number]: unknown;
|
|
19
|
+
[x: symbol]: unknown;
|
|
20
|
+
type: string;
|
|
21
|
+
}) | undefined): void;
|
|
22
|
+
setState(state: SearchStore | ((state: SearchStore) => SearchStore), replace: true, action?: (string | {
|
|
23
|
+
[x: string]: unknown;
|
|
24
|
+
[x: number]: unknown;
|
|
25
|
+
[x: symbol]: unknown;
|
|
26
|
+
type: string;
|
|
27
|
+
}) | undefined): void;
|
|
28
|
+
devtools: {
|
|
29
|
+
cleanup: () => void;
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
export declare const useSearchSelectors: {
|
|
33
|
+
(): SearchStore;
|
|
34
|
+
<U>(selector: (state: SearchStore) => U): U;
|
|
35
|
+
} & Omit<import('zustand').StoreApi<SearchStore>, "setState" | "devtools"> & {
|
|
36
|
+
setState(partial: SearchStore | Partial<SearchStore> | ((state: SearchStore) => SearchStore | Partial<SearchStore>), replace?: false | undefined, action?: (string | {
|
|
37
|
+
[x: string]: unknown;
|
|
38
|
+
[x: number]: unknown;
|
|
39
|
+
[x: symbol]: unknown;
|
|
40
|
+
type: string;
|
|
41
|
+
}) | undefined): void;
|
|
42
|
+
setState(state: SearchStore | ((state: SearchStore) => SearchStore), replace: true, action?: (string | {
|
|
43
|
+
[x: string]: unknown;
|
|
44
|
+
[x: number]: unknown;
|
|
45
|
+
[x: symbol]: unknown;
|
|
46
|
+
type: string;
|
|
47
|
+
}) | undefined): void;
|
|
48
|
+
devtools: {
|
|
49
|
+
cleanup: () => void;
|
|
50
|
+
};
|
|
51
|
+
} & {
|
|
52
|
+
use: {
|
|
53
|
+
assets: () => string;
|
|
54
|
+
collection: () => string;
|
|
55
|
+
collections: () => string;
|
|
56
|
+
isLoading: () => boolean;
|
|
57
|
+
setSearch: () => (page: Page, value: string) => void;
|
|
58
|
+
setIsLoading: () => (isLoading: boolean) => void;
|
|
59
|
+
clear: () => () => void;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare function useSearchStateByPage(page: Page): {
|
|
63
|
+
value: string;
|
|
64
|
+
isLoading: boolean;
|
|
65
|
+
setSearch: (newValue: string) => void;
|
|
66
|
+
setIsLoading: (isLoading: boolean) => void;
|
|
67
|
+
};
|
|
68
|
+
export declare function useClearCollectionOnPageChange(page?: ReturnType<typeof useRouterSelectors.use.page>): void;
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { GraphqlResponse } from '../api/filterAssets';
|
|
2
|
+
import { Data } from '../api/graphql.types';
|
|
3
|
+
interface SimilaritySearchState {
|
|
4
|
+
isEnabled: boolean;
|
|
5
|
+
isSelected: boolean;
|
|
6
|
+
isNLSSelected: boolean;
|
|
7
|
+
NLSSearchText?: string;
|
|
8
|
+
setIsEnabled: (isEnabled: boolean) => void;
|
|
9
|
+
setIsSelected: (isSelected: boolean) => void;
|
|
10
|
+
setIsNLSSelected: (isNLSSelected: boolean) => void;
|
|
11
|
+
setNLSSearchText: (NLSSearchText?: string) => void;
|
|
12
|
+
setSimilarityAssetsData: (similarityAssetsData: Data<GraphqlResponse>) => void;
|
|
13
|
+
similarityAssetsData: Data<GraphqlResponse>;
|
|
14
|
+
updateSimilarityAssetsData: (fn: (prev: Data<GraphqlResponse>) => Data<GraphqlResponse>) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const useSimilaritySearchStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<SimilaritySearchState>, "setState" | "devtools"> & {
|
|
17
|
+
setState(partial: SimilaritySearchState | Partial<SimilaritySearchState> | ((state: SimilaritySearchState) => SimilaritySearchState | Partial<SimilaritySearchState>), replace?: false | undefined, action?: (string | {
|
|
18
|
+
[x: string]: unknown;
|
|
19
|
+
[x: number]: unknown;
|
|
20
|
+
[x: symbol]: unknown;
|
|
21
|
+
type: string;
|
|
22
|
+
}) | undefined): void;
|
|
23
|
+
setState(state: SimilaritySearchState | ((state: SimilaritySearchState) => SimilaritySearchState), replace: true, action?: (string | {
|
|
24
|
+
[x: string]: unknown;
|
|
25
|
+
[x: number]: unknown;
|
|
26
|
+
[x: symbol]: unknown;
|
|
27
|
+
type: string;
|
|
28
|
+
}) | undefined): void;
|
|
29
|
+
devtools: {
|
|
30
|
+
cleanup: () => void;
|
|
31
|
+
};
|
|
32
|
+
}>;
|
|
33
|
+
export declare const useSimilaritySearchSelectors: {
|
|
34
|
+
(): SimilaritySearchState;
|
|
35
|
+
<U>(selector: (state: SimilaritySearchState) => U): U;
|
|
36
|
+
} & Omit<import('zustand').StoreApi<SimilaritySearchState>, "setState" | "devtools"> & {
|
|
37
|
+
setState(partial: SimilaritySearchState | Partial<SimilaritySearchState> | ((state: SimilaritySearchState) => SimilaritySearchState | Partial<SimilaritySearchState>), replace?: false | undefined, action?: (string | {
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
[x: number]: unknown;
|
|
40
|
+
[x: symbol]: unknown;
|
|
41
|
+
type: string;
|
|
42
|
+
}) | undefined): void;
|
|
43
|
+
setState(state: SimilaritySearchState | ((state: SimilaritySearchState) => SimilaritySearchState), replace: true, action?: (string | {
|
|
44
|
+
[x: string]: unknown;
|
|
45
|
+
[x: number]: unknown;
|
|
46
|
+
[x: symbol]: unknown;
|
|
47
|
+
type: string;
|
|
48
|
+
}) | undefined): void;
|
|
49
|
+
devtools: {
|
|
50
|
+
cleanup: () => void;
|
|
51
|
+
};
|
|
52
|
+
} & {
|
|
53
|
+
use: {
|
|
54
|
+
isEnabled: () => boolean;
|
|
55
|
+
isSelected: () => boolean;
|
|
56
|
+
isNLSSelected: () => boolean;
|
|
57
|
+
NLSSearchText?: (() => string | undefined) | undefined;
|
|
58
|
+
setIsEnabled: () => (isEnabled: boolean) => void;
|
|
59
|
+
setIsSelected: () => (isSelected: boolean) => void;
|
|
60
|
+
setIsNLSSelected: () => (isNLSSelected: boolean) => void;
|
|
61
|
+
setNLSSearchText: () => (NLSSearchText?: string) => void;
|
|
62
|
+
setSimilarityAssetsData: () => (similarityAssetsData: Data<GraphqlResponse>) => void;
|
|
63
|
+
similarityAssetsData: () => Data<GraphqlResponse>;
|
|
64
|
+
updateSimilarityAssetsData: () => (fn: (prev: Data<GraphqlResponse>) => Data<GraphqlResponse>) => void;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export {};
|
package/style/Theming.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export declare const themeVariables: (theme?: Theme) => {
|
|
|
21
21
|
'--componentButtonPrimaryFillActive': string | undefined;
|
|
22
22
|
'--componentButtonPrimaryFillFocus': string | undefined;
|
|
23
23
|
};
|
|
24
|
-
export declare const ThemeStyles: import(
|
|
24
|
+
export declare const ThemeStyles: import('react').NamedExoticComponent<import('styled-components').ExecutionProps & {
|
|
25
25
|
theme?: Theme | undefined;
|
|
26
26
|
}>;
|
|
27
27
|
export declare function stringifyTheme(theme?: Theme): string;
|
package/text.js
ADDED
package/text.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
package/toolbar/Toolbar.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import { default as React } from 'react';
|
|
2
2
|
export declare function Toolbar(): React.JSX.Element | null;
|
package/toolbar/ViewSwitch.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import { default as React } from 'react';
|
|
2
2
|
export declare function ViewSwitch(): React.JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
package/url.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useState as c, useRef as d, useEffect as m } from "react";
|
|
2
|
+
import { ensureValidUrl as l } from "./url.js";
|
|
3
|
+
function v(i) {
|
|
4
|
+
const [t, e] = c(i ?? ""), [a, o] = c(i ? "validating" : "empty"), r = d();
|
|
5
|
+
m(() => {
|
|
6
|
+
if (!t) return;
|
|
7
|
+
let n = !1;
|
|
8
|
+
return r.current = setTimeout(() => {
|
|
9
|
+
f(t).then((s) => {
|
|
10
|
+
n || (o(s !== "invalid" ? "valid" : "invalid"), localStorage.setItem("cvp", s));
|
|
11
|
+
});
|
|
12
|
+
}, 1e3), () => {
|
|
13
|
+
n = !0;
|
|
14
|
+
};
|
|
15
|
+
}, [t]);
|
|
16
|
+
function u(n) {
|
|
17
|
+
r.current && clearTimeout(r.current), e(n), o(n === "" ? "empty" : "validating");
|
|
18
|
+
}
|
|
19
|
+
return [t, u, a];
|
|
20
|
+
}
|
|
21
|
+
async function f(i) {
|
|
22
|
+
const t = l(i.trim()) + "feeds/media/is-bynder-portal/";
|
|
23
|
+
try {
|
|
24
|
+
const e = await fetch(t), a = await e.json();
|
|
25
|
+
return e.status === 200 && e.headers.get("Content-Type") === "application/json;charset=UTF-8" ? a.webdam ? "webdam" : "bynder" : "invalid";
|
|
26
|
+
} catch {
|
|
27
|
+
return "invalid";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
v as useAccountDomain
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=useAccountDomain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useState as s, useRef as d, useEffect as m } from "react";
|
|
2
|
+
import { logger as h } from "./logger.js";
|
|
3
|
+
import { postRefreshTokenRequest as k } from "./oauth2.js";
|
|
4
|
+
import { isOk as I } from "./result.type.js";
|
|
5
|
+
function R() {
|
|
6
|
+
const [r, n] = s(void 0), [o, a] = s(localStorage.getItem("cvrt") ?? void 0), [c, i] = s(localStorage.getItem("cvad") ?? void 0), [v, u] = s(g()), t = d();
|
|
7
|
+
m(
|
|
8
|
+
() => () => {
|
|
9
|
+
t.current && clearTimeout(t.current);
|
|
10
|
+
},
|
|
11
|
+
[]
|
|
12
|
+
), m(() => {
|
|
13
|
+
(!r || !r()) && o && c && (u("refreshing"), k(o, c).then((e) => {
|
|
14
|
+
I(e) ? f({
|
|
15
|
+
getAccessToken: () => e.value.accessToken,
|
|
16
|
+
expiresIn: e.value.expiresIn,
|
|
17
|
+
refreshToken: o,
|
|
18
|
+
accountDomain: c
|
|
19
|
+
}) : (h.error(e.error), T());
|
|
20
|
+
}));
|
|
21
|
+
}, [r, o, c]);
|
|
22
|
+
function f(e) {
|
|
23
|
+
n(() => e.getAccessToken), a(e.refreshToken), i(e.accountDomain), u(g(e.getAccessToken, e.refreshToken)), e.accountDomain && localStorage.setItem("cvad", e.accountDomain), e.refreshToken && localStorage.setItem("cvrt", e.refreshToken), t.current && clearTimeout(t.current), e.expiresIn && (t.current = setTimeout(() => {
|
|
24
|
+
n(void 0);
|
|
25
|
+
}, e.expiresIn * 1e3));
|
|
26
|
+
}
|
|
27
|
+
function T() {
|
|
28
|
+
n(void 0), a(void 0), i(localStorage.getItem("cvad") ?? void 0), u("not-authenticated"), localStorage.removeItem("cvrt"), t.current && clearTimeout(t.current);
|
|
29
|
+
}
|
|
30
|
+
function g(e = r, l = o) {
|
|
31
|
+
return e !== void 0 ? "authenticated" : l !== void 0 ? "refreshing" : "not-authenticated";
|
|
32
|
+
}
|
|
33
|
+
return [{
|
|
34
|
+
getAccessToken: r,
|
|
35
|
+
accountDomain: c,
|
|
36
|
+
status: v
|
|
37
|
+
}, f, T];
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
R as useAuthInformation
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useAuthInformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect as u } from "react";
|
|
2
|
+
import { useRootElement as c } from "./RootElementContext.js";
|
|
3
|
+
function d(e, n) {
|
|
4
|
+
const o = c();
|
|
5
|
+
u(() => {
|
|
6
|
+
function r(i) {
|
|
7
|
+
const s = i.target;
|
|
8
|
+
e.map((t) => t?.current).some((t) => t && t.contains(s)) || n();
|
|
9
|
+
}
|
|
10
|
+
return o?.addEventListener("mousedown", r), () => o?.removeEventListener("mousedown", r);
|
|
11
|
+
}, [e, n, o]);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
d as useClickOutside
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useClickOutside.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { create as d } from "zustand";
|
|
2
|
+
import { devtools as f } from "zustand/middleware";
|
|
3
|
+
import { createSelectors as c } from "./createSelectors.js";
|
|
4
|
+
const i = d()(
|
|
5
|
+
f(
|
|
6
|
+
(t, r, n) => ({
|
|
7
|
+
datUrl: "",
|
|
8
|
+
assetName: "",
|
|
9
|
+
datExtension: "",
|
|
10
|
+
transformation: {},
|
|
11
|
+
openDat: (e, a, s) => {
|
|
12
|
+
const o = r().transformation;
|
|
13
|
+
t({
|
|
14
|
+
datUrl: e,
|
|
15
|
+
assetName: s,
|
|
16
|
+
datExtension: a.extensions[0] || "",
|
|
17
|
+
transformation: {
|
|
18
|
+
url: e,
|
|
19
|
+
asset: a,
|
|
20
|
+
preset: o && o.asset?.id === a.id ? o.preset : void 0
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
closeDat: () => {
|
|
25
|
+
t({ datUrl: "" });
|
|
26
|
+
},
|
|
27
|
+
setTransformation: (e) => {
|
|
28
|
+
t({ transformation: e });
|
|
29
|
+
},
|
|
30
|
+
reset: () => t(n.getInitialState())
|
|
31
|
+
}),
|
|
32
|
+
{ name: "DatStore", enabled: !1 }
|
|
33
|
+
)
|
|
34
|
+
);
|
|
35
|
+
c(i);
|
|
36
|
+
const x = () => {
|
|
37
|
+
const {
|
|
38
|
+
datUrl: t,
|
|
39
|
+
assetName: r,
|
|
40
|
+
datExtension: n,
|
|
41
|
+
transformation: e,
|
|
42
|
+
setTransformation: a,
|
|
43
|
+
closeDat: s,
|
|
44
|
+
openDat: o,
|
|
45
|
+
reset: m
|
|
46
|
+
} = i();
|
|
47
|
+
return {
|
|
48
|
+
datUrl: t,
|
|
49
|
+
assetName: r,
|
|
50
|
+
datExtension: n,
|
|
51
|
+
transformation: e,
|
|
52
|
+
setTransformation: a,
|
|
53
|
+
closeDat: s,
|
|
54
|
+
openDat: o,
|
|
55
|
+
reset: m
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
x as useDat,
|
|
60
|
+
i as useDatStore
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=useDatStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useState as u, useRef as m, useEffect as a } from "react";
|
|
2
|
+
function f(r) {
|
|
3
|
+
const [s, c] = u(void 0), e = m(void 0);
|
|
4
|
+
function i(n) {
|
|
5
|
+
e.current !== void 0 && cancelAnimationFrame(e.current), e.current = requestAnimationFrame(() => {
|
|
6
|
+
const t = n ?? r;
|
|
7
|
+
if (t === null)
|
|
8
|
+
return;
|
|
9
|
+
const o = t.getBoundingClientRect();
|
|
10
|
+
c({
|
|
11
|
+
width: o.width,
|
|
12
|
+
height: o.height,
|
|
13
|
+
scrollWidth: t.scrollWidth
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return a(() => {
|
|
18
|
+
i();
|
|
19
|
+
const n = () => i();
|
|
20
|
+
return window.addEventListener("resize", n), () => {
|
|
21
|
+
window.removeEventListener("resize", n), e.current && cancelAnimationFrame(e.current);
|
|
22
|
+
};
|
|
23
|
+
}, [r]), {
|
|
24
|
+
dimensions: s,
|
|
25
|
+
remeasure: i
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
f as useDimensions
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=useDimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { create as c } from "zustand";
|
|
2
|
+
import { devtools as l } from "zustand/middleware";
|
|
3
|
+
import { createSelectors as d } from "./createSelectors.js";
|
|
4
|
+
const s = {
|
|
5
|
+
field: "CREATED_AT",
|
|
6
|
+
direction: "DESC"
|
|
7
|
+
}, n = c()(
|
|
8
|
+
l(
|
|
9
|
+
(t, i, r) => ({
|
|
10
|
+
assets: s,
|
|
11
|
+
collections: s,
|
|
12
|
+
collection: s,
|
|
13
|
+
setOrdering: (e, o) => t(() => e === "assets" ? { assets: o } : e === "collections" ? { collections: o } : { collection: o }),
|
|
14
|
+
reset: () => t(r.getInitialState())
|
|
15
|
+
}),
|
|
16
|
+
{ name: "OrderingStore", enabled: !1 }
|
|
17
|
+
)
|
|
18
|
+
), u = d(n), O = (t) => {
|
|
19
|
+
const i = n((e) => e[t]), r = n((e) => e.setOrdering);
|
|
20
|
+
return [i, (e) => r(t, e)];
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
O as useOrderingByPage,
|
|
24
|
+
u as useOrderingSelectors,
|
|
25
|
+
n as useOrderingStore
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useOrderingStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;"}
|