@bynder/compact-view 5.1.3 → 5.1.4
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 +1 -1
- package/App.js +89 -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 +158 -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.js +148 -0
- package/Autocomplete.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 +239 -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.js +50 -0
- package/Option.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.js +91 -0
- package/SmartFilterSelect.js.map +1 -0
- package/Smartfilters.js +186 -0
- package/Smartfilters.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/getFilters.d.ts +1 -1
- package/api/getSimilarityAssets.d.ts +1 -1
- package/api/index.d.ts +2 -2
- 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/app-config/ConfigContext.d.ts +3 -4
- 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/autocomplete2.js +25 -0
- package/autocomplete2.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/Option.d.ts +2 -2
- package/filter/filters/smartfilters/Metaproperties/SmartFilterSelect.d.ts +2 -2
- package/filter/filters/smartfilters/Smartfilters.d.ts +2 -2
- package/filter/filters/tags/TagItem.d.ts +1 -1
- package/filter/filters/tags/Tags.d.ts +1 -1
- package/filterAssets.js +175 -0
- package/filterAssets.js.map +1 -0
- package/filterEmptyMetaproperties.js +11 -0
- package/filterEmptyMetaproperties.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 +78 -0
- package/getCollections.js.map +1 -0
- package/getFilters.js +84 -0
- package/getFilters.js.map +1 -0
- package/getInitialFilters.js +51 -0
- package/getInitialFilters.js.map +1 -0
- package/getMetapropertiesOptions.js +31 -0
- package/getMetapropertiesOptions.js.map +1 -0
- package/getSimilarityAssets.js +141 -0
- package/getSimilarityAssets.js.map +1 -0
- package/handlers.js +11 -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 +36 -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/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,53 @@
|
|
|
1
|
+
import { jsxs as h, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useState as S } from "react";
|
|
3
|
+
import { styled as v } from "styled-components";
|
|
4
|
+
import { token as r } from "@bynder/design-system";
|
|
5
|
+
import { CardSkeleton as C } from "./CardSkeleton.js";
|
|
6
|
+
import { CollectionCard as L } from "./CollectionCard.js";
|
|
7
|
+
import { useDimensions as x } from "./useDimensions.js";
|
|
8
|
+
import { InfiniteScroll as I } from "./InfiniteScroll.js";
|
|
9
|
+
import { NoResults as N } from "./NoResults.js";
|
|
10
|
+
import { useSelectedCollectionIds as k } from "./SelectionContext.js";
|
|
11
|
+
import { nbsp as w } from "./text.js";
|
|
12
|
+
import { useSearchStore as M } from "./useSearchStore.js";
|
|
13
|
+
function E(l) {
|
|
14
|
+
const [d, a] = S(null), { dimensions: i } = x(d), c = k(), { setSearch: m } = M(), { data: o, isLoading: f, loadMore: u, hasNextPage: p } = l.connection, n = i !== void 0 ? Math.ceil(i.height / 184) : 0, s = i !== void 0 ? Math.round((i.width - 32) / 204) : 0;
|
|
15
|
+
return /* @__PURE__ */ h(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
role: "listbox",
|
|
19
|
+
className: "card-list",
|
|
20
|
+
ref: (e) => {
|
|
21
|
+
a(e);
|
|
22
|
+
},
|
|
23
|
+
children: [
|
|
24
|
+
(o.tag === "Failure" || o.tag === "Loading" && !o.value) && /* @__PURE__ */ t(
|
|
25
|
+
C,
|
|
26
|
+
{
|
|
27
|
+
rows: n,
|
|
28
|
+
columns: s,
|
|
29
|
+
title: /* @__PURE__ */ t(R, { children: w })
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
o.tag === "Loaded" && o.value?.collections.nodes.length === 0 && /* @__PURE__ */ t(N, { onReset: () => m("collections", "") }),
|
|
33
|
+
(o.tag === "Loading" && !!o.value || o.tag === "Loaded" && o.value.collections.nodes.length > 0) && /* @__PURE__ */ t(I, { hasNextPage: p, isLoading: f, loadMore: u, children: o.value?.collections.nodes.map((e, g) => /* @__PURE__ */ t(
|
|
34
|
+
L,
|
|
35
|
+
{
|
|
36
|
+
isSelected: c.includes(e.id),
|
|
37
|
+
collection: e,
|
|
38
|
+
fadeIn: g >= n * s
|
|
39
|
+
},
|
|
40
|
+
e.id
|
|
41
|
+
)) })
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
const R = v.div`
|
|
47
|
+
margin-top: ${r.spacing3};
|
|
48
|
+
font-size: ${r.fontSize75};
|
|
49
|
+
`;
|
|
50
|
+
export {
|
|
51
|
+
E as CollectionList
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=CollectionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionList.js","sources":["../../src/views/collections/CollectionList.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { CardSkeleton } from '../../common/components/CardSkeleton';\nimport { CollectionCard } from './CollectionCard';\nimport { useDimensions } from '../../common/hooks/useDimensions';\nimport { InfiniteScroll } from '../../common/components/InfiniteScroll';\nimport { NoResults } from '../../common/components/NoResults';\nimport { useSelectedCollectionIds } from '../../select/SelectionContext';\nimport { nbsp } from '../../utils/text';\nimport { Connection } from '../../api/graphql.types';\nimport { GraphqlResponse as GraphqlCollections } from '../../api/getCollections';\nimport { useSearchStore } from '@src/store/useSearchStore';\n\ninterface Props {\n\tconnection: Connection<GraphqlCollections>;\n}\n\nexport function CollectionList(props: Props) {\n\tconst [node, setNode] = useState<HTMLDivElement | null>(null);\n\tconst { dimensions } = useDimensions(node);\n\tconst selectedIds = useSelectedCollectionIds();\n\tconst { setSearch } = useSearchStore();\n\n\tconst { data, isLoading, loadMore, hasNextPage } = props.connection;\n\n\tconst count = dimensions !== undefined ? Math.ceil(dimensions.height / 184) : 0;\n\tconst collectionsPerRow =\n\t\tdimensions !== undefined ? Math.round((dimensions.width - 32) / 204) : 0;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"card-list\"\n\t\t\tref={(el) => {\n\t\t\t\tsetNode(el);\n\t\t\t}}\n\t\t>\n\t\t\t{(data.tag === 'Failure' || (data.tag === 'Loading' && !data.value)) && (\n\t\t\t\t<CardSkeleton\n\t\t\t\t\trows={count}\n\t\t\t\t\tcolumns={collectionsPerRow}\n\t\t\t\t\t// Empty row to match height with \"[n] files\"\n\t\t\t\t\ttitle={<CardSkeletonTitle>{nbsp}</CardSkeletonTitle>}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{data.tag === 'Loaded' && data.value?.collections.nodes.length === 0 && (\n\t\t\t\t<NoResults onReset={() => setSearch('collections', '')} />\n\t\t\t)}\n\n\t\t\t{((data.tag === 'Loading' && !!data.value) ||\n\t\t\t\t(data.tag === 'Loaded' && data.value.collections.nodes.length > 0)) && (\n\t\t\t\t<InfiniteScroll hasNextPage={hasNextPage} isLoading={isLoading} loadMore={loadMore}>\n\t\t\t\t\t{data.value?.collections.nodes.map((collection, index) => (\n\t\t\t\t\t\t<CollectionCard\n\t\t\t\t\t\t\tkey={collection.id}\n\t\t\t\t\t\t\tisSelected={selectedIds.includes(collection.id)}\n\t\t\t\t\t\t\tcollection={collection}\n\t\t\t\t\t\t\tfadeIn={index >= count * collectionsPerRow}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</InfiniteScroll>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nconst CardSkeletonTitle = styled.div`\n\tmargin-top: ${token.spacing3};\n\tfont-size: ${token.fontSize75};\n`;\n"],"names":["CollectionList","props","node","setNode","useState","dimensions","useDimensions","selectedIds","useSelectedCollectionIds","setSearch","useSearchStore","data","isLoading","loadMore","hasNextPage","count","collectionsPerRow","jsxs","el","jsx","CardSkeleton","CardSkeletonTitle","nbsp","NoResults","InfiniteScroll","collection","index","CollectionCard","styled","token"],"mappings":";;;;;;;;;;;;AAmBO,SAASA,EAAeC,GAAc;AAC5C,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAgC,IAAI,GACtD,EAAE,YAAAC,EAAA,IAAeC,EAAcJ,CAAI,GACnCK,IAAcC,EAAA,GACd,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhB,EAAE,MAAAC,GAAM,WAAAC,GAAW,UAAAC,GAAU,aAAAC,EAAA,IAAgBb,EAAM,YAEnDc,IAAQV,MAAe,SAAY,KAAK,KAAKA,EAAW,SAAS,GAAG,IAAI,GACxEW,IACLX,MAAe,SAAY,KAAK,OAAOA,EAAW,QAAQ,MAAM,GAAG,IAAI;AAExE,SACC,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,WAAU;AAAA,MACV,KAAK,CAACC,MAAO;AACZ,QAAAf,EAAQe,CAAE;AAAA,MACX;AAAA,MAEE,UAAA;AAAA,SAAAP,EAAK,QAAQ,aAAcA,EAAK,QAAQ,aAAa,CAACA,EAAK,UAC5D,gBAAAQ;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,MAAML;AAAA,YACN,SAASC;AAAA,YAET,OAAO,gBAAAG,EAACE,GAAA,EAAmB,UAAAC,EAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAIjCX,EAAK,QAAQ,YAAYA,EAAK,OAAO,YAAY,MAAM,WAAW,KAClE,gBAAAQ,EAACI,KAAU,SAAS,MAAMd,EAAU,eAAe,EAAE,GAAG;AAAA,SAGtDE,EAAK,QAAQ,aAAa,CAAC,CAACA,EAAK,SAClCA,EAAK,QAAQ,YAAYA,EAAK,MAAM,YAAY,MAAM,SAAS,MAChE,gBAAAQ,EAACK,GAAA,EAAe,aAAAV,GAA0B,WAAAF,GAAsB,UAAAC,GAC9D,UAAAF,EAAK,OAAO,YAAY,MAAM,IAAI,CAACc,GAAYC,MAC/C,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YAEA,YAAYpB,EAAY,SAASkB,EAAW,EAAE;AAAA,YAC9C,YAAAA;AAAA,YACA,QAAQC,KAASX,IAAQC;AAAA,UAAA;AAAA,UAHpBS,EAAW;AAAA,QAAA,CAKjB,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIJ;AAEA,MAAMJ,IAAoBO,EAAO;AAAA,eAClBC,EAAM,QAAQ;AAAA,cACfA,EAAM,UAAU;AAAA;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsxs as e, Fragment as b, jsx as y } from "react/jsx-runtime";
|
|
2
|
+
import { styled as i } from "styled-components";
|
|
3
|
+
import { token as t } from "@bynder/design-system";
|
|
4
|
+
import { useConfig as A } from "./ConfigContext.js";
|
|
5
|
+
import { useOrderingSelectors as k } from "./useOrderingStore.js";
|
|
6
|
+
import { useRouter as v } from "./useRouterStore.js";
|
|
7
|
+
import { useFilterAssets as w } from "./filterAssets.js";
|
|
8
|
+
import { __ as x } from "./index2.js";
|
|
9
|
+
import { StatefulAssetList as F } from "./StatefulAssetList.js";
|
|
10
|
+
import { useAssetFilter as L } from "./AssetFilterContext.js";
|
|
11
|
+
import { useSearchStateByPage as V } from "./useSearchStore.js";
|
|
12
|
+
import { useSimilaritySearchStore as B } from "./useSimilaritySearchStore.js";
|
|
13
|
+
import { useSimilarityAssets as N } from "./getSimilarityAssets.js";
|
|
14
|
+
function K(o) {
|
|
15
|
+
const { value: n } = V("collection"), [, r] = v(), c = k.use.collection(), { language: s, noCache: l } = A(), { assetTypes: a, tags: m, isLimited: u, selectedSmartfilterOptions: d } = L(), {
|
|
16
|
+
isSelected: p,
|
|
17
|
+
isNLSSelected: f,
|
|
18
|
+
NLSSearchText: g
|
|
19
|
+
} = B(), { connection: S } = N(), h = w(
|
|
20
|
+
{
|
|
21
|
+
collection: o.collection,
|
|
22
|
+
filter: { assetTypes: a, selectedSmartfilterOptions: d, tags: m, isLimited: u },
|
|
23
|
+
searchTerm: n,
|
|
24
|
+
orderBy: c,
|
|
25
|
+
language: s
|
|
26
|
+
},
|
|
27
|
+
l
|
|
28
|
+
), C = p || f && g;
|
|
29
|
+
return /* @__PURE__ */ e(b, { children: [
|
|
30
|
+
/* @__PURE__ */ e(T, { "data-testid": "collection-toolbar", children: [
|
|
31
|
+
/* @__PURE__ */ e(
|
|
32
|
+
$,
|
|
33
|
+
{
|
|
34
|
+
onClick: () => r({ page: "collections" }),
|
|
35
|
+
type: "button",
|
|
36
|
+
children: [
|
|
37
|
+
x("Collections"),
|
|
38
|
+
" / "
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
/* @__PURE__ */ e("span", { children: [
|
|
43
|
+
" ",
|
|
44
|
+
o.collection.name,
|
|
45
|
+
" "
|
|
46
|
+
] })
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ y(
|
|
49
|
+
F,
|
|
50
|
+
{
|
|
51
|
+
connection: C ? S : h,
|
|
52
|
+
totalCount: o.collection.assetCount,
|
|
53
|
+
showActiveFilters: !0
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
] });
|
|
57
|
+
}
|
|
58
|
+
const T = i.nav`
|
|
59
|
+
padding: ${t.spacing5} ${t.spacing5};
|
|
60
|
+
`, $ = i.button`
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
user-select: none;
|
|
63
|
+
color: rgba(0, 34, 51, 0.5);
|
|
64
|
+
background-color: transparent;
|
|
65
|
+
background-image: none;
|
|
66
|
+
border: 0 solid rgba(0, 34, 51, 0.1);
|
|
67
|
+
font-size: ${t.fontSize100};
|
|
68
|
+
padding: 0;
|
|
69
|
+
`;
|
|
70
|
+
export {
|
|
71
|
+
K as CollectionView
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=CollectionView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionView.js","sources":["../../src/views/collection/CollectionView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useOrderingSelectors } from '@src/store/useOrderingStore';\nimport { useRouter } from '@src/store/useRouterStore';\nimport { Collection } from './collection.types';\nimport { useFilterAssets } from '@src/api/filterAssets';\nimport { __ } from '@src/localization';\nimport { StatefulAssetList } from '../asset/StatefulAssetList';\nimport { useAssetFilter } from '@src/filter/AssetFilterContext';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\nimport { useSimilaritySearchStore } from '@src/store/useSimilaritySearchStore';\nimport { useSimilarityAssets } from '@src/api/getSimilarityAssets';\n\ninterface Props {\n\tcollection: Collection;\n}\n\nexport function CollectionView(props: Props) {\n\tconst { value: searchValue } = useSearchStateByPage('collection');\n\tconst [, setPage] = useRouter();\n\tconst ordering = useOrderingSelectors.use.collection();\n\tconst { language, noCache } = useConfig();\n\tconst { assetTypes, tags, isLimited, selectedSmartfilterOptions } = useAssetFilter();\n\n\tconst {\n\t\tisSelected: isSimilaritySearchSelected,\n\t\tisNLSSelected,\n\t\tNLSSearchText,\n\t} = useSimilaritySearchStore();\n\tconst { connection: similarityConnection } = useSimilarityAssets();\n\n\tconst connection = useFilterAssets(\n\t\t{\n\t\t\tcollection: props.collection,\n\t\t\tfilter: { assetTypes, selectedSmartfilterOptions, tags, isLimited },\n\t\t\tsearchTerm: searchValue,\n\t\t\torderBy: ordering,\n\t\t\tlanguage,\n\t\t},\n\t\tnoCache,\n\t);\n\n\tconst isAISearchEnabled = isSimilaritySearchSelected || (isNLSSelected && NLSSearchText);\n\n\treturn (\n\t\t<>\n\t\t\t<CollectionViewNav data-testid=\"collection-toolbar\">\n\t\t\t\t<CollectionViewButton\n\t\t\t\t\tonClick={() => setPage({ page: 'collections' })}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t{__('Collections')}\n\t\t\t\t\t{' / '}\n\t\t\t\t</CollectionViewButton>\n\t\t\t\t<span> {props.collection.name} </span>\n\t\t\t</CollectionViewNav>\n\n\t\t\t<StatefulAssetList\n\t\t\t\tconnection={isAISearchEnabled ? similarityConnection : connection}\n\t\t\t\ttotalCount={props.collection.assetCount}\n\t\t\t\tshowActiveFilters\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst CollectionViewNav = styled.nav`\n\tpadding: ${token.spacing5} ${token.spacing5};\n`;\n\nconst CollectionViewButton = styled.button`\n\tcursor: pointer;\n\tuser-select: none;\n\tcolor: rgba(0, 34, 51, 0.5);\n\tbackground-color: transparent;\n\tbackground-image: none;\n\tborder: 0 solid rgba(0, 34, 51, 0.1);\n\tfont-size: ${token.fontSize100};\n\tpadding: 0;\n`;\n"],"names":["CollectionView","props","searchValue","useSearchStateByPage","setPage","useRouter","ordering","useOrderingSelectors","language","noCache","useConfig","assetTypes","tags","isLimited","selectedSmartfilterOptions","useAssetFilter","isSimilaritySearchSelected","isNLSSelected","NLSSearchText","useSimilaritySearchStore","similarityConnection","useSimilarityAssets","connection","useFilterAssets","isAISearchEnabled","jsxs","Fragment","CollectionViewNav","CollectionViewButton","__","jsx","StatefulAssetList","styled","token"],"mappings":";;;;;;;;;;;;;AAoBO,SAASA,EAAeC,GAAc;AAC5C,QAAM,EAAE,OAAOC,MAAgBC,EAAqB,YAAY,GAC1D,CAAA,EAAGC,CAAO,IAAIC,EAAA,GACdC,IAAWC,EAAqB,IAAI,WAAA,GACpC,EAAE,UAAAC,GAAU,SAAAC,EAAA,IAAYC,EAAA,GACxB,EAAE,YAAAC,GAAY,MAAAC,GAAM,WAAAC,GAAW,4BAAAC,EAAA,IAA+BC,EAAA,GAE9D;AAAA,IACL,YAAYC;AAAA,IACZ,eAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACGC,EAAA,GACE,EAAE,YAAYC,EAAA,IAAyBC,EAAA,GAEvCC,IAAaC;AAAA,IAClB;AAAA,MACC,YAAYtB,EAAM;AAAA,MAClB,QAAQ,EAAE,YAAAU,GAAY,4BAAAG,GAA4B,MAAAF,GAAM,WAAAC,EAAA;AAAA,MACxD,YAAYX;AAAA,MACZ,SAASI;AAAA,MACT,UAAAE;AAAA,IAAA;AAAA,IAEDC;AAAA,EAAA,GAGKe,IAAoBR,KAA+BC,KAAiBC;AAE1E,SACC,gBAAAO,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EAAkB,eAAY,sBAC9B,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACA,SAAS,MAAMxB,EAAQ,EAAE,MAAM,eAAe;AAAA,UAC9C,MAAK;AAAA,UAEJ,UAAA;AAAA,YAAAyB,EAAG,aAAa;AAAA,YAChB;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,wBAED,QAAA,EAAK,UAAA;AAAA,QAAA;AAAA,QAAE5B,EAAM,WAAW;AAAA,QAAK;AAAA,MAAA,EAAA,CAAC;AAAA,IAAA,GAChC;AAAA,IAEA,gBAAA6B;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,YAAYP,IAAoBJ,IAAuBE;AAAA,QACvD,YAAYrB,EAAM,WAAW;AAAA,QAC7B,mBAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClB,GACD;AAEF;AAEA,MAAM0B,IAAoBK,EAAO;AAAA,YACrBC,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA,GAGtCL,IAAuBI,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOtBC,EAAM,WAAW;AAAA;AAAA;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as m } from "react";
|
|
3
|
+
import { styled as i } from "styled-components";
|
|
4
|
+
import { token as t } from "@bynder/design-system";
|
|
5
|
+
import { useConfig as f } from "./ConfigContext.js";
|
|
6
|
+
import { useOrderingSelectors as d } from "./useOrderingStore.js";
|
|
7
|
+
import { Oops as p } from "./Oops.js";
|
|
8
|
+
import { DirectionSelect as u } from "./DirectionSelect.js";
|
|
9
|
+
import { FieldSelect as g } from "./FieldSelect.js";
|
|
10
|
+
import { pluralize as C } from "./text.js";
|
|
11
|
+
import { __ as n } from "./index2.js";
|
|
12
|
+
import { CollectionList as x } from "./CollectionList.js";
|
|
13
|
+
import { useGetCollections as w } from "./getCollections.js";
|
|
14
|
+
import { useSearchStateByPage as v } from "./useSearchStore.js";
|
|
15
|
+
function O() {
|
|
16
|
+
const { value: l, setIsLoading: s } = v("collections"), a = d.use.collections(), { noCache: c } = f(), o = w(
|
|
17
|
+
{
|
|
18
|
+
searchTerm: l,
|
|
19
|
+
orderBy: a
|
|
20
|
+
},
|
|
21
|
+
c
|
|
22
|
+
);
|
|
23
|
+
return m(() => {
|
|
24
|
+
o.isLoading || s(!1);
|
|
25
|
+
}, [o.isLoading]), o.data.tag === "Failure" ? /* @__PURE__ */ e(p, { error: new Error(o.data.value), onRetry: o.executeQuery }) : /* @__PURE__ */ r(y, { "data-testid": "collections-view-container", children: [
|
|
26
|
+
/* @__PURE__ */ r(h, { children: [
|
|
27
|
+
o.data.value && /* @__PURE__ */ e(E, { children: C(
|
|
28
|
+
o.data.value.collections.totalCount,
|
|
29
|
+
n("{} collection"),
|
|
30
|
+
n("{} collections")
|
|
31
|
+
) }),
|
|
32
|
+
!o.data.value && /* @__PURE__ */ e("span", { className: "flex-grow" }),
|
|
33
|
+
/* @__PURE__ */ e(g, { options: ["CREATED_AT", "NAME"] }),
|
|
34
|
+
/* @__PURE__ */ e(u, {})
|
|
35
|
+
] }),
|
|
36
|
+
/* @__PURE__ */ e(x, { connection: o })
|
|
37
|
+
] });
|
|
38
|
+
}
|
|
39
|
+
const y = i.div`
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
flex-grow: 1;
|
|
43
|
+
overflow-y: auto;
|
|
44
|
+
`, h = i.div`
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
padding: ${t.spacing5} ${t.spacing5} ${t.spacing3} ${t.spacing5};
|
|
48
|
+
z-index: 10;
|
|
49
|
+
`, E = i.span`
|
|
50
|
+
color: rgba(0, 34, 51, 0.5);
|
|
51
|
+
flex-shrink: 0;
|
|
52
|
+
flex-grow: 1;
|
|
53
|
+
animation: fade-in-down 0.15s ease-out;
|
|
54
|
+
`;
|
|
55
|
+
export {
|
|
56
|
+
O as CollectionsView
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=CollectionsView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionsView.js","sources":["../../src/views/collections/CollectionsView.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { styled } from 'styled-components';\nimport { token } from '@bynder/design-system';\nimport { useConfig } from '@src/app-config/ConfigContext';\nimport { useOrderingSelectors } from '@src/store/useOrderingStore';\nimport { Oops } from '../../error-handling/Oops';\nimport { DirectionSelect } from '../../order/DirectionSelect';\nimport { FieldSelect } from '../../order/FieldSelect';\nimport { pluralize } from '../../utils/text';\nimport { __ } from '../../localization';\nimport { CollectionList } from './CollectionList';\nimport { useGetCollections } from '../../api/getCollections';\nimport { useSearchStateByPage } from '@src/store/useSearchStore';\n\nexport function CollectionsView() {\n\tconst { value: searchTerm, setIsLoading } = useSearchStateByPage('collections');\n\tconst ordering = useOrderingSelectors.use.collections();\n\tconst { noCache } = useConfig();\n\n\tconst connection = useGetCollections(\n\t\t{\n\t\t\tsearchTerm,\n\t\t\torderBy: ordering,\n\t\t},\n\t\tnoCache,\n\t);\n\n\tuseEffect(() => {\n\t\tif (!connection.isLoading) {\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}, [connection.isLoading]); // eslint-disable-line\n\n\tif (connection.data.tag === 'Failure') {\n\t\treturn <Oops error={new Error(connection.data.value)} onRetry={connection.executeQuery} />;\n\t}\n\n\treturn (\n\t\t<CollectionsViewContainer data-testid=\"collections-view-container\">\n\t\t\t<CollectionsViewContent>\n\t\t\t\t{connection.data.value && (\n\t\t\t\t\t<CollectionsViewCount>\n\t\t\t\t\t\t{pluralize(\n\t\t\t\t\t\t\tconnection.data.value.collections.totalCount,\n\t\t\t\t\t\t\t__('{} collection'),\n\t\t\t\t\t\t\t__('{} collections'),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</CollectionsViewCount>\n\t\t\t\t)}\n\n\t\t\t\t{!connection.data.value && <span className=\"flex-grow\" />}\n\n\t\t\t\t<FieldSelect options={['CREATED_AT', 'NAME']} />\n\t\t\t\t<DirectionSelect />\n\t\t\t</CollectionsViewContent>\n\n\t\t\t<CollectionList connection={connection} />\n\t\t</CollectionsViewContainer>\n\t);\n}\n\nconst CollectionsViewContainer = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\toverflow-y: auto;\n`;\n\nconst CollectionsViewContent = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: ${token.spacing5} ${token.spacing5} ${token.spacing3} ${token.spacing5};\n\tz-index: 10;\n`;\n\nconst CollectionsViewCount = styled.span`\n\tcolor: rgba(0, 34, 51, 0.5);\n\tflex-shrink: 0;\n\tflex-grow: 1;\n\tanimation: fade-in-down 0.15s ease-out;\n`;\n"],"names":["CollectionsView","searchTerm","setIsLoading","useSearchStateByPage","ordering","useOrderingSelectors","noCache","useConfig","connection","useGetCollections","useEffect","jsx","Oops","jsxs","CollectionsViewContainer","CollectionsViewContent","CollectionsViewCount","pluralize","__","FieldSelect","DirectionSelect","CollectionList","styled","token"],"mappings":";;;;;;;;;;;;;;AAeO,SAASA,IAAkB;AACjC,QAAM,EAAE,OAAOC,GAAY,cAAAC,EAAA,IAAiBC,EAAqB,aAAa,GACxEC,IAAWC,EAAqB,IAAI,YAAA,GACpC,EAAE,SAAAC,EAAA,IAAYC,EAAA,GAEdC,IAAaC;AAAA,IAClB;AAAA,MACC,YAAAR;AAAA,MACA,SAASG;AAAA,IAAA;AAAA,IAEVE;AAAA,EAAA;AASD,SANAI,EAAU,MAAM;AACf,IAAKF,EAAW,aACfN,EAAa,EAAK;AAAA,EAEpB,GAAG,CAACM,EAAW,SAAS,CAAC,GAErBA,EAAW,KAAK,QAAQ,YACpB,gBAAAG,EAACC,GAAA,EAAK,OAAO,IAAI,MAAMJ,EAAW,KAAK,KAAK,GAAG,SAASA,EAAW,aAAA,CAAc,IAIxF,gBAAAK,EAACC,GAAA,EAAyB,eAAY,8BACrC,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EACC,UAAA;AAAA,MAAAP,EAAW,KAAK,SAChB,gBAAAG,EAACK,GAAA,EACC,UAAAC;AAAA,QACAT,EAAW,KAAK,MAAM,YAAY;AAAA,QAClCU,EAAG,eAAe;AAAA,QAClBA,EAAG,gBAAgB;AAAA,MAAA,GAErB;AAAA,MAGA,CAACV,EAAW,KAAK,SAAS,gBAAAG,EAAC,QAAA,EAAK,WAAU,aAAY;AAAA,wBAEtDQ,GAAA,EAAY,SAAS,CAAC,cAAc,MAAM,GAAG;AAAA,wBAC7CC,GAAA,CAAA,CAAgB;AAAA,IAAA,GAClB;AAAA,IAEA,gBAAAT,EAACU,KAAe,YAAAb,EAAA,CAAwB;AAAA,EAAA,GACzC;AAEF;AAEA,MAAMM,IAA2BQ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOlCP,IAAyBO,EAAO;AAAA;AAAA;AAAA,YAG1BC,EAAM,QAAQ,IAAIA,EAAM,QAAQ,IAAIA,EAAM,QAAQ,IAAIA,EAAM,QAAQ;AAAA;AAAA,GAI1EP,IAAuBM,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/ConfigContext.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createContext as n, useContext as c } from "react";
|
|
2
|
+
const i = {
|
|
3
|
+
assetTypes: [],
|
|
4
|
+
language: "en_US",
|
|
5
|
+
onSuccess: (o, { selectedFile: s }) => console.log(o, s),
|
|
6
|
+
// eslint-disable-line no-console
|
|
7
|
+
selectionMode: "MultiSelect",
|
|
8
|
+
hideExternalAccess: !1
|
|
9
|
+
}, t = n(i), r = t.Provider, e = () => c(t), d = () => e().assetFilter, u = () => e().selectionMode, a = () => e().hideSwitch;
|
|
10
|
+
export {
|
|
11
|
+
r as ConfigProvider,
|
|
12
|
+
i as defaultConfig,
|
|
13
|
+
d as useAssetFilter,
|
|
14
|
+
e as useConfig,
|
|
15
|
+
a as useHideSwitch,
|
|
16
|
+
u as useSelectionMode
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ConfigContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigContext.js","sources":["../../src/app-config/ConfigContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport { File } from '../select/file.type';\nimport { Config as ProvidedConfig, SelectionMode } from './appConfig.type';\n\ntype Config =\n\t// Required config options\n\tRequired<Pick<ProvidedConfig, 'language' | 'onSuccess' | 'assetTypes'>> &\n\t\t// Non-required options\n\t\tPick<\n\t\t\tProvidedConfig,\n\t\t\t| 'assetFieldSelection'\n\t\t\t| 'assetFilter'\n\t\t\t| 'hideExternalAccess'\n\t\t\t| 'theme'\n\t\t\t| 'mode'\n\t\t\t| 'hideSwitch'\n\t\t\t| '__shouldAddOriginal__'\n\t\t\t| 'noCache'\n\t\t\t| 'selectAllOption'\n\t\t> & {\n\t\t\t// renamed option\n\t\t\tselectionMode: SelectionMode;\n\t\t};\n\nexport const defaultConfig: Config = {\n\tassetTypes: [],\n\tlanguage: 'en_US',\n\tonSuccess: (assets: unknown[], { selectedFile }: { selectedFile?: File }) =>\n\t\tconsole.log(assets, selectedFile), // eslint-disable-line no-console\n\tselectionMode: 'MultiSelect',\n\thideExternalAccess: false,\n};\n\nconst ConfigContext = createContext(defaultConfig);\n\nexport const ConfigProvider = ConfigContext.Provider;\nexport const useConfig = () => useContext(ConfigContext);\nexport const useTheme = () => useConfig().theme;\nexport const useAssetFilter = () => useConfig().assetFilter;\nexport const useSelectionMode = () => useConfig().selectionMode;\nexport const useHideSwitch = () => useConfig().hideSwitch;\n"],"names":["defaultConfig","assets","selectedFile","ConfigContext","createContext","ConfigProvider","useConfig","useContext","useAssetFilter","useSelectionMode","useHideSwitch"],"mappings":";AAyBO,MAAMA,IAAwB;AAAA,EACpC,YAAY,CAAA;AAAA,EACZ,UAAU;AAAA,EACV,WAAW,CAACC,GAAmB,EAAE,cAAAC,QAChC,QAAQ,IAAID,GAAQC,CAAY;AAAA;AAAA,EACjC,eAAe;AAAA,EACf,oBAAoB;AACrB,GAEMC,IAAgBC,EAAcJ,CAAa,GAEpCK,IAAiBF,EAAc,UAC/BG,IAAY,MAAMC,EAAWJ,CAAa,GAE1CK,IAAiB,MAAMF,IAAY,aACnCG,IAAmB,MAAMH,IAAY,eACrCI,IAAgB,MAAMJ,IAAY;"}
|
package/ConnectButton.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { Button as n } from "@bynder/design-system";
|
|
3
|
+
import { __ as o } from "./index2.js";
|
|
4
|
+
function e(i) {
|
|
5
|
+
return /* @__PURE__ */ t(
|
|
6
|
+
n,
|
|
7
|
+
{
|
|
8
|
+
variant: "primary",
|
|
9
|
+
isDisabled: !i.isValidDomain || i.isSubmitting,
|
|
10
|
+
onClick: i.onClick,
|
|
11
|
+
isLoading: i.isSubmitting,
|
|
12
|
+
"data-testid": "login-button",
|
|
13
|
+
children: o("Connect")
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
e as ConnectButton
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=ConnectButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectButton.js","sources":["../../src/login/components/ConnectButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '@bynder/design-system';\n\nimport { __ } from '../../localization';\n\nexport function ConnectButton(props: {\n\tisValidDomain: boolean;\n\tisSubmitting: boolean;\n\tonClick: () => void;\n}) {\n\treturn (\n\t\t<Button\n\t\t\tvariant=\"primary\"\n\t\t\tisDisabled={!props.isValidDomain || props.isSubmitting}\n\t\t\tonClick={props.onClick}\n\t\t\tisLoading={props.isSubmitting}\n\t\t\tdata-testid=\"login-button\"\n\t\t>\n\t\t\t{__('Connect')}\n\t\t</Button>\n\t);\n}\n"],"names":["ConnectButton","props","jsx","Button"],"mappings":";;;AAKO,SAASA,EAAcC,GAI3B;AACF,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAAQ;AAAA,MACR,YAAY,CAACF,EAAM,iBAAiBA,EAAM;AAAA,MAC1C,SAASA,EAAM;AAAA,MACf,WAAWA,EAAM;AAAA,MACjB,eAAY;AAAA,MAEX,YAAG,SAAS;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
|
package/Container.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs as r, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import n from "styled-components";
|
|
3
|
+
import { IconCancel as l } from "@bynder/icons";
|
|
4
|
+
import { token as t, Button as c } from "@bynder/design-system";
|
|
5
|
+
import { useModalContext as s } from "./Modal.js";
|
|
6
|
+
import { __ as a } from "./index2.js";
|
|
7
|
+
function C(i) {
|
|
8
|
+
const e = s();
|
|
9
|
+
return /* @__PURE__ */ r(
|
|
10
|
+
d,
|
|
11
|
+
{
|
|
12
|
+
className: "cv-root",
|
|
13
|
+
style: {
|
|
14
|
+
minHeight: 320
|
|
15
|
+
},
|
|
16
|
+
children: [
|
|
17
|
+
e !== null && /* @__PURE__ */ o(m, { children: /* @__PURE__ */ o(
|
|
18
|
+
c,
|
|
19
|
+
{
|
|
20
|
+
variant: "clean",
|
|
21
|
+
onClick: e.onClose,
|
|
22
|
+
title: a("Close"),
|
|
23
|
+
icon: /* @__PURE__ */ o(l, {})
|
|
24
|
+
}
|
|
25
|
+
) }),
|
|
26
|
+
/* @__PURE__ */ o(p, { children: i.children })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
const d = n.div`
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
display: flex;
|
|
35
|
+
flex-direction: column;
|
|
36
|
+
align-items: center;
|
|
37
|
+
justify-content: center;
|
|
38
|
+
position: relative;
|
|
39
|
+
background-color: ${t.gray10};
|
|
40
|
+
`, m = n.div`
|
|
41
|
+
position: absolute;
|
|
42
|
+
top: ${t.spacing4};
|
|
43
|
+
right: ${t.spacing5};
|
|
44
|
+
`, p = n.div`
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
font-size: ${t.fontSize300};
|
|
48
|
+
`;
|
|
49
|
+
export {
|
|
50
|
+
C as Container
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=Container.js.map
|
package/Container.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.js","sources":["../../src/login/components/Container.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { IconCancel } from '@bynder/icons';\nimport { Button, token } from '@bynder/design-system';\n\nimport { useModalContext } from '../../common/components/Modal';\nimport { __ } from '../../localization';\n\nexport function Container(props: { children: React.ReactNode }) {\n\tconst modal = useModalContext();\n\n\treturn (\n\t\t<StyledContainer\n\t\t\tclassName=\"cv-root\"\n\t\t\tstyle={{\n\t\t\t\tminHeight: 320,\n\t\t\t}}\n\t\t>\n\t\t\t{modal !== null && (\n\t\t\t\t<StyledButtonWrapper>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"clean\"\n\t\t\t\t\t\tonClick={modal.onClose}\n\t\t\t\t\t\ttitle={__('Close')}\n\t\t\t\t\t\ticon={<IconCancel />}\n\t\t\t\t\t/>\n\t\t\t\t</StyledButtonWrapper>\n\t\t\t)}\n\n\t\t\t<StyledWrapper>{props.children}</StyledWrapper>\n\t\t</StyledContainer>\n\t);\n}\n\nconst StyledContainer = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tbackground-color: ${token.gray10};\n`;\n\nconst StyledButtonWrapper = styled.div`\n\tposition: absolute;\n\ttop: ${token.spacing4};\n\tright: ${token.spacing5};\n`;\n\nconst StyledWrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tfont-size: ${token.fontSize300};\n`;\n"],"names":["Container","props","modal","useModalContext","jsxs","StyledContainer","StyledButtonWrapper","jsx","Button","__","IconCancel","StyledWrapper","styled","token"],"mappings":";;;;;;AAQO,SAASA,EAAUC,GAAsC;AAC/D,QAAMC,IAAQC,EAAA;AAEd,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAO;AAAA,QACN,WAAW;AAAA,MAAA;AAAA,MAGX,UAAA;AAAA,QAAAH,MAAU,0BACTI,GAAA,EACA,UAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,SAAQ;AAAA,YACR,SAASN,EAAM;AAAA,YACf,OAAOO,EAAG,OAAO;AAAA,YACjB,wBAAOC,GAAA,CAAA,CAAW;AAAA,UAAA;AAAA,QAAA,GAEpB;AAAA,QAGD,gBAAAH,EAACI,GAAA,EAAe,UAAAV,EAAM,SAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlC;AAEA,MAAMI,IAAkBO,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAQVC,EAAM,MAAM;AAAA,GAG3BP,IAAsBM,EAAO;AAAA;AAAA,QAE3BC,EAAM,QAAQ;AAAA,UACZA,EAAM,QAAQ;AAAA,GAGlBF,IAAgBC,EAAO;AAAA;AAAA;AAAA,cAGfC,EAAM,WAAW;AAAA;"}
|
package/ContextAction.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as n, jsxs as u } from "react/jsx-runtime";
|
|
2
|
+
import { IconOpenInNew as l, IconCrop as a, IconMore as C } from "@bynder/icons";
|
|
3
|
+
import { Card as i, Dropdown as o } from "@bynder/design-system";
|
|
4
|
+
import { useConfig as p } from "./ConfigContext.js";
|
|
5
|
+
import { __ as w } from "./index2.js";
|
|
6
|
+
function g({ transformBaseUrl: s, portalUrl: r, onOpenDAT: c }) {
|
|
7
|
+
const { hideExternalAccess: e, selectionMode: d } = p(), t = d === "SingleSelectFile" && s;
|
|
8
|
+
return !t && e ? null : !t && !e ? /* @__PURE__ */ n(
|
|
9
|
+
i.ContextActionButton,
|
|
10
|
+
{
|
|
11
|
+
"aria-label": w("Open in new tab"),
|
|
12
|
+
onClick: () => {
|
|
13
|
+
window.open(r, "_blank");
|
|
14
|
+
},
|
|
15
|
+
children: /* @__PURE__ */ n(l, {})
|
|
16
|
+
}
|
|
17
|
+
) : t && e ? /* @__PURE__ */ n(i.ContextActionButton, { "aria-label": "New transformation", onClick: c, children: /* @__PURE__ */ n(a, {}) }) : /* @__PURE__ */ u(
|
|
18
|
+
o,
|
|
19
|
+
{
|
|
20
|
+
trigger: ({ isOpen: m, ...f }) => /* @__PURE__ */ n(i.ContextActionButton, { "aria-label": "Menu", isPressed: m, ...f, children: /* @__PURE__ */ n(C, {}) }),
|
|
21
|
+
isClosedOnScroll: !0,
|
|
22
|
+
children: [
|
|
23
|
+
/* @__PURE__ */ n(
|
|
24
|
+
o.Item,
|
|
25
|
+
{
|
|
26
|
+
icon: /* @__PURE__ */ n(l, {}),
|
|
27
|
+
onClick: () => {
|
|
28
|
+
window.open(r, "_blank");
|
|
29
|
+
},
|
|
30
|
+
children: "Open asset"
|
|
31
|
+
}
|
|
32
|
+
),
|
|
33
|
+
/* @__PURE__ */ n(o.Divider, {}),
|
|
34
|
+
/* @__PURE__ */ n(o.Item, { icon: /* @__PURE__ */ n(a, {}), onClick: c, children: "New transformation" })
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
g as ContextAction
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=ContextAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextAction.js","sources":["../../src/views/asset/asset-card/ContextAction.tsx"],"sourcesContent":["import React from 'react';\nimport { IconCrop, IconMore, IconOpenInNew } from '@bynder/icons';\nimport { Card, Dropdown } from '@bynder/design-system';\nimport { useConfig } from '../../../app-config/ConfigContext';\nimport { __ } from '../../../localization';\n\ninterface Props {\n\ttransformBaseUrl?: string;\n\tportalUrl: string;\n\tonOpenDAT: () => void;\n}\n\nexport function ContextAction({ transformBaseUrl, portalUrl, onOpenDAT }: Props) {\n\tconst { hideExternalAccess, selectionMode } = useConfig();\n\tconst showDat = selectionMode === 'SingleSelectFile' && transformBaseUrl;\n\n\tif (!showDat && hideExternalAccess) return null;\n\n\tif (!showDat && !hideExternalAccess)\n\t\treturn (\n\t\t\t<Card.ContextActionButton\n\t\t\t\taria-label={__('Open in new tab')}\n\t\t\t\tonClick={() => {\n\t\t\t\t\twindow.open(portalUrl, '_blank');\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<IconOpenInNew />\n\t\t\t</Card.ContextActionButton>\n\t\t);\n\n\tif (showDat && hideExternalAccess)\n\t\treturn (\n\t\t\t<Card.ContextActionButton aria-label=\"New transformation\" onClick={onOpenDAT}>\n\t\t\t\t<IconCrop />\n\t\t\t</Card.ContextActionButton>\n\t\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\ttrigger={({ isOpen, ...triggerProps }) => (\n\t\t\t\t<Card.ContextActionButton aria-label=\"Menu\" isPressed={isOpen} {...triggerProps}>\n\t\t\t\t\t<IconMore />\n\t\t\t\t</Card.ContextActionButton>\n\t\t\t)}\n\t\t\tisClosedOnScroll\n\t\t>\n\t\t\t<Dropdown.Item\n\t\t\t\ticon={<IconOpenInNew />}\n\t\t\t\tonClick={() => {\n\t\t\t\t\twindow.open(portalUrl, '_blank');\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tOpen asset\n\t\t\t</Dropdown.Item>\n\n\t\t\t<Dropdown.Divider />\n\t\t\t<Dropdown.Item icon={<IconCrop />} onClick={onOpenDAT}>\n\t\t\t\tNew transformation\n\t\t\t</Dropdown.Item>\n\t\t</Dropdown>\n\t);\n}\n"],"names":["ContextAction","transformBaseUrl","portalUrl","onOpenDAT","hideExternalAccess","selectionMode","useConfig","showDat","jsx","Card","__","IconOpenInNew","IconCrop","jsxs","Dropdown","isOpen","triggerProps","IconMore"],"mappings":";;;;;AAYO,SAASA,EAAc,EAAE,kBAAAC,GAAkB,WAAAC,GAAW,WAAAC,KAAoB;AAChF,QAAM,EAAE,oBAAAC,GAAoB,eAAAC,EAAA,IAAkBC,EAAA,GACxCC,IAAUF,MAAkB,sBAAsBJ;AAExD,SAAI,CAACM,KAAWH,IAA2B,OAEvC,CAACG,KAAW,CAACH,IAEf,gBAAAI;AAAA,IAACC,EAAK;AAAA,IAAL;AAAA,MACA,cAAYC,EAAG,iBAAiB;AAAA,MAChC,SAAS,MAAM;AACd,eAAO,KAAKR,GAAW,QAAQ;AAAA,MAChC;AAAA,MAEA,4BAACS,GAAA,CAAA,CAAc;AAAA,IAAA;AAAA,EAAA,IAIdJ,KAAWH,IAEb,gBAAAI,EAACC,EAAK,qBAAL,EAAyB,cAAW,sBAAqB,SAASN,GAClE,UAAA,gBAAAK,EAACI,GAAA,CAAA,CAAS,EAAA,CACX,IAID,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,SAAS,CAAC,EAAE,QAAAC,GAAQ,GAAGC,EAAA,MACtB,gBAAAR,EAACC,EAAK,qBAAL,EAAyB,cAAW,QAAO,WAAWM,GAAS,GAAGC,GAClE,UAAA,gBAAAR,EAACS,KAAS,GACX;AAAA,MAED,kBAAgB;AAAA,MAEhB,UAAA;AAAA,QAAA,gBAAAT;AAAA,UAACM,EAAS;AAAA,UAAT;AAAA,YACA,wBAAOH,GAAA,EAAc;AAAA,YACrB,SAAS,MAAM;AACd,qBAAO,KAAKT,GAAW,QAAQ;AAAA,YAChC;AAAA,YACA,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAID,gBAAAM,EAACM,EAAS,SAAT,EAAiB;AAAA,QAClB,gBAAAN,EAACM,EAAS,MAAT,EAAc,wBAAOF,GAAA,CAAA,CAAS,GAAI,SAAST,GAAW,UAAA,qBAAA,CAEvD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH;"}
|
package/Dat/Dat.d.ts
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
interface Props {
|
|
4
|
-
transformBaseUrl: string;
|
|
5
|
-
assetName: string;
|
|
6
|
-
extension: string;
|
|
7
|
-
transformation?: Transformation;
|
|
8
|
-
setTransformation: (transformation?: Transformation) => void;
|
|
9
|
-
closeDat: () => void;
|
|
10
|
-
}
|
|
11
|
-
export declare function Dat({ transformBaseUrl, assetName, extension, transformation, setTransformation, closeDat, }: Props): React.ReactPortal | null;
|
|
12
|
-
export {};
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export declare function Dat(): React.ReactPortal | null;
|
package/Dat/DatDropdownItem.d.ts
CHANGED
package/Dat/index.d.ts
CHANGED
package/Dat.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsxs as b, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useState as h, useEffect as C } from "react";
|
|
3
|
+
import { createPortal as T } from "react-dom";
|
|
4
|
+
import y from "styled-components";
|
|
5
|
+
import { token as u, Modal as M, Button as c } from "@bynder/design-system";
|
|
6
|
+
import { DATBuilder as A } from "@bynder/dat-frontend";
|
|
7
|
+
import { useRootElement as P } from "./RootElementContext.js";
|
|
8
|
+
import { useDat as S } from "./useDatStore.js";
|
|
9
|
+
function L() {
|
|
10
|
+
const l = P(), [r, v] = h(), [i, d] = h(), {
|
|
11
|
+
datUrl: x,
|
|
12
|
+
assetName: g,
|
|
13
|
+
datExtension: k,
|
|
14
|
+
transformation: t,
|
|
15
|
+
closeDat: m,
|
|
16
|
+
setTransformation: f
|
|
17
|
+
} = S();
|
|
18
|
+
C(() => {
|
|
19
|
+
const o = l.querySelector(".cv-root");
|
|
20
|
+
o && v(o);
|
|
21
|
+
}, [l]);
|
|
22
|
+
const s = (o, n) => {
|
|
23
|
+
o && t && f({ url: o, preset: n, asset: t.asset }), m();
|
|
24
|
+
}, p = (o, n) => {
|
|
25
|
+
w(n) && t ? d({ url: o, preset: n, asset: t.asset }) : s(o, n);
|
|
26
|
+
}, e = () => d(void 0), B = () => {
|
|
27
|
+
s(i?.url, i?.preset), e();
|
|
28
|
+
}, D = () => {
|
|
29
|
+
f(void 0), e(), m();
|
|
30
|
+
}, w = (o) => o.content.io.length > 0;
|
|
31
|
+
return r ? T(
|
|
32
|
+
/* @__PURE__ */ b(U, { children: [
|
|
33
|
+
/* @__PURE__ */ a(
|
|
34
|
+
E,
|
|
35
|
+
{
|
|
36
|
+
mediaInfo: {
|
|
37
|
+
extension: k,
|
|
38
|
+
baseURL: x,
|
|
39
|
+
name: g,
|
|
40
|
+
width: 1,
|
|
41
|
+
height: 1
|
|
42
|
+
},
|
|
43
|
+
canViewPresets: !1,
|
|
44
|
+
canViewTransformations: !0,
|
|
45
|
+
hideBottomBar: !0,
|
|
46
|
+
onApply: s,
|
|
47
|
+
onDone: p,
|
|
48
|
+
onBack: p,
|
|
49
|
+
initialTransformations: t?.preset?.content.io
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
/* @__PURE__ */ a(
|
|
53
|
+
M,
|
|
54
|
+
{
|
|
55
|
+
isOpen: !!i,
|
|
56
|
+
title: "Transformations not yet applied",
|
|
57
|
+
container: r,
|
|
58
|
+
onClose: e,
|
|
59
|
+
actionPrimary: /* @__PURE__ */ a(c, { variant: "primary", onClick: B, children: "Apply transformations" }),
|
|
60
|
+
actionSecondary: /* @__PURE__ */ a(c, { variant: "secondary", onClick: e, children: "Cancel" }),
|
|
61
|
+
actionTertiary: /* @__PURE__ */ a(c, { variant: "secondary", onClick: D, children: "Discard changes" }),
|
|
62
|
+
children: "Transformations not yet applied. Do you want to apply transformations now, or discard changes?"
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
] }),
|
|
66
|
+
r
|
|
67
|
+
) : null;
|
|
68
|
+
}
|
|
69
|
+
const U = y.div`
|
|
70
|
+
background-color: ${u.white};
|
|
71
|
+
z-index: 999999;
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
border-radius: ${u.radiusBase};
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-direction: column;
|
|
76
|
+
align-items: stretch;
|
|
77
|
+
box-shadow: 0 2px 12px 0 rgba(0, 34, 51, 0.1);
|
|
78
|
+
position: absolute;
|
|
79
|
+
top: 0;
|
|
80
|
+
bottom: 0;
|
|
81
|
+
left: 0;
|
|
82
|
+
right: 0;
|
|
83
|
+
`, E = y(A)`
|
|
84
|
+
height: 100%;
|
|
85
|
+
width: 100%;
|
|
86
|
+
`;
|
|
87
|
+
export {
|
|
88
|
+
L as Dat
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=Dat.js.map
|
package/Dat.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dat.js","sources":["../../src/Dat/Dat.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport styled from 'styled-components';\nimport { Button, Modal, token } from '@bynder/design-system';\nimport { DATBuilder, Preset } from '@bynder/dat-frontend';\n\nimport { useRootElement } from '../style/RootElementContext';\nimport { Transformation } from './types';\nimport { useDat } from '@src/store/useDatStore';\n\nexport function Dat() {\n\tconst root = useRootElement();\n\tconst [portalDiv, setPortalDiv] = useState<Element>();\n\tconst [backModal, setBackModal] = useState<Transformation | undefined>();\n\n\tconst {\n\t\tdatUrl: transformBaseUrl,\n\t\tassetName,\n\t\tdatExtension: extension,\n\t\ttransformation,\n\t\tcloseDat,\n\t\tsetTransformation,\n\t} = useDat();\n\n\tuseEffect(() => {\n\t\tconst div = root.querySelector('.cv-root');\n\n\t\tif (div) {\n\t\t\tsetPortalDiv(div);\n\t\t}\n\t}, [root]);\n\n\tconst onApply = (url?: string, preset?: Preset) => {\n\t\tif (url && transformation) {\n\t\t\tsetTransformation({ url, preset, asset: transformation.asset });\n\t\t}\n\n\t\tcloseDat();\n\t};\n\n\tconst onDone = (url: string, preset: Preset) => {\n\t\tif (hasActiveChanges(preset) && transformation) {\n\t\t\tsetBackModal({ url, preset, asset: transformation.asset });\n\t\t} else {\n\t\t\tonApply(url, preset);\n\t\t}\n\t};\n\n\tconst closeBackModal = () => setBackModal(undefined);\n\n\tconst applyFromBackModal = () => {\n\t\tonApply(backModal?.url, backModal?.preset);\n\t\tcloseBackModal();\n\t};\n\n\tconst discard = () => {\n\t\tsetTransformation(undefined);\n\t\tcloseBackModal();\n\t\tcloseDat();\n\t};\n\n\tconst hasActiveChanges = (preset: Preset) => preset.content.io.length > 0;\n\n\tif (!portalDiv) return null;\n\n\treturn createPortal(\n\t\t<Container>\n\t\t\t<StyledDatUi\n\t\t\t\tmediaInfo={{\n\t\t\t\t\textension,\n\t\t\t\t\tbaseURL: transformBaseUrl,\n\t\t\t\t\tname: assetName,\n\t\t\t\t\twidth: 1,\n\t\t\t\t\theight: 1,\n\t\t\t\t}}\n\t\t\t\tcanViewPresets={false}\n\t\t\t\tcanViewTransformations\n\t\t\t\thideBottomBar\n\t\t\t\tonApply={onApply}\n\t\t\t\tonDone={onDone}\n\t\t\t\tonBack={onDone}\n\t\t\t\tinitialTransformations={transformation?.preset?.content.io}\n\t\t\t/>\n\n\t\t\t<Modal\n\t\t\t\tisOpen={!!backModal}\n\t\t\t\ttitle=\"Transformations not yet applied\"\n\t\t\t\tcontainer={portalDiv}\n\t\t\t\tonClose={closeBackModal}\n\t\t\t\tactionPrimary={\n\t\t\t\t\t<Button variant=\"primary\" onClick={applyFromBackModal}>\n\t\t\t\t\t\tApply transformations\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t\tactionSecondary={\n\t\t\t\t\t<Button variant=\"secondary\" onClick={closeBackModal}>\n\t\t\t\t\t\tCancel\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t\tactionTertiary={\n\t\t\t\t\t<Button variant=\"secondary\" onClick={discard}>\n\t\t\t\t\t\tDiscard changes\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\tTransformations not yet applied. Do you want to apply transformations now, or\n\t\t\t\tdiscard changes?\n\t\t\t</Modal>\n\t\t</Container>,\n\t\tportalDiv,\n\t);\n}\n\nconst Container = styled.div`\n\tbackground-color: ${token.white};\n\tz-index: 999999;\n\toverflow: hidden;\n\tborder-radius: ${token.radiusBase};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tbox-shadow: 0 2px 12px 0 rgba(0, 34, 51, 0.1);\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n`;\n\nconst StyledDatUi = styled(DATBuilder)`\n\theight: 100%;\n\twidth: 100%;\n`;\n"],"names":["Dat","root","useRootElement","portalDiv","setPortalDiv","useState","backModal","setBackModal","transformBaseUrl","assetName","extension","transformation","closeDat","setTransformation","useDat","useEffect","div","onApply","url","preset","onDone","hasActiveChanges","closeBackModal","applyFromBackModal","discard","createPortal","Container","jsx","StyledDatUi","Modal","Button","styled","token","DATBuilder"],"mappings":";;;;;;;;AAUO,SAASA,IAAM;AACrB,QAAMC,IAAOC,EAAA,GACP,CAACC,GAAWC,CAAY,IAAIC,EAAA,GAC5B,CAACC,GAAWC,CAAY,IAAIF,EAAA,GAE5B;AAAA,IACL,QAAQG;AAAA,IACR,WAAAC;AAAA,IACA,cAAcC;AAAA,IACd,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACGC,EAAA;AAEJ,EAAAC,EAAU,MAAM;AACf,UAAMC,IAAMf,EAAK,cAAc,UAAU;AAEzC,IAAIe,KACHZ,EAAaY,CAAG;AAAA,EAElB,GAAG,CAACf,CAAI,CAAC;AAET,QAAMgB,IAAU,CAACC,GAAcC,MAAoB;AAClD,IAAID,KAAOP,KACVE,EAAkB,EAAE,KAAAK,GAAK,QAAAC,GAAQ,OAAOR,EAAe,OAAO,GAG/DC,EAAA;AAAA,EACD,GAEMQ,IAAS,CAACF,GAAaC,MAAmB;AAC/C,IAAIE,EAAiBF,CAAM,KAAKR,IAC/BJ,EAAa,EAAE,KAAAW,GAAK,QAAAC,GAAQ,OAAOR,EAAe,OAAO,IAEzDM,EAAQC,GAAKC,CAAM;AAAA,EAErB,GAEMG,IAAiB,MAAMf,EAAa,MAAS,GAE7CgB,IAAqB,MAAM;AAChC,IAAAN,EAAQX,GAAW,KAAKA,GAAW,MAAM,GACzCgB,EAAA;AAAA,EACD,GAEME,IAAU,MAAM;AACrB,IAAAX,EAAkB,MAAS,GAC3BS,EAAA,GACAV,EAAA;AAAA,EACD,GAEMS,IAAmB,CAACF,MAAmBA,EAAO,QAAQ,GAAG,SAAS;AAExE,SAAKhB,IAEEsB;AAAA,sBACLC,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACA,WAAW;AAAA,YACV,WAAAlB;AAAA,YACA,SAASF;AAAA,YACT,MAAMC;AAAA,YACN,OAAO;AAAA,YACP,QAAQ;AAAA,UAAA;AAAA,UAET,gBAAgB;AAAA,UAChB,wBAAsB;AAAA,UACtB,eAAa;AAAA,UACb,SAAAQ;AAAA,UACA,QAAAG;AAAA,UACA,QAAQA;AAAA,UACR,wBAAwBT,GAAgB,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,MAGzD,gBAAAgB;AAAA,QAACE;AAAA,QAAA;AAAA,UACA,QAAQ,CAAC,CAACvB;AAAA,UACV,OAAM;AAAA,UACN,WAAWH;AAAA,UACX,SAASmB;AAAA,UACT,eACC,gBAAAK,EAACG,GAAA,EAAO,SAAQ,WAAU,SAASP,GAAoB,UAAA,yBAEvD;AAAA,UAED,iBACC,gBAAAI,EAACG,GAAA,EAAO,SAAQ,aAAY,SAASR,GAAgB,UAAA,UAErD;AAAA,UAED,gBACC,gBAAAK,EAACG,GAAA,EAAO,SAAQ,aAAY,SAASN,GAAS,UAAA,mBAE9C;AAAA,UAED,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAGD,GACD;AAAA,IACArB;AAAA,EAAA,IA9CsB;AAgDxB;AAEA,MAAMuB,IAAYK,EAAO;AAAA,qBACJC,EAAM,KAAK;AAAA;AAAA;AAAA,kBAGdA,EAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAY5BJ,IAAcG,EAAOE,CAAU;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs as u, Fragment as d, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useState as p, useEffect as g } from "react";
|
|
3
|
+
import b from "styled-components";
|
|
4
|
+
import { IconArrowRight as w, IconCrop as x } from "@bynder/icons";
|
|
5
|
+
import { List as s, Thumbnail as l } from "@bynder/design-system";
|
|
6
|
+
import { useDat as D } from "./useDatStore.js";
|
|
7
|
+
function L({ transformBaseUrl: r, asset: e, toggleDropdown: f }) {
|
|
8
|
+
const { transformation: t, openDat: c } = D(), [h, m] = p(), n = t?.preset?.content?.io?.length ?? 0;
|
|
9
|
+
return g(() => {
|
|
10
|
+
if (t?.url) {
|
|
11
|
+
const { url: o } = t, a = "io=transform:fill,width:40,height:40";
|
|
12
|
+
o.includes("io=transform:fill") && m(
|
|
13
|
+
o.replace(/io=transform:fill,width:[0-9]+,height:[0-9]+/, a)
|
|
14
|
+
), m(`${o}&${a}`);
|
|
15
|
+
}
|
|
16
|
+
}, [t]), r ? /* @__PURE__ */ u(d, { children: [
|
|
17
|
+
/* @__PURE__ */ i(s.Divider, {}),
|
|
18
|
+
/* @__PURE__ */ i(
|
|
19
|
+
I,
|
|
20
|
+
{
|
|
21
|
+
thumbnail: !t || n === 0 ? /* @__PURE__ */ i(l, { icon: /* @__PURE__ */ i(x, {}), "data-testid": "crop-icon" }) : /* @__PURE__ */ i(
|
|
22
|
+
l,
|
|
23
|
+
{
|
|
24
|
+
variant: "content",
|
|
25
|
+
imageUrl: h,
|
|
26
|
+
"data-testid": "thumbnail-image"
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
rightElements: /* @__PURE__ */ i(w, {}),
|
|
30
|
+
onClick: () => {
|
|
31
|
+
f(), c(r, e, e.name);
|
|
32
|
+
},
|
|
33
|
+
subtext: t && n > 0 ? `${n} transformation${n === 1 ? "" : "s"}` : "",
|
|
34
|
+
children: "New transformation"
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
] }) : null;
|
|
38
|
+
}
|
|
39
|
+
const I = b(s.Item)`
|
|
40
|
+
max-width: 100%;
|
|
41
|
+
width: 340px;
|
|
42
|
+
margin-left: 0;
|
|
43
|
+
`;
|
|
44
|
+
export {
|
|
45
|
+
L as DatDropdownItem
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=DatDropdownItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatDropdownItem.js","sources":["../../src/Dat/DatDropdownItem.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { IconCrop, IconArrowRight } from '@bynder/icons';\nimport { List, Thumbnail } from '@bynder/design-system';\nimport { Asset } from '../views/asset/asset.type';\nimport { useDat } from '@src/store/useDatStore';\n\ninterface Props {\n\ttransformBaseUrl?: string;\n\tasset: Asset;\n\ttoggleDropdown: () => void;\n}\n\nexport function DatDropdownItem({ transformBaseUrl, asset, toggleDropdown }: Props) {\n\tconst { transformation, openDat } = useDat();\n\n\tconst [thumbnailUrl, setThumbnailUrl] = useState<string>();\n\tconst transformationAmount = transformation?.preset?.content?.io?.length ?? 0;\n\n\tuseEffect(() => {\n\t\t// Resize url to thumbnail size\n\t\tif (transformation?.url) {\n\t\t\tconst { url } = transformation;\n\t\t\tconst thumbnailSizeParam = 'io=transform:fill,width:40,height:40';\n\n\t\t\tif (url.includes('io=transform:fill')) {\n\t\t\t\tsetThumbnailUrl(\n\t\t\t\t\turl.replace(/io=transform:fill,width:[0-9]+,height:[0-9]+/, thumbnailSizeParam),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetThumbnailUrl(`${url}&${thumbnailSizeParam}`);\n\t\t}\n\t}, [transformation]);\n\n\tif (!transformBaseUrl) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<List.Divider />\n\t\t\t<ListItem\n\t\t\t\tthumbnail={\n\t\t\t\t\t!transformation || transformationAmount === 0 ? (\n\t\t\t\t\t\t<Thumbnail icon={<IconCrop />} data-testid=\"crop-icon\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Thumbnail\n\t\t\t\t\t\t\tvariant=\"content\"\n\t\t\t\t\t\t\timageUrl={thumbnailUrl}\n\t\t\t\t\t\t\tdata-testid=\"thumbnail-image\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\trightElements={<IconArrowRight />}\n\t\t\t\tonClick={() => {\n\t\t\t\t\ttoggleDropdown();\n\t\t\t\t\topenDat(transformBaseUrl, asset, asset.name);\n\t\t\t\t}}\n\t\t\t\tsubtext={\n\t\t\t\t\ttransformation && transformationAmount > 0\n\t\t\t\t\t\t? `${transformationAmount} transformation${\n\t\t\t\t\t\t\t\ttransformationAmount === 1 ? '' : 's'\n\t\t\t\t\t\t }`\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t>\n\t\t\t\tNew transformation\n\t\t\t</ListItem>\n\t\t</>\n\t);\n}\n\nconst ListItem = styled(List.Item)`\n\tmax-width: 100%;\n\twidth: 340px;\n\tmargin-left: 0;\n`;\n"],"names":["DatDropdownItem","transformBaseUrl","asset","toggleDropdown","transformation","openDat","useDat","thumbnailUrl","setThumbnailUrl","useState","transformationAmount","useEffect","url","thumbnailSizeParam","jsxs","Fragment","jsx","List","ListItem","Thumbnail","IconCrop","IconArrowRight","styled"],"mappings":";;;;;;AAaO,SAASA,EAAgB,EAAE,kBAAAC,GAAkB,OAAAC,GAAO,gBAAAC,KAAyB;AACnF,QAAM,EAAE,gBAAAC,GAAgB,SAAAC,EAAA,IAAYC,EAAA,GAE9B,CAACC,GAAcC,CAAe,IAAIC,EAAA,GAClCC,IAAuBN,GAAgB,QAAQ,SAAS,IAAI,UAAU;AAkB5E,SAhBAO,EAAU,MAAM;AAEf,QAAIP,GAAgB,KAAK;AACxB,YAAM,EAAE,KAAAQ,MAAQR,GACVS,IAAqB;AAE3B,MAAID,EAAI,SAAS,mBAAmB,KACnCJ;AAAA,QACCI,EAAI,QAAQ,gDAAgDC,CAAkB;AAAA,MAAA,GAIhFL,EAAgB,GAAGI,CAAG,IAAIC,CAAkB,EAAE;AAAA,IAC/C;AAAA,EACD,GAAG,CAACT,CAAc,CAAC,GAEdH,IAGJ,gBAAAa,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,EAAK,SAAL,EAAa;AAAA,IACd,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,WACC,CAACd,KAAkBM,MAAyB,IAC3C,gBAAAM,EAACG,GAAA,EAAU,MAAM,gBAAAH,EAACI,GAAA,CAAA,CAAS,GAAI,eAAY,aAAY,IAEvD,gBAAAJ;AAAA,UAACG;AAAA,UAAA;AAAA,YACA,SAAQ;AAAA,YACR,UAAUZ;AAAA,YACV,eAAY;AAAA,UAAA;AAAA,QAAA;AAAA,QAIf,iCAAgBc,GAAA,EAAe;AAAA,QAC/B,SAAS,MAAM;AACd,UAAAlB,EAAA,GACAE,EAAQJ,GAAkBC,GAAOA,EAAM,IAAI;AAAA,QAC5C;AAAA,QACA,SACCE,KAAkBM,IAAuB,IACtC,GAAGA,CAAoB,kBACvBA,MAAyB,IAAI,KAAK,GAClC,KACA;AAAA,QAEJ,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED,GACD,IAhC6B;AAkC/B;AAEA,MAAMQ,IAAWI,EAAOL,EAAK,IAAI;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { StyleSheetManager as o } from "styled-components";
|
|
3
|
+
import { DesignSystemProvider as i } from "@bynder/design-system";
|
|
4
|
+
import { useRootElement as n } from "./RootElementContext.js";
|
|
5
|
+
function a(r) {
|
|
6
|
+
const t = n();
|
|
7
|
+
return /* @__PURE__ */ e(o, { target: t, children: /* @__PURE__ */ e(i, { zIndexBase: 1e6, children: r.children }) });
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
a as DesignSystemProvider
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=DesignSystemContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DesignSystemContext.js","sources":["../../src/style/DesignSystemContext.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheetManager } from 'styled-components';\nimport { DesignSystemProvider as BaseDesignSystemProvider } from '@bynder/design-system';\n\nimport { useRootElement } from './RootElementContext';\n\nexport function DesignSystemProvider(props: { children: React.ReactNode }) {\n\tconst rootElement = useRootElement();\n\n\treturn (\n\t\t<StyleSheetManager target={rootElement}>\n\t\t\t<BaseDesignSystemProvider zIndexBase={1000000}>\n\t\t\t\t{props.children}\n\t\t\t</BaseDesignSystemProvider>\n\t\t</StyleSheetManager>\n\t);\n}\n"],"names":["DesignSystemProvider","props","rootElement","useRootElement","jsx","StyleSheetManager","BaseDesignSystemProvider"],"mappings":";;;;AAMO,SAASA,EAAqBC,GAAsC;AAC1E,QAAMC,IAAcC,EAAA;AAEpB,SACC,gBAAAC,EAACC,GAAA,EAAkB,QAAQH,GAC1B,UAAA,gBAAAE,EAACE,KAAyB,YAAY,KACpC,UAAAL,EAAM,SAAA,CACR,GACD;AAEF;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import n from "styled-components";
|
|
3
|
+
import { IconSortOrder as l } from "@bynder/icons";
|
|
4
|
+
import { Button as m, token as t } from "@bynder/design-system";
|
|
5
|
+
import { __ as r } from "./index2.js";
|
|
6
|
+
import { useOrderingByPage as g } from "./useOrderingStore.js";
|
|
7
|
+
import { useRouterSelectors as f } from "./useRouterStore.js";
|
|
8
|
+
function b({ nlSearch: e = !1 }) {
|
|
9
|
+
const c = f.use.page(), [i, s] = g(c.page), d = {
|
|
10
|
+
ASC: r("Ascending"),
|
|
11
|
+
DESC: r("Descending")
|
|
12
|
+
}, p = {
|
|
13
|
+
ASC: "DESC",
|
|
14
|
+
DESC: "ASC"
|
|
15
|
+
};
|
|
16
|
+
function a() {
|
|
17
|
+
s({ field: i.field, direction: p[i.direction] });
|
|
18
|
+
}
|
|
19
|
+
return /* @__PURE__ */ o(
|
|
20
|
+
S,
|
|
21
|
+
{
|
|
22
|
+
variant: "clean",
|
|
23
|
+
isSmall: !0,
|
|
24
|
+
title: d[i.direction],
|
|
25
|
+
onClick: a,
|
|
26
|
+
icon: /* @__PURE__ */ o(u, { $isAscending: i.direction === "ASC" }),
|
|
27
|
+
isDisabled: e
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
const S = n(m)`
|
|
32
|
+
border-radius: 5px 0 0 5px;
|
|
33
|
+
border: 1px solid #d9dee1;
|
|
34
|
+
height: 42px;
|
|
35
|
+
`, u = n(l)`
|
|
36
|
+
width: ${t.spacing6};
|
|
37
|
+
height: ${t.spacing6};
|
|
38
|
+
${(e) => e.$isAscending && "transform: scaleY(-1)"}
|
|
39
|
+
`;
|
|
40
|
+
export {
|
|
41
|
+
b as DirectionSelect
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=DirectionSelect.js.map
|