@ttt-productions/upload-ui 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAG,CAAC"}
|
|
@@ -4,24 +4,24 @@
|
|
|
4
4
|
* Renders a fixed bottom-left floating action button when there is any
|
|
5
5
|
* active or non-cleared terminal upload. Opens a popover listing each
|
|
6
6
|
* item with backend status. Terminal items (completed / failed / rejected)
|
|
7
|
-
* get a Clear (
|
|
7
|
+
* get a Clear (×) button that calls the consumer-supplied clear mutation.
|
|
8
8
|
*
|
|
9
9
|
* Framework-agnostic via render props:
|
|
10
10
|
* - `renderViewAllLink` lets the consumer plug in their app's Link
|
|
11
11
|
* component (Next.js Link, React Router Link, anchor, etc.) routed at
|
|
12
12
|
* their canonical "view all uploads" destination.
|
|
13
13
|
* - `renderFooter` lets the consumer fully replace the footer slot.
|
|
14
|
-
* - Both omitted
|
|
14
|
+
* - Both omitted — footer is not rendered.
|
|
15
15
|
*/
|
|
16
16
|
import { type ReactNode } from 'react';
|
|
17
17
|
/**
|
|
18
18
|
* Consumer-supplied formatters used by `UploadActivityTray` to render row
|
|
19
|
-
* labels. The tray is intentionally domain-agnostic
|
|
19
|
+
* labels. The tray is intentionally domain-agnostic — consumers map their
|
|
20
20
|
* own `FileOrigin` union to user-facing strings and choose their preferred
|
|
21
21
|
* timestamp / size / content-type formatting.
|
|
22
22
|
*/
|
|
23
23
|
export interface UploadTrayLabelers<TFileOrigin extends string = string> {
|
|
24
|
-
/** User-facing label for a file origin (e.g. '
|
|
24
|
+
/** User-facing label for a file origin (e.g. 'support-ticket' -> 'Support reply'). */
|
|
25
25
|
originLabel: (fileOrigin: TFileOrigin) => string;
|
|
26
26
|
/** Human file size string, e.g. 1572864 -> '1.5 MB'. Return null when unknown. */
|
|
27
27
|
fileSizeLabel: (bytes: number | undefined) => string | null;
|
|
@@ -48,7 +48,7 @@ export interface UploadActivityTrayProps<TFileOrigin extends string = string> {
|
|
|
48
48
|
variables: string | undefined;
|
|
49
49
|
};
|
|
50
50
|
/**
|
|
51
|
-
* Consumer-supplied formatters for row labels. Required
|
|
51
|
+
* Consumer-supplied formatters for row labels. Required — the tray has
|
|
52
52
|
* no built-in opinion about how to render origin / file type / size /
|
|
53
53
|
* timestamp strings.
|
|
54
54
|
*/
|
|
@@ -69,7 +69,7 @@ export interface UploadActivityTrayProps<TFileOrigin extends string = string> {
|
|
|
69
69
|
* `renderFooter` wins.
|
|
70
70
|
*/
|
|
71
71
|
renderFooter?: () => ReactNode;
|
|
72
|
-
/** Visible label for the view-all link. Default: "View all uploads
|
|
72
|
+
/** Visible label for the view-all link. Default: "View all uploads →". */
|
|
73
73
|
viewAllLabel?: ReactNode;
|
|
74
74
|
}
|
|
75
75
|
export declare function UploadActivityTray<TFileOrigin extends string = string>(props: UploadActivityTrayProps<TFileOrigin>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -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;AAiBhD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACrE,
|
|
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,sFAAsF;IACtF,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,4EAA4E;IAC5E,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,EACpE,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,2CA8G5C"}
|
|
@@ -6,14 +6,14 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
6
6
|
* Renders a fixed bottom-left floating action button when there is any
|
|
7
7
|
* active or non-cleared terminal upload. Opens a popover listing each
|
|
8
8
|
* item with backend status. Terminal items (completed / failed / rejected)
|
|
9
|
-
* get a Clear (
|
|
9
|
+
* get a Clear (×) button that calls the consumer-supplied clear mutation.
|
|
10
10
|
*
|
|
11
11
|
* Framework-agnostic via render props:
|
|
12
12
|
* - `renderViewAllLink` lets the consumer plug in their app's Link
|
|
13
13
|
* component (Next.js Link, React Router Link, anchor, etc.) routed at
|
|
14
14
|
* their canonical "view all uploads" destination.
|
|
15
15
|
* - `renderFooter` lets the consumer fully replace the footer slot.
|
|
16
|
-
* - Both omitted
|
|
16
|
+
* - Both omitted — footer is not rendered.
|
|
17
17
|
*/
|
|
18
18
|
import { useMemo } from 'react';
|
|
19
19
|
import { Cloud, Loader2, CheckCircle2, AlertCircle, XCircle, X } from 'lucide-react';
|
|
@@ -27,12 +27,12 @@ function getRowMeta(item, nowMs, labelers) {
|
|
|
27
27
|
let errorDetail;
|
|
28
28
|
switch (item.status) {
|
|
29
29
|
case 'pending':
|
|
30
|
-
statusLabel = 'Waiting to process
|
|
30
|
+
statusLabel = 'Waiting to process…';
|
|
31
31
|
icon = _jsx(Loader2, { className: "icon-sm animate-spin" });
|
|
32
32
|
iconClassName = 'text-muted-foreground';
|
|
33
33
|
break;
|
|
34
34
|
case 'processing':
|
|
35
|
-
statusLabel = 'Processing
|
|
35
|
+
statusLabel = 'Processing…';
|
|
36
36
|
icon = _jsx(Loader2, { className: "icon-sm animate-spin" });
|
|
37
37
|
iconClassName = 'text-primary';
|
|
38
38
|
break;
|
|
@@ -69,11 +69,11 @@ function UploadActivityTrayRow({ item, nowMs, onClear, isClearPending, labelers,
|
|
|
69
69
|
const meta = getRowMeta(item, nowMs, labelers);
|
|
70
70
|
const subline = [meta.originLabel, meta.fileTypeLabel, meta.fileSizeLabel]
|
|
71
71
|
.filter(Boolean)
|
|
72
|
-
.join('
|
|
72
|
+
.join(' · ');
|
|
73
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" }) }))] }));
|
|
74
74
|
}
|
|
75
75
|
export function UploadActivityTray(props) {
|
|
76
|
-
const { clearMutation, labelers, viewAllHref, renderViewAllLink, renderFooter, viewAllLabel = 'View all uploads
|
|
76
|
+
const { clearMutation, labelers, viewAllHref, renderViewAllLink, renderFooter, viewAllLabel = 'View all uploads →', } = props;
|
|
77
77
|
const items = useUploadActivityState();
|
|
78
78
|
const nowMs = Date.now();
|
|
79
79
|
const activeCount = useMemo(() => items.filter((item) => item.status === 'pending' || item.status === 'processing').length, [items]);
|
|
@@ -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,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,
|
|
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,uBAAuB,CAAC;YACtC,IAAI,GAAG,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAAC;YACpD,aAAa,GAAG,uBAAuB,CAAC;YACxC,MAAM;QACR,KAAK,YAAY;YACf,WAAW,GAAG,eAAe,CAAC;YAC9B,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,MAAM,CAAC,CAAC;IAChB,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,sBAAsB,GACtC,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.
|
|
3
|
+
"version": "0.3.0",
|
|
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",
|