@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.
Files changed (385) hide show
  1. package/ActiveFilter.js +33 -0
  2. package/ActiveFilter.js.map +1 -0
  3. package/ActiveFilters.js +81 -0
  4. package/ActiveFilters.js.map +1 -0
  5. package/AddMedia.js +90 -0
  6. package/AddMedia.js.map +1 -0
  7. package/Advanced.js +66 -0
  8. package/Advanced.js.map +1 -0
  9. package/App.d.ts +4 -2
  10. package/App.js +93 -0
  11. package/App.js.map +1 -0
  12. package/AssetCard.js +172 -0
  13. package/AssetCard.js.map +1 -0
  14. package/AssetCardMetaproperties.js +47 -0
  15. package/AssetCardMetaproperties.js.map +1 -0
  16. package/AssetFilter.js +138 -0
  17. package/AssetFilter.js.map +1 -0
  18. package/AssetFilterContext.js +162 -0
  19. package/AssetFilterContext.js.map +1 -0
  20. package/AssetItem.js +40 -0
  21. package/AssetItem.js.map +1 -0
  22. package/AssetList.js +158 -0
  23. package/AssetList.js.map +1 -0
  24. package/AssetTypeItem.js +34 -0
  25. package/AssetTypeItem.js.map +1 -0
  26. package/AssetsView.js +61 -0
  27. package/AssetsView.js.map +1 -0
  28. package/Autocomplete_new.js +148 -0
  29. package/Autocomplete_new.js.map +1 -0
  30. package/ButtonAction.js +14 -0
  31. package/ButtonAction.js.map +1 -0
  32. package/CardSkeleton.js +31 -0
  33. package/CardSkeleton.js.map +1 -0
  34. package/Checkbox.styles.js +38 -0
  35. package/Checkbox.styles.js.map +1 -0
  36. package/Chip.js +43 -0
  37. package/Chip.js.map +1 -0
  38. package/CollectionCard.js +56 -0
  39. package/CollectionCard.js.map +1 -0
  40. package/CollectionItem.js +41 -0
  41. package/CollectionItem.js.map +1 -0
  42. package/CollectionList.js +53 -0
  43. package/CollectionList.js.map +1 -0
  44. package/CollectionView.js +73 -0
  45. package/CollectionView.js.map +1 -0
  46. package/CollectionsView.js +58 -0
  47. package/CollectionsView.js.map +1 -0
  48. package/ConfigContext.js +18 -0
  49. package/ConfigContext.js.map +1 -0
  50. package/ConnectButton.js +20 -0
  51. package/ConnectButton.js.map +1 -0
  52. package/Container.js +52 -0
  53. package/Container.js.map +1 -0
  54. package/ContextAction.js +42 -0
  55. package/ContextAction.js.map +1 -0
  56. package/Dat/Dat.d.ts +2 -12
  57. package/Dat/DatDropdownItem.d.ts +1 -1
  58. package/Dat/index.d.ts +0 -1
  59. package/Dat.js +90 -0
  60. package/Dat.js.map +1 -0
  61. package/DatDropdownItem.js +47 -0
  62. package/DatDropdownItem.js.map +1 -0
  63. package/DesignSystemContext.js +12 -0
  64. package/DesignSystemContext.js.map +1 -0
  65. package/DirectionSelect.js +43 -0
  66. package/DirectionSelect.js.map +1 -0
  67. package/DocumentIcon.js +69 -0
  68. package/DocumentIcon.js.map +1 -0
  69. package/DomainInput.js +39 -0
  70. package/DomainInput.js.map +1 -0
  71. package/DragSelect.js +144 -0
  72. package/DragSelect.js.map +1 -0
  73. package/Dropdown.js +72 -0
  74. package/Dropdown.js.map +1 -0
  75. package/DropdownContent.js +59 -0
  76. package/DropdownContent.js.map +1 -0
  77. package/DropdownListItem.js +52 -0
  78. package/DropdownListItem.js.map +1 -0
  79. package/ErrorIcon.js +48 -0
  80. package/ErrorIcon.js.map +1 -0
  81. package/ErrorMessage.js +40 -0
  82. package/ErrorMessage.js.map +1 -0
  83. package/FieldSelect.js +74 -0
  84. package/FieldSelect.js.map +1 -0
  85. package/FileSelector.js +266 -0
  86. package/FileSelector.js.map +1 -0
  87. package/Header.js +42 -0
  88. package/Header.js.map +1 -0
  89. package/HorizontalScroll.js +51 -0
  90. package/HorizontalScroll.js.map +1 -0
  91. package/InfiniteScroll.js +26 -0
  92. package/InfiniteScroll.js.map +1 -0
  93. package/LeftArrow.js +31 -0
  94. package/LeftArrow.js.map +1 -0
  95. package/LoginComponent.js +32 -0
  96. package/LoginComponent.js.map +1 -0
  97. package/LoginContext.js +85 -0
  98. package/LoginContext.js.map +1 -0
  99. package/MetapropertyFilterContent.js +25 -0
  100. package/MetapropertyFilterContent.js.map +1 -0
  101. package/MetapropertyOption.js +24 -0
  102. package/MetapropertyOption.js.map +1 -0
  103. package/Modal.js +48 -0
  104. package/Modal.js.map +1 -0
  105. package/NoResults.js +51 -0
  106. package/NoResults.js.map +1 -0
  107. package/Oops.js +54 -0
  108. package/Oops.js.map +1 -0
  109. package/Option_new.js +50 -0
  110. package/Option_new.js.map +1 -0
  111. package/RefreshingSpinner.js +22 -0
  112. package/RefreshingSpinner.js.map +1 -0
  113. package/ReportModal.js +51 -0
  114. package/ReportModal.js.map +1 -0
  115. package/RightArrow.js +31 -0
  116. package/RightArrow.js.map +1 -0
  117. package/RootElementContext.js +12 -0
  118. package/RootElementContext.js.map +1 -0
  119. package/SearchInput.js +76 -0
  120. package/SearchInput.js.map +1 -0
  121. package/SelectedItemContainer.js +44 -0
  122. package/SelectedItemContainer.js.map +1 -0
  123. package/SelectedItems.js +27 -0
  124. package/SelectedItems.js.map +1 -0
  125. package/SelectionContext.js +144 -0
  126. package/SelectionContext.js.map +1 -0
  127. package/SelectionFooter.js +65 -0
  128. package/SelectionFooter.js.map +1 -0
  129. package/ShadowRoot.js +11 -0
  130. package/ShadowRoot.js.map +1 -0
  131. package/ShadowRootInternal.js +78 -0
  132. package/ShadowRootInternal.js.map +1 -0
  133. package/Shield.js +25 -0
  134. package/Shield.js.map +1 -0
  135. package/Skeleton.js +43 -0
  136. package/Skeleton.js.map +1 -0
  137. package/SmartFilterContent.js +11 -0
  138. package/SmartFilterContent.js.map +1 -0
  139. package/SmartFilterSelect_new.js +86 -0
  140. package/SmartFilterSelect_new.js.map +1 -0
  141. package/Smartfilters_new.js +190 -0
  142. package/Smartfilters_new.js.map +1 -0
  143. package/Spinner.js +32 -0
  144. package/Spinner.js.map +1 -0
  145. package/StatefulAssetList.js +100 -0
  146. package/StatefulAssetList.js.map +1 -0
  147. package/Styles.css.js +5 -0
  148. package/Styles.css.js.map +1 -0
  149. package/SwitchNLS.js +80 -0
  150. package/SwitchNLS.js.map +1 -0
  151. package/TagItem.js +38 -0
  152. package/TagItem.js.map +1 -0
  153. package/Tags.js +48 -0
  154. package/Tags.js.map +1 -0
  155. package/Theming.js +30 -0
  156. package/Theming.js.map +1 -0
  157. package/Toolbar.js +53 -0
  158. package/Toolbar.js.map +1 -0
  159. package/Tooltip.js +81 -0
  160. package/Tooltip.js.map +1 -0
  161. package/ViewSwitch.js +45 -0
  162. package/ViewSwitch.js.map +1 -0
  163. package/api/filterAssets.d.ts +1 -1
  164. package/api/getCollections.d.ts +1 -1
  165. package/api/getFilterOptions.d.ts +9 -0
  166. package/api/getFilters.d.ts +2 -2
  167. package/api/getFilters_new.d.ts +7 -0
  168. package/api/getSimilarityAssets.d.ts +1 -1
  169. package/api/index.d.ts +3 -3
  170. package/api/rest/autocomplete.d.ts +1 -1
  171. package/api/rest/getAssetCounts.d.ts +2 -2
  172. package/api/rest/getInitialFilters.d.ts +2 -2
  173. package/api/rest/getMetapropertiesOptions.d.ts +1 -1
  174. package/api/types/getFilters_new.d.ts +56 -0
  175. package/app-config/ConfigContext.d.ts +4 -5
  176. package/app-config/appConfig.type.d.ts +2 -0
  177. package/app-config/appConfig.type.guard.d.ts +1 -1
  178. package/asset.type.js +31 -0
  179. package/asset.type.js.map +1 -0
  180. package/asyncDebounce.js +14 -0
  181. package/asyncDebounce.js.map +1 -0
  182. package/auth.js +35 -0
  183. package/auth.js.map +1 -0
  184. package/autocomplete.js +25 -0
  185. package/autocomplete.js.map +1 -0
  186. package/base64Converter.js +15 -0
  187. package/base64Converter.js.map +1 -0
  188. package/chunk.js +10 -0
  189. package/chunk.js.map +1 -0
  190. package/class.js +7 -0
  191. package/class.js.map +1 -0
  192. package/combineFilters.js +9 -0
  193. package/combineFilters.js.map +1 -0
  194. package/combineMetaproperties.js +25 -0
  195. package/combineMetaproperties.js.map +1 -0
  196. package/common/components/CardSkeleton.d.ts +1 -1
  197. package/common/components/Checkbox.styles.d.ts +4 -4
  198. package/common/components/Chip.d.ts +1 -1
  199. package/common/components/DocumentIcon.d.ts +1 -1
  200. package/common/components/DragSelect.d.ts +1 -1
  201. package/common/components/HorizontalScroll.d.ts +1 -1
  202. package/common/components/InfiniteScroll.d.ts +1 -1
  203. package/common/components/LeftArrow.d.ts +1 -1
  204. package/common/components/Modal.d.ts +1 -1
  205. package/common/components/NoResults.d.ts +1 -1
  206. package/common/components/RightArrow.d.ts +1 -1
  207. package/common/components/Skeleton.d.ts +1 -1
  208. package/common/components/Spinner.d.ts +1 -1
  209. package/common/components/Tooltip.d.ts +1 -1
  210. package/common/components/dropdown/Dropdown.d.ts +1 -1
  211. package/common/components/dropdown/DropdownContent.d.ts +1 -1
  212. package/common/components/dropdown/DropdownListItem.d.ts +1 -1
  213. package/common/hooks/useClickOutside.d.ts +1 -1
  214. package/constants.js +15 -0
  215. package/constants.js.map +1 -0
  216. package/createSelectors.js +11 -0
  217. package/createSelectors.js.map +1 -0
  218. package/crypto.js +21 -0
  219. package/crypto.js.map +1 -0
  220. package/error-handling/ErrorIcon.d.ts +1 -1
  221. package/error-handling/ErrorMessage.d.ts +1 -1
  222. package/error-handling/Oops.d.ts +1 -1
  223. package/error-handling/ReportModal.d.ts +1 -1
  224. package/error-handling/Shield.d.ts +1 -1
  225. package/filter/AssetFilter.d.ts +1 -1
  226. package/filter/AssetFilterContext.d.ts +3 -3
  227. package/filter/active-filters/ActiveFilter.d.ts +1 -1
  228. package/filter/active-filters/ActiveFilters.d.ts +1 -1
  229. package/filter/filters/advanced/Advanced.d.ts +1 -1
  230. package/filter/filters/advanced/AssetTypeItem.d.ts +1 -1
  231. package/filter/filters/metaproperty/Metaproperty.d.ts +1 -1
  232. package/filter/filters/metaproperty/MetapropertyFilterContent.d.ts +1 -1
  233. package/filter/filters/metaproperty/MetapropertyOption.d.ts +1 -1
  234. package/filter/filters/metaproperty/SmartFilterContent.d.ts +1 -1
  235. package/filter/filters/smartfilters/Metaproperties/Autocomplete.d.ts +3 -3
  236. package/filter/filters/smartfilters/Metaproperties/Autocomplete_new.d.ts +15 -0
  237. package/filter/filters/smartfilters/Metaproperties/Option.d.ts +2 -2
  238. package/filter/filters/smartfilters/Metaproperties/Option_new.d.ts +13 -0
  239. package/filter/filters/smartfilters/Metaproperties/SmartFilterSelect.d.ts +2 -2
  240. package/filter/filters/smartfilters/Metaproperties/SmartFilterSelect_new.d.ts +13 -0
  241. package/filter/filters/smartfilters/Smartfilters.d.ts +2 -2
  242. package/filter/filters/smartfilters/Smartfilters_new.d.ts +7 -0
  243. package/filter/filters/tags/TagItem.d.ts +1 -1
  244. package/filter/filters/tags/Tags.d.ts +1 -1
  245. package/filterAssets.js +177 -0
  246. package/filterAssets.js.map +1 -0
  247. package/getAsset.js +70 -0
  248. package/getAsset.js.map +1 -0
  249. package/getAssetCounts.js +27 -0
  250. package/getAssetCounts.js.map +1 -0
  251. package/getAssets.js +137 -0
  252. package/getAssets.js.map +1 -0
  253. package/getCollections.js +79 -0
  254. package/getCollections.js.map +1 -0
  255. package/getFilterOptions.js +57 -0
  256. package/getFilterOptions.js.map +1 -0
  257. package/getFilters.js +85 -0
  258. package/getFilters.js.map +1 -0
  259. package/getFilters_new.js +73 -0
  260. package/getFilters_new.js.map +1 -0
  261. package/getLimitedUseThumbnails.js +26 -0
  262. package/getLimitedUseThumbnails.js.map +1 -0
  263. package/getSimilarityAssets.js +141 -0
  264. package/getSimilarityAssets.js.map +1 -0
  265. package/handlers.js +7 -0
  266. package/handlers.js.map +1 -0
  267. package/helpers.js +7 -0
  268. package/helpers.js.map +1 -0
  269. package/index.js +9 -1162
  270. package/index.js.map +1 -0
  271. package/index2.js +18 -0
  272. package/index2.js.map +1 -0
  273. package/index3.js +56 -0
  274. package/index3.js.map +1 -0
  275. package/index4.js +20 -0
  276. package/index4.js.map +1 -0
  277. package/logger.js +7 -0
  278. package/logger.js.map +1 -0
  279. package/login/LoginComponent.d.ts +1 -1
  280. package/login/LoginContext.d.ts +1 -1
  281. package/login/components/ConnectButton.d.ts +1 -1
  282. package/login/components/Container.d.ts +1 -1
  283. package/login/components/DomainInput.d.ts +1 -1
  284. package/login/components/Header.d.ts +1 -1
  285. package/login/components/RefreshingSpinner.d.ts +1 -1
  286. package/loginwindow.js +84 -0
  287. package/loginwindow.js.map +1 -0
  288. package/normalizeResponse.js +31 -0
  289. package/normalizeResponse.js.map +1 -0
  290. package/oauth2.js +87 -0
  291. package/oauth2.js.map +1 -0
  292. package/order/DirectionSelect.d.ts +1 -1
  293. package/order/FieldSelect.d.ts +2 -2
  294. package/package.json +2 -9
  295. package/result.type.js +25 -0
  296. package/result.type.js.map +1 -0
  297. package/router/RouterContext.d.ts +1 -1
  298. package/search/SearchInput.d.ts +1 -1
  299. package/search/SwitchNLS.d.ts +1 -1
  300. package/search/index.d.ts +0 -2
  301. package/select/FileSelector.d.ts +1 -1
  302. package/select/SelectionContext.d.ts +1 -1
  303. package/select/SelectionFooter.d.ts +1 -1
  304. package/select/add-media/AddMedia.d.ts +1 -1
  305. package/select/add-media/ButtonAction.d.ts +1 -1
  306. package/select/current-selection/AssetItem.d.ts +1 -1
  307. package/select/current-selection/CollectionItem.d.ts +1 -1
  308. package/select/current-selection/SelectedItemContainer.d.ts +1 -1
  309. package/select/current-selection/SelectedItems.d.ts +1 -1
  310. package/store/useDatStore.d.ts +73 -0
  311. package/store/useOrderingStore.d.ts +2 -2
  312. package/store/useRouterStore.d.ts +4 -4
  313. package/store/useSearchStore.d.ts +69 -0
  314. package/store/useSimilaritySearchStore.d.ts +67 -0
  315. package/style/DesignSystemContext.d.ts +1 -1
  316. package/style/RootElementContext.d.ts +1 -1
  317. package/style/Theming.d.ts +1 -1
  318. package/style/shadowroot/ShadowRoot.d.ts +1 -1
  319. package/style/shadowroot/ShadowRootInternal.d.ts +1 -1
  320. package/text.js +9 -0
  321. package/text.js.map +1 -0
  322. package/toolbar/Toolbar.d.ts +1 -1
  323. package/toolbar/ViewSwitch.d.ts +1 -1
  324. package/trimMetapropertyValue.js +6 -0
  325. package/trimMetapropertyValue.js.map +1 -0
  326. package/url.js +7 -0
  327. package/url.js.map +1 -0
  328. package/useAccountDomain.js +33 -0
  329. package/useAccountDomain.js.map +1 -0
  330. package/useAuthInformation.js +42 -0
  331. package/useAuthInformation.js.map +1 -0
  332. package/useClickOutside.js +16 -0
  333. package/useClickOutside.js.map +1 -0
  334. package/useDatStore.js +62 -0
  335. package/useDatStore.js.map +1 -0
  336. package/useDimensions.js +31 -0
  337. package/useDimensions.js.map +1 -0
  338. package/useOrderingStore.js +27 -0
  339. package/useOrderingStore.js.map +1 -0
  340. package/useRouterStore.js +21 -0
  341. package/useRouterStore.js.map +1 -0
  342. package/useSearchStore.js +49 -0
  343. package/useSearchStore.js.map +1 -0
  344. package/useSimilaritySearchStore.js +28 -0
  345. package/useSimilaritySearchStore.js.map +1 -0
  346. package/utils/base64Converter.d.ts +1 -1
  347. package/utils/combineFilters.d.ts +1 -1
  348. package/utils/combineMetaproperties.d.ts +2 -2
  349. package/utils/filterEmptyMetaproperties.d.ts +1 -1
  350. package/utils/getLimitedUseThumbnails.d.ts +2 -0
  351. package/utils/getMetaPropertiesForFilter.d.ts +1 -1
  352. package/utils/normalizeResponse.d.ts +1 -1
  353. package/utils.js +49 -0
  354. package/utils.js.map +1 -0
  355. package/utils2.js +51 -0
  356. package/utils2.js.map +1 -0
  357. package/views/asset/AssetList.d.ts +5 -3
  358. package/views/asset/AssetsView.d.ts +1 -1
  359. package/views/asset/StatefulAssetList.d.ts +2 -2
  360. package/views/asset/asset-card/AssetCard.d.ts +1 -1
  361. package/views/asset/asset-card/AssetCardMetaproperties.d.ts +3 -3
  362. package/views/asset/asset-card/ContextAction.d.ts +1 -1
  363. package/views/collection/CollectionView.d.ts +1 -1
  364. package/views/collections/CollectionCard.d.ts +1 -1
  365. package/views/collections/CollectionList.d.ts +1 -1
  366. package/views/collections/CollectionsView.d.ts +1 -1
  367. package/Dat/DatContext.d.ts +0 -12
  368. package/__tests__/utils/index.d.ts +0 -116
  369. package/api/__tests__/testMocks/mocks.d.ts +0 -14
  370. package/api/__tests__/utils.d.ts +0 -10
  371. package/common/components/__mocks__/Tooltip.d.ts +0 -6
  372. package/common/components/__tests__/utils.d.ts +0 -34
  373. package/error-handling/__tests__/utils.d.ts +0 -56
  374. package/filter/__tests__/utils.d.ts +0 -13
  375. package/index.mjs +0 -1163
  376. package/login/__tests__/mocks.d.ts +0 -1
  377. package/login/__tests__/utils.d.ts +0 -41
  378. package/search/SearchContext.d.ts +0 -25
  379. package/search/SimilaritySearchContext.d.ts +0 -21
  380. package/search/__mocks__/SimilaritySearchContext.d.ts +0 -5
  381. package/select/__tests__/utils.d.ts +0 -11
  382. package/style/shadowroot/__mocks__/ShadowRoot.d.ts +0 -4
  383. package/utils/__mocks__/logger.d.ts +0 -4
  384. package/views/asset/__tests__/utils.d.ts +0 -7
  385. 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("zustand").UseBoundStore<Omit<import("zustand").StoreApi<OrderingState>, "setState" | "devtools"> & {
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("zustand").StoreApi<OrderingState>, "setState" | "devtools"> & {
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 '@src/views/collection/collection.types';
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("zustand").UseBoundStore<Omit<import("zustand").StoreApi<RouterState>, "setState" | "devtools"> & {
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("zustand").StoreApi<RouterState>, "setState" | "devtools"> & {
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 {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { default as React } from 'react';
2
2
  export declare function DesignSystemProvider(props: {
3
3
  children: React.ReactNode;
4
4
  }): React.JSX.Element;
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- export declare const RootElementProvider: import("react").Provider<HTMLElement | null>;
2
+ export declare const RootElementProvider: import('react').Provider<HTMLElement | null>;
3
3
  export declare const useRootElement: () => HTMLElement;
@@ -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("react").NamedExoticComponent<import("styled-components").ExecutionProps & {
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;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { default as React } from 'react';
2
2
  interface ShadowRootProps {
3
3
  children: React.ReactNode;
4
4
  isContainerMode?: boolean;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { default as React } from 'react';
2
2
  interface Props {
3
3
  children: React.ReactNode;
4
4
  isContainerMode?: boolean;
package/text.js ADDED
@@ -0,0 +1,9 @@
1
+ function e(n, o, r) {
2
+ return (n === 1 ? o : r).replace("{}", n.toString());
3
+ }
4
+ const p = " ";
5
+ export {
6
+ p as nbsp,
7
+ e as pluralize
8
+ };
9
+ //# sourceMappingURL=text.js.map
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;"}
@@ -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;
@@ -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,6 @@
1
+ import { MAX_METAPROPERTY_LENGTH as r } from "./constants.js";
2
+ const e = (t) => t.length <= 100 ? t : t.slice(0, r) + "...";
3
+ export {
4
+ e as trimMetapropertyValue
5
+ };
6
+ //# sourceMappingURL=trimMetapropertyValue.js.map
@@ -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
@@ -0,0 +1,7 @@
1
+ function r(t) {
2
+ return `https://${t.replace(/^https?:\/\//i, "").replace(/\/+$/i, "")}/`;
3
+ }
4
+ export {
5
+ r as ensureValidUrl
6
+ };
7
+ //# sourceMappingURL=url.js.map
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;"}
@@ -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;"}