@ttt-productions/upload-ui 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react/tray/index.d.ts +1 -1
- package/dist/react/tray/index.d.ts.map +1 -1
- package/dist/react/tray/index.js.map +1 -1
- package/dist/react/upload-activity-tray.d.ts +24 -2
- package/dist/react/upload-activity-tray.d.ts.map +1 -1
- package/dist/react/upload-activity-tray.js +9 -11
- package/dist/react/upload-activity-tray.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { InFlightUploadsProvider, useInFlightUploadsState, useInFlightUpload, useUploadActivityState, isTerminalUpload, type InFlightUpload, type InFlightUploadActive, type InFlightUploadCompleted, type InFlightUploadFailed, type InFlightUploadRejected, type InFlightUploadBase, type InFlightUploadStatus, type InFlightUploadsAdapter, type InFlightUploadsMonitoringEvent, type InFlightUploadsProviderProps, type ParsedPendingMedia, type FirestoreSubscribeFn, type FirestoreLikeSnapshot, type FirestoreLikeDocChange, } from '../in-flight-uploads-provider.js';
|
|
2
|
-
export { UploadActivityTray, type UploadActivityTrayProps, type ViewAllLinkRenderArgs, } from '../upload-activity-tray.js';
|
|
2
|
+
export { UploadActivityTray, type UploadActivityTrayProps, type UploadTrayLabelers, type ViewAllLinkRenderArgs, } from '../upload-activity-tray.js';
|
|
3
3
|
export { useClearUploadActivity, type ClearUploadActivityOptions, } from '../use-clear-upload-activity.js';
|
|
4
4
|
export { useUploadProcessing, type UploadProcessingState, type UseUploadProcessingOptions, } from '../use-upload-processing.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/tray/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/tray/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,GAChC,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/tray/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAejB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/tray/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAejB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,GAInB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,GAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC"}
|
|
@@ -14,13 +14,29 @@
|
|
|
14
14
|
* - Both omitted — footer is not rendered.
|
|
15
15
|
*/
|
|
16
16
|
import { type ReactNode } from 'react';
|
|
17
|
+
/**
|
|
18
|
+
* Consumer-supplied formatters used by `UploadActivityTray` to render row
|
|
19
|
+
* labels. The tray is intentionally domain-agnostic — consumers map their
|
|
20
|
+
* own `FileOrigin` union to user-facing strings and choose their preferred
|
|
21
|
+
* timestamp / size / content-type formatting.
|
|
22
|
+
*/
|
|
23
|
+
export interface UploadTrayLabelers<TFileOrigin extends string = string> {
|
|
24
|
+
/** User-facing label for a file origin (e.g. 'job-reply' -> 'Job application'). */
|
|
25
|
+
originLabel: (fileOrigin: TFileOrigin) => string;
|
|
26
|
+
/** Human file size string, e.g. 1572864 -> '1.5 MB'. Return null when unknown. */
|
|
27
|
+
fileSizeLabel: (bytes: number | undefined) => string | null;
|
|
28
|
+
/** Friendly content-type label, e.g. 'image/png' -> 'Image'. Return null when unknown. */
|
|
29
|
+
fileTypeLabel: (contentType: string | undefined) => string | null;
|
|
30
|
+
/** Timestamp label, e.g. '3m ago' / 'Yesterday 3:42 PM'. */
|
|
31
|
+
timestampLabel: (createdAtMs: number, nowMs: number) => string;
|
|
32
|
+
}
|
|
17
33
|
export interface ViewAllLinkRenderArgs {
|
|
18
34
|
/** The href the consumer's link should navigate to (passed through verbatim). */
|
|
19
35
|
href: string;
|
|
20
36
|
/** Children for the link element (i.e. the label text + arrow). */
|
|
21
37
|
children: ReactNode;
|
|
22
38
|
}
|
|
23
|
-
export interface UploadActivityTrayProps {
|
|
39
|
+
export interface UploadActivityTrayProps<TFileOrigin extends string = string> {
|
|
24
40
|
/**
|
|
25
41
|
* Mutation hook result from `useClearUploadActivity({ clearFn })`. The tray
|
|
26
42
|
* uses `.mutate(item.id)`, `.isPending`, and `.variables`. The consumer
|
|
@@ -31,6 +47,12 @@ export interface UploadActivityTrayProps {
|
|
|
31
47
|
isPending: boolean;
|
|
32
48
|
variables: string | undefined;
|
|
33
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Consumer-supplied formatters for row labels. Required — the tray has
|
|
52
|
+
* no built-in opinion about how to render origin / file type / size /
|
|
53
|
+
* timestamp strings.
|
|
54
|
+
*/
|
|
55
|
+
labelers: UploadTrayLabelers<TFileOrigin>;
|
|
34
56
|
/**
|
|
35
57
|
* Optional view-all destination href. When omitted, no footer is rendered
|
|
36
58
|
* unless `renderFooter` is also supplied.
|
|
@@ -50,5 +72,5 @@ export interface UploadActivityTrayProps {
|
|
|
50
72
|
/** Visible label for the view-all link. Default: "View all uploads →". */
|
|
51
73
|
viewAllLabel?: ReactNode;
|
|
52
74
|
}
|
|
53
|
-
export declare function UploadActivityTray<TFileOrigin extends string = string>(props: UploadActivityTrayProps): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
export declare function UploadActivityTray<TFileOrigin extends string = string>(props: UploadActivityTrayProps<TFileOrigin>): import("react/jsx-runtime").JSX.Element;
|
|
54
76
|
//# sourceMappingURL=upload-activity-tray.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-activity-tray.d.ts","sourceRoot":"","sources":["../../src/react/upload-activity-tray.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"upload-activity-tray.d.ts","sourceRoot":"","sources":["../../src/react/upload-activity-tray.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAiBhD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACrE,mFAAmF;IACnF,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,MAAM,CAAC;IACjD,kFAAkF;IAClF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC;IAC5D,0FAA0F;IAC1F,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,4DAA4D;IAC5D,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAChE;AA+GD,MAAM,WAAW,qBAAqB;IACpC,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IAC1E;;;;OAIG;IACH,aAAa,EAAE;QACb,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/B,CAAC;IACF;;;;OAIG;IACH,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC1C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,SAAS,CAAC;IAC/D;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,SAAS,CAAC;IAC/B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,EACpE,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,2CA8G5C"}
|
|
@@ -16,12 +16,11 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
16
16
|
* - Both omitted — footer is not rendered.
|
|
17
17
|
*/
|
|
18
18
|
import { useMemo } from 'react';
|
|
19
|
-
import { fileOriginRowLabel, formatUploadTimestamp, formatFileSize, getFileTypeLabel, } from '@ttt-productions/ttt-core';
|
|
20
19
|
import { Cloud, Loader2, CheckCircle2, AlertCircle, XCircle, X } from 'lucide-react';
|
|
21
20
|
import { Button, Popover, PopoverTrigger, PopoverContent, ScrollArea, Separator, } from '@ttt-productions/ui-core/react';
|
|
22
21
|
import { cn } from '@ttt-productions/ui-core';
|
|
23
22
|
import { isTerminalUpload, useUploadActivityState, } from './in-flight-uploads-provider.js';
|
|
24
|
-
function getRowMeta(item, nowMs) {
|
|
23
|
+
function getRowMeta(item, nowMs, labelers) {
|
|
25
24
|
let statusLabel;
|
|
26
25
|
let icon;
|
|
27
26
|
let iconClassName;
|
|
@@ -55,27 +54,26 @@ function getRowMeta(item, nowMs) {
|
|
|
55
54
|
iconClassName = 'text-destructive';
|
|
56
55
|
break;
|
|
57
56
|
}
|
|
58
|
-
const originLabel = fileOriginRowLabel[item.fileOrigin] ?? item.fileOrigin;
|
|
59
57
|
return {
|
|
60
58
|
statusLabel,
|
|
61
59
|
errorDetail,
|
|
62
|
-
originLabel,
|
|
63
|
-
fileTypeLabel:
|
|
64
|
-
fileSizeLabel:
|
|
65
|
-
timestampLabel:
|
|
60
|
+
originLabel: labelers.originLabel(item.fileOrigin),
|
|
61
|
+
fileTypeLabel: labelers.fileTypeLabel(item.originalContentType),
|
|
62
|
+
fileSizeLabel: labelers.fileSizeLabel(item.originalSize),
|
|
63
|
+
timestampLabel: labelers.timestampLabel(item.createdAt, nowMs),
|
|
66
64
|
icon,
|
|
67
65
|
iconClassName,
|
|
68
66
|
};
|
|
69
67
|
}
|
|
70
|
-
function UploadActivityTrayRow({ item, nowMs, onClear, isClearPending, }) {
|
|
71
|
-
const meta = getRowMeta(item, nowMs);
|
|
68
|
+
function UploadActivityTrayRow({ item, nowMs, onClear, isClearPending, labelers, }) {
|
|
69
|
+
const meta = getRowMeta(item, nowMs, labelers);
|
|
72
70
|
const subline = [meta.originLabel, meta.fileTypeLabel, meta.fileSizeLabel]
|
|
73
71
|
.filter(Boolean)
|
|
74
72
|
.join(' · ');
|
|
75
73
|
return (_jsxs("div", { className: "flex items-start gap-3 p-3", children: [_jsx("div", { className: cn('mt-0.5 shrink-0', meta.iconClassName), children: meta.icon }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("p", { className: "text-sm font-medium truncate", children: meta.statusLabel }), _jsx("p", { className: "text-xs text-muted-foreground truncate", children: subline }), meta.errorDetail && (_jsx("p", { className: "text-xs text-muted-foreground mt-1 line-clamp-2", children: meta.errorDetail })), _jsx("p", { className: "text-xs text-muted-foreground mt-1", children: meta.timestampLabel })] }), onClear && (_jsx(Button, { size: "icon", variant: "ghost", className: "h-7 w-7 shrink-0", onClick: onClear, disabled: isClearPending, "aria-label": `Clear ${meta.statusLabel.toLowerCase()} upload`, children: _jsx(X, { className: "icon-sm" }) }))] }));
|
|
76
74
|
}
|
|
77
75
|
export function UploadActivityTray(props) {
|
|
78
|
-
const { clearMutation, viewAllHref, renderViewAllLink, renderFooter, viewAllLabel = 'View all uploads →', } = props;
|
|
76
|
+
const { clearMutation, labelers, viewAllHref, renderViewAllLink, renderFooter, viewAllLabel = 'View all uploads →', } = props;
|
|
79
77
|
const items = useUploadActivityState();
|
|
80
78
|
const nowMs = Date.now();
|
|
81
79
|
const activeCount = useMemo(() => items.filter((item) => item.status === 'pending' || item.status === 'processing').length, [items]);
|
|
@@ -98,6 +96,6 @@ export function UploadActivityTray(props) {
|
|
|
98
96
|
? 'No recent uploads'
|
|
99
97
|
: activeCount > 0
|
|
100
98
|
? `${activeCount} in progress`
|
|
101
|
-
: `${items.length} item${items.length === 1 ? '' : 's'}` })] }), _jsx(Separator, {}), items.length === 0 ? (_jsx("div", { className: "p-4 text-center text-sm text-muted-foreground", children: "No recent uploads." })) : (_jsx(ScrollArea, { className: "max-h-80", children: _jsx("ul", { className: "divide-y", children: items.map((item) => (_jsx("li", { children: _jsx(UploadActivityTrayRow, { item: item, nowMs: nowMs, onClear: isTerminalUpload(item) ? () => clearMutation.mutate(item.id) : undefined, isClearPending: clearMutation.isPending && clearMutation.variables === item.id }) }, item.id))) }) })), footerContent !== null && (_jsxs(_Fragment, { children: [_jsx(Separator, {}), footerContent] }))] })] }) }));
|
|
99
|
+
: `${items.length} item${items.length === 1 ? '' : 's'}` })] }), _jsx(Separator, {}), items.length === 0 ? (_jsx("div", { className: "p-4 text-center text-sm text-muted-foreground", children: "No recent uploads." })) : (_jsx(ScrollArea, { className: "max-h-80", children: _jsx("ul", { className: "divide-y", children: items.map((item) => (_jsx("li", { children: _jsx(UploadActivityTrayRow, { item: item, nowMs: nowMs, onClear: isTerminalUpload(item) ? () => clearMutation.mutate(item.id) : undefined, isClearPending: clearMutation.isPending && clearMutation.variables === item.id, labelers: labelers }) }, item.id))) }) })), footerContent !== null && (_jsxs(_Fragment, { children: [_jsx(Separator, {}), footerContent] }))] })] }) }));
|
|
102
100
|
}
|
|
103
101
|
//# sourceMappingURL=upload-activity-tray.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-activity-tray.js","sourceRoot":"","sources":["../../src/react/upload-activity-tray.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"upload-activity-tray.js","sourceRoot":"","sources":["../../src/react/upload-activity-tray.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,MAAM,EACN,OAAO,EACP,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GAEvB,MAAM,iCAAiC,CAAC;AA8BzC,SAAS,UAAU,CACjB,IAAiC,EACjC,KAAa,EACb,QAAyC;IAEzC,IAAI,WAAmB,CAAC;IACxB,IAAI,IAAe,CAAC;IACpB,IAAI,aAAqB,CAAC;IAC1B,IAAI,WAA+B,CAAC;IAEpC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,WAAW,GAAG,qBAAqB,CAAC;YACpC,IAAI,GAAG,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAAC;YACpD,aAAa,GAAG,uBAAuB,CAAC;YACxC,MAAM;QACR,KAAK,YAAY;YACf,WAAW,GAAG,aAAa,CAAC;YAC5B,IAAI,GAAG,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAAC;YACpD,aAAa,GAAG,cAAc,CAAC;YAC/B,MAAM;QACR,KAAK,WAAW;YACd,WAAW,GAAG,WAAW,CAAC;YAC1B,IAAI,GAAG,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC;YAC5C,aAAa,GAAG,oCAAoC,CAAC;YACrD,MAAM;QACR,KAAK,QAAQ;YACX,WAAW,GAAG,QAAQ,CAAC;YACvB,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,GAAG,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC;YAC3C,aAAa,GAAG,kBAAkB,CAAC;YACnC,MAAM;QACR,KAAK,UAAU;YACb,WAAW,GAAG,UAAU,CAAC;YACzB,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,GAAG,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC;YACvC,aAAa,GAAG,kBAAkB,CAAC;YACnC,MAAM;IACV,CAAC;IAED,OAAO;QACL,WAAW;QACX,WAAW;QACX,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;QAClD,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC/D,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;QACxD,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;QAC9D,IAAI;QACJ,aAAa;KACd,CAAC;AACJ,CAAC;AAUD,SAAS,qBAAqB,CAA6B,EACzD,IAAI,EACJ,KAAK,EACL,OAAO,EACP,cAAc,EACd,QAAQ,GACgC;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;SACvE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,CACL,eAAK,SAAS,EAAC,4BAA4B,aACzC,cAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,YAAG,IAAI,CAAC,IAAI,GAAO,EAC5E,eAAK,SAAS,EAAC,gBAAgB,aAC7B,YAAG,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,WAAW,GAAK,EAClE,YAAG,SAAS,EAAC,wCAAwC,YAAE,OAAO,GAAK,EAClE,IAAI,CAAC,WAAW,IAAI,CACnB,YAAG,SAAS,EAAC,iDAAiD,YAAE,IAAI,CAAC,WAAW,GAAK,CACtF,EACD,YAAG,SAAS,EAAC,oCAAoC,YAAE,IAAI,CAAC,cAAc,GAAK,IACvE,EACL,OAAO,IAAI,CACV,KAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,gBACZ,SAAS,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,YAE5D,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,CACV,IACG,CACP,CAAC;AACJ,CAAC;AA8CD,MAAM,UAAU,kBAAkB,CAChC,KAA2C;IAE3C,MAAM,EACJ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,YAAY,GAAG,oBAAoB,GACpC,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,sBAAsB,EAAe,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CACH,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,MAAM,EAC1F,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,aAAa,GAAc,CAAC,GAAG,EAAE;QACrC,IAAI,YAAY;YAAE,OAAO,YAAY,EAAE,CAAC;QACxC,IAAI,WAAW,IAAI,iBAAiB,EAAE,CAAC;YACrC,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YACjB,iBAAiB,CAAC;oBACjB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,CACR,eAAM,SAAS,EAAC,sCAAsC,YAAE,YAAY,GAAQ,CAC7E;iBACF,CAAC,GACE,CACP,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YACzC,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,MAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAClD,SAAS,EAAC,2CAA2C,gBAEnD,KAAK,CAAC,MAAM,KAAK,CAAC;4BAChB,CAAC,CAAC,qCAAqC;4BACvC,CAAC,CAAC,WAAW,GAAG,CAAC;gCACjB,CAAC,CAAC,oBAAoB,WAAW,cAAc;gCAC/C,CAAC,CAAC,oBAAoB,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,aAG5E,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAC7C,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,CAC9B,EACA,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,eACE,SAAS,EAAC,gKAAgK,iBAC9J,MAAM,YAEjB,KAAK,CAAC,MAAM,GACR,CACR,IACM,GACM,EACjB,MAAC,cAAc,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,EAAC,sBAAsB,aACvE,eAAK,SAAS,EAAC,uCAAuC,aACpD,aAAI,SAAS,EAAC,uBAAuB,gCAAqB,EAC1D,eAAM,SAAS,EAAC,+BAA+B,YAC5C,KAAK,CAAC,MAAM,KAAK,CAAC;wCACjB,CAAC,CAAC,mBAAmB;wCACrB,CAAC,CAAC,WAAW,GAAG,CAAC;4CACjB,CAAC,CAAC,GAAG,WAAW,cAAc;4CAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GACrD,IACH,EACN,KAAC,SAAS,KAAG,EACZ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,cAAK,SAAS,EAAC,+CAA+C,mCAExD,CACP,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,SAAS,EAAC,UAAU,YAC9B,aAAI,SAAS,EAAC,UAAU,YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,uBACE,KAAC,qBAAqB,IACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EACjF,cAAc,EAAE,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,EAC9E,QAAQ,EAAE,QAAQ,GAClB,IAPK,IAAI,CAAC,EAAE,CAQX,CACN,CAAC,GACC,GACM,CACd,EACA,aAAa,KAAK,IAAI,IAAI,CACzB,8BACE,KAAC,SAAS,KAAG,EACZ,aAAa,IACb,CACJ,IACc,IACT,GACN,CACP,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttt-productions/upload-ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "Upload UI primitives: local upload guard provider, useGuardedUpload helper, DeferredUploadFormShell for forms that defer Firebase Storage upload until form submit.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|