@deenruv/react-ui-devkit 1.0.17-dev.27 → 1.0.17-dev.28

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.
@@ -1,3 +1,4 @@
1
+ import { type Dispatch, type SetStateAction } from "react";
1
2
  export type ASSETS_PER_PAGE = 12 | 24 | 48 | 96;
2
3
  export declare const ASSETS_ITEMS_PER_PAGE: ASSETS_PER_PAGE[];
3
4
  type Config = {
@@ -25,14 +26,14 @@ export declare const useAssets: (config?: Config) => {
25
26
  refetchData: () => Promise<void>;
26
27
  page: number;
27
28
  perPage: ASSETS_PER_PAGE;
28
- setPage: import("react").Dispatch<import("react").SetStateAction<number>>;
29
- setPerPage: import("react").Dispatch<import("react").SetStateAction<ASSETS_PER_PAGE>>;
29
+ setPage: Dispatch<SetStateAction<number>>;
30
+ setPerPage: Dispatch<SetStateAction<ASSETS_PER_PAGE>>;
30
31
  searchTags: string[];
31
- setSearchTags: import("react").Dispatch<import("react").SetStateAction<string[]>>;
32
+ setSearchTags: Dispatch<SetStateAction<string[]>>;
32
33
  searchTerm: string;
33
- setSearchTerm: import("react").Dispatch<import("react").SetStateAction<string>>;
34
+ setSearchTerm: Dispatch<SetStateAction<string>>;
34
35
  totalPages: number;
35
36
  skip: boolean;
36
- setSkip: import("react").Dispatch<import("react").SetStateAction<boolean>>;
37
+ setSkip: Dispatch<SetStateAction<boolean>>;
37
38
  };
38
39
  export {};
@@ -1,23 +1,52 @@
1
1
  import { assetsSelector } from "../selectors/AssetsSelector.js";
2
2
  import { apiClient } from "../zeus_client/deenruvAPICall.js";
3
3
  import { LogicalOperator, SortOrder } from "@deenruv/admin-types";
4
- import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
5
5
  import { useDebounce } from "use-debounce";
6
+ import { clampAssetPage, RequestGenerationGate, } from "../universal_components/AssetsModalInput.helpers.js";
6
7
  export const ASSETS_ITEMS_PER_PAGE = [
7
8
  12, 24, 48, 96,
8
9
  ];
9
10
  export const useAssets = (config) => {
11
+ const requestGate = useRef(new RequestGenerationGate());
10
12
  const [assets, setAssets] = useState([]);
11
13
  const [totalItems, setTotalItems] = useState(0);
12
14
  const [isPending, setIsPending] = useState(true);
13
15
  const [error, setError] = useState(undefined);
14
- const [searchTags, setSearchTags] = useState([]);
15
- const [searchTerm, setSearchTerm] = useState("");
16
- const [page, setPage] = useState(1);
17
- const [perPage, setPerPage] = useState(ASSETS_ITEMS_PER_PAGE[0]);
18
- const [skip, setSkip] = useState(config?.skip ? config.skip : false);
16
+ const [searchTags, setSearchTagsState] = useState([]);
17
+ const [searchTerm, setSearchTermState] = useState("");
18
+ const [page, setPageState] = useState(1);
19
+ const [perPage, setPerPageState] = useState(ASSETS_ITEMS_PER_PAGE[0]);
20
+ const [skip, setSkipState] = useState(config?.skip ? config.skip : false);
19
21
  const [debouncedSearch] = useDebounce(searchTerm, 500);
22
+ const invalidateListWork = useCallback(() => {
23
+ requestGate.current.invalidate();
24
+ setIsPending(false);
25
+ }, []);
26
+ const setPage = useCallback((value) => {
27
+ invalidateListWork();
28
+ setPageState(value);
29
+ }, [invalidateListWork]);
30
+ const setPerPage = useCallback((value) => {
31
+ invalidateListWork();
32
+ setPerPageState(value);
33
+ setPageState(1);
34
+ }, [invalidateListWork]);
35
+ const setSearchTags = useCallback((value) => {
36
+ invalidateListWork();
37
+ setSearchTagsState(value);
38
+ setPageState(1);
39
+ }, [invalidateListWork]);
40
+ const setSearchTerm = useCallback((value) => {
41
+ invalidateListWork();
42
+ setSearchTermState(value);
43
+ }, [invalidateListWork]);
44
+ const setSkip = useCallback((value) => {
45
+ invalidateListWork();
46
+ setSkipState(value);
47
+ }, [invalidateListWork]);
20
48
  const refetchData = useCallback(async () => {
49
+ const requestGeneration = requestGate.current.begin();
21
50
  setIsPending(true);
22
51
  try {
23
52
  const { assets } = await apiClient("query")({
@@ -39,26 +68,44 @@ export const useAssets = (config) => {
39
68
  { totalItems: true, items: assetsSelector },
40
69
  ],
41
70
  });
42
- setAssets(assets.items);
71
+ if (!requestGate.current.isCurrent(requestGeneration))
72
+ return;
73
+ const nextTotalPages = Math.ceil(assets.totalItems / perPage);
74
+ const nextPage = clampAssetPage(page, nextTotalPages);
75
+ setAssets(nextPage === page ? assets.items : []);
43
76
  setTotalItems(assets.totalItems);
77
+ if (nextPage !== page)
78
+ setPageState(nextPage);
44
79
  setError(undefined);
45
80
  }
46
81
  catch (error) {
82
+ if (!requestGate.current.isCurrent(requestGeneration))
83
+ return;
47
84
  setAssets([]);
48
85
  setTotalItems(0);
49
86
  setError(`${error} Could not Fetch Data `);
50
87
  }
51
88
  finally {
52
- setIsPending(false);
89
+ if (requestGate.current.isCurrent(requestGeneration)) {
90
+ setIsPending(false);
91
+ }
53
92
  }
54
93
  }, [debouncedSearch, page, perPage, searchTags]);
55
94
  const totalPages = useMemo(() => Math.ceil(totalItems / perPage), [totalItems, perPage]);
56
95
  useEffect(() => {
57
- !skip && refetchData();
58
- }, [page, skip, searchTags, perPage, debouncedSearch]);
96
+ setPageState(1);
97
+ }, [debouncedSearch]);
59
98
  useEffect(() => {
60
- setPage(1);
61
- }, [searchTags, perPage, debouncedSearch]);
99
+ if (skip) {
100
+ requestGate.current.invalidate();
101
+ setIsPending(false);
102
+ return;
103
+ }
104
+ void refetchData();
105
+ }, [refetchData, skip]);
106
+ useEffect(() => () => {
107
+ requestGate.current.invalidate();
108
+ }, []);
62
109
  return {
63
110
  assets,
64
111
  isPending,
@@ -1 +1 @@
1
- {"version":3,"file":"useAssets.js","sourceRoot":"","sources":["../../src/hooks/useAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,uCAAsC;AAC1E,OAAO,EAAE,SAAS,EAAE,yCAAwC;AAC5D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CACN,CAAC;AAIX,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAe,EAAE,EAAE;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,qBAAqB,CAAC,CAAC,CAAC,CACzB,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAErE,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,EAAE;oBACN;wBACE,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO;4BAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;4BACnC,GAAG,CAAC,eAAe,KAAK,EAAE,IAAI;gCAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE;6BAChD,CAAC;4BACF,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI;gCACvB,IAAI,EAAE,UAAU;gCAChB,YAAY,EAAE,eAAe,CAAC,GAAG;6BAClC,CAAC;yBACH;qBACF;oBACD,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE;iBAC5C;aACF,CAAC,CAAC;YACH,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,QAAQ,CAAC,GAAG,KAAK,wBAAwB,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,EACrC,CAAC,UAAU,EAAE,OAAO,CAAC,CACtB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,MAAM;QACN,SAAS;QACT,KAAK;QACL,UAAU;QACV,WAAW;QACX,IAAI;QACJ,OAAO;QACP,OAAO;QACP,UAAU;QACV,UAAU;QACV,aAAa;QACb,UAAU;QACV,aAAa;QACb,UAAU;QACV,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useAssets.js","sourceRoot":"","sources":["../../src/hooks/useAssets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type AssetPageItem = number | "ellipsis";
2
+ export declare class RequestGenerationGate {
3
+ private generation;
4
+ begin(): number;
5
+ invalidate(): void;
6
+ isCurrent(generation: number): boolean;
7
+ }
8
+ export declare class AssetDraftRequestGate {
9
+ private mode;
10
+ private uploadGate;
11
+ syncFromValue(open: boolean): void;
12
+ open(): void;
13
+ close(): void;
14
+ manualSelection(): void;
15
+ beginUpload(): number;
16
+ canApplyValue(open: boolean): boolean;
17
+ canApplyUpload(generation: number, open: boolean): boolean;
18
+ }
19
+ export declare const clampAssetPage: (page: number, totalPages: number) => number;
20
+ export declare const getAssetResultRange: (page: number, perPage: number, totalItems: number) => {
21
+ from: number;
22
+ to: number;
23
+ };
24
+ export declare const getAssetPageItems: (page: number, totalPages: number) => AssetPageItem[];
25
+ export declare const formatAssetFileSize: (bytes?: number | null) => string | undefined;
26
+ export declare const getAssetMetadata: (asset: {
27
+ mimeType?: string | null;
28
+ width?: number | null;
29
+ height?: number | null;
30
+ fileSize?: number | null;
31
+ }) => string[];
@@ -0,0 +1,94 @@
1
+ export class RequestGenerationGate {
2
+ generation = 0;
3
+ begin() {
4
+ this.generation += 1;
5
+ return this.generation;
6
+ }
7
+ invalidate() {
8
+ this.generation += 1;
9
+ }
10
+ isCurrent(generation) {
11
+ return generation === this.generation;
12
+ }
13
+ }
14
+ export class AssetDraftRequestGate {
15
+ mode = "closed";
16
+ uploadGate = new RequestGenerationGate();
17
+ syncFromValue(open) {
18
+ this.uploadGate.invalidate();
19
+ this.mode = open ? "sync" : "closed";
20
+ }
21
+ open() {
22
+ this.uploadGate.invalidate();
23
+ this.mode = "sync";
24
+ }
25
+ close() {
26
+ this.uploadGate.invalidate();
27
+ this.mode = "closed";
28
+ }
29
+ manualSelection() {
30
+ this.uploadGate.invalidate();
31
+ this.mode = "manual";
32
+ }
33
+ beginUpload() {
34
+ this.mode = "upload";
35
+ return this.uploadGate.begin();
36
+ }
37
+ canApplyValue(open) {
38
+ return open && this.mode === "sync";
39
+ }
40
+ canApplyUpload(generation, open) {
41
+ return (open && this.mode === "upload" && this.uploadGate.isCurrent(generation));
42
+ }
43
+ }
44
+ export const clampAssetPage = (page, totalPages) => totalPages === 0 ? 1 : Math.min(Math.max(page, 1), totalPages);
45
+ export const getAssetResultRange = (page, perPage, totalItems) => {
46
+ if (totalItems === 0)
47
+ return { from: 0, to: 0 };
48
+ const totalPages = Math.ceil(totalItems / perPage);
49
+ const clampedPage = clampAssetPage(page, totalPages);
50
+ return {
51
+ from: (clampedPage - 1) * perPage + 1,
52
+ to: Math.min(clampedPage * perPage, totalItems),
53
+ };
54
+ };
55
+ const range = (start, stop) => Array.from({ length: Math.max(0, stop - start + 1) }, (_, index) => start + index);
56
+ export const getAssetPageItems = (page, totalPages) => {
57
+ if (totalPages === 0)
58
+ return [];
59
+ const currentPage = clampAssetPage(page, totalPages);
60
+ if (totalPages <= 7)
61
+ return range(1, totalPages);
62
+ if (currentPage < 4)
63
+ return [...range(1, 5), "ellipsis", totalPages];
64
+ if (currentPage >= totalPages - 2) {
65
+ return [1, "ellipsis", ...range(totalPages - 4, totalPages)];
66
+ }
67
+ return [
68
+ 1,
69
+ "ellipsis",
70
+ ...range(currentPage - 1, currentPage + 1),
71
+ "ellipsis",
72
+ totalPages,
73
+ ];
74
+ };
75
+ export const formatAssetFileSize = (bytes) => {
76
+ if (bytes === undefined || bytes === null || bytes < 0)
77
+ return undefined;
78
+ if (bytes < 1024)
79
+ return `${bytes} B`;
80
+ const units = ["KB", "MB", "GB"];
81
+ let value = bytes / 1024;
82
+ let unitIndex = 0;
83
+ while (value >= 1024 && unitIndex < units.length - 1) {
84
+ value /= 1024;
85
+ unitIndex += 1;
86
+ }
87
+ return `${value >= 10 ? value.toFixed(0) : value.toFixed(1)} ${units[unitIndex]}`;
88
+ };
89
+ export const getAssetMetadata = (asset) => [
90
+ asset.mimeType || undefined,
91
+ asset.width && asset.height ? `${asset.width}×${asset.height}` : undefined,
92
+ formatAssetFileSize(asset.fileSize),
93
+ ].filter((value) => Boolean(value));
94
+ //# sourceMappingURL=AssetsModalInput.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetsModalInput.helpers.js","sourceRoot":"","sources":["../../src/universal_components/AssetsModalInput.helpers.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { useCallback, useEffect, useMemo, useState } from "react";
2
- import { ChevronDown, CircleX } from "lucide-react";
1
+ import { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, } from "react";
2
+ import { Check, ChevronDown, CircleX } from "lucide-react";
3
3
  import { apiClient } from "../zeus_client/deenruvAPICall.js";
4
4
  import { cn } from "../lib/utils.js";
5
5
  import React from "react";
6
6
  import { toast } from "sonner";
7
- import { AssetUploadButton, Dialog, DialogClose, DialogContent, DialogHeader, DialogTitle, DialogTrigger, Button, Input, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Label, HoverCard, HoverCardContent, HoverCardTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, ImageWithPreview, } from "../components";
7
+ import { AssetUploadButton, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Button, Input, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, PaginationEllipsis, PaginationItem, ImageWithPreview, Skeleton, } from "../components";
8
8
  import { assetsSelector } from "../selectors/AssetsSelector.js";
9
9
  import { ASSETS_ITEMS_PER_PAGE, useAssets, } from "../hooks/useAssets.js";
10
10
  import { useTranslation } from "../hooks/useTranslation.js";
11
- const arrayRange = (start, stop) => Array.from({ length: stop - start + 1 }, (_, index) => start + index);
11
+ import { AssetDraftRequestGate, clampAssetPage, getAssetMetadata, getAssetPageItems, getAssetResultRange, RequestGenerationGate, } from "./AssetsModalInput.helpers.js";
12
12
  /**
13
13
  * A modal that allows the user to select an asset from a list of available assets.
14
14
  *
@@ -17,43 +17,73 @@ const arrayRange = (start, stop) => Array.from({ length: stop - start + 1 }, (_,
17
17
  */
18
18
  export function AssetsModalInput({ value, setValue, }) {
19
19
  const { t } = useTranslation("common");
20
- const [selectedAsset, setSelectedAsset] = useState();
20
+ const [committedAsset, setCommittedAsset] = useState();
21
+ const [draftAsset, setDraftAsset] = useState();
21
22
  const [open, setOpen] = useState(false);
22
23
  const [tags, setTags] = useState([]);
24
+ const openRef = useRef(false);
25
+ const draftRequestGate = useRef(new AssetDraftRequestGate());
26
+ const valueLookupGate = useRef(new RequestGenerationGate());
27
+ const tagLookupGate = useRef(new RequestGenerationGate());
28
+ const titleId = useId();
29
+ const descriptionId = useId();
30
+ const footerId = useId();
23
31
  const { assets, error, isPending, totalItems, page, perPage, searchTags, searchTerm, setPage, setPerPage, setSearchTags, setSearchTerm, totalPages, setSkip, refetchData, } = useAssets({ skip: true });
24
- useEffect(() => {
25
- if (value?.id) {
26
- apiClient("query")({
27
- assets: [
28
- { options: { take: 1, filter: { id: { eq: value.id } } } },
29
- { items: assetsSelector },
30
- ],
31
- }).then(({ assets }) => {
32
- setSelectedAsset(assets.items[0]);
33
- });
32
+ useLayoutEffect(() => {
33
+ const requestGeneration = valueLookupGate.current.begin();
34
+ draftRequestGate.current.syncFromValue(openRef.current);
35
+ setCommittedAsset(undefined);
36
+ setDraftAsset(undefined);
37
+ if (!value?.id) {
38
+ return;
34
39
  }
35
- }, [value]);
40
+ void apiClient("query")({
41
+ assets: [
42
+ { options: { take: 1, filter: { id: { eq: value.id } } } },
43
+ { items: assetsSelector },
44
+ ],
45
+ })
46
+ .then(({ assets }) => {
47
+ if (!valueLookupGate.current.isCurrent(requestGeneration))
48
+ return;
49
+ const asset = assets.items[0];
50
+ setCommittedAsset(asset);
51
+ if (draftRequestGate.current.canApplyValue(openRef.current)) {
52
+ setDraftAsset(asset);
53
+ }
54
+ })
55
+ .catch(() => {
56
+ if (!valueLookupGate.current.isCurrent(requestGeneration))
57
+ return;
58
+ setCommittedAsset(undefined);
59
+ if (draftRequestGate.current.canApplyValue(openRef.current)) {
60
+ setDraftAsset(undefined);
61
+ }
62
+ toast.error(t("toasts.error.fetch"));
63
+ });
64
+ return () => valueLookupGate.current.invalidate();
65
+ }, [t, value?.id]);
36
66
  useEffect(() => {
37
- apiClient("query")({
67
+ const requestGeneration = tagLookupGate.current.begin();
68
+ void apiClient("query")({
38
69
  tags: [{}, { items: { id: true, value: true } }],
39
- }).then(({ tags }) => {
40
- setTags(tags.items);
70
+ })
71
+ .then(({ tags }) => {
72
+ if (tagLookupGate.current.isCurrent(requestGeneration)) {
73
+ setTags(tags.items);
74
+ }
75
+ })
76
+ .catch(() => {
77
+ if (tagLookupGate.current.isCurrent(requestGeneration)) {
78
+ toast.error(t("toasts.error.fetch"));
79
+ }
41
80
  });
42
- }, []);
43
- const pagesToShow = useMemo(() => totalPages <= 7
44
- ? arrayRange(1, totalPages)
45
- : page < 4
46
- ? [...arrayRange(1, 5), "ellipsis", totalPages]
47
- : page >= totalPages - 2
48
- ? [1, "ellipsis", ...arrayRange(totalPages - 4, totalPages)]
49
- : [
50
- 1,
51
- "ellipsis",
52
- ...arrayRange(page - 1, page + 1),
53
- "ellipsis",
54
- totalPages,
55
- ], [totalPages, page]);
81
+ return () => tagLookupGate.current.invalidate();
82
+ }, [t]);
83
+ const pagesToShow = useMemo(() => getAssetPageItems(page, totalPages), [page, totalPages]);
84
+ const resultRange = useMemo(() => getAssetResultRange(page, perPage, totalItems), [page, perPage, totalItems]);
56
85
  const handleUploadedAsset = useCallback((asset) => {
86
+ const uploadGeneration = draftRequestGate.current.beginUpload();
57
87
  setPage(1);
58
88
  void apiClient("query")({
59
89
  assets: [
@@ -62,30 +92,56 @@ export function AssetsModalInput({ value, setValue, }) {
62
92
  ],
63
93
  })
64
94
  .then(({ assets }) => {
95
+ if (!draftRequestGate.current.canApplyUpload(uploadGeneration, openRef.current)) {
96
+ return;
97
+ }
65
98
  const uploadedAsset = assets.items[0];
66
99
  if (uploadedAsset) {
67
- setSelectedAsset(uploadedAsset);
100
+ setDraftAsset(uploadedAsset);
68
101
  }
69
102
  })
70
103
  .catch(() => {
71
- toast.error(t("toasts.error.fetch"));
104
+ if (draftRequestGate.current.canApplyUpload(uploadGeneration, openRef.current)) {
105
+ toast.error(t("toasts.error.fetch"));
106
+ }
72
107
  });
73
108
  return {};
74
109
  }, [setPage, t]);
75
- useEffect(() => {
76
- setSkip(!open);
77
- }, [open]);
78
- return (React.createElement(Dialog, { open: open, onOpenChange: setOpen },
110
+ useEffect(() => () => {
111
+ openRef.current = false;
112
+ draftRequestGate.current.close();
113
+ valueLookupGate.current.invalidate();
114
+ tagLookupGate.current.invalidate();
115
+ }, []);
116
+ const handleOpenChange = (nextOpen) => {
117
+ openRef.current = nextOpen;
118
+ setSkip(!nextOpen);
119
+ if (nextOpen) {
120
+ draftRequestGate.current.open();
121
+ setDraftAsset(committedAsset?.id === value?.id ? committedAsset : undefined);
122
+ }
123
+ else {
124
+ draftRequestGate.current.close();
125
+ setDraftAsset(undefined);
126
+ }
127
+ setOpen(nextOpen);
128
+ };
129
+ const handleManualAssetSelection = (asset) => {
130
+ draftRequestGate.current.manualSelection();
131
+ setDraftAsset((current) => (current?.id === asset.id ? undefined : asset));
132
+ };
133
+ return (React.createElement(Dialog, { open: open, onOpenChange: handleOpenChange },
79
134
  React.createElement(DialogTrigger, { asChild: true },
80
135
  React.createElement(Button, { variant: "secondary", size: "sm" }, t("asset.dialogButton"))),
81
- React.createElement(DialogContent, { className: "max-h-[90vh] max-w-[80vw]" },
136
+ React.createElement(DialogContent, { "aria-describedby": descriptionId, "aria-labelledby": titleId, className: "grid max-h-[calc(100vh-1rem)] w-[calc(100vw-1rem)] max-w-6xl grid-rows-[auto_minmax(0,1fr)_auto] gap-3 overflow-hidden p-4 sm:max-h-[90vh] sm:p-5" },
82
137
  React.createElement(DialogHeader, null,
83
- React.createElement(DialogTitle, null,
84
- " ",
85
- t("asset.dialogTitle"))),
86
- React.createElement("div", { className: "flex h-[calc(90vh-140px)] w-full flex-col gap-2 " },
87
- React.createElement("div", { className: "flex flex-wrap items-start gap-2" },
88
- React.createElement(Input, { className: "w-80 max-w-full", value: searchTerm, onChange: (e) => setSearchTerm(e.currentTarget.value), placeholder: t("asset.dialogSearchPlaceholder") }),
138
+ React.createElement(DialogTitle, { id: titleId }, t("asset.dialogTitle")),
139
+ React.createElement(DialogDescription, { id: descriptionId }, t("asset.pickerDescription"))),
140
+ React.createElement("div", { className: "flex min-h-0 w-full flex-col gap-3" },
141
+ React.createElement("div", { className: "flex flex-wrap items-end gap-2" },
142
+ React.createElement("div", { className: "w-80 max-w-full" },
143
+ React.createElement(Label, { className: "sr-only", htmlFor: `${titleId}-search` }, t("asset.searchLabel")),
144
+ React.createElement(Input, { id: `${titleId}-search`, value: searchTerm, onChange: (e) => setSearchTerm(e.currentTarget.value), placeholder: t("asset.dialogSearchPlaceholder") })),
89
145
  React.createElement("div", { className: "flex flex-wrap gap-2" },
90
146
  React.createElement(DropdownMenu, null,
91
147
  React.createElement(DropdownMenuTrigger, { asChild: true },
@@ -96,9 +152,9 @@ export function AssetsModalInput({ value, setValue, }) {
96
152
  React.createElement(DropdownMenuContent, { align: "start", className: "max-h-[400px] overflow-y-auto" }, tags
97
153
  .filter((i) => !searchTags.some((a) => a === i.value))
98
154
  .map((i) => (React.createElement(DropdownMenuItem, { key: i.id, onClick: () => setSearchTags((p) => [...p, i.value]) }, i.value))))),
99
- searchTags.map((i) => (React.createElement("div", { onClick: () => setSearchTags((p) => p.filter((a) => a !== i)), className: " border-1 flex h-[40px] cursor-pointer items-center gap-2 rounded border px-2 py-1 text-sm ", key: i },
155
+ searchTags.map((i) => (React.createElement(Button, { type: "button", variant: "secondary", size: "sm", onClick: () => setSearchTags((p) => p.filter((a) => a !== i)), "aria-label": t("asset.removeTag", { value: i }), key: i },
100
156
  i,
101
- React.createElement(CircleX, { size: 14 }))))),
157
+ React.createElement(CircleX, { className: "ml-1 size-3.5", "aria-hidden": "true" }))))),
102
158
  React.createElement(AssetUploadButton, { cb: handleUploadedAsset, refetch: () => {
103
159
  void refetchData();
104
160
  }, buttonProps: {
@@ -106,42 +162,49 @@ export function AssetsModalInput({ value, setValue, }) {
106
162
  size: "default",
107
163
  variant: "outline",
108
164
  } }, t("asset.uploadButton"))),
109
- React.createElement("div", { className: "w-full flex-1 overflow-y-auto pr-1" }, isPending ? (React.createElement("div", { className: "flex size-full items-center justify-center" },
110
- React.createElement("div", { className: "custom-spinner" }))) : error || assets.length === 0 ? (React.createElement("div", { className: " flex size-full items-center justify-center" },
111
- React.createElement(Label, null, error || t("asset.noImages")))) : (React.createElement("div", { className: "flex w-full flex-1 flex-wrap gap-2" }, assets.map((asset) => (React.createElement("div", { key: asset.id, className: cn("h-[180px] grow basis-1/5 cursor-pointer overflow-hidden rounded border-2", selectedAsset?.id === asset.id && "border-blue-500"), onClick: () => setSelectedAsset((p) => p?.id !== asset.id ? asset : undefined) },
112
- React.createElement(ImageWithPreview, { imageClassName: "w-full h-[150px] object-cover", src: asset.preview, alt: asset.name }),
113
- React.createElement(HoverCard, null,
114
- React.createElement(HoverCardTrigger, { asChild: true },
115
- React.createElement("div", { className: "max-w-[150px] truncate px-2 pt-1.5 text-xs" }, asset.name)),
116
- React.createElement(HoverCardContent, { className: cn("rounded border p-1 text-center text-xs") },
117
- React.createElement("div", { className: "" }, asset.name))))))))),
118
- React.createElement("div", { className: "gap-2, flex w-full flex-wrap justify-between" },
119
- React.createElement("div", { className: "flex gap-2" },
120
- React.createElement("div", { className: "m-auto whitespace-nowrap text-center" },
121
- (page - 1) * perPage + 1,
122
- " - ",
123
- page * perPage,
124
- " of ",
125
- totalItems),
126
- React.createElement(Select, { value: perPage.toString(), onValueChange: (e) => setPerPage(parseInt(e)) },
127
- React.createElement(SelectTrigger, { className: "w-[180px]" },
128
- React.createElement(SelectValue, { placeholder: t("perPagePlaceholder") })),
129
- React.createElement(SelectContent, null, ASSETS_ITEMS_PER_PAGE.map((i) => (React.createElement(SelectItem, { key: i, value: i.toString() }, t("asset.perPageValue", { value: i }))))))),
130
- React.createElement("div", null,
131
- React.createElement(Pagination, null,
132
- React.createElement(PaginationContent, null,
133
- React.createElement(PaginationPrevious, { isActive: page !== 1, onClick: () => setPage((p) => p - 1) }),
134
- pagesToShow.map((i, index) => (React.createElement(PaginationItem, { key: index }, i === "ellipsis" ? (React.createElement(PaginationEllipsis, null)) : (React.createElement(PaginationLink, { isActive: i === page, onClick: () => setPage(i) }, i))))),
135
- React.createElement(PaginationNext, { isActive: page !== totalPages, onClick: () => setPage((p) => p + 1) })))),
136
- React.createElement("div", { className: "flex flex-1 justify-end gap-2" },
137
- React.createElement(DialogClose, { asChild: true },
138
- React.createElement(Button, { variant: "ghost" }, t("asset.cancel"))),
139
- React.createElement(DialogClose, { asChild: true },
140
- React.createElement(Button, { disabled: !selectedAsset, onClick: () => {
141
- if (selectedAsset)
142
- setValue(selectedAsset);
143
- else
144
- setValue(undefined);
145
- } }, t("asset.confirmButton")))))))));
165
+ React.createElement("div", { className: "min-h-0 w-full flex-1 overflow-y-auto pr-1" }, isPending ? (React.createElement("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6", role: "status", "aria-label": t("asset.loading") }, Array.from({ length: 12 }).map((_, index) => (React.createElement(Skeleton, { className: "aspect-square rounded-md", key: index }))))) : error ? (React.createElement("div", { className: "flex min-h-48 items-center justify-center text-center", role: "alert" },
166
+ React.createElement("p", { className: "text-sm text-destructive" }, t("asset.fetchError")))) : assets.length === 0 ? (React.createElement("div", { className: "flex min-h-48 items-center justify-center text-center" },
167
+ React.createElement("p", { className: "text-sm text-muted-foreground" }, t("asset.noImages")))) : (React.createElement("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6" }, assets.map((asset) => {
168
+ const metadata = getAssetMetadata(asset);
169
+ const selected = draftAsset?.id === asset.id;
170
+ const metadataId = `${titleId}-asset-${asset.id}`;
171
+ return (React.createElement("button", { type: "button", key: asset.id, "aria-pressed": selected, "aria-describedby": metadataId, className: cn("group relative flex aspect-square min-w-0 flex-col overflow-hidden rounded-md border bg-card text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", selected
172
+ ? "border-primary ring-2 ring-primary"
173
+ : "hover:border-primary/60"), onClick: () => handleManualAssetSelection(asset) },
174
+ selected ? (React.createElement("span", { className: "absolute right-2 top-2 z-10 inline-flex size-6 items-center justify-center rounded-full bg-primary text-primary-foreground shadow", title: t("asset.selected") },
175
+ React.createElement(Check, { className: "size-4", "aria-hidden": "true" }),
176
+ React.createElement("span", { className: "sr-only" }, t("asset.selected")))) : null,
177
+ React.createElement("div", { className: "min-h-0 flex-1 overflow-hidden bg-muted" },
178
+ React.createElement(ImageWithPreview, { imageClassName: "size-full object-cover transition-transform group-hover:scale-[1.02]", src: asset.preview, alt: asset.name })),
179
+ React.createElement("div", { className: "w-full shrink-0 space-y-1 border-t p-2" },
180
+ React.createElement("div", { className: "truncate text-xs font-medium", title: asset.name }, asset.name),
181
+ React.createElement("div", { id: metadataId, className: "truncate text-[10px] text-muted-foreground", title: metadata.join(" · ") }, metadata.join(" · ")))));
182
+ }))))),
183
+ React.createElement(DialogFooter, { id: footerId, "aria-label": t("asset.actionsLabel"), className: "min-w-0 flex-col gap-3 overflow-hidden border-t pt-3 sm:flex-row sm:items-center sm:justify-between sm:space-x-0" },
184
+ React.createElement("div", { className: "flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto" },
185
+ React.createElement("div", { className: "m-auto whitespace-nowrap text-center" }, t("asset.resultRange", {
186
+ from: resultRange.from,
187
+ to: resultRange.to,
188
+ total: totalItems,
189
+ })),
190
+ React.createElement(Select, { value: perPage.toString(), onValueChange: (e) => setPerPage(parseInt(e)) },
191
+ React.createElement(SelectTrigger, { className: "w-full min-w-0 sm:w-[180px]" },
192
+ React.createElement(SelectValue, { placeholder: t("perPagePlaceholder") })),
193
+ React.createElement(SelectContent, null, ASSETS_ITEMS_PER_PAGE.map((i) => (React.createElement(SelectItem, { key: i, value: i.toString() }, t("asset.perPageValue", { value: i })))))),
194
+ React.createElement("nav", { className: "max-w-full overflow-x-auto", "aria-label": t("asset.paginationLabel") },
195
+ React.createElement("ul", { className: "flex w-max items-center gap-1" },
196
+ React.createElement(PaginationItem, null,
197
+ React.createElement(Button, { type: "button", variant: "outline", size: "icon", disabled: page <= 1 || totalPages === 0, "aria-disabled": page <= 1 || totalPages === 0, "aria-label": t("previous"), onClick: () => setPage((current) => clampAssetPage(current - 1, totalPages)) }, "\u2039")),
198
+ pagesToShow.map((i, index) => (React.createElement(PaginationItem, { key: `${i}-${index}` }, i === "ellipsis" ? (React.createElement(PaginationEllipsis, null)) : (React.createElement(Button, { type: "button", variant: i === page ? "default" : "outline", size: "icon", "aria-current": i === page ? "page" : undefined, onClick: () => setPage(i) }, i))))),
199
+ React.createElement(PaginationItem, null,
200
+ React.createElement(Button, { type: "button", variant: "outline", size: "icon", disabled: totalPages === 0 || page >= totalPages, "aria-disabled": totalPages === 0 || page >= totalPages, "aria-label": t("next"), onClick: () => setPage((current) => clampAssetPage(current + 1, totalPages)) }, "\u203A"))))),
201
+ React.createElement("div", { className: "flex w-full flex-wrap justify-end gap-2 sm:w-auto" },
202
+ React.createElement(DialogClose, { asChild: true },
203
+ React.createElement(Button, { variant: "ghost" }, t("asset.cancel"))),
204
+ React.createElement(DialogClose, { asChild: true },
205
+ React.createElement(Button, { disabled: !draftAsset, onClick: () => {
206
+ if (draftAsset)
207
+ setValue(draftAsset);
208
+ } }, t("asset.confirmButton"))))))));
146
209
  }
147
210
  //# sourceMappingURL=AssetsModalInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsModalInput.js","sourceRoot":"","sources":["../../src/universal_components/AssetsModalInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssetsModalInput.js","sourceRoot":"","sources":["../../src/universal_components/AssetsModalInput.tsx"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -4,5 +4,5 @@
4
4
  *
5
5
  * AUTO-GENERATED by generate-version.mjs — do not edit manually.
6
6
  */
7
- export const DEENRUV_UI_VERSION = "1.0.17-dev.27";
7
+ export const DEENRUV_UI_VERSION = "1.0.17-dev.28";
8
8
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deenruv/react-ui-devkit",
3
- "version": "1.0.17-dev.27",
3
+ "version": "1.0.17-dev.28",
4
4
  "homepage": "https://deenruv.com/",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -82,9 +82,9 @@
82
82
  "vaul": "^1.1.2",
83
83
  "zod": "^4.4.3",
84
84
  "zustand": "^5.0.14",
85
- "@deenruv/admin-types": "1.0.17-dev.27",
86
- "@deenruv/admin-ui": "1.0.17-dev.27",
87
- "@deenruv/common": "1.0.17-dev.27"
85
+ "@deenruv/admin-types": "1.0.17-dev.28",
86
+ "@deenruv/common": "1.0.17-dev.28",
87
+ "@deenruv/admin-ui": "1.0.17-dev.28"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@types/react": "^19.2.17",
@@ -97,7 +97,7 @@
97
97
  "tslib": "^2.8.1",
98
98
  "typescript": "~6.0.3",
99
99
  "vite": "^8.0.16",
100
- "@deenruv/core": "1.0.17-dev.27"
100
+ "@deenruv/core": "1.0.17-dev.28"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "@deenruv/core": "^1.0.0 || ^1.0.17-dev.0"