@burdenoff/microfe-export 2026.510.111
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/README.md +243 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/export/ExportRoot.d.ts +31 -0
- package/dist/export/ExportRoot.d.ts.map +1 -0
- package/dist/export/ExportRoot.js +70 -0
- package/dist/export/ExportRoot.js.map +1 -0
- package/dist/export/ExportRoutes.d.ts +14 -0
- package/dist/export/ExportRoutes.d.ts.map +1 -0
- package/dist/export/ExportRoutes.js +104 -0
- package/dist/export/ExportRoutes.js.map +1 -0
- package/dist/export/components/ExportProgressBar.d.ts +12 -0
- package/dist/export/components/ExportProgressBar.d.ts.map +1 -0
- package/dist/export/components/ExportProgressBar.js +34 -0
- package/dist/export/components/ExportProgressBar.js.map +1 -0
- package/dist/export/components/ExportStatusBadge.d.ts +12 -0
- package/dist/export/components/ExportStatusBadge.d.ts.map +1 -0
- package/dist/export/components/ExportStatusBadge.js +39 -0
- package/dist/export/components/ExportStatusBadge.js.map +1 -0
- package/dist/export/components/PageLayout.d.ts +55 -0
- package/dist/export/components/PageLayout.d.ts.map +1 -0
- package/dist/export/components/PageLayout.js +93 -0
- package/dist/export/components/PageLayout.js.map +1 -0
- package/dist/export/components/ui.d.ts +6 -0
- package/dist/export/components/ui.d.ts.map +1 -0
- package/dist/export/constants/enums.d.ts +79 -0
- package/dist/export/constants/enums.d.ts.map +1 -0
- package/dist/export/constants/enums.js +27 -0
- package/dist/export/constants/enums.js.map +1 -0
- package/dist/export/constants/index.d.ts +7 -0
- package/dist/export/constants/index.d.ts.map +1 -0
- package/dist/export/hooks/useExportQueries.d.ts +224 -0
- package/dist/export/hooks/useExportQueries.d.ts.map +1 -0
- package/dist/export/hooks/useExportQueries.js +401 -0
- package/dist/export/hooks/useExportQueries.js.map +1 -0
- package/dist/export/index.d.ts +29 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/export/index.js +3 -0
- package/dist/export/pages/CreateExportPage.d.ts +2 -0
- package/dist/export/pages/CreateExportPage.d.ts.map +1 -0
- package/dist/export/pages/CreateExportPage.js +495 -0
- package/dist/export/pages/CreateExportPage.js.map +1 -0
- package/dist/export/pages/ExportDashboardPage.d.ts +6 -0
- package/dist/export/pages/ExportDashboardPage.d.ts.map +1 -0
- package/dist/export/pages/ExportDashboardPage.js +166 -0
- package/dist/export/pages/ExportDashboardPage.js.map +1 -0
- package/dist/export/pages/ExportDetailPage.d.ts +7 -0
- package/dist/export/pages/ExportDetailPage.d.ts.map +1 -0
- package/dist/export/pages/ExportDetailPage.js +327 -0
- package/dist/export/pages/ExportDetailPage.js.map +1 -0
- package/dist/export/pages/ExportHistoryPage.d.ts +6 -0
- package/dist/export/pages/ExportHistoryPage.d.ts.map +1 -0
- package/dist/export/pages/ExportHistoryPage.js +261 -0
- package/dist/export/pages/ExportHistoryPage.js.map +1 -0
- package/dist/export/pages/ExportLandingPage.d.ts +9 -0
- package/dist/export/pages/ExportLandingPage.d.ts.map +1 -0
- package/dist/export/pages/ExportLandingPage.js +56 -0
- package/dist/export/pages/ExportLandingPage.js.map +1 -0
- package/dist/export/pages/ExportTemplatesPage.d.ts +6 -0
- package/dist/export/pages/ExportTemplatesPage.d.ts.map +1 -0
- package/dist/export/pages/ExportTemplatesPage.js +343 -0
- package/dist/export/pages/ExportTemplatesPage.js.map +1 -0
- package/dist/export/pages/TemplateDetailPage.d.ts +7 -0
- package/dist/export/pages/TemplateDetailPage.d.ts.map +1 -0
- package/dist/export/pages/TemplateDetailPage.js +215 -0
- package/dist/export/pages/TemplateDetailPage.js.map +1 -0
- package/dist/export/providers/ExportProvider.d.ts +13 -0
- package/dist/export/providers/ExportProvider.d.ts.map +1 -0
- package/dist/export/providers/ExportProvider.js +103 -0
- package/dist/export/providers/ExportProvider.js.map +1 -0
- package/dist/export/store/exportStore.d.ts +17 -0
- package/dist/export/store/exportStore.d.ts.map +1 -0
- package/dist/export/store/exportStore.js +43 -0
- package/dist/export/store/exportStore.js.map +1 -0
- package/dist/export/types/index.d.ts +230 -0
- package/dist/export/types/index.d.ts.map +1 -0
- package/dist/export/utils/cn.d.ts +8 -0
- package/dist/export/utils/cn.d.ts.map +1 -0
- package/dist/export/utils/cn.js +10 -0
- package/dist/export/utils/cn.js.map +1 -0
- package/dist/export/utils/events.d.ts +7 -0
- package/dist/export/utils/events.d.ts.map +1 -0
- package/dist/export/utils/events.js +16 -0
- package/dist/export/utils/events.js.map +1 -0
- package/dist/export/utils/i18n.d.ts +6 -0
- package/dist/export/utils/i18n.d.ts.map +1 -0
- package/dist/export/utils/i18n.js +15 -0
- package/dist/export/utils/i18n.js.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +21253 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +773 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-operations.js +319 -0
- package/dist/generated/wspace-operations.js.map +1 -0
- package/dist/generated/wspace-types.d.ts +55214 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/generated/wspace-types.js +12 -0
- package/dist/generated/wspace-types.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +24 -0
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -0
- package/dist/node_modules/@apollo/client/errors/utils.js +16 -0
- package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -0
- package/dist/node_modules/@apollo/client/link/core/ApolloLink.js +52 -0
- package/dist/node_modules/@apollo/client/link/core/ApolloLink.js.map +1 -0
- package/dist/node_modules/@apollo/client/link/subscriptions/index.js +41 -0
- package/dist/node_modules/@apollo/client/link/subscriptions/index.js.map +1 -0
- package/dist/node_modules/@apollo/client/link/utils/createOperation.js +34 -0
- package/dist/node_modules/@apollo/client/link/utils/createOperation.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/caching/sizes.js +6 -0
- package/dist/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/graphql/print.js +16 -0
- package/dist/node_modules/@apollo/client/utilities/graphql/print.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/caches.js +19 -0
- package/dist/node_modules/@apollo/client/utilities/internal/caches.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js +21 -0
- package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +17 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +9 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js +9 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js +8 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js +9 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +10 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +8 -0
- package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js +10 -0
- package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/memoize.js +23 -0
- package/dist/node_modules/@apollo/client/utilities/internal/memoize.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js +10 -0
- package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/invariant/index.js +57 -0
- package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +1 -0
- package/dist/node_modules/@apollo/client/version.js +6 -0
- package/dist/node_modules/@apollo/client/version.js.map +1 -0
- package/dist/node_modules/@wry/caches/lib/weak.js +67 -0
- package/dist/node_modules/@wry/caches/lib/weak.js.map +1 -0
- package/dist/node_modules/@wry/trie/lib/index.js +53 -0
- package/dist/node_modules/@wry/trie/lib/index.js.map +1 -0
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/graphql-ws/dist/client.js +272 -0
- package/dist/node_modules/graphql-ws/dist/client.js.map +1 -0
- package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js +62 -0
- package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +21 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +78 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +117 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +93 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js +12 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js +9 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +16 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +8 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +13 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +11 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +11 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +22 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +8 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +8 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +6 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +13 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +14 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
- package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js +52 -0
- package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +1674 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/utils/nativeBridge.d.ts +3 -0
- package/dist/utils/nativeBridge.d.ts.map +1 -0
- package/dist/utils/nativeBridge.js +2 -0
- package/package.json +107 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
interface PageLayoutProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
/** Page title */
|
|
6
|
+
title?: string;
|
|
7
|
+
/** Page subtitle/description */
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
/** Icon component to display next to title */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
/** Actions to display in header (buttons, etc.) */
|
|
12
|
+
headerActions?: ReactNode;
|
|
13
|
+
/** Additional header content below title */
|
|
14
|
+
headerContent?: ReactNode;
|
|
15
|
+
/** Maximum width of content: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full' */
|
|
16
|
+
maxWidth?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
17
|
+
/** Whether to show the header section */
|
|
18
|
+
showHeader?: boolean;
|
|
19
|
+
/** Additional CSS classes for the container */
|
|
20
|
+
className?: string;
|
|
21
|
+
/** Additional CSS classes for the content area */
|
|
22
|
+
contentClassName?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* PageLayout - A consistent page wrapper with responsive design
|
|
26
|
+
*
|
|
27
|
+
* Features:
|
|
28
|
+
* - Proper max-width constraints
|
|
29
|
+
* - Responsive padding
|
|
30
|
+
* - Animated entrance
|
|
31
|
+
* - Consistent header styling
|
|
32
|
+
*/
|
|
33
|
+
export declare function PageLayout({ children, title, subtitle, icon, headerActions, headerContent, maxWidth, showHeader, className, contentClassName, }: PageLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
/**
|
|
35
|
+
* PageSection - A section within a page with consistent spacing
|
|
36
|
+
*/
|
|
37
|
+
export declare function PageSection({ children, title, description, actions, className, }: {
|
|
38
|
+
children: ReactNode;
|
|
39
|
+
title?: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
actions?: ReactNode;
|
|
42
|
+
className?: string;
|
|
43
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
/**
|
|
45
|
+
* EmptyState - A consistent empty state component
|
|
46
|
+
*/
|
|
47
|
+
export declare function EmptyState({ icon, title, description, action, className, }: {
|
|
48
|
+
icon?: ReactNode;
|
|
49
|
+
title: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
action?: ReactNode;
|
|
52
|
+
className?: string;
|
|
53
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=PageLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageLayout.d.ts","sourceRoot":"","sources":["../../../src/export/components/PageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,eAAe;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mDAAmD;IACnD,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9D,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,aAAa,EACb,QAAe,EACf,UAAiB,EACjB,SAAS,EACT,gBAAgB,GACjB,EAAE,eAAe,2CAsEjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAmBA;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAyBA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { cn as e } from "../utils/cn.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/export/components/PageLayout.tsx
|
|
4
|
+
var r = {
|
|
5
|
+
sm: "max-w-screen-sm",
|
|
6
|
+
md: "max-w-screen-md",
|
|
7
|
+
lg: "max-w-screen-lg",
|
|
8
|
+
xl: "max-w-screen-xl",
|
|
9
|
+
"2xl": "max-w-screen-2xl",
|
|
10
|
+
"3xl": "max-w-[1600px]",
|
|
11
|
+
full: "max-w-full"
|
|
12
|
+
};
|
|
13
|
+
function i({ children: i, title: a, subtitle: o, icon: s, headerActions: c, headerContent: l, maxWidth: u = "xl", showHeader: d = !0, className: f, contentClassName: p }) {
|
|
14
|
+
return /* @__PURE__ */ t("div", {
|
|
15
|
+
className: e("min-h-full w-full", "px-4 sm:px-6 lg:px-8 xl:px-12", "py-6 sm:py-8 lg:py-10", "animate-in fade-in-0 slide-in-from-bottom-4 duration-500", f),
|
|
16
|
+
children: /* @__PURE__ */ n("div", {
|
|
17
|
+
className: e("mx-auto w-full", r[u], p),
|
|
18
|
+
children: [d && (a || c) && /* @__PURE__ */ n("header", {
|
|
19
|
+
className: "mb-6 sm:mb-8",
|
|
20
|
+
children: [/* @__PURE__ */ n("div", {
|
|
21
|
+
className: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
|
|
22
|
+
children: [/* @__PURE__ */ n("div", {
|
|
23
|
+
className: "space-y-1",
|
|
24
|
+
children: [(a || s) && /* @__PURE__ */ n("div", {
|
|
25
|
+
className: "flex items-center gap-3",
|
|
26
|
+
children: [s && /* @__PURE__ */ t("div", {
|
|
27
|
+
className: "flex-shrink-0 p-2.5 rounded-xl bg-primary/10 text-primary",
|
|
28
|
+
children: s
|
|
29
|
+
}), a && /* @__PURE__ */ t("h1", {
|
|
30
|
+
className: "text-2xl sm:text-3xl font-bold tracking-tight text-foreground",
|
|
31
|
+
children: a
|
|
32
|
+
})]
|
|
33
|
+
}), o && /* @__PURE__ */ t("p", {
|
|
34
|
+
className: "text-sm sm:text-base text-muted-foreground max-w-2xl",
|
|
35
|
+
children: o
|
|
36
|
+
})]
|
|
37
|
+
}), c && /* @__PURE__ */ t("div", {
|
|
38
|
+
className: "flex items-center gap-2 flex-shrink-0",
|
|
39
|
+
children: c
|
|
40
|
+
})]
|
|
41
|
+
}), l && /* @__PURE__ */ t("div", {
|
|
42
|
+
className: "mt-4",
|
|
43
|
+
children: l
|
|
44
|
+
})]
|
|
45
|
+
}), /* @__PURE__ */ t("div", {
|
|
46
|
+
className: "space-y-6",
|
|
47
|
+
children: i
|
|
48
|
+
})]
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function a({ children: r, title: i, description: a, actions: o, className: s }) {
|
|
53
|
+
return /* @__PURE__ */ n("section", {
|
|
54
|
+
className: e("space-y-4", s),
|
|
55
|
+
children: [(i || o) && /* @__PURE__ */ n("div", {
|
|
56
|
+
className: "flex items-center justify-between",
|
|
57
|
+
children: [/* @__PURE__ */ n("div", { children: [i && /* @__PURE__ */ t("h2", {
|
|
58
|
+
className: "text-lg font-semibold text-foreground",
|
|
59
|
+
children: i
|
|
60
|
+
}), a && /* @__PURE__ */ t("p", {
|
|
61
|
+
className: "text-sm text-muted-foreground",
|
|
62
|
+
children: a
|
|
63
|
+
})] }), o && /* @__PURE__ */ t("div", {
|
|
64
|
+
className: "flex items-center gap-2",
|
|
65
|
+
children: o
|
|
66
|
+
})]
|
|
67
|
+
}), r]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function o({ icon: r, title: i, description: a, action: o, className: s }) {
|
|
71
|
+
return /* @__PURE__ */ n("div", {
|
|
72
|
+
className: e("flex flex-col items-center justify-center", "py-12 sm:py-16 px-4", "text-center", "animate-in fade-in-0 zoom-in-95 duration-300", s),
|
|
73
|
+
children: [
|
|
74
|
+
r && /* @__PURE__ */ t("div", {
|
|
75
|
+
className: "mb-4 p-4 rounded-2xl bg-muted/50 text-muted-foreground",
|
|
76
|
+
children: r
|
|
77
|
+
}),
|
|
78
|
+
/* @__PURE__ */ t("h3", {
|
|
79
|
+
className: "text-lg font-semibold text-foreground mb-1",
|
|
80
|
+
children: i
|
|
81
|
+
}),
|
|
82
|
+
a && /* @__PURE__ */ t("p", {
|
|
83
|
+
className: "text-sm text-muted-foreground max-w-sm mb-4",
|
|
84
|
+
children: a
|
|
85
|
+
}),
|
|
86
|
+
o
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//#endregion
|
|
91
|
+
export { o as EmptyState, i as PageLayout, a as PageSection };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=PageLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageLayout.js","names":[],"sources":["../../../src/export/components/PageLayout.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ninterface PageLayoutProps {\n children: ReactNode;\n /** Page title */\n title?: string;\n /** Page subtitle/description */\n subtitle?: string;\n /** Icon component to display next to title */\n icon?: ReactNode;\n /** Actions to display in header (buttons, etc.) */\n headerActions?: ReactNode;\n /** Additional header content below title */\n headerContent?: ReactNode;\n /** Maximum width of content: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full' */\n maxWidth?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"full\";\n /** Whether to show the header section */\n showHeader?: boolean;\n /** Additional CSS classes for the container */\n className?: string;\n /** Additional CSS classes for the content area */\n contentClassName?: string;\n}\n\nconst maxWidthClasses = {\n sm: \"max-w-screen-sm\", // 640px\n md: \"max-w-screen-md\", // 768px\n lg: \"max-w-screen-lg\", // 1024px\n xl: \"max-w-screen-xl\", // 1280px\n \"2xl\": \"max-w-screen-2xl\", // 1536px\n \"3xl\": \"max-w-[1600px]\",\n full: \"max-w-full\",\n};\n\n/**\n * PageLayout - A consistent page wrapper with responsive design\n *\n * Features:\n * - Proper max-width constraints\n * - Responsive padding\n * - Animated entrance\n * - Consistent header styling\n */\nexport function PageLayout({\n children,\n title,\n subtitle,\n icon,\n headerActions,\n headerContent,\n maxWidth = \"xl\",\n showHeader = true,\n className,\n contentClassName,\n}: PageLayoutProps) {\n return (\n <div\n className={cn(\n // Base styles - full width container with padding\n \"min-h-full w-full\",\n // Responsive horizontal padding\n \"px-4 sm:px-6 lg:px-8 xl:px-12\",\n // Responsive vertical padding\n \"py-6 sm:py-8 lg:py-10\",\n // Entrance animation\n \"animate-in fade-in-0 slide-in-from-bottom-4 duration-500\",\n className,\n )}\n >\n {/* Max-width constrained content container */}\n <div\n className={cn(\n \"mx-auto w-full\",\n maxWidthClasses[maxWidth],\n contentClassName,\n )}\n >\n {/* Page Header */}\n {showHeader && (title || headerActions) && (\n <header className=\"mb-6 sm:mb-8\">\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\">\n {/* Title Section */}\n <div className=\"space-y-1\">\n {(title || icon) && (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"flex-shrink-0 p-2.5 rounded-xl bg-primary/10 text-primary\">\n {icon}\n </div>\n )}\n {title && (\n <h1 className=\"text-2xl sm:text-3xl font-bold tracking-tight text-foreground\">\n {title}\n </h1>\n )}\n </div>\n )}\n {subtitle && (\n <p className=\"text-sm sm:text-base text-muted-foreground max-w-2xl\">\n {subtitle}\n </p>\n )}\n </div>\n\n {/* Header Actions */}\n {headerActions && (\n <div className=\"flex items-center gap-2 flex-shrink-0\">\n {headerActions}\n </div>\n )}\n </div>\n\n {/* Additional Header Content */}\n {headerContent && <div className=\"mt-4\">{headerContent}</div>}\n </header>\n )}\n\n {/* Page content — must not use a <main> landmark here because the\n host shell (AppShellLayout) already renders one; nesting <main>\n elements is invalid HTML and an a11y violation. */}\n <div className=\"space-y-6\">{children}</div>\n </div>\n </div>\n );\n}\n\n/**\n * PageSection - A section within a page with consistent spacing\n */\nexport function PageSection({\n children,\n title,\n description,\n actions,\n className,\n}: {\n children: ReactNode;\n title?: string;\n description?: string;\n actions?: ReactNode;\n className?: string;\n}) {\n return (\n <section className={cn(\"space-y-4\", className)}>\n {(title || actions) && (\n <div className=\"flex items-center justify-between\">\n <div>\n {title && (\n <h2 className=\"text-lg font-semibold text-foreground\">{title}</h2>\n )}\n {description && (\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n </div>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * EmptyState - A consistent empty state component\n */\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n}: {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n className?: string;\n}) {\n return (\n <div\n className={cn(\n \"flex flex-col items-center justify-center\",\n \"py-12 sm:py-16 px-4\",\n \"text-center\",\n \"animate-in fade-in-0 zoom-in-95 duration-300\",\n className,\n )}\n >\n {icon && (\n <div className=\"mb-4 p-4 rounded-2xl bg-muted/50 text-muted-foreground\">\n {icon}\n </div>\n )}\n <h3 className=\"text-lg font-semibold text-foreground mb-1\">{title}</h3>\n {description && (\n <p className=\"text-sm text-muted-foreground max-w-sm mb-4\">\n {description}\n </p>\n )}\n {action}\n </div>\n );\n}\n"],"mappings":";;;AAyBA,IAAM,IAAkB;CACtB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,MAAM;CACP;AAWD,SAAgB,EAAW,EACzB,aACA,UACA,aACA,SACA,kBACA,kBACA,cAAW,MACX,gBAAa,IACb,cACA,uBACkB;AAClB,QACE,kBAAC,OAAD;EACE,WAAW,EAET,qBAEA,iCAEA,yBAEA,4DACA,EACD;YAGD,kBAAC,OAAD;GACE,WAAW,EACT,kBACA,EAAgB,IAChB,EACD;aALH,CAQG,MAAe,KAAS,MACvB,kBAAC,UAAD;IAAQ,WAAU;cAAlB,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CAEE,kBAAC,OAAD;MAAK,WAAU;gBAAf,EACI,KAAS,MACT,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACG,KACC,kBAAC,OAAD;QAAK,WAAU;kBACZ;QACG,CAAA,EAEP,KACC,kBAAC,MAAD;QAAI,WAAU;kBACX;QACE,CAAA,CAEH;UAEP,KACC,kBAAC,KAAD;OAAG,WAAU;iBACV;OACC,CAAA,CAEF;SAGL,KACC,kBAAC,OAAD;MAAK,WAAU;gBACZ;MACG,CAAA,CAEJ;QAGL,KAAiB,kBAAC,OAAD;KAAK,WAAU;eAAQ;KAAoB,CAAA,CACtD;OAMX,kBAAC,OAAD;IAAK,WAAU;IAAa;IAAe,CAAA,CACvC;;EACF,CAAA;;AAOV,SAAgB,EAAY,EAC1B,aACA,UACA,gBACA,YACA,gBAOC;AACD,QACE,kBAAC,WAAD;EAAS,WAAW,EAAG,aAAa,EAAU;YAA9C,EACI,KAAS,MACT,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACG,KACC,kBAAC,MAAD;IAAI,WAAU;cAAyC;IAAW,CAAA,EAEnE,KACC,kBAAC,KAAD;IAAG,WAAU;cAAiC;IAAgB,CAAA,CAE5D,EAAA,CAAA,EACL,KAAW,kBAAC,OAAD;IAAK,WAAU;cAA2B;IAAc,CAAA,CAChE;MAEP,EACO;;;AAOd,SAAgB,EAAW,EACzB,SACA,UACA,gBACA,WACA,gBAOC;AACD,QACE,kBAAC,OAAD;EACE,WAAW,EACT,6CACA,uBACA,eACA,gDACA,EACD;YAPH;GASG,KACC,kBAAC,OAAD;IAAK,WAAU;cACZ;IACG,CAAA;GAER,kBAAC,MAAD;IAAI,WAAU;cAA8C;IAAW,CAAA;GACtE,KACC,kBAAC,KAAD;IAAG,WAAU;cACV;IACC,CAAA;GAEL;GACG"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Component re-exports from @burdenoff/fe-libs
|
|
3
|
+
* All styled components are imported from the shared fe-libs package
|
|
4
|
+
*/
|
|
5
|
+
export { Button, Badge, Card, CardContent, Input, Skeleton, Separator, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Tabs, TabsList, TabsTrigger, TabsContent, } from '@burdenoff/fe-libs/ui';
|
|
6
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/export/components/ui.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,MAAM,EACN,KAAK,EACL,IAAI,EACJ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL Enum Constants
|
|
3
|
+
*
|
|
4
|
+
* These constants mirror the GraphQL enum types but as JavaScript objects
|
|
5
|
+
* that can be used as values (not just TypeScript types).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Export Job Status - Lifecycle states for an export job
|
|
9
|
+
*
|
|
10
|
+
* Maps to GraphQL enum: ExportJobStatus
|
|
11
|
+
*/
|
|
12
|
+
export declare const ExportJobStatus: {
|
|
13
|
+
/** Job created, not yet queued */
|
|
14
|
+
readonly CREATED: "CREATED";
|
|
15
|
+
/** Job queued for processing */
|
|
16
|
+
readonly QUEUED: "QUEUED";
|
|
17
|
+
/** Job actively running */
|
|
18
|
+
readonly RUNNING: "RUNNING";
|
|
19
|
+
/** Job completed successfully */
|
|
20
|
+
readonly COMPLETED: "COMPLETED";
|
|
21
|
+
/** Job failed */
|
|
22
|
+
readonly FAILED: "FAILED";
|
|
23
|
+
/** Job cancelled by user */
|
|
24
|
+
readonly CANCELLED: "CANCELLED";
|
|
25
|
+
/** Job output has expired */
|
|
26
|
+
readonly EXPIRED: "EXPIRED";
|
|
27
|
+
/** Job has been deleted */
|
|
28
|
+
readonly DELETED: "DELETED";
|
|
29
|
+
};
|
|
30
|
+
export type ExportJobStatusValue = (typeof ExportJobStatus)[keyof typeof ExportJobStatus];
|
|
31
|
+
/**
|
|
32
|
+
* Export Format - Output file format
|
|
33
|
+
* Backend only supports JSON and CSV.
|
|
34
|
+
*
|
|
35
|
+
* Maps to GraphQL enum: ExportFormat
|
|
36
|
+
*/
|
|
37
|
+
export declare const ExportFormat: {
|
|
38
|
+
/** Comma-separated values */
|
|
39
|
+
readonly CSV: "CSV";
|
|
40
|
+
/** JavaScript Object Notation */
|
|
41
|
+
readonly JSON: "JSON";
|
|
42
|
+
};
|
|
43
|
+
export type ExportFormatValue = (typeof ExportFormat)[keyof typeof ExportFormat];
|
|
44
|
+
/**
|
|
45
|
+
* Export Archive Format - How parts are archived
|
|
46
|
+
* Backend only supports ZIP.
|
|
47
|
+
*
|
|
48
|
+
* Maps to GraphQL enum: ExportArchiveFormat
|
|
49
|
+
*/
|
|
50
|
+
export declare const ExportArchiveFormat: {
|
|
51
|
+
/** ZIP archive */
|
|
52
|
+
readonly ZIP: "ZIP";
|
|
53
|
+
};
|
|
54
|
+
export type ExportArchiveFormatValue = (typeof ExportArchiveFormat)[keyof typeof ExportArchiveFormat];
|
|
55
|
+
/**
|
|
56
|
+
* Helper: Get status display name
|
|
57
|
+
*/
|
|
58
|
+
export declare const getStatusDisplayName: (status: string) => string;
|
|
59
|
+
/**
|
|
60
|
+
* Helper: Get status color class
|
|
61
|
+
*/
|
|
62
|
+
export declare const getStatusColor: (status: string) => string;
|
|
63
|
+
/**
|
|
64
|
+
* Helper: Get format display name
|
|
65
|
+
*/
|
|
66
|
+
export declare const getFormatDisplayName: (format: string) => string;
|
|
67
|
+
/**
|
|
68
|
+
* Helper: Get archive format display name
|
|
69
|
+
*/
|
|
70
|
+
export declare const getArchiveFormatDisplayName: (format: string) => string;
|
|
71
|
+
/**
|
|
72
|
+
* Helper: Get all export statuses as array
|
|
73
|
+
*/
|
|
74
|
+
export declare const getAllStatuses: () => ("CREATED" | "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED" | "EXPIRED" | "DELETED")[];
|
|
75
|
+
/**
|
|
76
|
+
* Helper: Get all export formats as array
|
|
77
|
+
*/
|
|
78
|
+
export declare const getAllFormats: () => ("CSV" | "JSON")[];
|
|
79
|
+
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/export/constants/enums.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe;IAC1B,kCAAkC;;IAElC,gCAAgC;;IAEhC,2BAA2B;;IAE3B,iCAAiC;;IAEjC,iBAAiB;;IAEjB,4BAA4B;;IAE5B,6BAA6B;;IAE7B,2BAA2B;;CAEnB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,YAAY;IACvB,6BAA6B;;IAE7B,iCAAiC;;CAEzB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;IAC9B,kBAAkB;;CAEV,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,MAYrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,MAY/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,MAMrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,KAAG,MAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,2GAAuC,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,aAAa,0BAAoC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/export/constants/enums.ts
|
|
2
|
+
var e = {
|
|
3
|
+
CREATED: "CREATED",
|
|
4
|
+
QUEUED: "QUEUED",
|
|
5
|
+
RUNNING: "RUNNING",
|
|
6
|
+
COMPLETED: "COMPLETED",
|
|
7
|
+
FAILED: "FAILED",
|
|
8
|
+
CANCELLED: "CANCELLED",
|
|
9
|
+
EXPIRED: "EXPIRED",
|
|
10
|
+
DELETED: "DELETED"
|
|
11
|
+
}, t = (e) => ({
|
|
12
|
+
CREATED: "Created",
|
|
13
|
+
QUEUED: "Queued",
|
|
14
|
+
RUNNING: "Running",
|
|
15
|
+
COMPLETED: "Completed",
|
|
16
|
+
FAILED: "Failed",
|
|
17
|
+
CANCELLED: "Cancelled",
|
|
18
|
+
EXPIRED: "Expired",
|
|
19
|
+
DELETED: "Deleted"
|
|
20
|
+
})[e] || e, n = (e) => ({
|
|
21
|
+
CSV: "CSV",
|
|
22
|
+
JSON: "JSON"
|
|
23
|
+
})[e] || e, r = (e) => ({ ZIP: "ZIP" })[e] || e, i = () => Object.values(e);
|
|
24
|
+
//#endregion
|
|
25
|
+
export { i as getAllStatuses, r as getArchiveFormatDisplayName, n as getFormatDisplayName, t as getStatusDisplayName };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","names":[],"sources":["../../../src/export/constants/enums.ts"],"sourcesContent":["/**\n * GraphQL Enum Constants\n *\n * These constants mirror the GraphQL enum types but as JavaScript objects\n * that can be used as values (not just TypeScript types).\n */\n\n/**\n * Export Job Status - Lifecycle states for an export job\n *\n * Maps to GraphQL enum: ExportJobStatus\n */\nexport const ExportJobStatus = {\n /** Job created, not yet queued */\n CREATED: \"CREATED\",\n /** Job queued for processing */\n QUEUED: \"QUEUED\",\n /** Job actively running */\n RUNNING: \"RUNNING\",\n /** Job completed successfully */\n COMPLETED: \"COMPLETED\",\n /** Job failed */\n FAILED: \"FAILED\",\n /** Job cancelled by user */\n CANCELLED: \"CANCELLED\",\n /** Job output has expired */\n EXPIRED: \"EXPIRED\",\n /** Job has been deleted */\n DELETED: \"DELETED\",\n} as const;\n\nexport type ExportJobStatusValue =\n (typeof ExportJobStatus)[keyof typeof ExportJobStatus];\n\n/**\n * Export Format - Output file format\n * Backend only supports JSON and CSV.\n *\n * Maps to GraphQL enum: ExportFormat\n */\nexport const ExportFormat = {\n /** Comma-separated values */\n CSV: \"CSV\",\n /** JavaScript Object Notation */\n JSON: \"JSON\",\n} as const;\n\nexport type ExportFormatValue =\n (typeof ExportFormat)[keyof typeof ExportFormat];\n\n/**\n * Export Archive Format - How parts are archived\n * Backend only supports ZIP.\n *\n * Maps to GraphQL enum: ExportArchiveFormat\n */\nexport const ExportArchiveFormat = {\n /** ZIP archive */\n ZIP: \"ZIP\",\n} as const;\n\nexport type ExportArchiveFormatValue =\n (typeof ExportArchiveFormat)[keyof typeof ExportArchiveFormat];\n\n/**\n * Helper: Get status display name\n */\nexport const getStatusDisplayName = (status: string): string => {\n const names: Record<string, string> = {\n CREATED: \"Created\",\n QUEUED: \"Queued\",\n RUNNING: \"Running\",\n COMPLETED: \"Completed\",\n FAILED: \"Failed\",\n CANCELLED: \"Cancelled\",\n EXPIRED: \"Expired\",\n DELETED: \"Deleted\",\n };\n return names[status] || status;\n};\n\n/**\n * Helper: Get status color class\n */\nexport const getStatusColor = (status: string): string => {\n const colors: Record<string, string> = {\n CREATED: \"bg-status-info-bg-subtle text-status-info-text\",\n QUEUED: \"bg-status-warning-bg-subtle text-status-warning-text\",\n RUNNING: \"bg-status-info-bg-subtle text-status-info-text\",\n COMPLETED: \"bg-status-success-bg-subtle text-status-success-text\",\n FAILED: \"bg-status-error-bg-subtle text-status-error-text\",\n CANCELLED: \"bg-bg-sunken text-text-secondary\",\n EXPIRED: \"bg-accent-orange-subtle text-accent-orange\",\n DELETED: \"bg-bg-sunken text-text-tertiary\",\n };\n return colors[status] || \"bg-bg-sunken text-text-secondary\";\n};\n\n/**\n * Helper: Get format display name\n */\nexport const getFormatDisplayName = (format: string): string => {\n const names: Record<string, string> = {\n CSV: \"CSV\",\n JSON: \"JSON\",\n };\n return names[format] || format;\n};\n\n/**\n * Helper: Get archive format display name\n */\nexport const getArchiveFormatDisplayName = (format: string): string => {\n const names: Record<string, string> = {\n ZIP: \"ZIP\",\n };\n return names[format] || format;\n};\n\n/**\n * Helper: Get all export statuses as array\n */\nexport const getAllStatuses = () => Object.values(ExportJobStatus);\n\n/**\n * Helper: Get all export formats as array\n */\nexport const getAllFormats = () => Object.values(ExportFormat);\n"],"mappings":";AAYA,IAAa,IAAkB;CAE7B,SAAS;CAET,QAAQ;CAER,SAAS;CAET,WAAW;CAEX,QAAQ;CAER,WAAW;CAEX,SAAS;CAET,SAAS;CACV,EAsCY,KAAwB,OACG;CACpC,SAAS;CACT,QAAQ;CACR,SAAS;CACT,WAAW;CACX,QAAQ;CACR,WAAW;CACX,SAAS;CACT,SAAS;CACV,EACY,MAAW,GAuBb,KAAwB,OACG;CACpC,KAAK;CACL,MAAM;CACP,EACY,MAAW,GAMb,KAA+B,OACJ,EACpC,KAAK,OACN,EACY,MAAW,GAMb,UAAuB,OAAO,OAAO,EAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/export/constants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { GetAvailableExportEntitiesQuery, GetExportJobQuery, ListExportJobsQuery, ListExportTemplatesQuery } from '../../generated/wspace-operations';
|
|
2
|
+
import { ExportJobStatus as GqlExportJobStatus, ExportJobFilterInput as GqlExportJobFilterInput, ExportPaginationInput as GqlExportPaginationInput } from '../../generated/wspace-types';
|
|
3
|
+
import { ExportFormat, ExportJob, ExportJobStatus, ExportScope, ExportTemplate, ExportAvailableEntity, ExportPart, ExportFilter, PageInfo } from '../types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Input for creating an export job
|
|
7
|
+
*/
|
|
8
|
+
export interface CreateExportJobInput {
|
|
9
|
+
name: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
exportScope?: ExportScope;
|
|
12
|
+
organizationId?: string;
|
|
13
|
+
entityTypes: string[];
|
|
14
|
+
format: ExportFormat;
|
|
15
|
+
filters?: Record<string, unknown>;
|
|
16
|
+
templateId?: string;
|
|
17
|
+
dateRangeStart?: string | null;
|
|
18
|
+
dateRangeEnd?: string | null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Input for creating an export template
|
|
22
|
+
*/
|
|
23
|
+
export interface CreateExportTemplateInput {
|
|
24
|
+
name: string;
|
|
25
|
+
description?: string;
|
|
26
|
+
entityTypes: string[];
|
|
27
|
+
format: ExportFormat;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Input for updating an export template
|
|
31
|
+
*/
|
|
32
|
+
export interface UpdateExportTemplateInput {
|
|
33
|
+
name?: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
entityTypes?: string[];
|
|
36
|
+
format?: ExportFormat;
|
|
37
|
+
isDefault?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Filter input for listing export jobs
|
|
41
|
+
*/
|
|
42
|
+
export interface ExportJobFilterInput {
|
|
43
|
+
status?: ExportJobStatus[];
|
|
44
|
+
format?: ExportFormat;
|
|
45
|
+
entityTypes?: string[];
|
|
46
|
+
search?: string;
|
|
47
|
+
dateFrom?: string;
|
|
48
|
+
dateTo?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Pagination input for export job list
|
|
52
|
+
*/
|
|
53
|
+
export interface ExportPaginationInput {
|
|
54
|
+
first?: number;
|
|
55
|
+
after?: string;
|
|
56
|
+
last?: number;
|
|
57
|
+
before?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Hook to fetch a paginated list of export jobs
|
|
61
|
+
*/
|
|
62
|
+
export declare function useExportJobs(filter?: Partial<ExportFilter>, pagination?: ExportPaginationInput): {
|
|
63
|
+
data: ExportJob[];
|
|
64
|
+
totalCount: number;
|
|
65
|
+
pageInfo: PageInfo | null;
|
|
66
|
+
isLoading: boolean;
|
|
67
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
68
|
+
refetch: (variables?: Partial<import('../../generated/wspace-types').Exact<{
|
|
69
|
+
filter?: import('../../generated/wspace-types').InputMaybe<GqlExportJobFilterInput>;
|
|
70
|
+
pagination?: import('../../generated/wspace-types').InputMaybe<GqlExportPaginationInput>;
|
|
71
|
+
context: import('../../generated/wspace-types').ContextInput;
|
|
72
|
+
}>> | undefined) => Promise<import("@apollo/client").ApolloClient.QueryResult<ListExportJobsQuery>>;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Hook to fetch a single export job by ID.
|
|
76
|
+
*/
|
|
77
|
+
export declare function useExportJob(jobId: string | undefined): {
|
|
78
|
+
data: ExportJob | null;
|
|
79
|
+
isLoading: boolean;
|
|
80
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
81
|
+
refetch: (variables?: Partial<import('../../generated/wspace-types').Exact<{
|
|
82
|
+
context?: import('../../generated/wspace-types').InputMaybe<import('../../generated/wspace-types').ContextInput>;
|
|
83
|
+
id: import('../../generated/wspace-types').Scalars["ID"]["input"];
|
|
84
|
+
}>> | undefined) => Promise<import("@apollo/client").ApolloClient.QueryResult<GetExportJobQuery>>;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Hook to subscribe to live progress updates for an export job.
|
|
88
|
+
*/
|
|
89
|
+
export declare function useExportJobProgress(jobId: string | undefined): {
|
|
90
|
+
data: ExportJob | null;
|
|
91
|
+
isLoading: boolean;
|
|
92
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Hook to fetch available entity types for export in a workspace
|
|
96
|
+
*/
|
|
97
|
+
export declare function useAvailableEntities(overrideWorkspaceId?: string): {
|
|
98
|
+
data: ExportAvailableEntity[];
|
|
99
|
+
totalCount: number;
|
|
100
|
+
pageInfo: PageInfo | null;
|
|
101
|
+
loadMore: () => Promise<void>;
|
|
102
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
103
|
+
isLoading: boolean;
|
|
104
|
+
refetch: (variables?: Partial<import('../../generated/wspace-types').Exact<{
|
|
105
|
+
context: import('../../generated/wspace-types').ContextInput;
|
|
106
|
+
pagination?: import('../../generated/wspace-types').InputMaybe<GqlExportPaginationInput>;
|
|
107
|
+
}>> | undefined) => Promise<import("@apollo/client").ApolloClient.QueryResult<GetAvailableExportEntitiesQuery>>;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Hook to fetch all export templates for the current workspace
|
|
111
|
+
*/
|
|
112
|
+
export declare function useExportTemplates(overrideWorkspaceId?: string): {
|
|
113
|
+
data: ExportTemplate[];
|
|
114
|
+
totalCount: number;
|
|
115
|
+
pageInfo: PageInfo | null;
|
|
116
|
+
loadMore: () => Promise<void>;
|
|
117
|
+
isLoading: boolean;
|
|
118
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
119
|
+
refetch: (variables?: Partial<import('../../generated/wspace-types').Exact<{
|
|
120
|
+
context: import('../../generated/wspace-types').ContextInput;
|
|
121
|
+
pagination?: import('../../generated/wspace-types').InputMaybe<GqlExportPaginationInput>;
|
|
122
|
+
}>> | undefined) => Promise<import("@apollo/client").ApolloClient.QueryResult<ListExportTemplatesQuery>>;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Hook to fetch a single export template by ID
|
|
126
|
+
*/
|
|
127
|
+
export declare function useExportTemplate(templateId: string | undefined): {
|
|
128
|
+
data: ExportTemplate | null;
|
|
129
|
+
isLoading: boolean;
|
|
130
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Hook to fetch a single export part by ID
|
|
134
|
+
*/
|
|
135
|
+
export declare function useExportPart(partId: string | undefined): {
|
|
136
|
+
data: ExportPart | null;
|
|
137
|
+
isLoading: boolean;
|
|
138
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Hook to create a new export job
|
|
142
|
+
*/
|
|
143
|
+
export declare function useCreateExportJob(): {
|
|
144
|
+
createJob: (input: CreateExportJobInput) => Promise<ExportJob>;
|
|
145
|
+
mutate: (input: CreateExportJobInput) => Promise<ExportJob>;
|
|
146
|
+
mutateAsync: (input: CreateExportJobInput) => Promise<ExportJob>;
|
|
147
|
+
loading: boolean;
|
|
148
|
+
isPending: boolean;
|
|
149
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Hook to cancel an export job
|
|
153
|
+
*/
|
|
154
|
+
export declare function useCancelExportJob(): {
|
|
155
|
+
cancelJob: (id: string) => Promise<{
|
|
156
|
+
__typename?: "ExportJob";
|
|
157
|
+
id: string;
|
|
158
|
+
status: GqlExportJobStatus;
|
|
159
|
+
updatedAt: string;
|
|
160
|
+
}>;
|
|
161
|
+
mutate: (id: string) => Promise<{
|
|
162
|
+
__typename?: "ExportJob";
|
|
163
|
+
id: string;
|
|
164
|
+
status: GqlExportJobStatus;
|
|
165
|
+
updatedAt: string;
|
|
166
|
+
}>;
|
|
167
|
+
mutateAsync: (id: string) => Promise<{
|
|
168
|
+
__typename?: "ExportJob";
|
|
169
|
+
id: string;
|
|
170
|
+
status: GqlExportJobStatus;
|
|
171
|
+
updatedAt: string;
|
|
172
|
+
}>;
|
|
173
|
+
loading: boolean;
|
|
174
|
+
isPending: boolean;
|
|
175
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Hook to delete an export job
|
|
179
|
+
*/
|
|
180
|
+
export declare function useDeleteExportJob(): {
|
|
181
|
+
deleteJob: (id: string) => Promise<boolean>;
|
|
182
|
+
mutate: (id: string) => Promise<boolean>;
|
|
183
|
+
mutateAsync: (id: string) => Promise<boolean>;
|
|
184
|
+
loading: boolean;
|
|
185
|
+
isPending: boolean;
|
|
186
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Hook to retry a failed export job
|
|
190
|
+
*/
|
|
191
|
+
export declare function useRetryExportJob(): {
|
|
192
|
+
retryJob: (id: string) => Promise<ExportJob>;
|
|
193
|
+
loading: boolean;
|
|
194
|
+
isPending: boolean;
|
|
195
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Hook to create a new export template
|
|
199
|
+
*/
|
|
200
|
+
export declare function useCreateExportTemplate(): {
|
|
201
|
+
createTemplate: (input: CreateExportTemplateInput) => Promise<ExportTemplate>;
|
|
202
|
+
loading: boolean;
|
|
203
|
+
isPending: boolean;
|
|
204
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Hook to update an existing export template
|
|
208
|
+
*/
|
|
209
|
+
export declare function useUpdateExportTemplate(): {
|
|
210
|
+
updateTemplate: (id: string, input: UpdateExportTemplateInput) => Promise<Partial<ExportTemplate>>;
|
|
211
|
+
loading: boolean;
|
|
212
|
+
isPending: boolean;
|
|
213
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Hook to delete an export template
|
|
217
|
+
*/
|
|
218
|
+
export declare function useDeleteExportTemplate(): {
|
|
219
|
+
deleteTemplate: (id: string) => Promise<boolean>;
|
|
220
|
+
loading: boolean;
|
|
221
|
+
isPending: boolean;
|
|
222
|
+
error: import('@apollo/client').ErrorLike | null;
|
|
223
|
+
};
|
|
224
|
+
//# sourceMappingURL=useExportQueries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExportQueries.d.ts","sourceRoot":"","sources":["../../../src/export/hooks/useExportQueries.ts"],"names":[],"mappings":"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"}
|